From e9e32667882379f8ab1f7e77c1fdf9d0cd88e89c Mon Sep 17 00:00:00 2001 From: Paul Nation Date: Thu, 22 Aug 2019 10:55:35 -0400 Subject: [PATCH] Add standard footers to Ignis and Aqua tutorials (#784) * reduced devices * rename to reduced backends * remove from master * add footers * updates --- .../1_start_here-checkpoint.ipynb | 215 --- ...ild_a_pluggable_algorithm_components.ipynb | 162 +- .../advanced/aqua/amplitude_estimation.ipynb | 138 +- .../aqua/artificial_intelligence/index.ipynb | 6 +- ...ans_for_loading_random_distributions.ipynb | 44 +- .../qsvm_classification.ipynb | 51 +- .../aqua/chemistry/declarative_approach.ipynb | 49 +- .../chemistry/programmatic_approach.ipynb | 73 +- .../time_series-checkpoint.ipynb | 502 ++++++ .../finance/data_providers/time_series.ipynb | 51 +- .../qgan_option_pricing-checkpoint.ipynb | 351 ++++ .../qgan_option_pricing.ipynb | 44 +- ...portfolio_diversification-checkpoint.ipynb | 783 +++++++++ .../portfolio_optimization-checkpoint.ipynb | 503 ++++++ .../portfolio_diversification.ipynb | 51 +- .../optimization/portfolio_optimization.ipynb | 44 +- ...an_barrier_spread_pricing-checkpoint.ipynb | 659 ++++++++ .../basket_option_pricing-checkpoint.ipynb | 587 +++++++ .../bull_spread_pricing-checkpoint.ipynb | 589 +++++++ .../credit_risk_analysis-checkpoint.ipynb | 1469 +++++++++++++++++ ...ropean_put_option_pricing-checkpoint.ipynb | 588 +++++++ .../fixed_income_pricing-checkpoint.ipynb | 422 +++++ .../option_pricing-checkpoint.ipynb | 165 ++ .../asian_barrier_spread_pricing.ipynb | 44 +- .../simulation/basket_option_pricing.ipynb | 44 +- .../simulation/bull_spread_pricing.ipynb | 44 +- .../simulation/credit_risk_analysis.ipynb | 44 +- .../european_put_option_pricing.ipynb | 44 +- .../simulation/fixed_income_pricing.ipynb | 44 +- .../finance/simulation/option_pricing.ipynb | 44 +- .../aqua/generating_random_variates.ipynb | 110 +- .../aqua/linear_systems_of_equations.ipynb | 253 +-- .../advanced/aqua/optimization/docplex.ipynb | 84 +- .../aqua/optimization/max_cut_and_tsp.ipynb | 77 +- .../aqua/optimization/vehicle_routing.ipynb | 84 +- .../ignis/1_calibrating_a_qubit.ipynb | 51 +- ...amiltonian_and_gate_characterization.ipynb | 51 +- .../ignis/3_relaxation_and_decoherence.ipynb | 51 +- .../4_measurement_error_mitigation.ipynb | 44 +- .../ignis/5a_randomized_benchmarking.ipynb | 44 +- qiskit/advanced/ignis/5b_interleaved_rb.ipynb | 46 +- qiskit/advanced/ignis/5c_purity_rb.ipynb | 46 +- .../advanced/ignis/6a_state_tomography.ipynb | 46 +- .../ignis/6b_process_tomography.ipynb | 51 +- qiskit/advanced/ignis/7_quantum_volume.ipynb | 44 +- qiskit/advanced/ignis/8_repetition_code.ipynb | 44 +- qiskit/advanced/ignis/9_ignis_logging.ipynb | 51 +- .../advanced/terra/1_advanced_circuits.ipynb | 134 +- .../7_summary_of_quantum_operations.ipynb | 616 +++---- 49 files changed, 8961 insertions(+), 820 deletions(-) delete mode 100644 qiskit/.ipynb_checkpoints/1_start_here-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/data_providers/.ipynb_checkpoints/time_series-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/machine_learning/.ipynb_checkpoints/qgan_option_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_diversification-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_optimization-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/asian_barrier_spread_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/basket_option_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/bull_spread_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/credit_risk_analysis-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/european_put_option_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/fixed_income_pricing-checkpoint.ipynb create mode 100644 qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/option_pricing-checkpoint.ipynb diff --git a/qiskit/.ipynb_checkpoints/1_start_here-checkpoint.ipynb b/qiskit/.ipynb_checkpoints/1_start_here-checkpoint.ipynb deleted file mode 100644 index b6e0b039a..000000000 --- a/qiskit/.ipynb_checkpoints/1_start_here-checkpoint.ipynb +++ /dev/null @@ -1,215 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\"Note: Trusted Notebook\" align=\"middle\">" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Qiskit Tutorials\n", - "\n", - "***\n", - "\n", - "\n", - "Welcome Qiskitters.\n", - "\n", - "\n", - "These tutorials aim to explain how to use Qiskit. We assume you have installed Qiskit; if not, please look at [qiskit.org](http://www.qiskit.org) or the install [documentation](https://qiskit.org/documentation/install.html). \n", - "\n", - "\n", - "We've collected a core reference set of notebooks in this section outlining the features of Qiskit. We will be keeping them up to date with the latest Qiskit version, currently 0.12. The focus of these notebooks is not on learning quantum computing. Instead we will be focused on how to use Qiskit, and will go into details only when needed. For those interested in learning about quantum computing we recommend the awesome [educational material](https://quantum-computing.ibm.com/support) we and the community have put together.\n", - "\n", - "\n", - "Qiskit is made up of four elements: Terra, Aer, Ignis, and Aqua. Each element has its own goal, and together they make the full Qiskit framework. \n", - "\n", - "## Getting started with Qiskit\n", - "\n", - "This section gives you the tools to make your first circuits, run them on real quantum systems and simulators, and view the data.\n", - "\n", - "1. [Getting started with Qiskit](fundamentals/1_getting_started_with_qiskit.ipynb) - How to use Qiskit.\n", - "\n", - "2. [Plotting data in Qiskit](fundamentals/2_plotting_data_in_qiskit.ipynb) - Illustrates the different ways of plotting data in Qiskit.\n", - " \n", - "3. [The IBM Q Account](fundamentals/3_the_ibmq_account.ipynb) - Understanding the IBM Q account.\n", - "\n", - "4. [Circuit Properties](fundamentals/4_quantum_circuit_properties.ipynb) - Important properties of quantum circuits.\n", - " \n", - "5. [Using the Transpiler](fundamentals/5_using_the_transpiler.ipynb) - Mapping and optimizing circuits using the Qiskit transpiler.\n", - "\n", - "6. [Jupyter Tools](fundamentals/6_qiskit_jupyter_tools.ipynb) - Qiskit functionality for Jupyter notebooks.\n", - "\n", - "7. [Summary of quantum operations](fundamentals/7_summary_of_quantum_operations.ipynb) - List of quantum operations (gates, reset, measurements) in Qiskit Terra\n", - " \n", - " \n", - "## 2 Qiskit Terra\n", - "\n", - "Terra, the ‘earth’ element, is the foundation on which the rest of the software lies. Terra provides a bedrock for composing quantum programs at the level of circuits and pulses, to optimize them for the constraints of a particular device, and to manage the execution of batches of experiments on remote-access devices. Terra defines the interfaces for a desirable end-user experience, as well as the efficient handling of layers of optimization, pulse scheduling and backend communication.\n", - "\n", - "1. [Advanced circuits](advanced/terra/1_advanced_circuits.ipynb) - Circuit building tools added including registerless declarations, composite gate updates and parameterized circuits.\n", - "2. [Operators overview](advanced/terra/2_operators_overview.ipynb) - Gives a summary of the features and uses of the Operator class.\n", - "3. [Advanced circuit visualization](advanced/terra/3_advanced_circuit_visualization.ipynb) - Details on drawing your quantum circuits.\n", - "4. [Transpiler passes and passmanager](advanced/terra/4_transpiler_passes_and_passmanager.ipynb) - How to use the transpiler passes, passmanger, and extend the transpiler with a new pass.\n", - "5. [Pulse schedules](advanced/terra/5_pulse_schedules.ipynb) - An introduction to working with pulse schedules.\n", - "6. [Creating a new provider](advanced/terra/6_creating_a_provider.ipynb) - A guide to integration of a new provider with Qiskit structures and interfaces\n", - "\n", - "\n", - "\n", - "## 3 Qiskit Aer\n", - "\n", - "Aer, the ‘air’ element, permeates all Qiskit elements. To really speed up development of quantum computers, we need better simulators with the ability to model realistic noise processes that occur during computation on actual devices. Aer provides a high-performance simulator framework for studying quantum computing algorithms and applications in the noisy intermediate-scale quantum regime. \n", - "1. [Aer provider](advanced/aer/1_aer_provider.ipynb) - Gives a summary of the Qiskit Aer provider containing the Qasm, statevector, and unitary simulator\n", - "2. [Device noise simulation](advanced/aer/2_device_noise_simulation.ipynb) - Shows how to use the Qiskit Aer noise module to automatically generate a basic noise model for simulating hardware backends\n", - "3. [Building noise models](advanced/aer/3_building_noise_models.ipynb) - Shows how to use Qiskit Aer noise module to construct custom noise models for noisy simulations\n", - "4. [Custom gate noise](advanced/aer/4_custom_gate_noise.ipynb) - Shows to implement simulations using custom noisy gates.\n", - "5. [Noise transformations](advanced/aer/5_noise_transformation.ipynb) - Demonstrates the noise approximation utility functions to construct approximate Clifford noise models out of a general noise model\n", - "6. [Extended stabilizer tutorial](advanced/aer/6_extended_stabilizer_tutorial.ipynb) - Gives an overview of the *extended stabilizer* Qasm Simulator method\n", - "7. [Matrix Product State simulator](advanced/aer/7_matrix_product_state_method.ipynb) - Gives an overview of the *matrix product state* Simulator method\n", - " \n", - "## 4 Qiskit Ignis\n", - "Ignis, the ‘fire’ element, is dedicated to fighting noise and errors and to forging a new path. This includes better characterization of errors, improving gates, and computing in the presence of noise. Ignis is meant for those who want to design quantum error correction codes, or who wish to study ways to characterize errors through methods such as tomography and randomized benchmarking, or even to find a better way for using gates by exploring dynamical decoupling and optimal control. Ignis tutorials are found [here](advanced/ignis/) and include:\n", - " 1. [Calibrating a qubit](advanced/ignis/1_calibrating_a_qubit.ipynb) - Using pulse to calibrate a \"pi-pulse\" gate by fitting a Rabi oscillation on a qubit. Using the \"pi-pulse\" measure the single-shot analog voltages that are returned by an experiment.\n", - " 2. [Hamiltonian and gate characterizations](advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb) - Sequences to measure ZZ rates between qubits and to measure rotation and angle errors in the gates.\n", - " 3. [Relaxation and decoherence](advanced/ignis/3_relaxation_and_decoherence.ipynb) - How to measure coherence times on the real quantum hardware\n", - " 4. [Measurement error mitigation](advanced/ignis/4_measurement_error_mitigation.ipynb) - How to peform calibration experiments for measurement errors and fed those calibrations into a \"filter\" that can be utilized to mitigate errors in subsequent experiments.\n", - " 5. Randomized Benchmarking:\n", - " * a. [Randomized benchmarking](advanced/ignis/5a_randomized_benchmarking.ipynb) - Randomized benchmarking (RB) is a technique used to measure the average gate error by measuring the outcomes of random Clifford circuits. This is used internally to report gate errors on our systems. \n", - " * b. [Interleaved RB](advanced/ignis/5b_interleaved_rb.ipynb) - A variant of RB used to measure the error of a specific gate.\n", - " * c. [Purity RB](advanced/ignis/5c_purity_rb.ipynb) - A variant of RB used to measure the *incoherent* error per gate.\n", - " 6. Tomography:\n", - " * a. [Quantum state tomography](advanced/ignis/6a_state_tomography.ipynb) - How to identify a quantum state using state tomography, in which the state is prepared repeatedly and measured in different bases. \n", - " * b. [Quantum process tomography](advanced/ignis/6b_process_tomography.ipynb) - A method to reconstruct the quantum process matrix by preparing certain states, applying a gate, and then measuring the outcome in different bases. \n", - " 7. [Quantum volume](advanced/ignis/7_quantum_volume.ipynb) - How to run quantum volume measurements on the quantum hardware.\n", - " 8. [Repetition Code](advanced/ignis/8_repetition_code.ipynb) - How to run a simple error correction code, known as the repetition code. This can be used to characterize bit flip errors in the hardware.\n", - " 9. [Logging](advanced/ignis/9_ignis_logging.ipynb) - An introduction to some of the logging features in Ignis, intended to be used to track characterization parameters.\n", - " \n", - "\n", - "## 5 Qiskit Aqua\n", - "Aqua, the ‘water’ element, is the element of life. To make quantum computing live up to its expectations, we need to find real-world applications. Aqua is where algorithms for NISQ computers are built. These algorithms can be used to build applications for quantum computing.\n", - " * [Amplitude Estimation](advanced/aqua/amplitude_estimation.ipynb) - Illustrates amplitude estimation, for a simple case, where the (assumed to be unknown) success probability *p* of a Bernoulli random variable is estimated\n", - " * [HHL](advanced/aqua/linear_systems_of_equations.ipynb) - Solving linear systems of equations with the HHL algorithm\n", - " * [Creating an Aqua algorithm](advanced/aqua/Aqua_how_to_build_a_pluggable_algorithm_components.ipynb) - Building an algorithm within the framework of Aqua\n", - "\n", - "Aqua is accessible to domain experts in *Artificial Intelligence*, *Chemistry*, *Finance* or *Optimization*, who want to explore the benefits of using quantum computers as accelerators for specific computational tasks, without needing to worry about how to translate the problem into the language of quantum machines:\n", - "\n", - "### 5.1 Qiskit Artificial Intelligence\n", - "[Qiskit AI](advanced/aqua/artificial_intelligence/index.ipynb) demonstates using quantum computers to tackle problems in the artificial intelliegence domain. These include using a quantum-enhanced support vector machine to experiment with classification problems on a quantum computer\n", - "\n", - "### 5.2 Qiskit Chemistry\n", - "[Qiskit Chemistry](advanced/aqua/chemistry/index.ipynb) - applications in the domain of quantum chemistry on quantum computers, including ground state energy, dipole moments and dissociation plots\n", - "\n", - "### 5.3 Qiskit Finance\n", - "[Qiskit Finance](advanced/aqua/finance/index.ipynb) - provides a collection of applications of quantum algorithms to use cases relevant in finance. This includes use cases like portfolio management, derivative pricing, or credit risk analysis.\n", - " \n", - "### 5.4 Qiskit Optimization\n", - "[Qiskit Optimization](advanced/aqua/optimization/index.ipynb) - using VQE (Variational Quantum Eigensolver) to experiment with optimization problems (max-cut and traveling salesman problem) on a quantum computer. Includes optimization problem modelling, using docplex, which can be automatically translated to input suitable for VQE.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2019-08-09T15:31:26.743124Z", - "start_time": "2019-08-09T15:31:26.732618Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.1
System information
Python3.7.3 (default, Mar 27 2019, 16:54:48) \n", - "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Fri Aug 09 11:31:26 2019 EDT
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import qiskit.tools.jupyter\n", - "%qiskit_version_table\n", - "%qiskit_copyright" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "hide_input": false, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.7.4" - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/qiskit/advanced/aqua/Aqua_how_to_build_a_pluggable_algorithm_components.ipynb b/qiskit/advanced/aqua/Aqua_how_to_build_a_pluggable_algorithm_components.ipynb index 9b87ac6e0..01e5ef4b2 100644 --- a/qiskit/advanced/aqua/Aqua_how_to_build_a_pluggable_algorithm_components.ipynb +++ b/qiskit/advanced/aqua/Aqua_how_to_build_a_pluggable_algorithm_components.ipynb @@ -55,9 +55,23 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:44.833048Z", + "start_time": "2019-08-22T01:38:40.295416Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Numpy 1.16 has memory leak bug https://github.com/numpy/numpy/issues/13808\n", + "It is recommended to downgrade to numpy 1.15 or older\n" + ] + } + ], "source": [ "from qiskit.aqua import register_pluggable\n", "from evolutionfidelity.evolutionfidelity import EvolutionFidelity\n", @@ -69,8 +83,13 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": {}, + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:44.849045Z", + "start_time": "2019-08-22T01:38:44.845866Z" + } + }, "outputs": [], "source": [ "from qiskit import BasicAer\n", @@ -88,14 +107,19 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:44.865582Z", + "start_time": "2019-08-22T01:38:44.862191Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "['QAOA.Variational', 'QGAN', 'VQC', 'VQE', 'ExactEigensolver', 'ExactLSsolver', 'SVM', 'EOH', 'QSVM', 'AmplitudeEstimation', 'BernsteinVazirani', 'DeutschJozsa', 'Grover', 'HHL', 'IQPE', 'QPE', 'Shor', 'Simon', 'EOM_EE', 'EOM_VQE', 'EvolutionFidelity']\n" + "['QAOA.Variational', 'QGAN', 'VQC', 'VQE', 'ExactEigensolver', 'ExactLSsolver', 'SVM', 'EOH', 'QSVM', 'AmplitudeEstimation', 'MaximumLikelihoodAmplitudeEstimation', 'BernsteinVazirani', 'DeutschJozsa', 'Grover', 'HHL', 'IQPE', 'QPE', 'Shor', 'Simon', 'QEomEE', 'QEomVQE', 'EvolutionFidelity']\n" ] } ], @@ -113,21 +137,19 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:45.795524Z", + "start_time": "2019-08-22T01:38:45.524414Z" + } + }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Convert from a MatrixOperator to a Pauli-type Operator requires exponential time. You can turn on DEBUG logging to check the progress.\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - "0.9597914987731967\n" + "0.9679647770258577\n" ] } ], @@ -160,8 +182,13 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:47.501168Z", + "start_time": "2019-08-22T01:38:47.495839Z" + } + }, "outputs": [], "source": [ "from qiskit.aqua.input import EnergyInput\n", @@ -185,14 +212,19 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:51.687723Z", + "start_time": "2019-08-22T01:38:48.098825Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0.9597914987731967\n" + "0.9679647770258577\n" ] } ], @@ -200,13 +232,62 @@ "result = run_algorithm(params, algo_input, backend=backend)\n", "print(result['score'])" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:34.386128Z", + "start_time": "2019-08-22T01:38:34.375938Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:38:34 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Quantum (Dev)", + "display_name": "Python 3", "language": "python", - "name": "quantum-dev" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -218,7 +299,36 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false } }, "nbformat": 4, diff --git a/qiskit/advanced/aqua/amplitude_estimation.ipynb b/qiskit/advanced/aqua/amplitude_estimation.ipynb index 5983e277e..c65ceeec8 100644 --- a/qiskit/advanced/aqua/amplitude_estimation.ipynb +++ b/qiskit/advanced/aqua/amplitude_estimation.ipynb @@ -46,8 +46,13 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:33.629914Z", + "start_time": "2019-08-22T01:37:33.622056Z" + } + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -63,17 +68,22 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": {}, + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:34.320819Z", + "start_time": "2019-08-22T01:37:33.836392Z" + } + }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAF2CAYAAAB6XrNlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9SYxkx3ktfOLO9+ZYQ1dVV7ObPZDN6VGcREkULUPyg/S80A/tvTAMwysbEKy1F7YXBrzxwgbsrRZevbd5kmFAsP5nmf+jTJkUJVIUp5672UNVdw053XmKfxERN29m5VhVzWZXxwEK1V2ZeW/czLwnvvjifOcjlFJISEhISBwdKA96ABISEhIShwtJ7BISEhJHDJLYJSQkJI4YJLFLSEhIHDFIYpeQkJA4YpDELiEhIXHEoE15XGohJSQkJL6YIOMekBG7hISExBGDJHYJCQmJIwZJ7BISEhJHDJLYJSQkJI4YJLFLSEhIHDFIYpeQkJA4YpDELiEhIXHEIIldQkJC4ohBEruEhITEEYMkdgkJCYkjBknsEhISEkcMktglJCQkjhgksUtISEgcMUhil5CQkDhikMQuceTwV3/1VyCE4Pr16wc6zptvvglCCP7xH//xcAYmIfE5QRK7xCOFW7du4Y//+I+xvr4O0zRx+vRp/Pmf/zlardae577++us4duwYfvzjHz+AkUpI7B+S2CUeGVy5cgWvvPIKfvjDH+IrX/kKfvCDH+Ds2bP4+7//e7z22mvY2dkZeL6iKPjud7+LN954A51O5wGNWkJifkhil3hk8Kd/+qe4d+8e/uEf/gE/+tGP8Ld/+7f42c9+hh/84Ae4cOEC/uIv/mLPa773ve8hSRL85Cc/eQAjlpDYHySxSzwSuHr1Kn7605/i9OnT+LM/+7OBx/76r/8alUoF//zP/wzP8wYe+/a3vw3btmU6RuKhgiR2iUcCP/vZzwAA3/nOd6Aog1/7Wq2G119/Hb7v47/+678GHnMcB9/+9rfxk5/8BEmSfG7jlZA4CCSxSzwSuHDhAgDg/PnzIx9/8sknAQAXL17c89j3vvc9dDodvPHGG/dtfBIShwlJ7BKPBMTmZ6PRGPm4+Hu73d7z2He/+10oiiLTMRIPDSSxS0gAoJQCAAghex5bWVnB1772NfzLv/zL5z0sCYl9QRK7xCMBEZGPky12u92B5416vF6v35/BSUgcMiSxSzwSeOqppwCMzqEDwKVLlwCMzsFfvXoVH374Ib73ve/dvwFKSBwiJLFLPBL41re+BQD46U9/ijzPBx7r9Xr4z//8T9i2ja997Wt7Xity65LYJR4WSGKXeCRw7tw5fOc738H169f3eL/85V/+JTzPwx/+4R+iUqnsee2Pf/xjHD9+HK+++urnNVwJiQNBe9ADkJD4vPBP//RP+PrXv47vf//7+Pd//3c888wzePvtt/Ef//EfOH/+PP7mb/5mz2t2d3fx85//HH/yJ38ycmNVQuKLCBmxSzwyOHfuHN5991380R/9Ed5++2383d/9Ha5cuYLvf//7+MUvfoGlpaU9r/nXf/1XZFkm0zASDxVkxC7xSOHkyZP44Q9/OPPzf/zjH6NareL3fu/37uOoJCQOFzJil5AYgzAM8W//9m/4/d//fZim+aCHIyExMySxS0iMwW9+8xs88cQT+IM/+IMHPRQJibkgUzESEmPw1a9+Fe+///6DHoaExNyQxC5x5PDNb34TANBsNh/sQCQkHhCI8MgYg4kPSkg8rMjzHKAUFMwfZtjK1/d9hGEIRVFgmiZs234wA5WQGI+x+lsZsUs8lMjTFFmWIc9zZGmKLE2RZxmyPEfO/03zHJSTN/IcFMzsi5YqTzNO8ABAFAWEEARhCD8IoCoKQAgogGajAadSgaKqUFUViqpC03X2b02DpslbSeKLAxmxS3xhkacp0jRFmiTI0hRpHCNLEqScuEe+RpA5/14XxM5/l/8O9ImdEAICIIwi+EEA0zBQ5VWoXddFnudYaDSgqipG3jOKAlVVoRsGdNOEruvQTROGaUKVpC9xfzA2YpfELvHAQClFlmVI0xRRECAKQ4RBgCSKQDjZqqoKRVFAwEg7yzLklCLP84LE8zwf+BsoRc5fT0u/AQCE9FMwAHJKi4g9z3P0XBearqMiUi+EIM8y9FwXqqqiVq1CIQREUaDwFI74Pyn9VniVqu/78DwPnu+DqCoWlpawvLKCYysrsCzrc3/PJY4UJLFLPHjkeQ7P8xD4fkHgaRwjTZJ+lM0JOklTpCLVwgmcAFA1DSoh0EUapESyhBCAEKj8N+FpFGEFIKJylP5WTtO4nocoitCo1aCUIvOcUoRBAD8IUK/VGNnzSURMLj3XZQTOSdz3PARBANM0UXEcVKtVKKqKKAjg+T481wVUFbV6HbVmEwuLi3jyySdx5swZaV0gMSsksUs8OGRZhvbODjqtFuIoYjluTuQiTZJjqKhCkDHYlzDPMlB+rJyTvK7rsE0ThmGMJcNpX+CcUhC+cmh3OjBNs0jBiNcTAGmaot3touI4sHmkHScJrl+/jitXr4IAqDcacDiJW7ZdRORi7MWlAVBVFWmWIQpDxFGEIAxx89YtKJqGL3/lK3jx5Zehquosb6/EowtJ7BKfL/I8h9frob2zg3arhSSOoSgK9KF8s9iMVHmOWhObkzylAUqR5jkoj44Jj5YjToY5//5apgnLNMeS4bgvsiB2Ea03RR6dP16+c9qdDkAIsizD9StXcGdjA2vHj+PsmTNYWl4unYxNVOV9gCzPi83dYtOX/19AVRS0Wi1cv34dQRjimWeewYtf/jKaCwvQdH3Gd17iEYIkdon7jzzPEXkedra2sLu9jSAIkGQZTNOEqevQNA26pkHTdfZb0wZlhkMbniJ/Puk7GicJwjBElCQApdA0DbZlwdD1PVH8qKPklCJPU7Q7HViWhYrjjDxPmmW4cuUKrl6/DlCKc2fO4PHTp0daDRR7B1mGOI6RcAVPkQYqjSXnz8146kmsSHzPw8bmJnq9Hh47cQLPPfccTpw8icbSklTgSAhIYpe4f/BdF71WC71OBz3XhR8EIAAqlQqqlQpMw4CuaVNTC5RveuYlSaKIyMsbnhQAoRRQlIGNzyAMEUQRy8crCiqWBdM0+0RKabF5Kn5nWVbIG5vNJpM4chAAURzj048/xo2bN7G0tIRjq6s4dfIkbNMscu2CxFMuu8yyjB2fb9pqfDUiNniJ2A8YAbEiSdIUURSh0+vh9q1baLXbeOLJJ7G0uIhms4ljq6tYXlnZOzlKPEqQxC5xeKCUIvB9RubtNpIkAcBIMM0yVCwLiwsLc+WIReQqSJcCezodiXMLeaKI6snQ43GSwA8CpFkGXdNQdZwivTJ8J2R5jnanA0IIGrUa+yM/9q2bN/HBb3+Lx06cwPknn4TjONja2QHAUj9pmg6MkSgKNE2Dpqrst6ZBUdVi8imvSPLJ990A0jTFzdu38f5vfoMzZ86gXq+zCUPXUavXsbyygsWlJVSrVZmXf7QgiV3iYKCUsgiy3YbbaiGJIgCAoevQdR1hGCLNMlh883FURJrydINITWRZhpynHhRVhQJGjoqqFnJHRVGKnwmDAxXny/Ni4zUIQ/i+DwrAsW226UkIKI+aAZbKaXc67HEucQyCAO+99x5838fLL7+MZqOBOI4RxjF6vR5yStGo1wsSVzmRjxsjBYoVSFmlMzBx8eudhHa7jbd+8QucPn0ap06dQhjHiPj7rqgqGouLWF1bw+LiopRSPhqQxC6xP6RpCtd10dvdhe95QJ7DNAyYhgHDMJBTip3dXYRhCNM0oWtaQdypyB3zalBaIi6FpykyvsFYjqYFEVL0v4CEUhBB+KrKlCWKAk3X2XhME9aQOkaoaXqehzRNoaoqqpUKtFJU2+OyxIVmE0RRcOP6dXz40Uc4c/o0zpw9i5QXRAGApmnIKUWaZVhaWOgTuahcRZ+4y2mjokCKry4ol10Wewjicf6+sIOx90cZIns/CPDWW2+h2WjgxZdeAiEEaZoijCK4nockTWFXKixVs7yMZrMp5ZNHF5LYJWZHnucIggButwu320UahtA1DbZtw9B1JEkCz/fRc11s7e6C5jksy4KuaYVWXOHFRWopqi1UL/x5AKAoCiN4LoFMeTomTVOWk+ZSwVwoYzgZCrVMmiTF3ygh0FQVRmnisUwTmqoijCJ4vo88z4vonRCCnVaLFRqpKn79q18hThI899xzxaao8IoxDQOqoiBOEvRcF41aDbph9NMs095TYOxz89IENwoiJ1+ohLIMb7/9NrIsw1e/+lXoJcVMHMdwPQ+u70PTdTQXFnBsdRVLS0vSU/7oQRK7xHTEcQzP8+B2Oog8D6CUEZqmIeRpjSAICqVKHMcwLQsL9Tp0wxgg8Em5XlF0NA5lS4BZkCQJoihiv+MYURwjyzIWEYOTs2FAUxQmnSQEtmHAsiy0u13c3djA1atXcfLxx/H4yZNQFAWWYcDgK5Dhse+223BsG84cxmBlO4NRmPae9A/ENoYppfjggw9w9+5dfPOb34RpGAM3a873QTq9HtI8h1Ot4tjKClZWVlCv12cet8QXGpLYJcYj5rljr9dD7HlQwIgmThIEvo8kTaEoClRFgWPbMC0LSZJAVRTU6/W5VBk5gDRJ9qRMCPopjAEfmFKhUvFcsQlZSmmUQQhBkqaIowhxkiDmuWhRzRrFMYIwRM91sbGxAce28dT586jX62wCUNUiQh614drpdou0ThniPVKGfsS48zzvj3dEeiQTlghz4DcffADPdfH1114DFGVQLcTPk8QxOq4Lz/dRqdWwtr6OtbU16Vj58EMSu8ReRFEE13URhiG6u7uIPA9ZliHmpK0oCmzLgs1TF4ZhQFEUuJ6HMAxRrVb3RLTDKG8WUp5GIGOIjT9pLsWIOK5wbRTkWJT75zky/niWZUiTBL7vY3tnB1euXUNGKc6eOcPSM47DJi5dH5isinw5H5cXBMjSlNkLlJ4zipQJIQNkT0aQv3h9ORVV/G0KsjzH//fGGzh18iTOnjtXnFPYK5Tf5SzL0Gq3keQ5mktLOHbsGBYWFuRG68MLadsr0UcURej1egjDEL1OB91WCzTPofIURKNWg+M4sEwTZCgaj6MIYRjCGpGmECRe/raR4ceB8aSOMemKkgQySxIk3JJXaMiH0xzC+EvluXNDUUBUFXmaIiIE3W4Xd+/exZdfeQXv/+Y3ePzECcRcshlHEeI4hm3bqFYqsC2LkW9JVmmZJoIwZBuuQ9eS5zlSPj7hdSN+4jQdsAwGfy/Kkb44nqZpAxupYnMVQ5Oiqij4yle+gjfeeANLy8toNBoDqSwCpjQS51laXGTqpp0dJFEE3/dRr9eZDQLfd5B4+CGJ/RFCkiTodDpsY5QXFZEsg2UYqFerqNVqk3PjWQbX86CqKovyJpD4yNfPkGYQrozCeTEV1r08jVKci0fCYoNWbIAKt8UySSY89ZJlGe5tbeH6tWt4/etfZ0ZihODYygpT/HDZpZBJBr4PgEklK5UKHNtmJKyqRXGSNvR+qZykAQwoYwQSrn3PS6sL8TuN42JCAJjhmc593wuiLxMvV85UKxU8//zz+OUvf4lvffObAzbBZakl0N8MXtI09FwX7Z0d5q4ZRTAMA41GQ26yHgFIYn8EQClFr9dDq9VCp9NBFIZQswxV00S9Xu9HpVOO0fU8UEpRq1TmrnYU0r6ylS6AgQgx4yqXNE2ZZLJESJqqFqsETdf3klz/RMXf0zSF7/vI8hwKIbh1+zY279zBt771LQAoCqtMwwAB4PHrW15cBFleLjaL/SCA7/sAIbAti21UCqsDkefn5y7n5Id/A1wyWXofUHpt4YMThoj5ZBZGEcBrBvYQPforoMdPncK9e/fwm9/+Fi+//PJ4BQ5/TxVFQaNeh+d56G5vg2YZKrUadnZ24DjO3HsnEl8sSGI/4oiiCJubm9je3kYcRbAUBXXbRqNWg2lZk+V6goAJYWqYNEWlUtlfdaPwKC+V0wsv9kQ00xD2vCXZosr9ZQbSEiPGidJEkWUZPN9nhTuKAsey8OFHH8F1XXzzW9+CaRjodDrQNI2lKoD+/oHrwvU8ZodQraJarSLLMkRcLhlw212Xk/3CwkJ/oiuPbYjki7cB2DOpFfp3MFM03TAK0y/KVy3JDET/0osv4mf/8R+4desWHjtxYuLHISYV27aRJAnaOzvottuoNRrI8xxhGKLRaMgN1ocUktiPKPI8x61bt7Bx5w6SKIJjGFit11Gv12Ho+kBLuGEIvbTIrydJgiAIoOs6DMOYfRDlVA1PMZRTK+XoUdM0GPy3ylUpIrc8Ku87KurPuP4+jmMQruBRVRXvvPMOVEXB737jG8yzhevhzaE9AlVVUa/V0HVduK6LiuOwyYUfy7YsULCK1nv37iHLMuzs7GC31UK9VkOjVusbdA0bkA1ZH4x8z9GPwMVmLVEU1pVpRqJ//vnn8e6772Kh0UBFbO6WLBiGP3NCmLe9QwjCKMLOvXto7+xgYXkZWZLAchzmoSOtCh4qSGI/gtjY2MC1a9eQhiEqpom1lRXUarUiHzxKdVKkDUZExi5PQ1SG5H1lCBIi7D/F6zMuL4z4piSAol+ocHgUpJFnWZ/Qi4HtpcMy+YnrCYOAkRxPl1iWhTiO8eabb2JxcREvvvhi8XyRgilv/hbHVFU0ajX0eOTuUApL5Jz5OSu2jcWFBSaLVBR0Oh10u110ul3UqlUsNBrFaqB/GSXp5IyqnwFJaIn4NW7jIN73MtFbloXHTp3Cu++9h1deeYXJN4eVS3zCLJ9H0zTYhEDXNLieh5179+B3u9AtC57nYWlpaeLnL/HFgiT2I4Q0TfHpp59i9+5dWLqOkydOsFxpKZ+b036nomlRMcBSOVmawhljZ1ueCMpEK4hcVFTqug6T+6WLatNhl8NhBc4AhtQgBUmnKVyeG7c4oauKgl6vh5//53/izJkzeOqpp/oRMNe4E0JG9yLlE1Sdk7tfqlYd0NITgizPUeebqlEco93psJx1r4dKpYJmowGrtMIRr1cUhW1o8s+lvPqgY1ZSxZUPfU6EUtZftUT0juPg//0//wetVgsVniYyeUOSwr1SkHvZuoBPsJVKBZ7nwQ8C1FQVGzduoL27i5OnTqG5sCCVMw8BJLEfEezu7uLihQtIfB+rCwtYW1uDqmmFvhvo672L6HRS3pojCEOAkL0pmKGoD5S5KkZRhKTkreI4Dtuc5BuD2Rjb2j0ywNJx90TxYOQaBAHCMISqKKiW0iCu6+L/vvkm/ttzz+HU448PeLiAMG8V8Vzh/b6HOAlBtVKBH4bsPQCKSlPRi1VIJAG2Abt67BhTHvV66PV6uOX7cEwTzWYTTkkrTlCKwMWESAa9cyZh4J3gk2R5grZME+fPn8fGrVt48eWXWUFWEBTpNJOndoZTWSphBmm6pqHiOHB9H67noVqpIPI8XPzkEzx26hSOnzghN1a/4JDE/pAjTVN89tln2Lh5ExqAMydPotlsAkBB6uUCm2FTqUmI4xhpmrINtCFpIwBW1cjL+Is0C0+FGIaxJy8ryGDWAiRhijVsECaaS2d5Dss0GeESwlIyYYj/++abePbZZ3Hq8ceL1wgCF12MLD7pofSYeG55MnFsG5RS+EEAEFL4uxMedeclZQwAaIbBPNMbDXS7XXRdFxt378LQdSw0Gv1q1fIKZETKZdZ0DXv54HEogHNnzuDShQuI4xi1ahVZniOOIkTcS4ZwmwWz9DlRsDQZzTLovKG35/vwfJ+Rexzj6uXL6LTbePLppwc8aiS+WJDE/hCj3W7jxrVrcDsd1Gwb68ePF1WEgnQUYI/EcBZQSuHzaF2QmUDGOwNFUVSQtDDdmnazK4pSmHgBYJFqniPnYy7SFGISEOPhv8MwRBAEIISgWq3CKJ0vTRL84q23cPr0aZw+fXrwxJx8y06No1COpgUEuQe+D0VRYJQqUwe06qKMn19ns9lEo9FAl0fwd7e3sd1qoVmvo+I4fa92Hm2naTqwchi12TkLCFjq6+wTT+Dip5/i5S9/GaqiwOZ9WIXdQsiLzTRNKz4/UR+Q8s5XFIDv+/B9Hw73td++dw9ur4fzzzyD5sLC3OOTuP+QxP4QIk1T3LlzB1sbG8jCECuLizi2tFRI5HLehk0pqStEA+hpEJugQrli23YxMUQ84ivy5poGxzQHlvWzTCAaIUgFYdF+G7xCuTFimS+Ko7Isg6HrcCqVgdVHTinefvttNBcW8MzTT+95vbAxSEV+fYLKY9jygBCCiuMwGaXnQalWi2ssFylRMYGWj0UIGvU66rUaPM9Dp9fDzu4udlot1ERRGCFIyw07hs4N9Fcd82S3nzh3Dj/9t39DwElZpKMMXYeh60wzz03TPN+HHwQwDIO1FeTHEMVKQs9fcRzUazW4noff/vrXOH3uHE6cOiVTM18wSGJ/yNDtdvHZjRvIggAGIagdO4aFZrPIpwOlvC3HKD31MAZULWA3MgGrpOy5bqEkUVUVtm3D5LrvgXOUc+eTIk1OrIJkJ7WKA1iZvxcEAKWo8FZ7Q4PHr3/9ayiqipdefHG01JD/Lc2y6dK90sZi/08EtWoVvV4Pruexph3gewP8eEKjPk5WKHTxfhAUSppWu41qrYZ6tdpfBQy/FoO5eLESmwbTMHD6zBlcunQJL7zwwkAuH0DfC6gUxYuVmKIoRT7eMk22IR6GzEjMcdh74bq4ce0aPNfF42fOwJaqmS8MJLE/JBBR+u7WFnRKGREQwlQvvPGESGsMU+REozfK3ADLedo0TeEHActJuy7bkOMVl6NIkZaPNQPEZp841rgNQ5rn8HwfSZJA0zRUx1S8fvzJJ3B7PXzjG98YrawprSYy3uVpKkZMNIqioMrJ3fO8/rUMvxSjo3cB0a3J9Tzs7u6i2+nAdV0sLS4WE0YZA144Qt3E/1Zu9jFqcnzyiSfw05/+FE8/9VRRkDZM8ABbfemaBpsyO2Zh0xxFEWzbZpu/nNwDPiFUKxX0XBc729uIwxCrJ05g9fjxCW+qxOcFuX56CBCGIS58+il2NzfRtG0sLS5C4emBIt87jtRHHK+8WTic9kiTBPe2t+H5PjRVhWPbaDYaLL+qaf2mF6VjE0xfERTn5puSIlUkfF2GkSYJ2t0ukiSBbduolSLaMq5dvYpbt27h66+9NjJvLqSdQH8CGZdfH/naIaiqimqtBhAC3/MG/GvKEFH2OORpCl3Xsbq6imPLy1AUBfe2t3Fve7vYB5gGkSITjUoynnIrfzaWZeHU44/j0uXLwxdXfG5lbb3CVTXNRgMVxwGltKjGNblHvVA+qaraT1H5Pu7duYPLn3yCMAhmGr/E/YMk9i84fN/HlYsXkfs+TqysoFqtIgpDZqXL89+gFJTn1Ycx7HoIQljKZUhCmKYpet0udtttRGGIeqOBhWaT5VhLBAKgSNnMk+8tJoERUSyllDkx8vP4vDuTQgjqtVrR7WgYGxsb+OTTT/H666+zaHQUSmmewlxrxirKccSs8QrVDIDnumNXRCIyLqtVsjxnPjilCadSqWB9bQ3NWg1RFOH23bvodLszjVFA4Z+J8OTJ85y1JMxzPPnkk7h+/XqRTht3rcNXa5ome/9tG2maotvrFdfq+z5EQ23btpl3fxgi8H1c/vRTdNrtucYvcbiQxP4Fhu/7uHrpEhBFOHH8OEzThOf7MEwTFccZ2Fgbh2IZPyaPLW7YTqeDNMugaRoqlQoaPCrdUxCDOQm9vDqYBH4e3/MQRREsyyoaRo/CbquFX/3qV/j6a6+hWq2OPXc5PZSJhiEzEvuwHXAZQg6YcKOxsZfFBsIMzko2CsP7CoqiYGFhAWurq3B0HZ1OB7c3NhByDf2sKB9XqHUsy8LiwgI2NjamfhbllYZwyLQ4wZumiSRJkGZZoaghYDbGpmGwhubcmvizK1ewvbk519glDg+S2L+gcF0X1y5eBIljHF9bg24YCMIQCoBapTKgQhlX3FNossvVhhxpmqLHCT1JEjjcE0T4tojqUIF5Cb04P48Ex71WnCHPc3S7XaRZhnqtVuTTRRRahuu6+MVbb+HLr76KhcXFiWMgQ9c8bLM78bV8/ONgmiZM00Qcx0znXr4unhZJhQ3vjHJT0zCwuraG5aUlEEpxd2sLWzs7A6qZmcbOV2YC6ydO4M6dO4WPvWhvCIwIDESapjQpK9wvR6ygsjTFTqsFPwxZtattgygKQv5/ALhz6xZu3bgxeY9H4r5Abp5+AdHtdnHryhUgy3Bifb2weo15JKuUyGnUBl2hUKH9/pgCaZoiCAJEccxUEbyhhqIohdui2FwctTyfBeXc+yxI0xSu6wKUolarFR4uIl2klLTeQRDg5z//OZ577jkcX1ubeUyi6tWY02t80jUQRSkKsaIwhEIITMNgzbVLn8vA79KmZdm6dxjVahU278nac10EQYBmozHQtWkqShLStbU1fPDBB8h4QxX28FBv2ZIqig8QCkpSS77hXa1UYOg6tra3mQEaH6tlmgiCAEmWweANy1vcVfTxs2dHWzhI3BfIiP0Lhna7jZuXLzNSP3680IiL0v6yamI41QCwzckB/xb+eJqmrLFCp4OEe780G42ieQQAxEkCSil07k++L1IvpQFmQRRF6HHlTb1eH9lqj5Si/l//6lc4efIkzpw5M7BJuGccQxFysXG6H5fCCTn0LMuKybbruoj4ezju+supjmlxrKppWFpcxPHVVZiGgXangzubm4h4le+sIGD2vI1GA9tbWyOfQ4HBaB79lVIhtyy9n4ZhYHlpCaauF9WsSRwXskh2UDZxuN0urly4gIi7UErcf0hi/wKh3W7jztWrUAAcP36cFYoQ5i8eRxFs0+xH63yTTGBclJzw8vu2SLkIlUuJ0NnhKOIogkLIvshPkOyozdFxCMMQbq8HlRDUarWBlcgoXLx0CWmW4blnnwXQTw+VCV5MdsP5caE0mdd+tuinWt6U5CubnOfOKaWoOA5U3g921jz2rPYOpmni+NoalhYWQPMcG3fvYmd3d+7G1yfW17Fx+/ZMslRRuZyVLCkw9NmapgnbsqCrKkzTRMarZ3uuy0aL/GYAACAASURBVEhc1CgACIMAVz/9FMmck5LE/iCJ/QuCdruN25cvg1CK9bU1VirPb3xhR2uVmh7kKJWyi2iqRBTC36Tb7RY9PIVscVg2KEgwTdO5UxUFoWMOySPAmlX4PjTDQG2Gbj2t3V1cuHABr7766h6tevncRYEQhyDjJE2LRh9lsi6aXwupIP8tUjdi8zcrPYefaCCVQhSF2dpSCm/CZurAmEsrqllQq9WwvraGRrUKz/dxa2MDLtfTz4L19XVs3r07oOufhMIRVLTvK0Xw4hiO4xRS20athlqlgizPsdNqFSZp4juaJAmuX7kyk9GZxMEgif0LgFarhZtXrkAlBCfW1wdK9AHmH67zDU2A33DcX2VUpWeapmh3u6xEvKRJHkXoALtRkyQBBQa8V6Zh3ly6eI3rugjCELZloSIkmxOQJgnefucdvPTSS2PtgwdQ2hsQKYQ8z6EOeaQPDowWqQOUCWzKeYrXgCllLMtCwsv0p75cjHVCrn0YqqZhaWkJaysrMDQNu7u72NrZmSl6r1SrMC0LrVZrphXDsFlboZfPc4D7/Yjq1YR7wjuOg4V6HXmew3XdYlNZTGS+5+HW9eszXavE/iGJ/QFjZ2cHn129Cp0QrJ84sUfel+c58izrt0rjf6N8Y6uA0IAHATq9HpDnqPNS9eH0wyjfEeHOOEvxTtnqdh5SzylFt9tFFMeoOE6hpJhyMrz33ns4duwYTkxp91Ye3/D/syzre5HvA6Mmn1GTqmVZ0DQNfhAM9Gwde1w+JmVopTENlmVhbXUVjXodQRDgzuZm8RlOwvr6Om7fvi0uYM9KT2DU/k0Z5RWOwXvmBlzbbhgGHMeBruuIogiu5w3IPLvtNjZu3ZrjaiXmhST2BwjXdXHr2jXYqorH1tdH5rZFbljnXjADNrFDUr4iSjcMNJrNIvoekEayfwwQFaUUURxDn6HtHQX2qidmQJplhVa+Vq3C4m3mpuGzzz5Dq93GCy+8MNN5RhFSNmdh0iiMul5x8wzIQgnzcVcImTnfzl/IjjdHakZo348tLQEANra2pqaB1tfXsbGxMXCe8hgG9ipmRZ7DFn4ycVx0j9J1vahM7fZ6iJOkONf23bvYvnt39nNIzAVJ7A8IaZrixrVr0AAcX1sbu3GY8jyliKSHNydHRem1IedDhedAgdGl7iIXOq2fabl6dB4kXDNPAdRrtZn7prquiw8++ABf/epX5yLl4esriP2Acrvh445Ttyi81J5mWdGkY8JBB/69n+5ElUqFKWc0DdvcOXJcaqbZbIJSim6vNzQMbvOAfoXsPNB0HaqqIuAeQ2LT3zCMwg5CdGUSk8bm7dvoDY1D4nAgif0B4dZnnyGPIqytro4nLUqZJwfPrw/f9JOi9P4hWJSucF3xKCRJAlA6UmpYHAf7K1KK4ri4eesTKkmHkec53nn7bTz97LOo1+tznnUQKe+lepBUzEhM2ITUDQOmaSIKw6Kj1KzH3A+567qOtdVV1CsVeK6LzXv3xnrOnODFSuPOP2sx1TCExW+SJFBUle3bUApVVVGrVtn7wVMzWZaBUoobly6h2+nMfS6JyZDE/gCwffcugt1dNOv1kW5+AhTo+7oARRRGKYU3JUoXr0cpEht3s6ZJAq3kwb3nGNifpj2MIriuC1VV0ajX9xLrhMj/o48+gmXbOHfmzMznG3e0g+bXBYYnNjKB2AHA5o0pPM8b2zVqrN59H8VhiqJgaWkJy0tLyNMUdzY391TEAsDy8jJardbIYwhFEAEKFdGs0HnwEEdRMXYhmQSYq2WlUkHGJbiibuK6JPdDhyT2zxm+62J3YwOqrmNpRPeZ8u0vlAvlCkERpQcTovTycUYR0cDzKB3rUX6QQvAoSeB5HnRNQ61Wm75JWsLdu3dx8+ZNvPLKK3MRy7hn5ll2X6oep3nPCw92ChQ2v3OeYF8TarVaxerqKgxNw9b2NlpDpNloNNAeYdJFKUU+JEUsd+CaPlxWeZtyX5xyYVme58iyjH0f+IZ+kZoBcPXiRWkcdoiQxP45Io1j3L1xA0maYvXYsYHHitumVG4ufkRxzExR+gTFCgH2EGw6Jv98kEg9TlN4rss81Gu1uZb1URji3Xffxatf/vLMuXiBUeQj9NcH2TgdQFm7zv80qYersLZN05TVIwxhKl3uIyUCsLTI6soKqo6DXq/HUjM8cq5UKoVFxcBYJqwqZl3xGLxqOY7jgc+dKEqh6AKAiuP0UzOuizRNcfXiRbTHrCQk5oMk9s8JeZJg67PPEIYhji0vQ9f1AQUCEb+Hc6yEIElTtNrt6VF6WTEzBsMpmSxNQdEvtafgtgTYH6mnaQq314OiKKiVWsiNwijzqXd/+UucPn0ay0MT3zSUG1OLgposz1mZe56D8iKlJElYlyD+Q8E2j+MkYc6FvCVglmXsp+xzzj+nwj1xRmsA0zRhmCaCMNzj3z7Le7zfz0LVNBw7dgyLzSaSJMHG5mbhFtlsNgeidlHINXEcM+T/RU/YeNgimA42UqeUwrYsOI6DPM+Lph5XL15Ea2dnziuVGIZ05fkckCcJuvfuodvtolKpFJ3qB6ol6WBrOoE4itDr9Yq+meMKiMr59GlQCCk68KRZBkIpVB5RAfOrXgRSLmsj3CJgWvplOEK8fPkykizDM08/XbgPFr95mkD8mw4R0R4VB98EjOMYIc/5DoyHUtbliBfSFC/DUDoM/Y3jYiIG/8z4a5M0RWLbReMQoij93/zfFdtGytNT9Xp90BiMT8hjMSXlMw31eh2GYWB7dxebW1tYbDbRbDTQ7nSwsrpa5NWnoSyLzPN8LMmLJtij/N/L+xKiX2yNtwuM4higFNcuX0ae51iac3KX6EMS+31GFseIOh1sb2+DKAoWFxdH9iDd06eUUniex3TBqgqbd0saxn5TJoLcszSFUkrD7G/hD6R5jh4n9foEi4Aios4yJElSEHcQBPjw44/x6quvDuSE9xhqcaJUFKW/4UsINNpv+TYs6VQUhaWEhh4Xz6nxPLg4H/9Hofkv29tSABDVl5pWtCXMs4w16B5HvoQg4y0HkySBVZoIKJhEUuWdsMZhngrVYViWheMrK9je2UG73QbhVatiwpwHIjUzKQWlEIKUT8TjirvK12LbNsAbZlNKcePqVYBSLK2szDU2CQZJ7PcRWRwjdV1sbW0hSVMcP358z3J01PI2z/OigXStWoWmaUzPPuTjcpA8ONDXGqs8l73f42R5jl63W+jUFUUB5WZZgsRFWkOQCC1HiYqCjz/+GKdOnmSTQjnq5SQ+Su5ZxjjCEwUz41Y6BPvTt4tCqCSKYJgmnLKPj7g22vedoXmOXNOQCW076bcELEfL4lpVRWFkzwlfrDYI+j5B80KkZnrdLsIwxNbODuIomlmCOoxiY3/o73GSFHbGSZqOt6korUQIWMOOLM8RRlFB7jmlOLa6uq/xPcqQxH6fkEURMs9Du92GHwRYXFxkXt18CTuO1LMsQ6/XQ5plqFYq0HUdWZ6zfHAp+jkoqQMolAvmPm9syo/RbreRcp8Qr6RRLkNRVaiEwLAsRlqCqBQFd+/ehed5eO211/a1yTkubhRWAuacxmZzYcRkoxAytuDMsix0u10oPAUh3CKzLEMuJj++H1BO0wiFlKppxcQnyH+ezWlFUVBvNEBUFR/89re4s7mJ9bW1fZO7WGlmpdRMHMewTLPYoJ00qQL9iUpRFObpzsmdEIKb164hz3PZJHtOSGK/DxCkniQJ2u02LNtGo14viHkcqZf7StZrNei6jjzPWduxKEKUJDAPGF0LUJQ2TjWNRYSUTlzqp3mOlLdGS/lGo+f7yNIUlUoFKS+m0nUdKm9BV6QYRr1PPIJ/7/338cILL+xfuTJmzEImeuiFSeCRMyfdedIjqqLAtm34vo84jmEYBjRRPDVEgIXzpHBXzDK2KcmtdHP+PVIIgaZp7EdVJ65AxArCsW0063UEnofNrS2sLC3NrUIqQ3TcEnbGlmGA5jmCKGKrwgmfrVjFimImy7YR+D58vtF7+8YNgFKsrq/ve3yPGiSxHzIEqQNAp9tFTimWefu2IsoeQepRHBcNnEWvT5HDFEQZhSFMLic7CMQ4hPytiPoIYaTBl9dCISJ+hDJE5IbTJIGu6zi2tATTNPdVrXjh4kXUazWszdENafBixpOqsBKY5vO+L8xZvFOGaRiIogh+EEDX9bHXoPKofBgULKefZRkSHunHXO0D9FcMmq4zouef70D6C8DCwgIUVYVCCO5ub2N1eXnf5C72L8RKw9B1tncSRax6epbPoLT/YTvOILl/9hnrBCXJfSZIYj9E5GmKzPcZKSYJPNdFtVplNy8A5PlIpUgQhvA8jykEarXiJihHgqZoO5Ykc1nrDkNsCIrNPJXnrnPePCLlksCER/PCmlUXESG3N+j1elA1Dc1qdd9k4HkeLl+6hN/77/9939cj1C+jIJQy9yNiBxiBDqtoZgEhBI5to+e6CMMQpmXNpXghYPp4VVWhA0V6L+eFQVmasobTQcBWFPxxVUT0/Ke5sIDtrS2cOXMG97a2cG9rC8tLS7AmVENPQpZliOOYBR88eFF5ADC8PzTuuijpWxrYjoMwCApyv3PzJmzHQaPZ3Nf4HiVIYj8k5HmO1PMKFUe310Oa52g2GsVzhkmdUtaUIQzDwixpoJqxpMawbRtxHLMJoNGYufvOwPmKgbBNU8/32b9bLdBSpxxV0+BYFlRNG9i4K8bseYiThPW+3CepUwC/ef99nH/qqdk81scdZwIhCsKb1sTjQJgwsUyCruswTBNhFEHT9X19nkA/N53nOdOQGwbAP5M8z/va/CxDFEUQJUkKITAMA61WC6qiYPXYMWxtbeHe9jaOLS9PtLoYBUopfN+HQlj7RoUQ5JRC49a949Qxe66HBxLis7MsC9T34Qm1zJUrePr55w+UNnoUIAuUDgmZ74PypX+SJHB7vYFoffgrTSlFr9dDGIawLGtPMc+AZpr/iIpBf4YOPcPIKUWaJPB9H+12G7u7u/A9DzTPoWkabMdBvVbDQrPJOtE7DlM28M06Ad/3EXI/9YNsSm7cuQPX8/DEE0/s+xgUk4l9Wm73wJihYGcSbN6ecD+f58AwwFYlZammyKVrmgbLslCtVNBsNIom2aqmwbYsuK6Lbq+HIAhQ434+W9vbIz1mJiHiuXS71HKREN5mkUsfZ7sYLv/kez5EUeBUKtC5x73nurh26dK+ZZ+PCmTEfgjIogiU5zcJIXui9eFbf1j5Mmrpm5esAQR0TYNl2wiDAKZpTnRjFMdIeFVlLFQ1YBG5ZVmglKJWrU73YSfMK9wLAgRBAGfMmGdFmmV4//338eLLLx84mp5ErKIA5n6iUK7sAyqPbr0gYBLBA6TYAF62zzdah7X8ApqqQlNVmGBl/UppVSaUTe12G7c3N7HcbKLRaEz9jLIsQxBFbBVSugYCZjHg+z7SNJ36fS1DGOAJAhcrCM/3ge1t3Ll5EydOnZr5eI8aJLEfEHmaIuURFyEESRz3o/URrdiE8iWnFLVarVC5lCE00qMoy7FtxNxfozEiJZNzaWTCS+TFElg3DBi6Dp0v++MkYZKyGYk1SRKEYQjbceA4TuHvvh9cvHABi0tLWLmPlYVC6nhQspyG/eTYyzANA2EcIwgCtn+xnxQb7Tfv3lPQNQU2lyXWeZFWmqbQdR1b29u4u70NLwzRqNWgC7XTcDcuypxGxb7BMBRCoOk6kiSZLb0zNEmKHraEq4kAFmDcuHYN1VoNjRFGehIyFXMgiLx6OTpqdzpI8xyLCwt7lS9Jgna3CwBo1usTSX0cCJh7X85TOTllnu1+EKDd6aDVbsP3/UK/LdIrtUoFpmEUxCE2FmeJmLM8h+t50BQFVccp8rqiaGgeYnNdF1evXMHzzz8/x6v2oux4OQpC/XFfUzFghDOpAnPq67ndAKUU0QiTsHEQcsdyi7r9wLbtwj+GgK0Kq5UKTp86hUathpAbzwVhiG6vhw73/0/SlBnTcbmrw9vjjYKuaUV6aCrGVKmK8dm2XaRlPv3445naAT6KkBH7AZB5Hihv4gAASRzD9zxUq9U9KYAojuF2u3uUL2UUOnf2n7Hn1TUNVcfBTquFbrcLi99UhfUAL3UHxuvdqWhGPC1CpBQu735UrdX23HhC+VBuuzcJ7733Hp565hnYlnUgQgQma/nnmbgOioPKT1VVLZwOjRFRcRniHRvn7TLNI34YlmWNdJ0khGBtdRXbu7sIgoBp3x2nWOmFUYSIe/A0Go2Jm5m6piEES9mQSQ3FJ4xb4RMoobSwH+h1u7jw0Ud47oUXPpfP+WGCfDf2iTQMkSfJQFTe7nSQ5Pken/U4TeG6LnRdR6PRGE/q/f+MPW+cJOi5LlyuQMi5mqVRr6PeaDBFAo+QJt1Aorhlmhbb4/nRaqUy8eYRhTLCBmAUbt26hTiK8MS5cxPPOROmjPu+atjnHMvUl4PlkBVFGdmzVHjUlAuWJg+HFAVD02CaJpNFjjnO8uIiKrYNz/fhBwFq1SrqtVrfQI7XV/Rct9jHGYbQ0adpOrVp99gqYvBCJiGFtG0oqop7d+/i5o0bU6/zUYOM2PeBLEmQ+/4AgSVxDM910eBNBARS3u9TURTW4m3EF78gdVFEMvScPM8RxjHCMGSRNiGwDAONWo2lSVwXruehLiLqGaRllN+UkyAiM9u2+1r8aSCDJlxFsVMcF/1L9ysRHLyAya8X8r/9yghnhdg8nVXON/Y4igLbspjqKIpgGsZU1c80KKo6dS/Etiy4E1Q5hBAsLi6CtNtwPY9VQpsmwElf13VEcYw4jpH4PhRFganrhVeMOIamaUWrPuExMwwKTBxveUNV5PRdz8O1K1dQq9exyJt6S8iIfW7keY6M67/LaHc6yMGq+QSyPEfXdfuOhyMiZOGhvufvYDn5bq/HvNh9H6qioFqpYKHZhFOpQNU0GIaBarWKLMvQ6fUm2qmWkeX5RNJL0xQ+74Bkj9gUmxUikr905QpWVlaKm+9AaZgZXptl2eezPOcT2UGidpHC0g2DyR+DABmvAD7Q0GYYl1XKsY89DiFYXFhArVJBq93G9s4OHMuCaZpQ+IRUr9WYykZREEQRur3eQBSvadqA1fK41eLUKy69RlVV2JaFNE1x4aOPpl7HowRJ7HMi8zxgKKpIuD68VorWc0rR7XaZ70u1WlQ/7tGqk0G73izL2EZouw2310OWZbAsi6Va6nUYI0r3DcNARZB7p4NohA/2MCiPaMc95vIJqVqtTn9TpiCOY1y9cgXPPvvsQLqmsFaYcwN2FhLN8/y+b5yWMU+0PrzxKayLQSks2wah9NA2BaetWCxeJDUNaZpC44VroHQPiRJCoOs6qpUK6rUaTO7U6Pk+ut0ukiRhFgilBtvDE8+sSqtyH2DDMKDrOjzfx8WPP57JV/5RgCT2OZCGIehw53dK4Xse0jxHg+vWKVAoVuq12oBzXnnpXs6Dp2mKbreL3VYLQRAwD/FqFY1GA47jTDR2opTC0DQ06nUoqspSM74/uXhn3MYppXBdF1meozqlA9KsuHTpEtZPnECFNxgBBomQAP3cPNnrS793iFPSMJwsP88NtVHvUiFDRInMR+TIyykxYd0grGsPA5Py2qZljc2xA2zcYRQVPVvXVlfRqNXQdd2R+wEAd2nkUbxTqUDRNCRpiiAM0el2i5QM0H/fxPszC8Q9JL5DYn9ia2sLn129OtMxjjoksc+IPM+Rj7gBCCGsZZ2mQde0gtTFhuPIogz+BRYbSr1eD51OhzVgsCw0G42i683UXHnpWJqqosGjpSiK0OFFUHuuhU8o43xroiRBxXH2beVaRhRFuHLlCp5+6qmZni+iOBHNK7yrVLn/a7nxxSgIz/fPI2Iv9OMYjMLL7fQGpJkzVKvatg0cYtQOvkoaeS7LGiuzFPYRYRiyaJz3BlhcXITF7QimpT90TUOFVzVbts2qsj0PrucVBF98rjNeTvE82ndJdbhk9Mb16/D30zj8iEES+4wYSerghTtxXESjLm+QUeG68VEgioI8y9BzXbQ7HcSc0BeaTTiOM7OSY7ipMsBukqrjMK/vLEOn292z1BZKmuGINoljeEEAi+dPDwMXLl7EyZMnD+QHU16ul50xxxUHZXyDWSl1JBJR83AaR7QILDYqS2X5A39HicSFAyav8KTimEOrkJlXO0ORqsaLgQ4zah+X09a4C2M6tBJNeMCRZRkc24bjOP33nRAsLy1B0zRs7+zs7W86AiIXb1sWTMNAmiTolQl+zsIqUvpsCdgkblkWkjTF5YsX5zjS0YQk9hmQpSnyoehJ3Ch+SePrcY9t27ZhjSHGLMvg+j4j9CiCbVlY4OmWWatAgdGkXobBpZWapsHzfbR5nhPoa9gHmlrzIiRdUVA5wGZpGWEY4sa1a3j66adHXcChnGPU9eeccFVV7a+OxHOHKxuHxlOOwAf+Xib9EUQOHO7NJKo05ylamoZR75Uw2hLnybIMnufB8zwQng4cpVFXVRXHlpehqCq2d3Zmym0L6wJD11kEbxhsxeq6RfpvP/12CVdZmYYBXdNw7+5d7GxtzX2cowRJ7DNgOFov3yA+V6vkec4sWIfapAlkaYqu66LFCd1xnCJCn4fQx41jFFRFQb1aLSwAuq7LWu5xS94iYqcUHi9CqowoQtovPr1wASdPnz6Qr8wwZolghTLo/godDxGjImlNg6FpiKLo0DYECSFFQ5UyLNOEz32Aeq6LNMtgWxaqpU3/UdA1DcsLC6B5jrtbW1PHWW4FSAiBZZpMcKBpSLMMnuuyQGkGwzA69G9xDwkTsguffPJIb6RKYp+CLEn2bphypGnKWn9xoyPdMAY2CIF+JLzb6SDhLcOaPEJXShElMLtmeR4/EEIIbH5O27IQJwk6nQ7TxPPzeb6PhO8JHJZ3eRAE+OzGDTx1/vzoa9jH5DFrLJfn+X3zYJ+IQ9bMW7YNEHKoZfMEAFHVfnqJsq5FvW6XealzGwrTNGf6jokUYp6maLXbE587qscrpRQ2J3jDMJCkKTzPK2wx5ro2nqYTHapuXLs21+uPEmSB0hTk5c2hoWrNwPcRJglUXYemacx6VzwV3OI2CJifOs8vlvPnhBBgyG51GoYdH2eF2GAyTZP1YW230e12i4bDzjxFSDPg0wsXcObMmbEpqX1hxonv85Y6DmAfxVfjJnRNVWFwP3ODa9wPAyL/H0URm+DBIt4ab0Q+L6qVCrI0RYeLABqlHgRlDBN7eVNZRPCiu1TETex0w4BtWSP3K8Sm6zA0VYVlmrh54wZW1tb2BFuPAmTEPgFZHA9E68MbUK7rIooiOLaNWq1WEG7Co5cgCKAbBhaaTVQqlbGbouXJYBIopXs09PNCVRQ4joMKlzK22m0EYciUHIe0dPV9Hzdv3sSTTz45/kmHlGPfc1g8WGLfzw01aZNVpLGiQ4raRcrQ5d2bRHesg04cjUYDFdueKIMkhNk/i+KrURG5yPnXKhUYuo4kjtHr9Yr9oTJGkbpQ/5jctfLa1asjX3vUISP2CShH68PFFKJRtSB1oRX2fZ/p0HkXesMwJi7RZzH9Yg/3I5sDgy+/VRHFWxZibuqk6zos0zxQ9P7JJ5/g7NmzE5U14xQtk4c9w4pGmH/dZyuBsTgMu4QSNFWFweWr5gHIN01TxHHMFCyUdTaybbtok3cQG2aBxcVFpFtbRVemUXsriqIUnjeT7guhotF1Hb7vF6lOi1e7AihqHsrfC4p+JG9bFna3ttBaXcXKysqBr+9hgozYxyBPkombOO3dXaR5jpVjx6AqCuI0RbvdZh2RTBONWg0G99SYBrESGFegMU0BMy8oWASYZBnq9TrqtRoaPAcvVArtoTz8rPA8D3fu3MGTUzojzU3qMz6vcHV8UKmY/WDKe2zxfPe8ChnKtfC9Xq+Q4RqGgVqtxmosdH0uw7BpmEUGSRQFKZfbznI8jdsIG7qOhPchmBqB82sR1tKbGxuPnN2AJPYxyHy/X+EGDBB0FEVwPQ+GYcBxHLieh163W1jbVqY4IY6CInTXQzfYYZM6wMgvDEPomlZE1QpvZLDQaBROjsLawPN91pB4hpv/408+wblz5w6/J+WsG8tzROz3Jxl0uJ8VwKJ20zQRxfFMSo80TREEAbq9HnzeXN12HNTrdTg8Si/GOiLqPQgmyiD5vUSzbObzEbBJ2jJNVHgthIjg8zwvpLuDL+oXZBm6jhZfRTxKkKmYEciiqCCI4bx6nmXweTPnSrXKzL+4n0u5iGNeFJuivL3ZcLHLYSLwfdA8hzNqU4mwJscG1xhHUVSkaQghMLhzn65pe1YjvV4Pm5ub+P3/8T8Od8A88gzDkFXG8k2/JElYjQFvB5dnGWK+6abyFVCWZcVjxb/zHFmaFnr1//2jH0FTFCiqCkVVoSoKVP5vhRCWrig9XjyXpxUUQtBsNllhFy/AEdHwLJjleaZpFp/DsCmbsNBNkgRpkhRpDl3TYDjO1JZ0iqYd2v4K0JdBbu3s4O7WFlaPHSuaW4trnWcfRNwXCoCq4yCOY0S8SbdlWSyIGA6IwCb3HEw6unnnDprN5oEM7R4mSGIfQp7n/dw6pYPkRSk830cYhv08IYB6vX5wRUk5Mi+VWB82qUf8prBse6okUOO+JRXHQZKmzJ41SRDFMeu2I0iek9jHn3yCJ594YmYrgjRNEZaIOioRdxSGCMUPb+FnWVZRFWvyyUfXdUa2nGgTTtiimYkgZJUvy1Xe41Ms0//n//pf+H+++11G9qVJoDxZ7JkYSr/F+O9ubhbWymEQIIpjGIZRjNkyTVii8lJcB//7LO+XyLWHUcSkiNyOIkkSds0lMrcsi7XZm3HVOMlDf78QMshWq4VWu41mowFK6YAyZp4NbuEnRMEmOU3TEIQhgiBAyiu3h69X5NsNw0BrZwetVgvWGIXNUYMkqmVlVwAAIABJREFU9iHQOC5Kxoe/KGEYIuE3b5wkaNTrqFQq/S/K8EQwz3lLEQfhkcZ+qvAmIacUrudB5bnLmUGYc5+u6wBlrfhEg+w4SUDA3pvNzU186UtfGnhpypuM9FwX3W4Xbq+HbreLnusW3t7D5CeiX0HihmnOvBna44VW9Vpt5ssTG4j7mZw9TiyNen3g72LSCsUkxSevTq+HeGur34WIe+xbto1qrYYa/6nXaqxvbmlMBncxbLXbRVWtcFUUNgT7IS2FrxLHyQf3i2qlgpQrxFRVLVJ8hJB9FQ8VTqB8Uqjw6D2MY6Rpikqlsney4Ndj6Do2bt9m6p1HQP4oib0ESilyvkE1TCRZlhWWAVmeo1GtDlraHjIJK+BFPId4XM/3kVMKp1LZf9FLieQrto00yxDHMT788EMsLy/j0qVL8IMAYRDA8zxEYQiHW7lWq1UcP34c58+fh8mjylmIKC+X809BlueHYl42M8aMS1EU2I4DewaPnCRJ2OTX7aLL01kXL1yA63kwDQNOtcr8WripnKppOLa8XESuB41AiaIU0a0wiDss1Go1BEGATrc7sDrZd1WoCJ74pCbeAy8I4Hre3noMvoeg6zo6rRZTsh0gZfqwQBJ7CZSbEYFSoBytU4pOu81ag1UqiKKIVQWWHgdwaJWHovlGkZYRG0QHOH6cJCw/a1lzVa4OI80ytHZ30e12WeTNGxxHYYh6owGFEDi8GYht2wP9WEVqR9O0A/c7HQVR8PK5978cVTwj9kpmgK5pqNVqcBwHS8vLSNOU7R0ALD0VBGzDkHuqdF0XlFI06nVUazXUq1XUGw0sLCzsa9OaAEXEPq670bwQFsWEECwsLODe1hZ2dndxbHn5QCsD4QtTDnpUVUWVezX5vj/SxE4ppWTq9Tpqc6zoHkZIYi8h58qP4dm81W6j1+uhzlMvrXYbxnBUeFBSL5lQDR9LtAPbb/ROKfNYVxQFjm0X3tqzIAgC7OzsFD+9Xg+NRgONeh21eh3rJ05gc2MDSZri5ZdeGnhtnucsD5ymLDURRQBfEQmvGrFRqfIc+ShSFqQzDblo0P15EvuEz2RUuzw6lLvP+EZu2V1RVVXohgFN09Co1fZIN3uuyzbA+efa7XaxsbGBVruNiuNgcWkJy8vLWFpchFNOFY6Bwr2OgNnrKiZBuIeK8+q6jka9jhZvr1ecY58QSp6sFKAoqopKpVK0FswpZTLRkmGbpijwXBee5+1LufYwQRI7R57noHG8Z7O02+2i2+mgUq1iodlEwLXduoiMDhhJF6cqnXNkBHiAG84LAtb0o2R5gFFfakrR6XYHiDxJUywvLmJhaQlf+tKX0FxYgFZ6bUYpfvnOO3j99df3HE5RlEJhww7P7GELBUeaIhKrpNJ1qiV1irDeLeSgEyDI6YH4xJQg+tZmfMO1IPEsG1ipELCxqnwVU57gJsE0TSRJAse2sby8PHDeTqeDnZ0d3LlzB7/98EOAUiwvL2NxcRFLS0toNpt7jj/Q9IRXh+53RTVOXVOtVhHwptcWVw4dFMrQqogQAsdxEEYR4jhGnmVF2oWAa+jjmMmVXZf1ID6ikMTOUaRhShuhIs1g2zaWFxeZIVOSIOMWoYeZ/yZg3uDTqlTnTc2ITTzTNAvZm1DbiLTKNl8mt1otmKaJxcVFLB87hqeffpp1UZpw/Nu3bqHKC5ymXmMpP2/oejGZjZIkJnGMmI5uUiEi+6IRByf+JEmY9SvfnCt7t+8XZQtfsWrK85w10eD1AGmWFXI+sfEOoGi0QQiBykv3y3LKosXbnHYOOp8EQl4pXH5/m80mms0mzp07B6C/4tre2cFnN27A9TwsNJtY4hH94tISVEUZaMhSbmoy03vEf2dZNvH9Xmw2sXnvHrrdLpYWF2e+3nEg2LsPRQhhzUM4gXue18+p84rrKAjgccO+B+YpdJ8hiZ1DROuEEORZBrfXKzavFjmpA2yjSyFkYqu6fZ1/jsh/1tSMWKoLAzAA2NndxY3r17F59y6CIECj0cDi4iLOnj3LOuPMadp16fJlPDVjd6TBixjMkaqqCgypUjKeysl5QUtBqDwaFs0uBMI4RhxFRdel8rmGW/GV/9blSpri/aR0gNAnodxfVlNVEE1j8kFO2qLAZhLmzTcTQmAZBrwgQJZlE8nJtm089thjeOyxxwCwiX53dxc7Ozu4eOkSWu+8Uzx3eXkZy8vLxWSJGd+DgQbVE6BqGhaaTfh37qDnuqgdQj/dYkItTaIAmP0CYd3NPM+DbdvF5xH4PmqNBnq9HprN5oHH8EWEJHbwNEySsLL+LEO310McRdBK7cAEkiQpZH+HtVm6HxTR+wSCF23uojDE9WvXsLGxAV3XsbS0hCfPn8fJkycH0irzYqfVQhSGWFtd3fcxJkFVFBBNA6b0exXNoInnQeMmZ/zBPkHTwW5IKP27SN2Qwe5M5Q3s8mQgiFvhK5A8z0eSlEjJTIWiAHNa1OqGASUIisYus0LTNKysrBTeKb/98ENcu3oVtm3jww8/hOd5WFtbw/H1daysrIxNa4n3ct5JyXEcOJYFNwiY/cYhePWLSWj4ftR1HURR4Ps+PN+HbVlQVRWB50FVVfi+v+f+Pio4ele0DwhSBwDX85ClKRRVhaFpsIciWGElengn55umI+wEZsEogo+TBHdu38b1Gzewu7uLhYUFHF9bw+/+7u+iWq3C8zwEYXggUgeAy5cv4+y5c/dtE2o4ChsFkZMHWOSvmObcq44D6ZonKIwKwpnhGPNCURRWsMTJcd6UU5Zl+NWvfoUwDHHy1ClUKxWce+IJBEGAjY0NXLt6Fb9+910sLi1h7fhxHD9+HJZpFoSez7ihPQq1eh1hFKHVbmN1ZeVwvj9ktDWCxjdVPc+D5/uFlj7yfeiWhW63y1bkRwyS2MGJHYDP+y8qXNfrVKsDUUCapsiyDBVdP/xo/YD5+pDfkDdv38bu9jaaCwtYWlrCq6++uieiO4xClCAMsTGiIOmwMQ95PAi73lEqpjJmea/3+00yDYPlknkDl1kRxzF+8YtfwKlU8Du/8zt4//33i9Sibds4e/Yszp49iyRJsLm5idu3b+O3H3yAaq2GtbU1rK+vH0guqCoK6o0GgiBAq9PB0sLCvo8F9FUy41ZHKvdBcl0Xvu8zZdvODs6cP1/0dT1qufZHntjzPAdNU0RhiCiOoes64jiG4zh7lqEJ9+E4NIOrA5Jrt9PB7Tt3sHnnDlzfx9raGp44exaNl16CH4aoOg7MEUtd0UbsIJYF165dw2MnThyKumEc5p18pkX3DwKz2BPv91sg1DTxHMTuui7eeustPPbYY3j22WcBsBXeqKpbXdfx2GOPYf3ECSRxjO3tbWzcuYM333wTuq7j+PHjWF9fx8LCwlzvOyEEpmFAU1V0OdkeqNk5h0IIsnHkrqqwLQsBrwAuT7hBEAwWGx4BPPLETpMEaRwjCEOYhsEqFxUF1gjCSuIYlOdVD35iuvf/M9wcWZri5s2buHr1KqIowvr6Ov7b889jaWmp6GfZarehq2pB6sOER/jPflvIpXmOK1eu4Bvf+Mbcry3GcEiFMAJiI/VBSx33hQO8D0L6mIwh5zJ2dnbwzjvv4JlnnsHp06eLv2dputcorKxI4umuldVVrKyu4gVK0W61cHtjA++++y4A4MyZM3j81ClmVT0LKEW9VkMQhmh3uzC4bv8goFwSPOouyvMcuq4j+//Ze4/mOK7se/C89GUAFIACCiBBA1L0pEhKVLcoiUZqxf+/mZiYTzC7Wc2nmN1sZzMxn2JWEzPRv251q2VAJ9FBNKInCBJVsOXT55tFvpfIKmRVZRnQQDoRjALLpH153333nnuu58G0bQiiiOLaGhLp9J+GfSfC0XXUWENqWZZh1mq+PGiEkeW6KINsIRegg1Evl0p49uwZXr16hWw2i+MnTiA3ObnldwZrfjw0NLS1OIYZeM6J79Wwvnn9GsMjI33xgGM1zejCA4/LzBg4Oh0jo6e2/U4PyVOOVtTHZiwuLuLu3bs4d+7clqYTtuMERpU2GXQ+vhoqaQlBZmwMmbExnDh+HGvr63j+/DkePHiAXbt24cDsLEbHxlqfMzfAgoCx0VGsrK6iWCohOz7e0zUIQGnQWL7hbWwae01V4TLxtkI+j2OnTqFcLsMJXYOdgJ1zJj3ANk1USyUQQpBOp1GtVn0VvRbhBXtQN7/JqLUyca7r4s3iIp4+f456vY7Zffvw7bffNsoZhLfjedDr9UAQiiNgejAvmccke/EUKYDHjx/jyNGjXf82jE4ee7dhFf4wv+1qwnCFZRTCqoStN9K7xx6H+vjo0SM8e/YMX331VeRkbNs2REkKKkbZhrfsJ/KeEYLx8XGMj4/DMk0svHyJG7/8AlEUcWB2Fnv27o2ecNh2FEXBcDqNIqMXp/tIZPMj3nKcTcecTCRQrdWwsbGBcqkEMFrkTpIZ+MMadkopyqur8Kgv8eq4LhzX3fTWOcskRKVyLCv+UrP1jre81WwWKpUKXjx7hhcLCxgbHcXhQ4cwNTUVxMZbwTAMuJQi3SZeGS7q6cWcrG9swDTNbaM4BujS2AUe+/sYionLjukRraiPlFLcvn0bxWIRly9f3kotpL7mimEYEBlhoB3axbABQFFVfHT4MD46dAirq6t4/vw57t2/j927dmH2wAGM8iRpaCUAsKpU09wiFNYTCAFp4t83J1UJIUgxbZmnjx/jyPHjfxr2nYJKsQjXNJFOp31Oa63W6K2HPRbmAbiUQtuO7DmLD79+8wbPnz1DuVzGvn378PXXX8em4lHPg24YsWKV4eYhDQY+hvF58uQJDg6C4thpX10awy2c9LeEfhLQg0IU9dFxHFy7dg2CIODChQuboRYAhFJ4YKsiVuwlxQkvckphjO9lJyaQnZjwayhevsS1a9egKAoOHDjgyyCEq0UFAWOZjC8UtrGB3MREj1disxpVIGRzBRIxjnhP1Xq9jkI+j/FsNlae4kPBH9Kwu64Ls1LxmzYriq9bEvbWm8EKTTotuzsiYoDZto3Hjx/j8ZMnGB4exv7ZWezatatrw6kbhi/JG6Pgo5keRjY/aKtHwymOp0+f7urYWhxERwGtbuB53maJ/ttGh33GMoZ9grfOM1k/gbm5OYyPj+PMmTMAQtIIIW+WH7Vt2x27LHHwrlGxj0vTcOTIERw5dAiF5WU8f/4c87/9hlwuh5MnTwZsHkmWMTw8jI1SqS+WTHNfg3YKm5IkQZVlLOfzGBoehq7rfxr2DxmVYhECpUGs2tD1trH1htBMrx5hk6FyXBdPnz7Fo0ePMMWLh3pcCnqeB13XoSlKLKmDhsYgzZ/5X2AfN37+/Plz7Nm9G8pbGPzdesKD1hGPjRhsJkII0NTucNAQmSzy2uoq7t69i48++ggfHTrUUffcdV1/lRN3XHNvuNvQkiAgNzWF3NQUihsbePLkCf75j39g//79OHL4MGRFQYr1Dy6Vy5EdkeId3mZ8vR23nUNRFFTrdayurCCRSESSDj5EvIcBye2FbdswazUoqgoiCLAtCw7rWdruwQuaJPe5f5dRBf/+979jfWMDly5dwrlPP+2LblXXdVBKY5eWkxaGO+p7/J8H4OnTpzh48OBAaYpRoJ7XtZH2PK+jJsu2IO6E0s5YDOB6UkZBvHXrFo4eO+bfp5iNr2OFYcLoM2egqCoOHz6Mb775BqZl4e//+AcePnzoN7AZHobneajV6z1tu2Fsks4icJxTXy2XobM8xU7AH85jr5RKkKiv1QxKYRgGpFZt0UIDmJfs9zSbM/rYy4UFPLh/H0PDw/ji/PmBCBBx6paWSMQ2bHENexgry8tIsk73HNyr7qUwqN23e+kc5b3tzkkMcY9yO3j7YTx7+hQPHj7E6dOnkemiktO27a4NO0/A9yrty6mUiUQCn5w9i9rhw7h//z7+/l//hSOHDiE9PIxKtYpUMtm1186vc1inp9PqT5YkVGs1lEsljIyMbGnS8SHiD2XYLcuCVa9jmCm9WcxbT6dSWz2qMI83NEi6ZV1Q+NK29+7fh6ppOPfZZ9F83R6Xf7qugwBIdCumFIMFEcarhQXs2bOn4b0wvQwIGXp0F0bZgh4qTt9ZcVJMj73vODvd7BrUbNTn5+eRz+dx6dIlCIIQ5Fvi9Il1HAdSDyudfsJL1PMaDHYqlcJnn32GcqWCB/fv49GTJ5iankaCNcTuatvhvBG7N8267VHnoqkqisUihkdGkMlkPvhwzB/KsJeLRcjE75Pohr31Lsri495uCqCQz+O3334DCMHp06cxOTnZWjAK3T/4juMEbfq69WwEIHbrNsdxsPjmDf7biRNtv0eaXsPYYuwH+OC8K6ojT0j2rfm+dcMN7wWGvMmgcyEv0zBw+fJlyLIcdKqybTuW3EPPhTmEQBDFnnqXtmpfODw0hL/+9a/Y2NjAnbt3cXVpCceOHsXevXtjNzPnHns4wUvg9zpouQVK/Z6olQqKGxvI5XJdKWa+j/jDGHbDMODoOkbYDXPC3noUmuiO6OIhXltbw/z8PCzLwvFjx7Br9+7OE0IP4Qe9VgMBulYzBNBVb8ulpSWMj431JbEaPn9e9Rpm4ITDQ92Gdvh5vM+tziKVHkMGm4f64o4ALuSVSqXw5VdfBecuSRJEQYBlWbEMu9WHWmmv01mn+zs6Ooovv/gCT5498/89fowTJ05geno61rajQkRtvXZ2b5KahtXlZUxMTmL37t2xz+d9xB/GsFdKJSiM70uB9t56BNOBNhmgKDiui3u//YbXr1/j5IkT2D0zE9vT6Ba2bcNyHCR7iEMCABFFuKE+m+3w8tWrLWGYfkCAICG75Trz98K0vA7X8F1WnQKtjy8cmvLfaOzGxH/FG0XERbVSwdyVK9izZw+OHTu25XOFVaLGCcfoTKe8J/BYezdeO7sGnY5LlmVM5XJIp9PwXBd35+exsLCAM2fOdIyBRxnwjitiJilSqdWQz+cxPT39XjsKnfDhHnkXcBwHLlPAIwAs0/SZMK2WWxGDjid8Wj3Ea2tr+O6f/4RpWfjb3/6GPV0sH4HuvR+9Xvcz+j0mekRBgBdDn8S0LKyurGDXrl097adbEGxSLsNl7BRo+BcWqeLL7nDibNBo3n94tcFrHMI6Kx73wDlNltJApC02kyYCa2tr+PHHH3HkyJFIow74hl0gBHYMhke/yorB/YqJYEKL8WwMDw1BEASomoZvvvkGWiKBf373Hd68edPyN+0mmTihOk3TUFxf76rh+/uIP4THbpomiOsGsUTDNFszYTqg2bC7rot79+7h1atXOHvmDKa5AdxGSqBlWbAcB2ney7EHcM35TonOxdevkZuaemuMk6irFnmOXO8Gm5Nuc/K0lYEPt31zQz1KKStHbz6WVteHG3EhIszSrbGLg8VXr3B3fh6fffYZJtpUZwqCAEmSYFpWx4m/puuY7oedRUijQFgHdFPoJ4oihtJplMpl2LaNU6dOYdf0NG7evIk3S0v4+NSphtqTuO0MI8HugSrLKFYqqNVqH7TEwB/CY7csC5IgQBLFoI9mt54uj9uJoU5H6+vr+O6f/0S9Xse33367adR7QVwDTSnqTI2yH90avsx0O3jtL1++HGgYpgEtqny7RSvee5iHH/7H983b3AXfjzDObWmZ/Pt9hNvinu3vv/+Oe/fv48KFC22NOgdvFt6pStTQ9d5DMQy9eOxxV7PpdNrXba9UAADj2Sy++eYbCIKAf373HfL5fLBdjzd5b3OcLScU/nyzEGWF7e9DxR/DY9d1JJnHabLlabfeevghppTi3r17ePHiBU6fOYOZASRa4j4cJpM/SKfTfbExeMPndlzkaq2GSqWC3DYJfkXFPXvhxLdiWbxviKKCdjpTSilu3bqFUqmES5cuxU5gK4qCOhcGa/Obeq3Wf5OLLmLtlOm3xL3HAiEYHhrCerEYhI1EScKZM2ewsrKCW7duYXxxESdPnvQrojuQEFrWE4SOR5YkrK+twdvGto/bjQ/zqLuAbduA4wRl8DbrkrQl3tbJU2SDtlwu47t//QvVahXffvvtVqPOY6rbBFPXIQpC352LeNiiXZz91atXmNnGBPAWvfiI9+KA68S8bcRJqDej+ZvtRopj25ibm4NpGLh48WJXrCRCCGRJgsXaPkbBoxSGafbtsQPxY+0B66mL+5VIJiFLEsqVSsPkMTExgW+++QYepfjuu+9QWF6O9ex1ul+KLKNaqcA0zdjH+L5hx3vspmmCUApRluG4LlzPix7IHW62YVl49OgRTMPA6dOnMTMzs9k89y0VMziOA5sxYfoFF8xq5bFTAAsLCzj7ySd97ys2epwQPUohvYOCkl6Otjke3eqodV3H3NwcstksTn/8cU9jTFEUWLbdkqtuGIZPlR1UM+kYFNotwnMxIBCCkZERrK6toVavY4jJb1D41/OTs2exvLyMm7/+itzUFE6dOtU2J9TWa6cUEmPH1Ov1D5bPvuM9dss0IQsCREIC72ULxbGDl+06TqBr7ToOlpaWsLCwAMM0G2f/bfTUAT/pC2AgPVcJISCi2NJjLxaLcDwP4x9AB/d2oZjIOxJi2XTijkd5osH/Q0Yq9p2Ponc2oVgs4vvvv8e+fft8Jc0eJy1FliGExn0z9AH1GuWI5Oo3g9LGXEdMJDTN13SpVoNYuue6wf4mJyfxzbffwnEc/PDjjzAMo9PBtvxIYnH2UqnU1TG+T9jRHjulFKauY4iHYWwboihuHVRtbrJpmpj76Sek02nsn53F2OgoNjY2kF9awt27d5FOpzGZy2Eql0Mmk+k5bMFLoFsdC/U8mIYBVVUHFvcT23jsCwsL2LtdSdMWoG1K1BuMcCgO7zFWS7B6avXbLW/Shs9amaOo98NcdIT/Didi0YJx1MHw5ZeWcPPWLZw9ezZWQU5bEAJFUWCaJijTaQ+jXq+3pvz2uL9OGjL9qHCOjIxgZWUF5XIZwxGMFVmS8Nm5c7j34AH+85//4MsvvmipmBqpUBkqdBNFEetra9i3b19kV6r3HTvasDuOA8LEoRzXhee6W5dWbZgN1WoVP/30E/bu2YPZ2VksFQqQJAn79+/H/v374Xke1tbWkC8U8Ouvv8IwDExPTSHHmv72GwcPwzRNUPRWZdoKgijCiYgjepRi4dWrvppVx0GzgQxzw1uhmQPdS5x7UAjvOypfEH7lIABc2tiekDc+efrkCX5/+BDnz5/f7DbUJxRZhmGacBxnC2GgrusDDzV08tq9PuSLVUVBIpFApV5HKpWKdnAIwbFjx6BpGn748Ud8/vnnGGu16mxxrDw/UWE0yz8N+3sIwjwp3og6UskuYqBtrK9j7soVnDh+HPv37w9+H6YHCoKAiYkJTExM4OSJE9BrNSzl81hcXMSt27cxPDyMqVwOU1NTGMlkOnoqLdvVUQrdMPzGxQPkk7fyrlZWV6FpWhDL7BcN1ZbN1zrkbffKiAHejZxA3MrYBoQmAQqfO++5Ln777Tfkl5Zw4dKlQOYi/L1eBbcCiYGI7kD1Wq3nHgAt0SHWTj2vZ0NJsdmvNBxrj8Ls7CwSiQTm5uZw7tNPMRWx+mmnKy8KAuo9Sge/D9j5hh0AKPW57Czm2HArIx6WfD6PX27cwKeffhoshyVJ2mLYA7DBkUilcODgQRw4eBCO4/jefD6P6zduwHYc5FjIZjKXgxJloFt4EJZt+0nfAcZDgRAzpqn0vJ8wDK/AjDJ2ze81x6Z7ZcQA78iw95hTCRs+x3Fw/do12JaFS19/3dDEJGr7YU2dWFLALBwTpfioGwYmt4HKKgCIytxQz4NHKeQe7hWF/+wpqhpQOTs5HlNTUzj/xRe4evUqjhsGZmdnt2yzFQRRhFGvd6zzeF+xow079TwIlMJxHFDPg6xpHbW+X7AGvF98+SXGQsthgRBAEODEvNGSKCI3OYnc5CQAnxOeLxTw8uVL3Lx5E5lMxo/NT01hZHg4KJ6IelBNXYdAyMA7FxHOZXddCGyicVwXr1+/xvFvv237224MeBz0mnYeRJFQ3+hy33xCMwwDP8/NIZ1K4bO//KW97HDIoHMEcgXsPjZ/ziGzcEyz4uO2sT7I1obSwGaxVDeTcFiqgY+rVDKJjWIx6PHa8P2m8x8dHcXFCxcwNzcH3TBw7OjRYDs8rNegnsk+EwUB8DxUKpXYfYffJ+xow84rCXkYRVaUxsEWTnhRigcPHuDlwgIuXbwY2dFIFsXIGTzSKDVNIOlUCh8dOICPDhyA47pYXVlBvlDA1StXQD0PuakpTOZyyGazDVQtx3VhOQ4SfcgHtIIoCEDTcjSfzyOTyURypr0mQ/4+aFYHHvs7jrF3BUJQLpUwNzeHmZkZHDt6tPeJiY2zLWOQjz9CWio+DqQ4qcUxRckMcAZWN52ueEFTGIlEAqVyGTVd32rYI7aRSqdx8eJFzF29Cr1ex9mzZzcnF0EA+DMdugc8XFQulTA1NRX7eN8X7GjDDjYoHMvyNcvhJ64ChIz6rVu3sLGxgcttqvsEQYDTrIjYbikcerjC35NEEVNTU5iamgI9fRrVahX5pSU8f/oUN65fx+jYWBCb58c4yERs+HwIp42xEvQ3S0uY3rUrvmbLgNBrWMPzvJ7ocwNBDzkBAFhdWcGVq1dx8sQJ7NmzZ3saXYe9UCAIx3Cmjm3bflhkm/rXRrG8+CQcpyEKRWtBL0EQkEomUalWY+vJq5qGi199hevXr+Pq1av4/PPPN8d/i+MlhKBSLnfc9vuInW3YXReu64JS2pb7/ejRI2xsbODixYttBwkXVgqj40PJB0qrDDyAoXQaQ4cO4dChQzAsCyvLy8jn83j8+DE8z0N2chJ79+zBRDY70OQpZ2M4ngcPvnFdWlrC4cOHB7aPjvtniKQGxkCv1aqDQFh6Ny4WXr7E/Pw8Pjt3DpO53FuL4UqSBEopHNuGJEmo67pPddyw84RPAAAgAElEQVSua8e99tCYd1y3473izKhObfeSrPF1rV7HSKhdYzuIkoTPP/8c165dw507d3D27FkAm1rtzWNQEATUqtVY237fsKMNO2HxdUmSNj0TbmDZ7FwoFPDk6VN8fflyx5lfEMXGGHtoO/EOqHMBhyzLmN61C9O7dkHXdSwvL6NWq+HRo0e4fv06xsfHfW8/l0OqB9YK51tTSgHWAJqfU7FYhCzLfTXW7gW9GnWANbF+R3oe3ZTGU0rx+8OHePHiBS5cuODrjHc7fvqAJIq+lC+jPZZLJZ8LzvbfVZFVTAiENKyQvQ6MGIro0EsUZFluSKLGHQNEEHDus8/w/fff49nz5zgwO9vy3AkhH6x874427NR14dg2Epq2pVoQhKBaqeDGjRs4f/58rCQSH5Q0rE3SQ3w1VoUqpTBNEyMjI9i7dy+OHTsGy7KwXCigsLyMhw8f+s0IWEgnOz7eMna5hSceugZiiMteyOfffjwx7vVoAep5A13FdLXvuN9zXdy8dQvlSgWXv/4amqZtKhG+rdUGIZAVJVhxlkqlzcbk4Rg9CckhD2Cf3GhSVkgWFYaJ66U3I5VKwTRNGIaBJMtBxQnpScxz//GHHzA8NIRsNhu58hMICdpPfmgNrnesYfdcN6hKjDJ4jm3jypUrOHniROyyed7013YcKM2J2G7QxpjxwWlzFcdQRl5RFMzs2YOZPXtAKUWxWEQ+n8f9e/dQqVaRzWYxxQqkkslkwCZoBz5ZeZ6HpaUlHD9+vNez6hn9NMboVlBqkIgTBrItC1evXYMsSbhw4ULDqvBth5BkSYJpmnBdF6VKJZrS2pSIDdMre5mEBEGA63mbjJjQs8j300vfVMAv1hNFETVd95PAXYyjdDqNTz/5BNeuX8fXX3+NhKZtsowI8W0HfONeLpUwwdhtHwp2rGEHM+yiKIKGwicUfojmxo0byE5MYP/+/bE3KYoiiCAMJi4aStw2vM1eDcPwKY4tcgOEEIyOjmJ0dBTHjh2DaRgoLC9jKZ/H/Pw8EokEcrkccrkcxsfHWy5V+WRVr9dRKpcxPj7e/7l1gZZFWTEQfvjeCToYu3qthrm5OUxOTODUxx83TECEGY+3CUmSQJgXWi4WMdyhOTnQOOn248l7LNfFxyEFNkNRPYInUUuVCixO5exie5NTU/jowAFcvXoVly5eDHJOgJ8PEAgJ4ux/Gvb3Ba4Ll8UTPUrhUgqRecr37t+Hbdv4y1//2tUmBVGEAP+mD6z9WoSBd10Xlm1DSyQ6J5vY72RFwczMDGZmZkA9DxvFIgr5PH6bn0e1XkduYiKgVIbVLbnHXigUMDEx0RUVbWDo8Vq+SzkBvv9WDI+NjQ1cuXIFhw8fxkcfffSWjywaAms2U6/XYVpW1/zsBiMfroptB+I3M3EZe4lXOw/q+UmlUqhUKqjV6z2J4x06fBjFchk3f/0VZz/9NGjy7jiO7xQCqH2ATTd2rGGnngfH8/yQCWMDCIqCpTdv8GphAZe//joW7SoMkRf0OM7g46Ns0iGEwDQMUEqhtRmoQdw8otScCALGxsYwNjaGY8ePwzAMFAoFFAoF3J2fRzqZ9Ktgp6cxmslAEAS/ge874Otyj70nRgw37O8weRo1BpbevMHNmzfxySeftOyq1U4yeTshyzJW1taQTqX6mhCbi6Pangkh/ip3G1YpoigikUigruvwhoa6HwuE4JOzZ/HDDz/g6ePHOHT4cLAilyQJtuN8kNICO9awc6qjoiiwbRu240DXdfx68yYufPVVT2Jagij6ujNskA4czFswWCFJ8yDlDw8NL2FjHIemadi3bx/27dsHz/Owvr6OfKGAW7duQdd1ZEZHUSgUWjZH3k70o/bHDeO7DMU07/nJkyd49OgRvvjiC4x2yN2ITayRtwFJknyNmJgUwbZoKo6K9OLZ+dnMA94OJFMp1A0DdV3vqUqU0yD//e9/YziTwcjIiL8aY4Zdr9dj8+XfF3w4R9oFPM/zY3ohepVlWbh56xZOnjyJTI/NewXiq77F6f7eKxymnc37mTaUkPehjMchCAKy2Syy2awvXKbrePjwISiAH3/4AUNDQ34CdmoKmUxm28McrXRFOsHzPDisiYQTSpRzBI2N2Wt4Mgy/D/gqnlzSAfw1/Dew+TlnjTDqoChJQYXl/N27KKys4PKlS0jGMDBv319HEIpJb0OZfDg0xv/2KPWlPQgJ8jmDhqaqkEWxZ8MO+F2aPvvsM1y/cQMXLlzw4+vs3nvw8yXDIyMDPOrtxY407NxbB/ylmkAIFl+/hus42LdvX1+bVlUVpW2sRjO5/AFLdHGjQYFtWSUkEgkIgoA9MzM4/fHH2NjYQGF5Gb/88gssy9oULpuc7Kt5diuEF+aUUd54Y2IuGsWNdvg9wO9fa5omBEFoy2Pmhji4euzvMOODU/IaJoI2oJRC13V4rgvTMHD//n04rotzn37qf1avgwgCBFaowxNxCFXJvpPcACGo12oY7dG56Qh2D3m7QgLA4eGXbTzfVCqFYqkEs0k2oRtMTE5iJJPBwqtXOHDgQEP+q1qp/GnY3zk8Lyi6EUURVBDw9MkTHDt2rO9luyzL8OCvAAbRySgMSilMw4DEyvvhbW2hRje/PLAHZXl5GftnZ0EBTDL1yVOnTqFarWK5UMDCq1e4eesWRkZGfEM/NYWRkZHexL6YhAFvU+jYNizLCox6FLhkgCAIECUJRBAghv6NDA9HatjElRoYaiNdGxaICvIazHC5rgsC4M6dO0in0zjLWCYey+m0mhyCJGIooSiKYqDds62gNBC2cl13cOERdn0awjLs/47jgMJ3VrYLyVTK14+p1fqS3zh69CiuXr2K2f37QULXpmNHpvcMO9OwY7PKjRCCxVevIMsyMgOYcVVNg0gITNMcuGF3HAcupUgwieAoBAY+zKbpwxjohuGXZWcyAdeYI51OI51O48DBg3AdByurqyjk87h27Ro81/XplFNTmJyc3KI50mzA+d9RyTPCWhdyz5sbu/BrFBzXhUzptsY+g32HPX4AxHVhmibm797Fvv37cTSkGshBWRjCC70Gf7PVh9mkPSSyayCK4rYYfG6gVE0bWNy7U0LUdRz//opiY35ogBAFAQlN85OofVQjpxIJjGYyePHiBQ4dOgTAv48fmnzvzjTslMJ1HAiiCM/zcO/+fZw6dQoepbBsu2f5WwrfYyeCAMM023p63W6Xep7f05RSyKra4CFGocGD78O4LxcKyOVyEAUBbrPAWQiiJAVVrh9Tilq1inw+j+fPn+OXX35BJpNBNpvF+Pi4X1nZdOycaicoCkT+N7s/Lq/C7Ba0NxGuQWBlZQU3b97EiRMn/GV7BHhf2SgTwyc+13Xhhv7m+SEjjsHvwSiXWUhBEkXYtt1bR66Y4Spg0yhKktQgwhel/tgXKPXZMYzKGdmwvgNc1iz+8OHDmJubw2yoxmVg9Oa3hB1p2Cl7SGRFwcsXL5BKp7Fr1y6Uy2Xo9TrkpqV7/A37jQpUWYYZ0VKu+83RhiSeaZr+xMGLdmIMpmYhrW6x9OYNpqan/Qe9jWEPH7PrupBkGVPT08hOTMB2HGysr2NtbQ3PX7wAIcTnzYdi862uN6c69lT08o4M+8KLF7g7P4+TJ09iT48NSYIwESEQCYEoCI2rHlZ70c7gE5aQlCQJoij6yckO14NrxMiyDFvXG+Ux2oE2NgCPC5dLCbCcEU+sUhaG8jfXv9H0KIWqqiCCANM0ezLs3LEay2QwPT2NR48fY9/+/UHo7UPCjjTsTugmPHjwAJ+fPw/AV4Qrl8swDKP7BgOhwadqGmobG/Efii2bog2vgE8H8yhFgoV3eqnIDD/ScX7reR4Ky8s4feYMXNeFyeLCDZMFM+S24/gMFMcJjlsgvtZ3QtMwlskES9dyuYxCPo8XL1/i1u3bGBsbC7z9sMBY0IS6y/MMfv+WBcAo9TX7Xy0s4IsvvoAgij1TNfl4aqlv0sHgu44D13XhOA50Fl4h8FdW3NhHGfpSpYJMJgNJlkF03e+F2qFeoh/D67L4OmfEEEEIKsEDFg3QsQFOHBCy2by7W9i2Ddd1g8nh2LFj+Ne//oXp6WloqvqnYX8fwCmDCy9fYnR8PGgMLEkSFEWBYRhQVLWrAqXwkFMUBSAEpmW11G5vuY0WD4plWQClA+uSFMfIr7FCFVVVYVlW0PqPV97ZzHiE+4rKsgxZkgIvMQojIyMYGRnB4SNHYNs2lpeXUcjn8ejRI7+zFIvNT2SzAUukF+PRS4/UXkFdF7/evIlKtYpLly9DIAR1Xe99/yEaZVdnzg1+yBjz++U4DlzH8b16ZtzCRl6UJJSKRezbs8cP7bBVWoNhDzkdgwg+2La9yQhCdCEafy7CCddeoakqdNa8O27uhVIKwzBABAGKLIMSgoSmYc/MDF68fOmHcf+Msb97OKyJwKPHj3Hx4sWGzxKJBCzLgmEYSPXYPUZTVYjwQydxDHuUh94MyzR9L6pJT2QQy9RWRr5QKGBqehqe58G2bVRrNZiWFXiIoihCUZRNw9BDTFeWZezevRu7d+8GpRSlUgn5fB4PHz7E1WIR2fFxTOZymJiY6KnE/W1UnYaFvC5euABRkmByL7lHw97Q0m8Anqosy8F9o8yjd5hHb3AP1vNQrlSgaJrfKlKSYDBGEsEm3XRQkyVf7YVXHAStJzO+OhCadNw7IfycqKoKAp8UELcZu2VZ8ChFkj3LvPPakaNH8c9//QsfHTz4p8f+PsDzPJSKRWSGh33N6RAEUYSqaTAMA6qq9lQ0IUnS5sPdgWkTLpRpBc6GSTV76wN46JvBH1nHdbG4uIgjR49io1gMErCiJCGdSvnJrgEbTUIIMpkMMpkMjh496ksd5PNYyufx22+/QdO0wJsfHx9vu6Li13W7PfZatYq5K1eQm5zEqVOngokkuCvvquq1DQghkGQZEh9PlMJxXaxvbEDVNDi2jbJtw/M8GIYBWZICWdpBXs9waX7D8bVJnAYxeJbPijP6w5OALMuQRRGmacYy7J7nwTTNIKEfft4UWcZENovl5eWecynvCjvOsHNdmOLGBrITE1s+J/BnddM0odfrPTNbVE2D3kZDIo6XzsFj2830yX7iz1FwXBe2ZcG0bZimiRqrptNUFTIzBA5LOm8HJa0ZgQzxzAwc1/WLowoFX4a4UsHExEQgQ9ycE3kbcgIb6+u4cvUqjhw+jINNQl59C5D1+/tuwHIh5VIJ46OjSKfTgc644zgoVyrQLAsS8/oHVSHquC4osGWlF+ecAw2hGOyZ5mdMUVXU6/VYtEfTNEEp3cIOIoIA17YxOjqKtdXVPz32dw0+26+tr+NsC0leQRACalQc+mOUiVNlGRXGWGgeuN0YdcAPw8is8KYBA3joHceBxYqAOE9dkiTYbNCOhlYcsizDtu2GOGs4sTVoI9SsFhgIlx07BtM0kc/nUVhexm+//RbIEE9NT2NsdHTbDeOb169x69YtfPLpp5ieno489r5EtPo5uLj7CN9HQrC+tobxbBaCIEBRFCiK4heJuS4EQYBlmrBM00+KcyPfR42A7TiRVcG8EjiO88CNequwZNT7CU1DnYUV27FjHNeFbdsBhTl8PDw0NZrJ4PeHDxs7p30A2JGG3bYs1Or1tmXTiqLANAzUazWIw8PtE6kRA0rVNAiMzx6O1XfLIuAFPMkWLJ1e+L6O68K0LNjMmBP4xlzTNMiyDFEQ8Ob16y3a62G97ua4KOctD9LQB8YxYjuqqjYKl21sIL+0hDt37qBer2Mim8XwyAj27d070EIxSimePHmCJ0+e4IsvvwwS71Hf62e1wOl+g5yWwmMvqhJ3dW0Nh48cafiNIsuglCKVSoF6HmzHgc0cAcuyNo28onTlyVNK4bVh3AikO3VL7n3H0UvizBajDe3R8zzo9ToopVAVJbLWwGOraFVVsb62FvtY3wfsSMO+vrGBsdHRlssw7jGk02lUKhVUymUMtTLuLQafwgaDyQx7t146By+n76cMmu/XchyYhgHbcQK9GU3T/GNtehjW1texd+/ehvf4g9ts2IEmQwFscprhJ5toi++2O95m49Pq2gmCgOz4OLLj4zgJQNd1vH7zBktv3uDJ48cYGhoKYvNchrgXUM/D3bt3sbKygksXL7YV8mol2RtrP12ce8SPAxVQoIlRgtbXvs4UCpv75IqsGpRTd7knTz3PZ0aFjbwoQlWUoNaiHZwW8fXgnOOd7eb3+TmTzv1ZOe3RakF7pJSirutwPQ+pVj0PyKZO0/j4OJaXl7s84neLHWnYN9bWkG3TCYgPCkEUkR4aQrlcRq1axdDQ0Nay8Bbb4PxiHqPrlb1imSZk1pkpEh0eII/6+jIm885FQUBS0/wVRauiIEqxurqKM2fONLzPKxptx0Enln/DdQp5ng1eIxCIlw3SM00kEtgzM4Px8XGk02kUWWz+1s2bMAwjiMtPTk7G7lXpOA5u3LgB13Fw6dKlttxuoL9QTHONQkuWCPuMU2SDZHFTyCDOBLO2vo7RsbEt90FkXHzHdSGHGVmCAFlRILN+BrZlwbQs6Lru04UVBYost2zM0sxfbwaJYaBbwQsxZ1o9d5qqwjDNLaFWLtDmui6SmrYZRm2+rowhJAgCJicnsfj6dQ9H+u6wIw372vo6DvFkV4RnFfaQRFFEOpVCrVZDrVpFKp2O/cCqqopipQKXyZJ2C9d14bQJwwD+g+thq4fDaWyWZQUCS4lkEgoLp7RDtVqFIsuRy1RZlqGzRh+9GK7m34QNfsM5hVQr21HgWoFvTxJFTExMYGJiAidPnkStVkOhUMDi4iJu3bqF4ZERTLEWgcNyAl7JgFfSQRIK5D1+qM7QdcxduYLMyAjO/uUvDeJPbQ6gd6pl2NsOnUtzTDz8nX4nx9XV1Uhnh7d7dJpoiWEQQqCoKhRV9XM2pgmT/ZMlCYqqbvHMbdv2G9O0GUO8H2q3CD+/rQw7n9BN02ww7IZhwHFdqM35g6iYP7sPExMTuH37dl8aNG8bO86wV6tVWJaFER5fj2GcZEVBklLU6nUQXY/Fb6fw4+xglaztjHMrBGyYDslbHluk1Ne6MRibgcBnAGhd0ja59xYFWZJgAIG+x6CwxeCHYqwepaChpW/TFwOjH94C/y2XNvZqFrySDqlYx1SRYrI0BKsqYH2lgrUnj/E8cR+uAGSKwOgGkCkB2swYkAW+//577J+dxZEjR2JPZh5lrRajEDLcDZo+7LOALx46x/C5b0dCeG1tDac//njL+1yWII6cBOCHViRJgsfaN1qWBbtW88M0LBYP6pfgd8x99Hue4d83GeWA9hjis5umCdu2g0LFBkRMEB78XICqKEgkEnjz5g1mZmb6O+a3hB1n2BcWFjCWyXT0oJs9UkVV4TJerygIbQuPeCIxkUhAFATUarWeDLttWZBYBWA7eJ4HXddhmqZvUAQBqUQCiqr2tFJYXVvDeAvDzo15uHLPfrWB+tVngOlA++t+qIdyXe+zGc0xeUJpZMMN6nnwKibckg6nWPM97qKOWrkCq2zAWbfglnTAbQpPMAyxf/sB6AlgIwMUJoBHBwHNXAUoxf7ZWRw+ciQIe/DjC4c9goQxP65mj7H5dxHnyU7Wf2liBG0nbNtGhUkJREGUpEg5iXYQRBGaKEJVVdi27YdpDCOo4HQ9r6Nj0PdZUxr8i5Lg0DQNlVotkFg2TBOSIMQWPqOeB8LOIZvN4unTp38a9neFarUKLZFo6w0QRD9MiUQCnuehrusQRLHl0jTwFgUByWTSHzxdsiQofDpY276mnhc8LK7nQZEkqJrWt+zA2uoq9rdoOCKwicZxHHimg9rf76P+45PAcBl3X2Psf70EeV/rHEYsUAo4LryqCa9Yh1M0YG9U4RZ1eCUdXlGHW/b/5t04KCgIBSgBTAXwRMCt86pJBPEc2nQbKABCAU0HpnRgagnI5whe7iegLvDi2TM8ffo00LOZmJiALEmbRrup1D1cQMPRTe/WLca+x/xMXKyvryMzMtIyjCCxOLvreV1z2HmiUlGUIExTrdVg2rbPNunUBKXH6uqG34SufXhLqqqiWq2iVq8HXZxaOmxNx8BXVPweJxMJVKvVro/zXWHHGXaOTp5HqwGVTCZBPQ+1ahXJVKox8QIWGw5tO5lMolKtwjDNoCQ5DrhErhRhpCmlME0TdV0HGOVKUVVIA4jvWbaNer2OkTYVs7IoovokD+P/+R3uelMRlkeh31zoaNip48Kr+N61W9ThlnwjzV+t1Sq8ihE8UB714HkUoNw40iA9QhuMNdk03n5mlr8EHzeDNL2/sBdYzQKnH4q4cgj4b//9v6NSqaCwvIynT5/ilxs3MDY2hhxLwg6l08E9p0AQFuMrN/7+5g5J4JE3e/CE/Z40fX87sbq6uoXaGoYkSRAIges4fRUncf0gm0lmW44Du1qFqqp+D9+I8wyLgnWDqOe3+WlWVRXU81AulzGUTiPZggFDBKGhqQ3A7jH/zN/htvVs3Q7sOMPOY7e9PiqEEKRSKVQqFdQqFWBoyOf6gnnqTQMjCMdUq10ZdpupJDY/SBYz6B5byiaTSUjMexyEfvX6+joybSiBXt1C/f+9j9L8S6TrFFEpO3elCne1CrfsJyKdYh202XhXjJZUDwrWuIC50pSlTxvVHgm34fzPxs0Q3wvvBp4q4MkhAWYC+Isyg5H/5SDw/f8HEIKh4WEMDQ/jo48+guM4WFleRr5QwOPHjyEKAnLMm89ms8H2Wq7QmuifYQMUeJYhDn/DJNDdKcXC+vo6ZltoxgP+mBe4Hn+f7Q+5jMDQ0BBEUYRhGH6S3zSD1WbDRDfg1UqgH0RpIHdsM4JCS2cvKr7O3mtelX0o2HGGHYhPRWv1PSIIGBoaQrVa9UM7jAsexYIgrIq12kZeIAqO4wQKe4AfB60zGpYoCEin0w0JnmDC6nNwra+tYayF92bMv0bl/74Np2aAqASOQCFHOFPWo2Ws/u9/77wzZsT9v/0Eqe+x0pCXvXk+AuIzYygBhNA8R1QRQiYJMZOAMOL/k9irMJqAkxBx/favUFUV58+dg9gm/itJEqZ37cL0rl0ApSiXy8jn8/j9999x/do1jI2NYWR0FHtnZjrSIrccNzf6pFFzPxzmierE1Ot99zwPa+vr+Oyzz9p+T5IkmANo0m4zZVXeszeVTMJxXRiGAd0wYDHhvFZhzjjgjKrIZ5cloh3HQb1eh8gSve1AIxxBvqoK9rHN4bJBY0ca9jhoFWff/IJfwFTXddRrNTi2jWQqFWnck8kkqrUa6oYR22vn2XnXcVDXddi2DSIISCWTLRtTdKt6F4XV9XUcmJ1teM8zbGz8H/+Cs+rHEEUAAgFcCZGGPQqU+kER2srv7IOuRxIyxIwGYTgBIZOEkEkASUAZTiI9kYGYSYJorQ1FtVrFlStXMDU1hVMnT3YX+iAEwyMjGOYyxJaFN0tLeLO0hJ9+/BGKpiE3OYkpJlzWKRHesTQ+IgkYjiFzxPXuS6USkolER0MqShKoacJz3Y7n0AqctSU1UW4lRim2bRuGYaCm65CY5LXE2ld2M65FQWhZtcoleE12HENDQyiWy3A8D0qUYxZFc0TIYw+Jvv3psb9DBEmsGDchzoBSNQ2EEOi6jkqlgnQ6vWXgJxIJiITEDsfwBgme5/k67IQgkUhAY/tqCUEA+tCs8Fjx1vi5cw3vb/yfPwRGPdiVR+C2COnzZORmT50w5zreSinYT1KBMJKAmNFAhjSQYc33ujMJCCNJiMNapNF2ikVfnbMDG2l9fR3Xrl7FkaNHW7aw6wayomCaNfMeZsVt+UIB9+/fR5kLlzHefKJHWehWaBipTWHBVoZ+bW2tJbU1DF6o5PZh2B3XBShtOYlw7RnLtmEaBqq1mq8syfobxEWrphyUUZZtlrjVNA2Wbfvn5ThA1Cqt1baaOOv9agO9bew4ww5gYMsmHqvn8r6VahXlSsWXtQ0NXkEUkUgmY4djarqOSrWKVCqFVDLpx//itifrY4CVKxXIqrqFw+uuVLZ8V3IBW2LGm4aWo4yW0pDMbAGSViGOcE87AWnE97bJkAaMqL7RVjaHYJCc7oQQh70dXi8u4vbt2/jk3DlMT0113m5M8NFFBAGZ0VFkRkdx9OhRWKaJQqGAwvIy7t27B03TMDU9jalcDmNjY36isMXY7Jod0ly92mzo2ThZWV3FVIxzFwVhs1Ap/lE0wGHFcu1ojoTxwhVZhmlZAbecM2s6wQu11AvDdV3UazW4nodEIhGQHviKwLFtIMrpanHNg7BnkL3/07C/P4hIdm79SnRMszlRKUoShoeHUatWUa1UkEgm/QIlhjjhGI9S1Gs1VMplCIKAsdHRroqACGGd3ntMoq6vrkby14VhDe56reE90QUgAI5AIfFFAo+JExYeGU/5MexMEtKI5nvezHgLIxqIFO35eYxVsgUxDVtYsqDFF/CYCXl9+dVXLfnbvYIzo5rHjaKq2LN3L/bs3QtKKYobG1jK53F3fh61Wg2TExOYzOUwOTHhU3JD6FtQLer3lGJtdRUnT5zo+HvCWB/tGpq33T+lfjemGJXPfH+aqkKRZei6Dt0wYNs2EolEW3pkVDjStm3o9To8AKlUqoG9IggCBEJaqjNGxtdZ4lVRlAYBvD9ZMe8Bom5YM1rG2ZtYDRyCIGBoeBi1Wm1TbyKZDEIpIiGo12qRht12HFSrVb/ASBQxyppZdI0+DMDa+jrGIgz78P/8VxT/rx9BdV+y16OAQKifQBWxadhDSP+PHyNxLpoL3ytaxTub0cAvb/7M83Dnzh2sra3h8qVLAw+H8P13Wl8RQjA6NobRsTEcP34cpmmikM/jzdIS7t65g1QqFdApo+5J3yAEG8Wiz6xKpQJNGcqLeiIgszBJL6tCh/XsbVeXEQVBEJBiuSvDMFCtVpGIkRMANmnBBpMaTnxMQd8AACAASURBVKdSkUwlUZJgRxj2VuMtEDALGfI/Y+zvGOl0Gi9evYotjtS8BI4j6JVKpWCIInRdh8sU8wRRhMY03hFinVAAdSacJAoChlIplCuVSP56HBBKI7Vj4mB1dXVLwwgAkHdlMP6//Q+wn63CuPkK5t1FUN2G5FLYLZwUWu+dQdFvApj/vvkhdhwHN65fh+t5uHjpUl/Mi07771YnRlVV7N23DzN79sDzPGysr2Mpn8et27dh6Dpyk5PIMo8+rnBZJ+SXlpBjYZgwAyecyA7fC1EUIaA3OQnbsgJ5gl6gMb2Zer2Ouq5DdhwkmnJO4WPlhYQOWyW0y09JkgSzXt8a7mph2PmqRRTFgMFkGEbPTXneBXacYd+zZw+u/Oc/vqpbD1Q0r7l4pAU0pgxXq9VQLpehahoSySRq9ToMw4CmaXBdF9VaDY7rQlMUJJJJOEz1Tu5Vh4UQv2VYl8bRcRy/YxTTzWiewAgA5UAWyoEs6P/0Mcz7eeDX5yi9yMMlgNi0O3FyuLfjR/987SDGHXqQDcPA3NwcMpkMzpw5s61iTf1I9gK+lzqezWI8m8XJkydR13Us5/NYfPMGt+/cwVA6HVTBZjKZnvdVKBRw5OjR6HPgf4SMPGezdGvYgzBMDDnfVuBc+lQq5QuMWRZcx0EymQxCIIIgwHVdv2dxqPNRp+dcliQQ+CEbWZIadHui4LDmOdyj51Lgg0i+vy3sOMOuaRqSQ0NYXl6OrevQrKrX4N20gSzLGBkZ8aVMdT2oKqzWagAhvqgYo02qzHt0HAegtC+BrV7KsCuVSqDF3SlBSSQR2se7oZycBllaAX5fBW69gfOmBBBA+/wAlCOTPR9/u9xHnAYMzaGYUqmEK3NzmGVCXttdyUkp7W3iaHFeyUQC+2dnMbNnD1zXxdraGgqFAn755RdYloXJXA7TTOpAienNm6aJImsW3vGw2CthCdRuGmAAfvN4AP2tkNg9I8Qv+5ckCXVdR7VWCypXXdf1deVZrUcimYx1H6TQsydKUlAvERWu9TwPnucFqyZKCErlMlJDQy2brryP2HGGXRRFZHM5LOXzsQw7j7P3mpAkhCCZTEJVFL/PIqVYXFrC7qkpqJqGVDLZ0MDDtm1IHeRMY+y0O10SSlEqlZDqcikpCAKUoQTopzMYunwMtG6BehRCuvdQwSBileHk6XKhgBs3buDj06ffWsNh6nnxpH2b0SmHQPxm4pO5HCZzOZyC30w7n8/j5cICbt68iZGREb8KNpfzZSFaXMvl5WVkJya6pi6KogjXdYN7FKeKmxcl9eWsNP1fYk3VDcOAruuoVioQ2MST6LLAiXvptuMgyH6FKn7DcCPi6yuFwpbOU+87dqRhn5mZwb2bN/FZE1+7FYJqwM03ut+vJCGZTkMpleCsr6Naq/mc9zAXFv7g6rdbEoC24Rhu9MOeV6VSwXCMru3NkBlrgXoeSFIZjCJfG8RJoPJJeGFhAQ8ePMBfP/+8odR/u+FhexJpUauVVDqNgx99hIMffQTXcbC6uop8Po+r167Bc12/D+zUFCYnJxvyNoVCAVO57lU4RUGAbdsN4S4+lqLOmLfT67YCNwrNK1FBECBJEnTDgGmakCQJo6OjXbNTRFGEyKicQPvqZodNavy5JQDWi0Wcv3ix29N5p9iRhn18fBylSgW1Wg2pNu3NAvTJDwd8ZbxatYqhdBpONhssG03DQCqdhsyqTIH+PJsAEcVK4bL05sFbLpexqwfJUUWW/eYEA3p4BwFKKZ4+fYrVlRVcvHQJ6R4mrH723SunuWP4rMOkJkqSz6SZmsJpSlGtVlEoFPDs+XP8+uuvGB0dDTpH5ZeWcLRFfL0dhKZWeUBjTqM5TMl13AeRqBYIgcu27bou9FByNDU+Dt0wUKvX/VVwl8ZdYoqlHK3unuM4m/F1+Ia+WCph//79vZzSO8OOM+yAbzhHJyZQKBQ6Jjw8+LFFgam59eKtu56HasUv8hlm7fXWNzb8jjO27SdXFcVfvlPae+I0BM6vBTbDLe20ZMqVCo70kNXnCbVBeWWdrm6nzz3Xxa3bt1Gv13H58uWGWoK3Ab5a6KeR9UBACNJDQ0gPDQXe/PLyMgqFAn766SfYto1Hjx5hKpfDxORkbEMosDCh63kNaqINeuchL95i+jL9qEKG4XlekDwFEOg0cR55tVZDrV5HMpHoykESJQmWYWyeC39Wmpg2zcJ8a2trmJ6ebtuf4X3EjjTsoihi1+7deJPPdzTsvFt84C3F5FJzuI7jJ0vhUy1FUcTQ8DBK5TL0eh0T2WxQgFHX9eDB6RvsGMNL91bb9VhCt1fPVmZVggNhhHcKxbT5zDJNXL16FZIs4+zZs2/dqAPRjJzYv22SfB4kxJBwmcLyPalkEo+fPMH1GzeQHR8PYvPNDa0btiOKACEdE+zcmXDbtNTrBpRNErV6HZ7nQZZlqKraEMoUBMFvY1mvo16vx+a7A2yV7HlwPA8yM9zNxp179GGBuOXlZRyLUeD1vmHnGvZdu/Cfe/fwZRsvNhwr5QnUyAq+FnBY0ZEgCEil00GSlKszFksljDqO34tUVaEzsa+NYhGapkFT1Z50ObpdWdRqtUBeuBfITPnPZTSwftArg71areLK3Bymp6exf3a2o2LfdiGYSLu9ljEokoMy+YVCASdOnEB2YgKHDh+GbVlYWVkJFColUfSlDqamkG0SLuMxdTfG9eVetaqqXTtEHJ7n+S32WHcwSumW6tHmuHsqlUK9VvNzP0CsxjOKLAOCEKiqRl1rHl8PPycbxSI+iqj9eN+xYw17IpGAmkhgcXGxJVsi8NYZCOstGge2baNWq/leRFOSFPBDMtVyGeVKBWNjYxBFMeC+E0HwvXhdh6aq/vsxl5XhykHeUq7T41Qpl/sqruD8ZNu230pZdXMSbX1tDVevXsWxY8cwe+AAqtVq742k+0WvoZg4hm8A3rxpGKhUKg2NNWRFwa7du7Fr925QxpAq5PN4+OABiqUSJrJZTLHYPeeNd/TYKYVlmn5RE9M/7wae5/laMZYF6nkQBSHQTKJNq9Dm3IRACJKpFPR6HbquA+hs3Pm4dV23USUzlBRu5u+vrq/D9Tzs3r27q3N7H7BjDTulFJ9//jl+u3kTu3bv3uKttopHx6ERWraNeq0GURSRTqcjtyPLMrRkEtVqFaOZTKCDqDDVOd6DUTcMGJYFRVGQYPzdrQdFg849zfuKMxlVKpW+DLsgCBAFAZZt9x9rjGEAwvmDxcVF3Ll9G5+eO9cgZvWuItxRDRjeJxQKBUxMTrac+AghyGQyyGQyOHL0KGzLQqFQQL5QwIMHD6CoKsbGxzEyPIykprWkddpMeiCySpZfmyg6IYuhW7YNykIuSiIRxLU9oKGjUqsJRmA0Y+4g0RD3PAqyLG+qPEYcr8sa3/AJgAL4bX4eX3711bYWu20XdqxhB4Bde/fi1ePHePb0KQ4dOtTwnSgWDIlR1Wkzoy5Jkq9x0eYBHx4ehl6vo1ytIsU0S/ixiaKIVDKJhKbBME0YhgHLsiAzaQKFdXsPG/RWujadUK5UWjbXiAsetw2zJXpBnImTEAJ4Hh4/fownT5/iq6++wkhIyOtdSqjyLlrdXoM4BWUE/Z9bPp/viuYoKwpm9uzBzJ49oJ6HYrGIxcVFPHn6FHfn5zE5MRHE5sPCZaZpBnTELQitKPl5O64bGHRCKWSm5rglPNiF50+YRhNYlybef7XNDyKdIEopHPY+n2DeLC3Bsm2cOXMm9vG8T9jRht1zXZw8dQo//PAD9u3fHyzX2rFHwt5iM1zP87uyME+9ExKaBlVVUSmXfU83omJRYEvQwMAz3XdRFINy6XYPOiEEAtC2WrBcLmNfn3QtWZIAxo7pVqqhATFizZ7n4dbt29hYX8fXly9vUUKMs43tAvW8jgJg0T+MZ7D6klrwPBQKBZw8ebKn3xNBwOjYGNLpNHbv2QNZFAPe/G/z80gmk5jK5ZBlFbCJDqs3Sikc24ZpWb5BJwSqLENR1ZYrHj7W41ZWE0L846B+gw1RFFuGCwUS0cSEwbHtoPG2Synm5+dx5vTpbRGRexvY2YadUgyPjGB6ehq/P3yIU6dObZYS92AY6oz9EosbzzA8NITC6mpAh2yVwOQDNKGqfnhG11Gp1SDW69ASiaDje+Rv0doTptRv7TY83Lu2C7DZ8Lgfwx7nujuOg2vXrsFxXVy8eLFls+93FQrpRQCsG5A2xqcT1tfXkUgmt06EXUJgTTckWcaeffuwZ98+UM/D+vo6Cvk85ufnUdd1TExMYJopVIbDILxoybSsIMmtaVqswrwGznwXxl1LJFCrVlGr1/2cV9P44LmpqC16ngfHdYNzePH8OZLJJCZzudgSDu8bdqRh55VjrusChOD4sWP453ff4cDBg0gmkx2NS9Sg4v1IU6lUVzG3ZCoFtVRCqVTywwnt9s246Jqm+d1fLAu6rqPGuLvc22luCAxCICLaa9d1HZIsD4Q7L8syLMvatlCIruuYm5vD2NgYTp061dKAvtNQTI+hqNjGukd2CdB9GKYVwlx2Pq0SJlw2OjqK3TMz8FjYZmlpCXfu3EE6lcJELofxsTEkEwm/vy3TfQlTEjvlhALVyW6PmcXca4wt09y8WiAEaLFvLomgKApsx8GDhw/xxfnzUNo4U+87dqRhB3yv3XEcEE2DlkjgwIEDuH//Ps51khmIYJqYlgXLsqD20ISXi4AVy+VALCkKNBSX5OBdZRzHgcW6zZhsSavIsv95B0W9KmvnNwgoigLTsvxqwB64y+0e1lKphCtXrmD2wAEcZvmQln0t8e60sSmleC/bLVCKV4uLHZtWxwF3jKISlxaTGxgeHkZmZAQzMzMwGZ1ydWUFd+fnfeGyiQlMT09DbZpoAsPaYgIL7movsh4sP6XrOkzWNDty2+HjoZt9WgVC8ODRI0xOTiIzNtZfyPEdY8cadp7sA1uWHj50CP/1j39gY2Ojc0ed0KBzXRd6vQ5JkjrGFFshPTQEgfhqjxMRn3cqXJEkyW+YkEzC5jFLRhUjQKB+R9gSOoxKpYLhAelIK7Lsh2NsuyfD3ip/kWdKhmdOn24UbmvzcL9LVsy2hmLQG9d/Y2MDBBhYtyhRFGE1OSKc4igQAoszWxj3fCKbxa7p6UBTvbC8jFeLi7h16xaGR0Z8TZtcbvP42hUD9rFqUWQZDgsD8ecG2HQGmlfiDmPD8E5Oz54/x9eXLwfP1YeKHWvYVVVFrVaD7bqQ4McLjx05grt37+LChQsdPT6BLUVrtVqg4NgrREFAUtNQ03U4tr0ZN+Yrgy68T1mWIcsyKDPyXJvaME1fU515+XxAl/rksEft37QsJHoJh0Q8rM+fP8f9+/dx/vPPG7jXHbfxDjz2XnVi+m0sEgevXr3CzMzMwFYyQpN8r+e6qNVqqFYqUDTNlxwQRciKsiXMl0wmMbt/P2b374freVhbXUW+UMD1GzfgOg4mQ8Jlsiw3cMl5rqifK5bQNHiui7quI82Knfg+mtcgFkuaSpKEO3fuYO/evX64FoDygckIhLFjDTtnk3CZXFCKfbOzePb8OR49euTrdndAnZU3D0UUIHUD1/OQTKVgWhZKlQrGx8b6ftg5tUtRFKRYObZl277MqWFAEgTIqopSuYzpXbv62lcYah/hmPAZU0px7/59vHn9Gpe6EPLq2O90G9GzTkw397oHb5V6HhYXF/Hll192d1xtIIoi4HnQmf65yww7YWX9XEOo43YEAZOTk5icnMTHp04FwmUvXrzATSZcNpnLIZfLYXh4OHbns3bgjhjXlUlzWjIhDRx5l52XqqpYXFzE8soK/va3vwVN1f/02N9DCILge5e2jYSqgsB/ID8/fx7ff/890qkUdkepHbIlomXbfnPdLqpCW4F6nk+RHBoKQiMDUXhkIIT44RhVRTKR8PnCpgld17FRLMLzPNTqdchsadrPJCWzcIxlWT1rhLieh19/+QW6ruPS5ctdyRi363e63eAebNcc9u04mBDW1tagKAqG+mQ+Uc+D4zgB57xWrcJmIly8cjqVTPalDZNOp5FOp3Hw4EE4IRniubk5AEAul0NuchJj4+N9PSOCIEDTtKA+RFVVPxQTGjc81FSpVHD79m18deHCZlyd0neiRTQo7FjDDvjhmEqpBCrLgSFIJhL44vx5/PTzz0imUi27ohiGAUmSBnJzXebpDQ8Po16v+51ttkk/XBCEwMg7jgPHcZBMJGCFwjUim/Q4W6bb5buiKEFrsm5/a1oWrl65gkQiga8uXOhavyYqyfy20Mu+uz3KXs5qYWGhpyYjlNH8+Djh+jCU6aUoqopEIoFEIoEqk88YZB9ZSZKCFoBnAFSqVSwtLeHx06dYu34d42Njgd58p2LAKMiSBIfpHPEVPGHPIqUUNnPerl27hk8+/RTDw8N+nYIggMLvw/qhYucbdib8IysKbNeFyEqqz37yCebm5vDN1183FiEwb5RTG/uN9wGs3RalUBUFQ0NDQdx7O5Z6hFVFci6xpij+gGVKfI7jwHYcGIYBahiB6BGPlcZZYqvMsNtd9pWtVKuY+/ln7Nq9GyeOH4+V52hmxgQ859h7HRx6CcVst7fuuS7evHmDr7/+uvOxUBoYcG7M+TGKogiFNZTm1ZeO4wTsGNdxYolt9YN0Oo3Dhw7h0KFD0HXdFy4rFPD48WOIoujr2eRyyGazsTSLBEGAqihBLooQAh6IsW0bjuvi5s2bOHToUCBXQeE7YgIhUPusB3iX2NGGXZZlCIIA23Uho/GB3D09jVq1ip9+/hmXL18OkjiAL6QkimIwkPuNh7uOE8QOM5kMatUq1tbXsWt6uq/ttgLP/puGEaw4CCEBS0ADAkNvOw5sy4JhGDBYGEoSxQaPvhk8nNNNw/C1tTX8/PPPOH78OGZnZ2OfR6t487vw2HsNxXSFLs9reXkZ6XQ6skKyYTK3bV9vHKx6ttmQR+yXEBLoowPbzBIhm63qCHx2y/T0NHbt2hUU2RUKBfz++++4dv06stksplhsPqpgkD+zoihCYl47gGAfpmXh3m+/YXx8HAcPHmw4Z/7vT7rjewoee7aq1Ugt8UOHDqFcLuP69ev44vx5v2TesuAwb50Pdq7h0Qs8SuE6TiCNKggCRjIZrPH2eV1UscYFAUBEEaZptgwlhQ19QtMCb852HDiWBd0wANaYQBJFiJIEkbEHRFGEqiibLfM6GLrFxUXcuXMHn376aYOQV09416yYVpo97X7TBbrVi3m1uIiZmRlQz4PLGjFzY84bR1Bs5pwCCmCM7RNBgMu2FzdZ2guiaIiEEIiMmUYIwcjICEZGRnD48GFYto2V5WXk83k8fPgQsiz7ejZTU8hmsxAYD59vU1UU1Or1YIViOw5+//13gFKc/vjjRoVXdiwfWmONZuxoww74XoZZLm+R6wT8h+js2bOY+/ln3J2fx8cffxzoTYSXnb2GY7i+tOt5DYmg4aEhVKtVbKyvI5lIbEt1GwGgG0bsOCEhJKBSIpHwY5COA8e2/QIp0/T169n3qeehrusAIf45sL6S4YeEUorHjx7h2fPn+Oqrr7qSYmiFjqyYMD86hiFqNqIB9S5Cs4SyJXqXB9zd99F+NUIphee6cD0PtmVhaWkJ+/ftQ6lcbtxGyJBzqehuIRDiVy6LIrRt1EyJnPwIaTnBKbKM3bt3YzeTIS4WiygUCrh/7x4qlQqyExOYYrH5BOu0JIkiarYND8CTp0+xvrGBixcuNFyX8ATzoUoJcPwhDDsIgdOiqEYUBPzlr3/Ff/7zHyQSCWSz2QZvHQBAOgttNYMve0Hp1jJ0QjA6OorC8jLK5fLAikrCIKyIpNflc1DdGrpmLjMoHvMI67qOarUaeIaCIEAkBAKr4rt//z7KpRIuXboETdM6any3BTPULTsYMc+U8O+GXzucZ7Nh4fetGVw8LthzhNFpmAho+3aFLY+JHYPruoEHHv6bS0Av5/NIDw1BZU1UuDZ6L81bog/EH0OJTGb7Sus7FCmFm2lH/9x/lkZHR3H06FGYpum3CMzncf/+fWiaFnjyHqVYW1/HwsuX+Pzzz9uGWtIDrP14F9jxhl0URYiq2lAt2SyYpSoKvjh/Ht/9+984fuwYRqMMbYTUQCt44e/RaP3uRCKBpKahWKlgKJ3um1IZBU7zGhQC5Tx2HQVRRI2FkygAz3HgeP8/e28WI8l1nol+sS+51l7V1fu+s9lkU80W2SQ1ksYPc+EX+86982LAhiXc8Tbwi2zMm2CMYHsEe+61HzyPMkYyoMEdwAYMXVOWKFEU1ybFvbvJXqu7a6/KLfbtPsQ5pyKzIjMjs7I3Vn5AobuyMk+ciIz4z3/+//u/P4Rj2/jgww8RRRFOPfEEbCrXio1ydY5ovHM8D56EN1q95U0GOoqbLEdtDPf9Ds7Q2HTrd9sOlGIb/8KxAif6/5CcT/LfMIpYOJCeZwSAR3z9JUI9FHgen66uYi8pqLkf8FwXEdATHbVntDPY2Ngl06rRMFHI1A6KomDnzp3YtWsXoijC+vo6FoiRrzcaCAGcOnFikygedUzodzQyOrrFE3u4eDwVbnqEomnxg4KN5Mim96gqnjxzBpevXMGVq1fbexFdQMMvFJ0e/fLICPgownqlkuEseofjONDvY2ZfJsnpIAwhSxJU4jm+9957KBUKeP7LX0ahUGDa8q7nwXIcGKaJhmGgWquhUqlgbX0da+vrqNRqqDYaqJPCEstx4lAQ8VajjAvr/UIYbZZdTkNEPGuqcGjbNkzThGEYqDcaqNVqqNZqaNTrqDcaMAwDpmXBtm14roswiljuI6frKBYKKBaLyOVy0FQVsiQhCAIsLy9jxwCLz5rONQjiKmnaIek+oGN4KOVZE1J2V5s/tvF8cxyH0dFRHD9+HAcOHADHcSiXSiil7EBodSoQkwOKpVLm8/jud78LjuPw3e9+N/XvV65cgaIouHjxYuYxt4ovvMcOxKu4ycVdUvg2XrvneSgWCvjKiy/ijTffRL1Ww5NnzzbRqrppRUcd/pZ2o8r3mf5o2zZUVc3U3KIfiCSh6rkuVEVBpVLB66+/joMHDsSNTTiO3WCRorCdTBCGsYdKjHVA/g1JApDqd3DEu02GcKgOCNXObk180V0BaMgkkQBvfejp33zf3wi/JBbm5PcZhSFs247nTMNs5O/0PZTWyrxN8jfqUPDARi4iMX+e7lrI734YIvT9jo7EvXv3MD4xAfE+edO2bYMTBMikTd7AjTv5XjvmSlpfAjq37aNjtuRMPvnkE8zNzeH4sWNwPK9rqKpQKvV0vs899xwA4I033kj9+x/8wR8gCAL8zd/8TeYxt4ptYdhlWUYkCCwck3YzBUEAQRSh5XK4ePEi3nn7bfziF7/A+fPnmwwu1ZtIGyPthmsbEyYol8swDOO+0B8tYti7dYXaChRVhWEYmJ+fx7vvvYczTzyB2R07moxSFEUI0dJWrkNDBPoZWtodeB7bCZmWBR4bVLzWmDb5z4ah7rLLCqMIdaKVnzIJ9vkwDGMutCCAo/RVIM6/kEVEEARILUY6+ZMFbEED2MKUDOFQzM3NYd/evZnG7BUBSZqrsgzX9+OdyqAP0i2s0uZ6dcrTtMoR+L6PS++8A9txcPHiRSwuLkJSFHZ92eda+qz2GoY5e/YsNE3Dm2++uelvP/zhD/Hyyy/jD//wD3H69Omext0KtoVhp5xUjzTKaEWE+GaWFQUg2+AvnT+Pjz/+GD/56U/x3IULG+XaxPNqNZRtJWa7GFSe51Eule4L/dG2rPtO25IlCVfv3sXNmzdx/vz5WAcH6Fudj4J637wgNOcnSDgkk7ZM0vsmxr7J+BODSZPlHJqNQ9IgB0EAnueRy+UyV18GnTzSLmALAd0BkAUEAEzLwvr6Os6fP9/n6J1h2XYcW1cUeL6/5e9yE9olTJNv6ZAsTXumWl+3LAuvv/46CsUivvz007AdB2EUxQJhZHfYzivvtY2kJEk4d+4cfv7zn+PevXssPGYYBv74j/8Yk5OT+Pa3v93TmFvFtoixA4CWyyGIIiaqz7Ws7BHQREnkOA4nT57EsaNH8crPfobFxcWNv6E5dt4aV09DpwecxqHX19a2xhxJgHKZJarXfh84yFEU4aOPPsKdO3dw9uxZjFKjnvbeLRyndWvdwwdjz5kwRWixiiiKcfEVCWNIpBBLFMWYr0/eyye8bvq99EJ3HOQVp/z2KIpw69Yt7JydjeUggIEaXt/3Efo+FEWJQxYtobCBIMN8ow7XmeM29yZO/n99fR2vvPIKZnbswFNnz8YJac+DQOQ2ADD5BA4AEuenkv4NvYIKsCXDMd/+9rdx584d/Pmf/zlKPcTsB4HtY9g1DZwowiZFNwCaYqwAUosw9uzZg/Pnz+Ptt9/GtWvX2OfoA94xrg5ke+gIZSuM4gq7QcAl+hjUK9lKy7UkKNXO9Ty88cYbWFtbw3PPPQdV02Lvru0H+z9663fyMOUE7mvVaQaEUYSbN25g3/79TWE+ttvYopG3LQtAzISh93gvNN9uyHz9uhyTxtuB5vvj3r17eO2113Dq1Cmm4GrbNqIogpDQRvKpYef5Jqen1EY7qhuoYafhmMuXL+Ov/uqv8Oyzz+K3fuu3+hpzK9g2hp3jOOiFAlOvA8Bisb7vxx5aGy9hfHwcL7zwAq5du4b33nsvrrYkf+vmzWT1MJP0x6CTgcwIp4XD3kS96xF08aKVjZZl4Re/+AU4nsdzzz/PBJqaFs0WbKlqMSPL6H6C5QcehGHvcK2WFhchK0rb2geapO3navueF8vYqmpzbmCAhr1TW7wmZGGg0bHITubylSv41fvv48KFC9gxOwsATPdJSlB0BUGIPfaUnXY7UcBuuHDhAjiOYx777//+7yMIAvzt3/7tfavY7YRtY9gBIFcsAhzHtC9Y/NT3u0qE5vN5vPDCRIFKWgAAIABJREFUC2g0GnjttddgWVZ2TybKVqQyOjoKHsDK+nq2cTvA7qHqNA3UmIfEmNNzrdfr+Nkrr2BifBxPP/00C1eoioLA95mS5eYBB2QcMl7LQaPXXqdbSVZ3Orvr16931dqhR6YGPuvVsmwbHM83FaWlCbH1jQGHsejC43geLr3zDu7duYMXX3gBZWKcI6JzQ9vegeNYIVeY0rWM4ziU++Svj4yM4NixY3jnnXfw/e9/H//6r/+Kb37zm3jyySf7Gm+r2FaGned5yLoer+LEAIWkECSLWpwsy7hw4QJGRkfx/738Mq5fu5bdYGW4qUVJQqlYhGWaaDQa2cZtAzshALYxhe7sDBrHpcY8eXYrKyt49ec/x+EjR3D8xImmsWiFr0vEljaN2/eZIL52idDXwwAtYOnl/YOGYZpYXVtrbh/YaQ6J/1PmTjt4rosoCKASeVuKZH5hy7gP12Rubg4//pd/AS+KeO7ixab4uEMSpirp+EQT74IgAFHE4uwUhS32SXjuuedgmia++c1vYnx8HH/2Z3/W91hbxbYy7ACg5fNxsQzx2unKLWYw7EC8OBw/fhwvXLyIubk5vPKzn6FarbZ9f68PeLlUgqaqWFlfZ4nefpDWzLcTmEEnP62Ym5vDm2++iafPncPeFJodz/OQRBGu49x34/swYuxUyvVh4sb169i9a1cmJ6QV9D5kYZrkdxxFMW+d5zeV2fOk+9iDRrfnhiqzXr58GV86fx5nnniiySgHQQDHdaGQSl1qxHlS8czz/CbD3m98nYLG2RuNBr7zne9g9CFWr247wy5pGkRJgkMaRTAk6GXdbqowilAoFHDx4kXs3bsXr/785/joo4823ShJZA4fcBzGx8YgAlhaXs72mRQ4jpOqhZH02hlXvINBj6IIVy5fxscff4znn38ek5OTbY+pKgpoA4NBg96oUXwSAx+/G6IO9LgHgSAMcev2bezbv39L4yQTrjyJn7uuizAMU0N3Aw3F9IB2z0sYhrh65Qp+8tOfYmx0FF956SWMjo1tCpPZpNcAzTOFhK5KF6q0M9qqjAANkZ07dw6/8zu/s6WxtoptZ9gFQYCWyyGKog2NZoB5JVkMcLKTzr69e/G1r30NpmHg5X/5FywlaJHABoukF4iShPLICHzf71tugBZctQMz5i1FPklEYYj33n0Xd+/dw4svvrhJXyNt3jyRC75v6FbYch/QD9Vx0Lh39y4KhULm3rBZQHn8tJI3lZ//kM457Y5cW1vDT37yEywuL+PFF1/EkaNHwZHdS/Ie9ogiqaoozOAHQcC+P1Z5mjg3WZZ7khFIw1/+5V+C5/mHljBNYlsUKLVC1jSIjQYcx4FGwxWEDtjt62BVgAmoqoovPfMM5hcXcenddzE+NobTp083xbh7/aILhQJs20a1WoWuaT3LDbQr16bl8DR22m5enufhrbfeAsdxuHjxYqbYI/WQLNOMF5ZEyGCgPt8Dfmh6pTpu2cNNOb/rN27gwBa99TTYrouINFsH6byVPPpWKZT9ylm0yn18/MknuDM3h1OnTmHnrl2bKbAkhxAS6QdBEJp2rAHpOwyOS2XmFLeosPr9738f//RP/4Tf+73fw7lz57Y01iCwLQ07J8uQZRkm6cDOXkd3A9T2oeU4TE9N4Wtf/So++fRTvPzyyzh56hRmSGOJfm7usbExJkM6OzvbUyigVbAqagkxcUBTM4IkLNPEL19/HWNjY3Ejgh6Oq8oybMuC47rNAmSDMnYZZAIGDWoGMl2HlIW/V7SeXbVWg9FoYGbAkhNUZ1+WZbZwczSmnham7ANb/abu3buHX/3qV5icmMBXv/pVKIrSsQjOIWGlVuntIAwhyTJ4AAGtLE58dqqPa3v79m18//vfx7Vr1/C9730PJ06cwF/8xV/0PM79wLY07IIoQsnlYNk2HMq9pjS6DoYjimJ51XZeLu1KdOrUKezetQvvvvsubty4gYMHD/aluc7zPMbGxrC0tIS1tbXeGmBHEdPAaBdqSVvIqJDXoYMHceDgwZ53GjQB57huXBTG/rB1PjSd74Pe5oY08ZblzQM4z9bv6/q1a9izd+9Ai6MixGX3yTg0A2UhbWUR3eJ1sEwTl959F7VaDU89/TQmJibYvNshDAK4jsMajFAECeZbmtxFoVDoi7/+ox/9CH/6p3+KcrmMX//1X8df//Vf3zcJ5V6xLQ07AAiqCkVR0KjXN9287Tq3ZG1ZxgEolct48cUXcfXqVVy6dAl3797F0aNHu8apW6FpGorFIirVKjRdRy7jjUMTuZ00rOn2lRqShYUFXLp0CU+eOcMKPPqBrChwHCfWg6fb4UHy2AczUg+HJIySQTWw6AJaJcwhbuN2584dfOWrXx3oMVzHQRiG0HW9/YJBi5R6HDurdnoaGoaBq1ev4vbt29i7dy/OPf00eFHsGtKhAnG0piIJ2nN4E5uILD47MtJHW/GNb3wD3/jGN/r67P3G9jXssgxZ18EZBlzXbUqItruBspimJOOE43ns3bcPo6OjMQf81VcxMjqKY0eP9uQhjJTLsG0bK6urUGW5a1MO2mcV6L4VpqyHa9eu4fKVK3j22We3TNOiuiuO4zDD3m+sNYksobL7Adp3s5fE+lZBjzQ3N4fx8fGNXNAAkIxDixkEzei5Zz23qA+jXqvXceXKFcwvLGDvnj34t1//OoREM/lu1962bQRBAF3XNy3AjuOAdgRLgkPcq2G8A9PrccW2NewAIKoqZFmGYRhxDI68znMbTXQpoiiKxYIybk2pwRR4HoIo4uDBgzh46BBu3bqFN15/HYVCAUeOHsXE+Hj3MTkOY2NjmF9YwNLKCovbt4IpGQYBO3Y3RFGEDz/6CPPz83jxhRfiJNoAoCgKDMOAT6p6B+ZlPwyPvQeq4yAXniiKcP36dZw8eXKAo4L1qtWyiF2R3QMt0OpWrNTLAgAA65UKrly5gpXlZew/cAD/9mtfgyTLTMICiJ+lTiN6rhtrIykKJEnadHyHyC3T8EzyrzOzsw+dwXI/sK0Nu6SqUHUd3Po6Go1G8xaOS2mm22u8GWBx+yAMIcsy9u/fj71792Jubg7vXboESVFw9OjR2Fh3GF+WZYyUy1hbX0e1VkMppbVXSJNedCvfxRj5vo933nkHruvipRdfzOS9ZYUsSTA4DrbrIjeotn809vugY+xhmGmRBDCwkBPHcVhdW4MfBB1rB3qFR/VgqHpjt3kk/h8hzvuw+yxlzlmMegRgdWUFly9fRrVWw6FDh/DUU0+lFl5x2Og1m4YwCGBZFgRBYM9vch5RGMLzvKZiPbo4ybKM6QEnpB8VbGvDDgBqPg9V01hMmFKkWr2EfrbYTEgpHoC9zvM89uzZg927duHe/Dw++fhjfPTxxzh65Ah27dzZ1nAVi0XYloX1tTWoirJRfEGSukl07E6DeOv6+uuvI5/P48KXvwyB57srVfYAjuehKgpsx2mvH9Pv2AMdrTvCMBzoopcFEYDPr13DIJtpRFEEy7bBc1zffUxZSI1QI1vH7/bZxYUFXL58GY5t49CRIzj/7LOpuyE6UqcwTBRFMEwTHMchp+vsfcmQned5QBTFvRYIaMx9ZseOLUkIPMr4Yp5VD+AVBZquw6tWYZhmXGSTvEG2SK+jmfg0miTH85idncXsjh1YXFqKKzw/+QRHDx/G7j17Um/4sbExuJ6HpeVl7JiZiZkvKYYzJI2X01Cv1/Haa69h9+7dOHbsWNOD04nb3itUVYXtOHBse+Bt/x4UqHcnPOBdQqNex/LSEs6eOTOwMW3H2eCs93A+yWQueQEAMoVmgPjev3f3Li5fuQJEEQ4fPozZ2dnOO8poo8FI2/OxLEZtTB2LSCVEaG7I7RO1x5179nSd++OKoWHneSj5PGTLgu/7ME0T+VyOtcCjIZl+PVmO4zr3aSTHmJqawtTUVLxFvXIFn3z6KQ4ePIhdu3Y1xUIFUcToyAgWl5exur6OsTZJ2Ha0zOXlZbz11ls4fuLEJm+QMgcGJfrE8zwUWYZt2zGHeEDG8UEmUHspThpk6f2Vq1exb9++ronyrEhy1nsas8N3RsN9aUV7QBzbvjM3h8+vXYMsSTh27Bimp6ezMcu6SBm4jgPX86Aqyiavm36O43m4rhurO5Lvj/asnZiZSZXc+KJg2xt2AFALBdRXVsCRxsyuLLMM+iBMUbIDejeMjY/jy+PjqFQquH79On788ssolcvYs2cPZnfsgChJ0HUd+VwO9XodoiiiVChsGictLnn79m188MEHOPfMM5h6QEyApNeeKVmXAQ9Ss4Ul8LIWJw0Apmni3r17+PrXvz6Q8SIQSV6O67lVYrfKU66lktMPAizMz+P23ByWV1YwPTWFM2fOYHx8PPNOkCPjtFtUAt+HZduQRHGTgimdE4/4u3N9H1qCIky7pe29D1W8jxKGhh1x5yRB0xA5Dnieh2makIpFZtRZUUOfHie9+Xuh65XLZZw9exZnnngCCwsLuD03h/fffx9TU1OY3bkTU5OT8H0flfV1SKLYXOUJwuRIUC8vX76Mmzdv4vnnn+/YpotWpA7KaxcEARIRXVNIY+3HCVEvhn1AuHr1Kvbs2ZO5t2o3MM66pvV9D6c6JkSWAhyHleVl3Lp9G3fv3kW5XMbu3bvx1FNP9XwONFnatkgwDOOG5jzf0VGIEIeeAEChc4hiqd5SuYzSFiUEHnUMDTuBUijAsCxoug7LNGFRD5N6vjzfE90xCSYRynHg2ijLtf2sIGDH7Cx2zM7CdRzMzc3h6pUreOedd7Bzdha5XA4ry8uYnp5u2lqGhEcfhCHee+891KpVvPjSS5n40JTNM6hEqqZpsB0Hbo9Swm3xABeHB9o5CbExmpubw0svvTSQ8cIwhO04EDNy1lvRrl9uFEWo12q4fesW5ubmIMsyZnfuxFf/zb/pq2coHZMds41xt0hcPd8mrh5FEdOepwquyefC933s3L27r/k9ThgadgJN02CQkIkky3BsGzJRK2RIo0BmAE8MLJcYo2dEEQRRxL59+7Bv3z40DANzc3O4duMGAt/H3fl5HD92jNEgozBEEAT45WuvQRDFzEJeFIMsBhJFETL12hXlseINZ+2cNKhF8LPPPsPszp1QVHUgY1qmCQ7YchiMzsS2LNy+fRu35+bgui527tyJZy9c2LjvKN22x7lnoRY7tg3P96Gpats8gUB594gNuyRJbFEOggCarg+UPvqoYmjYCSRJAi/L8DwPmqbB8zyYltUsk9pHeXX8sY2bLcltz3rr045GyWPnczkcO3oUR48exdLSEq5cvYp//clPUCoWsW/vXni+j3fefhvTMzM4fepUzx4n1eseSEgmirvYuJ4Xyww8RgyZTBz2LSTXk/BcFzdv3sRXvvKVLY8FxIbNDwKoqrolnZnA93Hn9m3cuXMHa+vr2LFjB06dOoWJiYlNzwOXcH56uSbdFnvf92E7DmRJaqIuJsEnjhkGAfwgiCU4OA4IQ3i+j5mdOx+r+69fDA07Acdx0ItFNFZXoUYRVEWBZVlx79Bk+KAPcSOO5+PYIZGy7dVzb5VSbRobwNTkJAqFAhYXF2GYJhYWF2EaBhRSWbu2toaR0dHsRTaJsQfVaEEURUiCED+cLe3XegGdySBDRZ0QhmH3nc4AhL8A4LPPP8fM9DR0TWtSHe0Hvu/DtiwIotjWELZFGKJSrWJ5eRkLCwtYWV3FyOgo9u7di/Pnz3ft4MSMO7rv+mhFa/K7bP1ewyCAZZrgeb5tKI9r+RyLrytKLFUdhlA0DTt6VEl9XDE07Ank83mYjQYs20Y+l4PneXBsO04AbSF8kExitr6e1lQ3iawes65pGB0dBcdxmJqcRK1Ww759+2CaJt57/30YjQbGx8cxNTmJyclJFIvFbMZ1QEYLiBkydcOA63l9F8hsTKu7YaeJT9opir2feNj0067rslgyB7CFlybbejaMfcDzfVy/cQMvXLy45bGiKIJFZAMyqQ1GEQzDwPLSEpaWl7G0uAhFUTAxMYE9e/bg8JEjKBWLEEUx82JKr2cYBB3vs3bS0WxqYQjDNBFFUVyElGKU00anTXRE4kh5YYh9u3ejkMIg+yJiaNgT4Hke+WIRtbW1OCSj66jXajAMA7mWkAyQXeyI3oxpNzAr0U5BSBrwZkWpWITv+6jV6xAEAflCgTVncBwHyysrWFpcxGfXriHwfUxNTmJichJTk5NtDcAgvXZJliFaFstfbCXWHkZRTF0LQwSk8jakP2mhEfo7PWbCsFummXqMIIpgmmZMm3Nd8BwHnufB8TwEjot3Yjwf9xHdohd44/p1TIyPs9DfVnYkpmkiDALo+XzbeTm2ze6HpaUlhEEQ3wtTUzh58iSLybuuC8Mw+lNsjKKOdRHdzjEKQzQMgxVV9cK/dywrrp0gDK/xiQmMjo5+YStNW7E9zrIH5HI5GIYB23VRkKTYuNfrEFpDMkhwfLsYKJqlTwqNNY3T5gbvRyVvhLTUi6IIjXodU0THWlEU7JydxU4ix2sYBpaWlrCwsIAPP/wQiixjknjz4xMTTR415QUPwrirmgbDMOB5XqYCESoGRWOmpmnCJbz4Jq4+YQHRgjDa35JeP6bOSPMkie+MGlNKa6XevOd5CDwPGqFpRsSDj3wfXuJaULMl8DwEQWDHFwQh0+IVBAE+//xzXLhwoet7u8FxHPi+D0VVm4yY7/tYXVnB4uIilpeXYZgmJsbGMDE5iQMHD6KQz6fOle120GcfzTYhmU5GPQIx6qbJjHqqQW5DZLBsG34UoUDuL1lRMDE1NdC2go86hoa9BRzHoVAooEK8dpkUK5mNBkSeh5g0RknPvcMDzBFPr63nQsZK3uhhEPSVqOU5DhMTE1BUFZVKpUn/JolcLscYNlEUoVqrYWlpCdeuX8fbb7+NYqGAiakpjI6MoFQqxWXbA4hry7LMchdp8wrDEL7vw/N9BL6/qUF4GAQQFSU2tqTVGfWk+0VbL45Q5XRN2xRXpruDKIrgBwEC8uN5HtxEM28ecbWwSH7S5nnz5k2US6WO9QVZEAQBbNsGT7zkhfl5rK+vY3l5Gevr6yiXy5icmMCZM2cwMjKSXYY4yqYU2hYt4bxubRnDIIjDL0HQ3qijTcKV49BoNGImkKoiAjA1O4t8Pt81N/BFwtCwp0DTNBiKAsvzIEYRcvk8/DBEvV5HsVRq3hJST7BLdR7P8/A9D2hDO0sWQ22VicJzHErFImzbxsLSEmampyF12IJyHIdyqYRyqYTDhw4hCEOsra5ieXkZN27eRLVahee6KBaLKBIDVCqV4rhrH9xoTVVhmCZcz4MoivB9P/7xPIRBgBDx9RBFEYqiQKQeONHdURUlpgMCA4v/p4E1sU4xanRHEAGbQgRhEMAnu4wgCBCEITzSqYuelyiK7Du5evUqnnnmmb7mGAQBarVanOxcWUGjXkejXgfP8yiR7+vw4cMYGxvrOQzBFEO3SE9tdVw6GfUoDGE0Ggg6eepA+jPHcXBdl7Vl5HkeoxMT0DQtbpW3jTA07CmgXvva2hq8KILM88gXCqhVKqjVaigWiz1reEiSBMOyOnv39OYfRMhDUZjXv7S0hJmZmcxVnwLPY2JigrUjAwDX81CrVlGtVrG6toabt26hVqlA0TTmbZZLJRQT3n078IIA13XRME3oifCWSErEJVEcmEbKVhAQDnvPdQuCAFkQgMSiFwTBxgJGdiQmgIX5eei6jmKrt55yD1imiUqthlqlgkq1ilqlAsOyUCgUkMvloOs6Zg8fxujo6JYpfew+7SMcmAbmuHS4/2mi1Cedndo5I6kyB+TZaTQacdJY06DqOsqjoygUCtuCCZPEw396HlGohCpoeR4knofI88jl82g0GmgYRs83C202EQRBey8ECTXJLRp3SZYRmSYmxsextLyMxaUlTE1O9l3SL0sSxsfHMT4+jv1knvRBrFQqqFaruHHrFqok/FMqFlEul1EqlVAoFmP9b46DQ7zyCAAIR1zT9czx6CQGWUSVhm4cdurRZpk3jb1TgxsEARzbxs2bN3Hs2DGWoJRFEWEUsetKDXilWoUgCMwLn5mextGjR5HP5+ERaqOSkHLeKniiGhqF4WCucZdrFIUhDMuCT7ogtZMiSB0lkf+wbBuKJEGSZUwRWd5HpQ/pg8TQsHdAsVjE6uoqTN+HTjRPcrqOhmHAaDSg5/OxnCv9od52yk1MDTvtKJQGFloYgMeuyDJc14Wu6xgbHcXK2hoWFxcxNTW1Zb0W9mmeRz6fRz6fx85E30jP81CpVlGtVLCysoIrn30Gw7LguS5kSYKWyyGnaXE4QpYxUipB03WomgatJemXPoGWCsX7FI4Jg6A5p7JpGr0VrIUkBm6SHMOtW7fAAZi/dw/Xr12DaVlwHSdeBEQRxWIRI+UyZo4eRalUSjXaNK6eXDS2iqSwV9ZOXF0GZIlOpgWTQBRFMCwrrgxNyWc0vRebjTsN8ZiGwWiRoxMTEAQBhULhsap0HhSGhr0DZFlGsVhEtVqFEEWQBQGSLEMnNDjONOMei/TGSRr4FnAcB1EQ4JNepGn4zn/5L/jwo4/wh3/0Rzj39NPxi4SV8Hf//b/j1Vdfxf/27/4d/o9//++7zl0URXiEy0u5uytra1hYWMD09PTWxbg6GFSe56HrOkRRxMjoKA4AECQJoiDAc11Ytg3LstBoNFCt13Hn3j24jsNeFwUBmqpCI9tpXVGgEsPv+z5CklAVeB4CoRwO+uHtFF8HYgMTJJKmYRDEnjM5B8uyYFsWDMuCY1kwLYuVw2uaBkmWsbS0hAMHDqBUKsWhA1WNd1phCMu24ZHzpD1kN82B8M8BNCkYbgUc0KTWuOUiMHqfJL6fZDgmopTSIIBOEuLtjpj2DbOGHIRFI4oicvk8iqUS8vn8wBRFHzcMDXsX5HI5+L4Po14HH0XgiWcUBAEc4l3JirLhuVOkeO6CJMEhSbRWRAD+z//wH/Dxf/7P+J8//CGefuopRs/7/v/4H3j11Vfx0osvZjLqQByKcROLCPVcVldXMb+wgOnJyS2xBOiZJUMRPjFsrucxzR1dUSDyPHxiLETisVM06nX4vo9iscgoha7nMcNoWRYs28ba2hos04RhWXGClWjh+MSo0lCHwPPgRTFOuJI+lzzHxQqeJAkrimL8N3L+H374IRsnCEMEvg+PMFxAwhE+OV5Aju37PsBxEElSlx5f07R4QVIUlMplTE1PQ1NVqJoW6+SQ837vV7/C/n372vYzFSUJnu/DJf08Pd9n7d+okbdIzqbJuegTrAI0pStS34tm0uFJvEa57dSo+8SoS7LMruumoVLGbqo0tW2EQYB8LoeJ6WlomrZtipHSMDTsGVAkhT+GYUALQwiSBE3TYglR04wfKiI2xNTwUjxaURRhI/b0Wo1qFIbYtWsXvvzcc3j11Vfxi1dfxfMXL+If//Ef8c///M84/6Uv4bd/+7czz1mRZfjEY6fI5/MAx2F1ZQULi4uYnpramnEn/HbX82IPk9D8FFmOJXppYVaHMWgRmG3b0DUNHBe3bVNkGUih/61XKlAVpckTC6IIge/HBpcaaN+PjTQx1E1/S/xEUQRJkqASb5EuCFEUwfM85HM5SLIMIbEg0AWkX9Tqddy5exdf/9rX2r4nAthCoSoKHGLgDdOMi6PI7kdJaTTRK6giYmonriiC1OM9whaJLu+xaEyd7lQyMHBYA46WZ6tOkqbjExPIFwool8vbMgRDMTTsGcBxHEZGRrASBDDrdeSJ56fncggbDRimiTwp8KAPSdoNSo2on2LYqbTAb/7mb+KNN97A//u//hdsx8EPf/hDnHniCfxf//E/9nSjSqIIt8WwA7F4GM9xWF5exvziIma2YNwDwjd2SEm+qqpQZHlztWOH7Tzd8ThEQ0bsYy4Cx4Ejxq1XoYIPPvgAhw8f3vS6bduwbRulUqktXzrNEGbBhx9+iKNHjmTu4MMRjRRVUeC6LkzLQqNehygIcZu7raCNpw406/JkHg7IZNTtRGhKItdhUxFT0y/xb2lFcq7jxA2rdR3Ts7MYHR3ddiyYVmzvs+8BPM/HRR2Kgkajwbi41FAajQYrpgnINpOB3JQi8fRa4+xJrvDIyAh+7dd+DSsrK/je976HQ4cO4Y/+03+Kk68cl5mhIMoyPFKB2gpd1zExOYkoijC/uAivQ9w/DWEUwbQsVGs1eJ4HXdNQKhb7VhFUVRUcYknYbrjfTBgKKtfbqZFyP1hcWkKj0cD+bh180sYnISWO4+LwjqrCMk2YltVXVTBTYWyzQPVT+dzaBL4VQRDAMAz4xKgnF7fkNW36nrnO7SlrjQYc38e+/fv74ut/ETE07D1AkiSMjo8j5HmmL8IRGiQAGI0G6zUaRRECeiMmbkhBEBC0GNLW2zUZG/zd3/3dpps/q/ckknL61spNCl3TMDUxgSgMsbC4yMIo3eC6LqrVapzkJMwNVVW7Vt528tp5noeqaRtx7U54QNvrMAw7Jk77YeJEiL31kydP9uVRRmHIkqXlchnlUgmqqsL3fTTqdTium10xlIZfumi1ZI6xk11qp6PTcGZAKkpbdyytC0wywdoOQRCg0WigWCxi775920KSNwuGhr1HqKqK0vg4PN+PFfQQG+tcPo8wimLRInIjUmpX0psSRRF+i0efvKFff/11/OAHP2Dl5T/60Y82TyKjcZNluam8Pe1cpiYnwQOYX1rq+N4gDFGr11E3DESI4/W5XI4ZKKrf3i/1UFWUuC1hm+RyEmlHGDgrpgPNr98j3bx5E5IoYseOHV3fu+kcCQMmjCLkcrk4fEbCX4V8HiJpZNJI7Bzbjh1l00tn93G3RSjDtXccBwaJg+fz+c1eNdm1ckhUqmbg0K+trcH3fZw8cWLbVZd2wtCw94FiqQStUIBtWTCJ5y6SvqO+78ehmpaHKyC0RUmSmjzp5I37/vtoa+FZAAAgAElEQVTv4+/+7u8wOzuL73znO9gxM4NXXnkF8/PzmyeR4WHSNK2tciGFqqqYnJyEAGB+YSE1Lu96XiwrQASxqIRrGniebxtG6AgSXojCkEmuPixEUYQwCNp77H0sIr7v45NPP8XpJ57IOommX6nKpE74/0kIgoB8Lhc3lUAs8NZpkU6t3ExBSO7Zjoybbl4/Yb7YZIeXJ4sSE2VLjMO1fK7bPdNoNFCtVjExOfmFb07dK4aGvU+MTE1B1TQ4to1Go4EoiiArCvK5HIIgQL3Fc6JVpbTpRmuc/erVq/i//9t/w+joKL71rW+hUCjgN37jNxCGIf7hH/4hfRJtkrQUxVIpZgt0gaIomJychCgIWFhcZMY9IrF0OkahUMi01U3V2M5gSGRFgcDzsGy7vbG4jwVJFIzD3i6R28fxr1y9ismJCZSzNlFOfK800agmEo1pkCQJxUIBoiSxQqhODSy6IQwCllxNnyIHdBLzIqEjz3WhqCr0xA4PaNn5kLlRJclOiKIIlmliZXUVoizjS88+u60ZMGkYGvY+IQgCyuPjyOVy8FwX9XodYRBAkmUWI2/U67HwVwLUU3Ech9G25ubm8N3/+l+h6Tr+5E/+hD385555Bvv37cO7776LK1eutJ9Mm9hmsVBArV7PdD6KomCKcNsXFheZQbdsGxKJpffCnmk1BlkfPC2XA6KIdcDJikE+1tSwp4ViIvRuIE3LwvUbN3D8+PFM70+O7zgOHKLQmWVR5XgeeV2Hqigbu0ei698t19EKeh3SvjsWymlj9OmxaZ/R1DwM+Z3nOPhUZqIL6A6gVquBA3D40CGMjIxkPqftgqFh3wJEUg2Zz+cRhiHz0gVBYPrWDcOA22KkVE1DQIpc7s7P4zvf+Q7AcfjWt761qdHu/04Kkn7wgx90nEsaY6ZYLKJeq2U+H1mW45g7z+PmrVuoNxrQVLWrqFfqfNBlC98GoijG8WLb3kg+t4zbS2ViP6A7rTRPtVcZAQD4+OOPsW/v3p41SzxSHyCIIrQ2LeFSQWLveV1HBKBhGHGrvR4XpDRaLovPk+OkwXHdOJ6OmF6bRuukYncc4jBlltAiTR67jgPX85DL53Eya2hrm2HIC9oCeJ6HTIx6nuNgmCYa9TpyuRxESUKhUIBhGDBME2EYQiVFNbIkweQ4uJ6Hqakp/D9/8zdxM46Um/vEiRP4+7//+0zzafXICoVCT4YdiMMPuq7DMAxYlgVNVftmGjQl6XrwFnVNQ83zYFsWixszdBpnQGGaMAzB9yFKloa19XUsLS3h61//ek+f830flmnG8XPakLlHiCQ00zAMmJYVx+cz7rqofHRTPJ/co+2ucBRFceWx40AURWi63plZhOw7oCAIYBpGLM3reRAEAcdPnBiyYNpg6LFvEZKmQdZ1iJLEipSol06pkLIsw7JtGIQxw/E8ZFmG5zhxDBNEe6SV/94PKEUMsRwC7aiTBZQ6BgB79uxBPpdjTY370YjnOA4c5UL3cF68IEBVVbgtTSuAzl75oDjuQZvEKTV2mccJQ1y6dAmnT5/uiVtNjRjHcX0bdQqe41DI5cADTJMlCyjVkeZLurFowjCESe57WVE2xdOT70vy46Mo6npNPd+PdwAkMR+EIXbt3o0Dhw5lOpftiKFhHwCUQgEiSfwVCgWIogiDMAE4jkMul4OmqnFJOOG6K7Ict19zXcYIaGq/thUDTzwrnuNQyOdRzxBnZwlf30eeLEaTk5MYKZdh2TbmFxYyc903zQW9h0lUVYXA8z0X3wgD8LKDNnK9vZ7H5cuXNylfdgM1kEC8MPfbS5XtNri4N2s+nwfP80xFsRt8KrRGqqwjpMfaASAg8XTf96HqOjQiDQEQeWdyXlGHRGs7uI4D0zDixV5R0DAM5AsFPElF8oZIxdCwDwhKsQheFAGOQ07Xm710EobRdR0+MaAc6cDjtEmuDsrAF8pl1LqEY2h+wPd95Fo4xqVSCZMTE6xK1exCn2w3j3ZJtk6f0Uki1Wrltt9HVgyN/aYxYno5aqVaxY0bN3DmzJmejm2YJgIg9ni3oOPTet/whBLJk5BhNy85THrsHd7nOA4aZCHK5/OsV25TERdN3KYY9XaLNtWSocn7fC6HWq0GXhTxpWefbavXPkSMoWEfEHieh1Yux7FZno+9dF2H53mo1WpwHQcKoUNGYYhGowFJFJlA1SYkPJ6tGPhyoRB77B0+b1oWfOKpp4UMNE3D9NQUJEHA8uoqKtVqz/PoJ5lKW+N5rst2C/eb1Oa3SZz2Um0aRhHevXQJJ0+c2NQAvR2oBG8QBKlc9UGAF4S4iIcY97axcmyodrbbMdCwnU1klvP5PARR3KArEk+9I9rIBFBGjeu6UEny3rIsuJ6H0088kZ0yuo0xNOwDBC+K0IpF9ruqKDH1kTxIRqMBnrTZAzY6yrcWBVHmRbKqk8Yiwx472hRLpdijauMxOa4Lx7ahdmlwIUkSZmZmkNN1VKtVLPYYd6dH7rU6VSO9K40EJ7vbp7eS9KTntCnJ2MOYV69ehSzL2LN3b6b3U6NO9VM69adth6znLAgCcpqGCNjE1qLjcByHwPfTdy0kQdqo1xEEAVRdRy4hgAf6kwGthV5RGMbSzIYBRBEK+Tw0VUUYBKhWq9i5ezf27tuXaeztjqFhHzAERYGSzzMjJAgCisUiNFWF5/uoE/1xWgbuuS5qtVrngpyUByAIAlYZ2OlBYswYalATSbAgCGCZJotfdgPHcZgYH8dIuQynx7h7coY8z4PLatxbQjJZSuG3gjAINldFIvtOoVav4/PPP8eTZ89mOx5p3uz7PjSi2d4TMsoDJCHJciwh7brNRXRcLIkbRRH8lAQy9aQd24ZI6jUUWe6v+XoUIUwk9T3Pi710z4MiyyiWSszRqFSrKI6N4eSpU9tetTErhlfpPkDO5SAlaHpU0rZQKEAQBJimCdM0kcvlkC8UYNs21tfXU9krNGHX+vBSamMUhrFcQZsHO5/Pw7SsWHiMGCuOMB1Yk4MemRdNcfeFBRgZ4u7tilOyQBRFyESy1s9oRPo1/UGK+Bft75rlmO9euoSjR49m4qyHLc2bqVHPPPeWhboX5DQNPMfFyWls1EEk7zPqsYdhCNOy4sR/FEHTdaad3yoSllU0LELssUckWWyaJjieRyGfh67rbCE1DAOcKOL48ePbsndpvxga9vsEtVCAkEzwcBxjzei6HrNQ6nWopNTaJdWrVksZeBJtS7uxQRujSa+Nw8Z0t0aLtEBAQkCqqvalx65pGmampyFLElZWV7FeqXR8f+ujzkTDsh6PSALbtt3VQ+y3OAogDaxbrkfWMMfnn38Onudx4MCBTMdpGAZCsrBm1WbvdU5tP0/aF9KGIsk7LiDFTALPw3VdNOp1uI4DSZaRz+fbJi6ziovR97qOg3q9zuQS8vl8UwjMtm1YjoN9Bw5gampqS+e73TA07PcJHMdBLZdjpszGi4gQl+/nCwVIogibhBdEUYQsy7BtG7V6vW2II5M3RBKudFtdLBY3SQvYjsN2Ev1CFEVMT08jp+uo1+tYWFxsS6VrWy2asZKT4/m4WCmK4PQoN5AV7cS/soh+NQwDl69cwdkMIZiQJM8jatRbDGU3w9hU9LUF0MYmrdczDEN4pPWjaZqIKGU3QWNsN68soE6NaVngRZHF0pMNahzHQd0wsPfAARw8eHAYgukRw6t1H8HzPLSREYC0WktCJFK/OdL02bSsuGkFkR5tNBow29DS0mLAae+hrINCsYiVlRWW2AqJ7rlCGlxQmdR+kIy7e56H+YUFmCkNM9qNTsNMWRJuoiRBkmU4rsvYK22RkmiNUn5YkxMSXwbAGiqzz3bZIUQA3nv3XRw5fJhp87cDZZNEAHIdvN+25zSIHEOCcUXDP9SRoCE60zTjeLeixPmgDgndrHdOFIawbTvOMwUBkz0QWsZ2HAfVeh179u/HoUOHho0z+sDQsN9n8DyP3OhoHNdOvE7/L8syRstl6KqKer0Oo9Fg3rvjOKg3Gh299yxe0szMDJYWF5k2vGnbCMKwuYHHFo1FsVjE5MQEa7u3srqaucoRAFO97AZNVcEDTbr3AImDk/MLowghNrjY9LUo5Sf5Wd/3Wa/R5Li0yCee6OZZ3rhxA77v4+DBgx3nzox6FLEFPRX3QzIhGftOjCFKEjiOg+04LLlfNwxm0Ls1UQEyqDEmDLpt2+BJLF0hGvzJ0T3PQ61ex849e3Do0KGeQ1RDxBga9gcAatyB9G02LwgYI0qRtBrVI3oYlPPeraik08NXLBbhJ4yKQ4o+gDhZGEbtk6+9QFVV7NixA+ViEZZpxolVUrzSdYeBhPfeAbwgQNE0IAxh2TbCKO5URX+SRrzXXUgQBADHNW/7E95t03ik6Mo0TXz88cc4+9RTHedOqzOBWBirkxfa9F0MggFE5rppIUxQOy2imOj6PhRZRqmNmmcv7fKoQa/V6zGThhQa5UjxVWsexPM8rFer2LFrF44dO7alMOF2x9CwPyDwoojc2Nhm0SNyc4uiGHO2STxTJjQy6k3att3We6cGhYZUWo00x3GYmZ7G4uIifFIQJZEtOCv9xkYCNtkBqldwHIfyyAimpqYgCgJW19awuLwML4v3TuUHuhhkURTBCQIs24bbrR1cD4YxCAKISaPeyXMGEPo+3nzrLRw9cqR902sQmiCpJaCFPO2nm1hA2tQe9AKqmR7Rn8QiHhIKqeO6cH0fPMdBVZRYYbNljtSgZ+m7G4UhbMtiBl0SReQJ26WdxEQQBFivVDAzO4ujQ6O+ZQwN+wOEIIrIjY/HXmWL981zXJycEgTYlgVd11EsFtl2FQDzfgzDaFutSgubWo3M9MwM5hPJzXYqf0mNDzbPllBGFiiKgunpaZRLJbi2jfn5+UyaNQA2hMMoErmBiDB/NMLmMUxzU7eqtPPJgiAImo1ul89+8OGH0HUdhxJiVK3hMd/3YZgmOIB1D+oKeo379Nbp4kCvFRuFLkhhCMuyUK/X4TgOFEmKZTAUJeavtyhb9mXQHQcSUTjVc7m4KjWKUptdB0GAtbU1TO7YgaPHjg1pjQPA0LA/YIiiiPzYWJysS1ITCTMmp2nwSXs4nlDSaIGTLEnwPA/1eh2VSqUr9S/5cE5OTGB9ZQWe67aVCG43RlJilVIqW2PW7T5bKpUwMzMDWZKwXqlkK2pKMmXCEAH5aRWi0jUNHGLVwnZGMOtCxLRREoa30zW6desWlpeW8NTZs6kLAIeN5s0AkCc1DN0Q9eKlJ3IEoLst+qcw3DQO5aPXSeNriTBS9FwOEimWC4Ngs7febRotBl2mBl3X2fVM03Cn987q2hpGp6Zw9OhR5Lskn4fIhmG6+SFAlGXkRkdhrKwgIHxhSvtTFAWO48C2LMiiCBCxMJ10oXEcB6ZlwbZt2LYNWZaRy+WaPPsk6AMlSRJGR0exvLKCsbGxnufMHkdyDKrax0C97IRRpoZRkiTMTE+jUqkw414qFlEoFDrqdad64onQkSiKsXa8acba8WmeXkYjSY+VVHVMM44AUK1W8dFHH+Hi889DTGO1kNCZ47oQBQF6L41K2i3ULYwYVgiUcAx4Lp0xEwYBbNKcAoj7AaiK0rSICYIAy7LA83xmzXbf9+G5LpPEoF2ekuMyxVK680PiXooirKytYXR8HMeOHWMN3IfYOoaG/SFBlGVoo6Mw19Zir5s8mNSIV2s12I4Td84hRoHneVZ27jgOLMuC4zhYXV2N9eBzudhLam1Lh9gQTs3MYHFpCZNbKPZIGu3WfMEm8aeWkEqhUICqqlhdW0O1VoNhmhgfHYWcKKOnSb2k6h8PgJq7ZKgIiMvjFcK5Fl03tSdolqKZpExt4oOb3ud5Ht58802cPn0ahYQuUHL+hmki8H3IstzE/U7bXTV1JEr5W4RmQ5g8JzpHWqDWiiwGnULkefhBAJnnOyd2wxCu68L1vHgx5LhUg04dFVphyhasKO5HEPg+VtfXURoZwZFjx4bt7QaMoWF/iJBVFfzoKIxKhUkD8OTBUonxlhVlk8Y4NfCqqrL2aaZhYI0YzHwuFyfpWh60makpXLlyZWAKiWycDoYz+WqImNUyPj4O0zCwvr6Oe/PzKBaLKJdK4Hgevu9v4tVT49bq7VGoqhqHPSwLBUFIbedGPd52CLJ0TYoivPPOO5icnMSuXbs2jxEEcZI0ijZXk0YbVZlJMTOOeLH0fFoZSmmzoXK69P9pMWvHtuGSaynLMlRZbi8DTFgzvu+nawZFcXWq67pM9kIgyX5JkpoUIJPxeDqvIAjAkfPiADi2jUq1itGJCRw6cgTj4+Pp8xqibwwN+0OGqKoojI/DrFbhO07cjACAputwPQ8WaSzAQIwDfYBkWYYsyyjk87HqXqOBarWKWq0GTdNQKBQgy3IsLVAogENc/KSS4iT6APZr7JOeI9A5ps0DCMhncvk8NE3D2vo66rUaa6BA+3TS68BCO0nGDDGGyeuQy+XiOgDDiPvNtu5aWuh+rQiDYCMM02YRuHL1KhzbxjPPPLPpb47jwHIc8Ii11EVRZDuxJIc8yUICjYm30BDbIQJYdWba+1oNukI96bRuUInFAQB810UYRU0FUzTU4nkee79Ccj1piwQNuzQt5onvEYjvPdtxsHPfPhw4cADFlF3PEFvH0LA/AuBJQtWu1WCTqsQoiqCqKkzThOd5Gw9cGx4xDeHouh7rzjQaMEm/VYUo8amahomJCSwtL2N8fJw9gIPw4JPeO51nt6Qb9d4NTcPq6irW19ZQr1ZRKpWamBFNxo8Y9cD3ERH9b/o3TdPiAptGI25TSD/Pcc0FWAnDTXnvPtErYXRD4uXTzy4tL+Ozq1fx0le+wtrFxUPFDSE8z2Px9KTccvKa0LBLk3FvQadENFIS1VTrxfU8tttRFAWKLLfNX/Ach7CVQ+77AMn32LYNLxlqIRW/7UI0bG6Jc6XnR18LfB+V9XVIqorDx49jz549w+Kj+4ihYX+EoBaLEGUZRqUCIYogSxJsjoNhGCgWi5n1MmRZxtjoKMrlclzc1GjEcXhRRE7XcW9+HkePHElPtmKD096P0FTSwCfHoq+1IozisvbpmRmYpolapcJi8OVicXNClBrd5L8EtIGybdtwHIeFFbiEQWytvuQQLxIANgx2tNHxhwNgWRbefvttnHvmmaYFJwxDRj1VFKVtlWarQafH5QVhU4K46bqT44c0lJR4D/OmSbUs5aDLbQx6U8wbzYs5VZl0STckDiTUouuQRLFts43kmGnfbUTOLRl62X/wIKampobaL/cZQ8P+iCEZmoFtI5fLoVqtxoauQxEMsPmBFXg+Zp/k83GbvkYDsqKgVq3i3r17KBQKkGQZkiiyHQHz4hNe5VY8+uQ2vFX9j4qVcYgNE03+moaBWrWKlbU1iPU6yqVSnEQm8+J5HiC66a3+raooCIIAtm1DEARWYduxKjSROG19XxAEePPtt3Hw4EFMTk6y15NUxnbqjGkGvfXacDzPKkCTBpLF47Fx/YMgiHVyPC/ucISYcSR386bpfBLzCoheEG30QgW51A6hFvLh5h1L+rsY9bJerw9DLw8BQ8P+CIKFZup1oFaLm2XU63HDAUIRTDMWXJvYME+UETXSJWlyagp3797Frt27AdOEKIrMuEuiCFGSWAKSw4YX3y+avHhSOEM58a2z5bm4OlPP5dCo19FoNLCyvAxJUVAuFlluoJMsl66qqJPCoEI+n9qYOgmfLBLUsCcXng8++ACyLOPw4cPs/Y7jMFXOXIo8QDeD3nq+Ps0VIM5DJHc5YRDAJaEWyqqRRBEqWZBTj5H0pAmCIIBPDDnVxAFIFS8X11AUiTZMGlhSNIWPnjwuzRv4w9DLQ8XQsD/CUAsFiLIMrK0hINt+wzRjSiMxHE0Pduv/KRMhQZcsFAo4dOgQXn/jDRw/cQIRMRye68JzXXCElcPzPDPy9Hc6ehM7pQcww8XzcRVph/fyHIdisYh8oYBGvY5avY7llRXmndLwQBMzhyQrac/ZeqOBRqMR8+W7eOwi7dcZhux6ffrpp1hbXcXFF15gBt80Tfi+zzj07cIevVwTURA2NHsQL3g+jZsnKoVVVYUoSelhDEIjpAjDkBlxz/fZroDneUiKAkkUYy2iKGJFRWlKk2zH1SlnQhP65D2WbaNaqWBkfHwYenlIGBr2RxyioqA4MQFekuJEnWnC4XmoqoowitINPLARQ054ySCema5pmJyYwOLCAg4ePBg33fB9eI4DPwjiJBzHwfc88K7LvFmRePSCIKTSEbOCI/NrCtNgg+WSRNLA12s11Ot11Go1iJIEhTCC6PkmQzOCICCfy6FhGGiQZCrT+25JQIZBAFmSmubz2Wef4c6dO3jh4sW4KtPzYjliktTeipbJpjg/MYyu68IhKotAbIRVVYUsiqmhkdYwi+/7LLxCw0vUGxeJBkwrFZTK84qJcBz9HEeSx0hcl9bjh8Sgc4gpo7VaDa7rYnbv3mHo5SFiaNgfA/CiiOL4eJxsW1yMe3/yPBRZBtV04Ymn2o73jITxlyQJu3fvxvvvv4/9+/fHiTJRhKaqCHwfjucx+hvd/gdBEMd46ZxIhSJPfkRRhMBx3b15jkttyM2ojMk5J68BF8sTFIpFLC8toVKtYnFpCaoso1AqbfCviecahSFTE6QJ5Fw+HxuhNuEquru5eeMGrl27hosXL0KSZdZomhcE6JrWlz54U2EV8WwD4lH7JN7teh44jmML1qZOTonr5wcBoiCAT76XZPGTSGLl1JC320GEYciabIhk8UhWs7ZrMEINOl2caRK5Uq0iVyjg0LFjw9DLQ8bQsD9GyI+MgBdFLM7NwTJNCCRswiE2GLT7T6uRpEhWa1LO+N27d5uKbQRRhC6KgKbFiTUSpqGfpQsIEMemw4TuC/XsBUGAIIpMKiG5Dc9SBZp8b3Le9PjFYhESMUSNRgPLy8ssNJLP5SDQXQrxVqnnbhoGcrlcqtdOY813797FJ598gucvXoQgCEy4TFVVKIrC5p8l3NJkJAmThf4EQcDOSxAEyLIMiRjz5NghbVwehvFCkPgcECdfRZ6P2TCCEC+2GcMeLmlmzfN8vGPp4J3T82k16JZloVatwvU8TO3YgZOnTw+lAR4BDA37Ywa9UMDMnj24d/Mmix8nE51RwhvmEho0ScgkpLJz925cvXo1tYoSwIZ8KzXypFglTGzzBbKwsPg7idki0W6NGnlqeLIY9iZqYNLQEY+c43kUSyUUCwUYpokGYdLUajWoioJ8LheHS8jiR9k2BjXuiXE5LpZzWFxcxHvvvYcLFy4AiNU0RUGAputN17id4WNjJrjxzJC3JCwVkiugC0oYhrAcB57nxfF2EhJLgifhMJHnIZC8R6+xa6qwCIB1ohIFIVWKgZ5Pkz4Ned0wTdQrFaYG+eTTT2Nfhl6vQzwYDA37Ywg1l8Ps/v24c+MG6o0GCsVi7Em3vC8KQ9aBnk8YMY6Le52Oj4/j82vXsLS0hKnJyY0u9QBLhFEkNbqDIGDeY0DCARQ06crx/EYREAk1RMTzp9olfGLhEYiBow0YOJ5PTXjy5Fw4wsDgBQGFQgGFQgGu58UtBQ0DK44TF21pGnKkW08EwDJNmJaFnKaBXBCIoojVtTW8/fbbOHv2bBzyCkOmy9N0TVO+D5rDSBpyek3ouUmEQkjPKIoiOJ4H23Fib55cIzqeIAixnEQi5NVPXQGbY2KuAGC7LjzS91ZOqU5NeudJGKaJerUKPwwhchzGxsdx+sknUSyX+57bEIPH0LA/plA0DTv378fd69dRJ/owabFfmqikjAsaqlFkGY4oYs/u3bhy9SqmJiebk5rABqcazeEQGm6hPh7lRQeJMEOY8DYF4hHSxUeWZUbfC4lGjmfbzROneQGeZyEdGqYIgiD2aIMAYiK3oMgy5NFRlEsl2JbFEqcNw2AiaTQRapBYNgAYhoG33noLJ06eZPTFnK5vKsyhOi803xAGQdy5KUEhpB6xQHYVAKFTAkAQNCVMqcdNF0NJliHwfDbN9g6I0FmPO0K8G7Fdl4WYyKSaQkfJZcQ0zbhXKensNVouo1Qu4+BQP/2RxNCwP8ZQVBWzBw5g/uZNNAwDqqJAoYU8Ke9vCtVwcWOPqclJfP7556hUqyi3xEY79UFNMmEY80IUQf1bGhv2icF3E6GZMAzhhyEE4qFLKUlfaiSpTjplfCCK4Pk+TMtCiM0NQ5LhFVXTIMsyLMuCaRho1OtxaIYsFgrx2t98803s378fuqaxY60RYbaQ6sEnjHJSioGnuwyaWyCGuclwk/dw2CiCavW+/TAE3xJ66RVJamIneJ4XN8IgFMpWlg5FSHuVNhrwXReCIKA8MoJcLgc9l8OBI0eGCdJHFFyXeOdW6lKGeEAIggBLd++isb4ex5NzORbG6EZFbDQa+Oyzz1Ct1/HchQuZt/vJG4PDhh5LJ1Ex6un6vg/LthmjJ2rDaaeVmawgi3j8QRjCaDSgKEoTRS+MSB9PygdP/B4CcInUMfVWG40G7s7PY3ZmBjPT05CIWBo9LgeASxhrnuwaeJIvEOiCRAw109XvMWQSAXATXPNOaBo5Ef/OesQoirBeqaBer0PP5TbREUPSS5bq/UdhCJHnUSgWmf7O6OQkZnfv7osdNMRA0fZrHxr2LxBqlQpW7t1D4PttQzOtRjcCUKtW8Ytf/hL79+7FgUOH4m18IgzTKzbJEpBtffJmau1VGgIbrdwSnnpIenWGUXM/1nq9DlmS2A6lG1hsG3Hl6NLSEj7/7DO4nocjR49CU1VIigJNVVlTE0EQunq/g0BIOOzUULPcQgbvOysiMlajXsdapQJZllEqlyHwPJNgsGwbjm2zMJiqqtA1DbquxyE0VcXu/ftTdeiHeCho+3gOl9wvEIrlMlRdx8Ldu2jU61CJMNUmcBuVhBzitm1nnngCb8a0UogAABAgSURBVLzxBiamplAsFDYVOAHZjTx7X4s3yYw78Xz9MGRFMEIUISI0ySaRr1ZEG7rePI2FJ8IvTcdt8Zxt14XrOKjX67h9+zZOnT6N8sgI0xnnOI7JBfAgzVBIDJqKazGWSFr4gs65NTfR6sHThY7scsIEfbJpzn0a9Shx7VisnCStK7VaLDGRz8M0DFiWFfPnCduIGvKmEA3HYWJqCjt27RpWkD4mGHrsX0CEYYjVlRXUlpfBAcglQjNJJL133/dx+dNPcfvOHbz0la+01VdJFkH1z9EgXiqRiu0HVFWxkNSqT4KEVMIwhEPa1EVRhLm5Ody7dw/nzp2Ly/RJXN0wjFghUdfhuS7zYClNkSNcb1VRoGoaS7wOAkkdmH5Av8d21btAfL3vLSygTuig9DOCIEDTNGi6ntpkQ9U07Nq3r7knwBCPCoahmO0IwzCwPD8P37KQ0/XOLc8Qx6B/8dpryOXzePLMmY6xYlqk01R81OP8PFJ00w8sy4LruiiVSpukCahBt22bhThEQcCnn34KwzDw7LPPxhRM34dOOO1MrTGKkMvn2bXyfR8OMfKubcOnTa85jmmUN/2kdHDqhDCK4LhuT9cuuSC3GvMwipisQPLftUoFFrkP8rkcNE2DrmlNbQmT4DgOkzt2YHrHjqGX/uhiaNi3KzzPw8ryMsxqFVwYQlVVJmWbhmqthld++lMcP3kSu3ft2uC1ZzxeWkih3WcDQh3M6q2yuXAcbMuCZVkolUpNhofGiz2icSMrCjgAb731FlRNw9NPPw1BEFCr1SAIQhyjJ4tUEARoNBoIwnCz0SPPiR8EsC0r7iXqurFHTzVVEtW5PJEM5kUREgkxURVNOl/aMCQIUpp208PSa0nGpnK9lPfuJQqgPPJv6zWzSey8UCxicmqqa7PqfKGA2b17hzTGRx9Dw76dEYYha2Jh1euIfH+jX2XK++/cuYN3f/UrnDt3DmWSYEuiydC3xOtb30ffwwFMWArk/5TDHhDD3sr4ANqHFjzXRYM2IOE4eL4Px3EQ+D7T0VEUBQ3DwOu//CV27tqF48ePx2MSsSpd18HTmD6dbxShQbRhaNil+aQ2PxIB8f6Z9kuCz+8TmmTyUyxWTz4bkV0AXRySi0TaMUOSTGbfCtmRiAnZZZn0IjUMA9VqFYqiYGxsLOVKgp17oVTC9Oxs+/DWEI8ahoZ9iNhIWpaF6vo6zFoNkefFiUFF2RSDv3TpEgzTxDFSgJIm6boV0MRiSAwZLf5ppynfCs/zsL6+3tThh+f5pkTn0uIi3nr7bZw+dQq79+whB+bg2jZM00SxWGxqJE0RAcwrp1ozaNmBRCmfaweqmEm7HlFvOyKLGpMbJvNLQ/L7odLKVEM/LcQWBAFrEyhKEkZHRtJ7nwIolUqY2rED+SHb5XHD0LAP0QzbtlFdX0ejUkFIDTypfARiw/DjH/8YYxMT2L1rV5MI1iCRVHqktEb6O99iTIMwZO3gfCIfoGoaCvl8XH5PQgxhEODTy5dx88YNfOn8eYyPj8fjk5CLSTzyYqnEPGqgufAIiGmRJhFb09rQRynSOOgsqZlYrKiqI10cOoVh+oXrujAMA6ZlQRTFuFNW68LMxc3Np3fuHCZGH18MDfsQ6XBdF9VKBbXVVYSuG3uAxAv0XBe/eO016JqGg4cOgRcE5BKCWIMA9drZ70BTH1Daws31vFimIBF2sCwLiqrGol7EeC4tLuK9X/0K5VIJTzzxBFRdbwr/RGGIaq0GWZKg5XLwiVRuK1WRhoA8z4NpmgjCMP5Mgl5J3sgMONNXaQNajJX8fStsmFYEYQjTMOB5HizbhihJyOl6k95NxHEoFYuYmp0dGvTHH0PDPkRn+L6PWqWC6vo6PMtizA8OwPsffIAgCHD8+PFY4lVRoA7Ie2dFSIgNOi3f94MAruOw5KFIpG1FSWK7ika9jjCKUCwW4fz/7d3JbxRnGgbwp6u6qtq9ut3GSwgxGNtAbBiDWMQNIZCQOHCNuIQDlwln7khociKav4E/IJGRmEGMFGUig1AUMDY7ApkGpAkE3NC4eql9DvVVud1eMQ5L8fwky2C8lFHr6a+/er/3NQzcuHEDL6emsH14GF1dXbN+TrBCtm0bujh1qarqslbMnueFA7IBLFnuGN7wFF8bPlk1PYGt1mo9GNJRq9XC/ztZkpAUvXGCPju5fB6Fjg6k0ulV+bn0wTHYaflM00RlehqVchl1XYftOLh/7x5elcsY/PrrcChDJp1GXARH8yNsweEOnt80K2gAFuw/O+Lof+PXy2IfOWj72yxoD/D69WvcvnMHPV99hS1btiw4gxQQE4NM0++LIyph5jNfz3XbcfzVu22Hh6MWm6fqwd9qCn+vhpujQTfId31yDFbpYRMy/+L9ds6ShFQ2i7b2duTy+VV9pUUfBQY7rYxj26jpOvTXr3H31i1MFosYHByELMuwbBuKosxM+5nnsRSTJARTjdx5wltqGAwR9GxvHr0Hz0PQobIxCKdKJYxfvw4A2Llz54IDHsLTop6HshirlxKlfCtZNRumiVq1Cs/zx+RpYsB2eLlAeDN4IeFNU/8Cw9/Ta3oSCK8fM686gtJMo15HXbTejcfjsC0LLoC2fB6Fzk60FQrLbrlAnyQGO707yzBwa3wcv//2G3Zs345MJgPDMOC6rl8TLm5gek1bDsDsA01hB8Sm4ctLPtjE9zUMAw8ePMCjR4/Q09OD/v7+Zc0gDbZhUul0eDNx0WBfpFeL6/mDrS3TDKtx4qoKiAqXRX+NpX7uIlxRp2+Kqpqgu6JpWcjkctjQ28ve6J8PBjutnsnJSfz7/HkUMhlsGhhAaz4Po16H47pzJg4tm+fBWeyx6Hl48eefeFQs4vmzZ+j64gsMDQ7CMM2wf3rgpx9/xE8jI/jnDz9gTUdH+PFqtQrLspDLZsPwXSxg792/j9OnT+PYt9/i4MGDsy9HXJNl26iIQ02A32te1bRFDwEFdehvoznQgzMIXiyGTC6Hzu5utBUKq161RB81NgGj1dPb24u/nziB27dv48rly1AlCVsGBrBmzRqYpgl9ejpcwSuKsqy6dDS0/W1Ur9VQfPwYj4tFyLKM9Rs2YHh4OFypBgM+5gSa2P5p/PvY9et4NDmJYrGIJ0+eoFavY/fu3Tjx3XfzXtKmgQFks1lcGxvDgQMH/G+Dma2WoNdKNpfzK3dME6ZlwTQMSGICkiYOCs1chrfsUPc8D7Zl+f3TTRMAZk4Nx2LIFQpo7+hAJpNhX3SahcFOKyLLMrZt24atW7fi4cOHuDw6iolbt7B5YADdXV2wHQeVatU/1q+qM/vwi4hJkr/v7Lp49vw5HhWLePniBdauXYvdu3ahNZ+fE+DxeDycwyoFc0lF2WGw/ePBvyH8319+wcOHDyHLMvJtbaj98ceC++DBx/82PIzR0VHouh72lQHmLpUURYGiKEi6LkwxyKJeq6Feq0FRVWhiNN5y5r26jgNDtCxwXTesCvI8D3FFCQM93dDThqgRHxX0TmKxGPr7+9Hf34+nT5+GAV9oa0OqpcWf6qSqSIjZo4111YZpoqLr0HUd07qOSqWC6Tdv8GZ6GplsFhvWr8eunTsXDS9F1LObloVEcEDJ88IbskGQ1ut1HD58GN3d3ejs7MS9e/fwj++/n/U589m5YwdGf/0VN2/exO49e5bc6oiJ/XZN0/wB4IYB07JgiZD2xLWFAzvEDWNJtAyu1WqwRdUQgidFTYOiqsi1taHQ3o50Os0KF1oUg51Wzbp16/DN0aMol8t4+fIlSqUSSlNTeF4q4XWxCH162h/HpmkwDANSLIZ0Oo1sJoN0JoOuri709/UhkUxCXWYLA1mWEY/HYYr5nfOxTBOO42BwcPCttyyGtm6Fqmm4NjaGvXv3whEr6OUIOj62uC6soC5fND6zHQdWrQY7GLsHIK4o0DQNmbY2ZLJZJFMp/6as+D6JRIKdFmlZGOy06nK5HHK5HDZu3Djr457nhaGvKApc04RRr8M2Tb8NrmheJUmSP4Rjnvr4+Siqilq1Gh7MaVar1/1uiyvod6OpKoaGhjAxMQFHbPe4bxHugL+Klz0vXMV7rgvIMlryeWiJBJKiJUKLGHIRDAsnWikGO703sVgMra2taBXleK7rwjAMGIaBiq6jpuuo1Ov+frkojZRkGXHxfk4HSRGuajyOOvx+8i1N3RiD1XoylVpxxciOHTswdu0a7ty9i61DQ5AkKayLb74xHNxUDQ5i2Y4D27L8iiFVRUsyiXxHBzK5XLhlwxCn1cZgpw9GkiR/ek9LC1pbW/3qDxH01UoFpmHAMgy80fWwAkWWZcRlGZIsh2P7XAAxWQ77o7gN2x16tYqYJEFRlJmOjOLAkus44ZF/YOYgU+PYOg/A9u3b4QG4evUqBoeG/E9u+D6O6/rtEESFjuM4cD0PyWwWWiKBXCqFVCoVNlILjvkT/VUY7PTRCCpL0uk0CoVC2ACsVqlgulz2JwJZFmzXhSsqYYJe5jH4B5csURaY0DRUdB2qoiCbzYatcQHMnPBs6OfS/L7x9GgymcSmTZtw8+ZN1KrVmaHa4olFlmXExF6/lkxCVVVkW1uRzmbD/XGi94mPOPpoBSv0RCKBvBgS4bpuOPLNFTceHVEemKpUUCqVYDoO4poG03WhJBIwxL52uH0CvyInmUxCkmXolcqsXugxSfJbBovgliQJpTdvYDkOsu3t/qpbjMULX0WI3ui8uUkfAwY7fVKkhnLC+XxpGPjXhQv4fXwc6/v60NPTM3slLt7+NzWFsdu38eXGjejdvDnc1gEQ/jl4e/LkCf7z8884efIkNvT2vrfflWilGOwUKUHgl8tlJJNJv1f7PBKJBF69egXbtsObuQu5cOECLMvCkSNHVv16if4KfN1ItIRz586hu7sbu3bt+tCXQrQsXLHTZ2NkZAQjIyMAgGfPngEArly5gmPHjgEA2tvbcebMmVlfUyqVcOnSJRw/fpyVLPTJYLDTZ2N8fBxnz56d9bHJyUlMTk4CAHp6euYE+/nz5+E4Drdh6JPCrRj6bJw6dWrWDdTmt2KxOOdrzp07h3Q6jf3797//CyZaIQY70QLq9TouXryIQ4cOLViFQ/QxYrATLWBiYgJ9fX04evToh74UorfCPXaiBezZswfj4+Mf+jKI3hqDnSJn3759ALBkfTpRVHHmKRHRp2nB+lvusRMRRQyDnYgoYhjsREQRw2AnIooYBjsRUcQw2ImIIobBTkQUMQx2IqKIYbATEUUMg52IKGIY7EREEcNgJyKKGAY7EVHEMNiJiCKGwU5EFDEMdiKiiGGwExFFDIOdiChiGOxERBHDYCciihgGOxFRxDDYiYgihsFORBQxDHYioohhsBMRRQyDnYgoYhjsREQRw2AnIooYBjsRUcQw2ImIIobBTkQUMQx2IqKIYbATEUUMg52IKGIY7EREERNf4t9j7+UqiIho1XDFTkQUMQx2IqKIYbATEUUMg52IKGIY7EREEcNgJyKKmP8D8wv538yMh2gAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ "
" ] }, - "execution_count": 2, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -89,8 +99,13 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:34.363848Z", + "start_time": "2019-08-22T01:37:34.350108Z" + } + }, "outputs": [], "source": [ "class BernoulliAFactory(UncertaintyProblem):\n", @@ -136,8 +151,13 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:34.407466Z", + "start_time": "2019-08-22T01:37:34.404155Z" + } + }, "outputs": [], "source": [ "# construct factories for A and Q\n", @@ -147,8 +167,13 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:34.454252Z", + "start_time": "2019-08-22T01:37:34.448965Z" + } + }, "outputs": [], "source": [ "# set number of evaluation qubits\n", @@ -162,8 +187,13 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:34.772976Z", + "start_time": "2019-08-22T01:37:34.668445Z" + } + }, "outputs": [], "source": [ "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'))\n", @@ -172,12 +202,17 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:35.461524Z", + "start_time": "2019-08-22T01:37:35.319533Z" + } + }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -203,17 +238,22 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:37:36.797118Z", + "start_time": "2019-08-22T01:37:36.280266Z" + } + }, "outputs": [ { "data": { - "image/png": "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NcXVO5lwc5CWOOfP6HRM3/QPHG0kSHycC+fWEgQu7gA7K0PciJfB1c64Vh8DERERERERVZ/WjjTQtKoUDeqruOQctGyqLBqkywpgbKgc4WFipI/0rAK153TrYAI3BymOrnZBd0cTfPyW8jaGVs0a4e7957UTOBEREREREWlUvSkaUMUVnebCVKKPrOdyAEDmczlMJOoHpyQ8yoFNUwMAwIOnubD630gFFAIcPU5ERERERFQ3sWhAJdhZG+Le41wAgEdbKc5HpQEAzkemwaONFAXyQjxJyyt2zq2kbLRraQS5vBDiIlWCxMe5sLc2rL3giYiIiIiISGNYNKASnGwkuP9UWTRwtTNGowZieK+IglgEuLeR4t7jHAQcSCx2zq172WjX0hC5BQqkpOfjUaqyqBDz4DmcbSW1/hiIiIiIiIio+rR6IkQShlgsQtf2JoiKy4JLa+MSyyxGJ8gwuqdFsW0fjGmp+vfpLe7K4+Jl6NxOCrGY9ycQERERERHVRSwakFqzRzYvdd/wbhal7ivKyVYCJ44yICIiIiIiqrNYNNBS0fEyjPGPEjqMOi86XgZ3S6GjICIiIiIiqptYNNBCbm5uQoegM9wt+XwSERERERFVlaiw6Pp6RER1hEgkArsvKg3zg4iIiEgzuHoCEREREREREanFogERERERERERqcWiARERERERERGpxaIBEREREREREanFogERERERERERqcWiARERERERERGpxaIBEREREREREanFogERERERERERqcWiARERERERERGpxaIBEREREREREanFogERERERERERqcWiARERERERERGpxaIBEREREREREamlL3QAVNK8efMQEREhdBg6w83NDVu3bhU6DCIiIiIiojqHRQMtFBERgfDLF+BkKxE6lDovOl4mdAhERERERER1FosGWsrJVoKjq12EDqPOG+MfJXQIREREREREdRbnNCAiIiIiIiIitVg0ICIiIiIiIiK1WDSgcqWk58Fq7B+4EZdVbPu9JzmwGvsHbidlCxQZERERERER1SQWDahcEXezYNBAjPatJCW2GxvqwcHaUKDIiIiIiIiIqCaxaEDluh6bBefWEujriYptD7+TCVc7CcRiUSlnEhERERERUV3GogGV63pMFjraG5fYHn43C272UgEiIiIiIiIiotrAJRepXJGxWRjZw6LYNoWi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j3ro61GvxLLeHazQ+4XmXyMr/VIzn1d2XDAz0ik1GV5PN8ui+0ufu3QjE2+/Vnsfb+rh4VFiXp3aqjLjh1CDqXlDw6Lx42hUaqkxQGhMCehujfcWX8O244+hpyPByuA2sDLTg6F+MgJDYlHPTA//198Wdx5r9/gBKOdk+uCDD/DBBx+IHUqVvPgd5Lnn/44bWukXfQdp08y41A/ItTPaltqnRCLBwYUlm/BCY01dGkN0dXUREBCAgIAAsUOpUGXGkIoaTO0cTEuNA0cExhUACL+Qgtc6/3c1ktBYY2Wqq/VjiKurK1xdVXOSqLaSKLRhCnt6aT4+PgCAiIgIrX7Psvj4+CAvOVJlZ4PrssCQWOhbd6gVx1VVXrY+Vuy+h+6uFhXOXqwue/9+AksT3TLvX6zqeoDy7MPRqFRMfqFxVRZtrA+AY4gqaWONvEx9cPwQpo31AXAMURXWx384hgjT1hpRF15pQESkYkF+tesStDe6ln9valXXA5RPa3CpJR1+Im3C8YOIqoNjCNUENg0IUVFRRWf/1fV+teX+c0DZrQwMiRU7DI0XlyRDh7Ln1dFYrA/V0Nb6AFgjqqKtNcL6UA1trQ+ANaIKrA+qiDbXiDqwaVDHifHj3d3dvdY0DWpLHNqgg7X25VPb/h4xaWN9ANr5N4lFG2tE2/4eMWljfQDa+TeJgfVBFdHWGlEXzmlARERERERERII0/5l3RERERERERFQj2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkFsGhARERERERGRIDYNiIiIiIiIiEgQmwZEREREREREJIhNAyIiIiIiIiISxKYBEREREREREQli04CIiIiIiIiIBLFpQERERERERESC2DQgIiIiIiIiIkG6YgdAREREVFVTp05FVFSU2t/X3d0dS5YsUfv7ikWsPAPMtTox1+pTlVyLGac2qmt1rkpsGhAREZHGiYqKQuT5k3CxN1Hbe8YlydT2XrWFGHkGmGt1Yq7Vp6q5FitObVQX61yV2DQgIiIijeRib4I/5ruq7f0CQ2LV9l61ibrzDDDX6sRcq8/L5FqMOLVRXa1zVeGcBkREREREREQkiFcaEBGRVkhNTUVkZCQePHgAiUQCGxsbdOzYERYWFmKHRvTS7t+/j6ioKKSkpEBHRweOjo5wc3ODkZGR2KFpFYVCgdu3byM6Ohrp6enQ09NDq1at0K5dO+jr64sdnlZRKBSIj49HbGwsMjMzYWhoCCcnJ7Rt2xa6uvxpQlQb8UoDIiLSWFlZWVi9ejU6dvRAvXr10KdPH7z11lsYOXIkevfuDUtLS3Tu/Ap++eUX5OTkiB0uqdmTtDzYDD6Fy4mZJZbfSc6BzeBTuH43S6TIypecnIwFCxbAwcERTZo0Qf/+/TFq1CiMGDECXbt2hZmZGV739cXevXshl8vFDheA5ub67t27mDt3Lpo0aQp7e3v4+/tj1KhRGDZsGDw8PGBmZoZBgwbhyJEjUCgUYocLQHNzfePGDUybNg0NrK3RqlUrBAYGYvTo0RgyZAjc3NxgZm6O0aNH49y5c2KHWkRTc11TmI+6i00DIiLSSEePHoWLSzu8++67uPssB93GzEJA6BaM/vkMAGDg55vgOeoTJCWnY9y4cXB1dcPJkydFjprUKepmJgz1pHBqblJquamRDlra1q6z9QqFAr/88gtatmqFWbNmodCiCbzfC8XghbsxZvXfAIA35vwC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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABPQAAAG5CAYAAAAJR2p6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeXwU9f3H8ddu7kDCTQhJCFcgIIfcyCmI1rOCVRC8LWq9alX4iRUFtVpblaqtpSpVqXJ4VVTQKsgNIocQQJArHAFykUAucu7u74+BkCUnsLuT3X0/Hw8fJt/5zuSzs1++M/OZ78zX4nA4HIiIiIiIiIiIiIhXsJodgIiIiIiIiIiIiNSdEnoiIiIiIiIiIiJeRAk9ERERERERERERL6KEnoiIiIiIiIiIiBdRQk9ERERERERERMSLKKEnIiIiIiIiIiLiRZTQExERERERERER8SJK6ImIiIiIiIiIiHgRJfRERERERERERES8iBJ6IiIiIiIiIiIiXkQJPRERERERERERES+ihJ6IiIiIiIiIiIgXUUJPRERERERERETEiyihJyIiIiIiIiIi4kWU0BMREREREREREfEiSuiJiIiIiIiIiIh4ESX0REREREREREREvIgSeiIiIiIiIiIiIl5ECT0REREREREREREvooSeiIiIiIiIiIiIF1FCT0RERERERERExIsooSciIiIiIiIiIuJFlNATERERERERERHxIkroiYiIiIiIiIiIeBEl9ERERERERERERLyIEnoiIiIiIiIiIiJeRAk9ERERERERERERLxJodgBy/konzzM7BNMFvTze7BBERERERERERDxKI/RERERERERERES8iBJ6IiIiIiIiIiIiXkQJPRERERERERERES+ihJ6IiIiIiIiIiIgXUUJPapVRkEPwKxPYknHAqfxgTibBr0xgZ9YRcwITEREREREREfFDSuhJrTamJRMaGES35nFO5RvS9hERHEbnptEmRSYiIiIiIiIi4n+U0JNabUpP5uKWbQm0BjiVb0zdR++odlgtakYiIiIiIiIiIp6iTIzUalNaMn1bta9UviFtH32qKBcREREREREREffxu4Te8uXLGT16NHFxcYSGhhITE8PEiRPJyckxO7R6a3P6fvq06uBUZnfY2Zx+gL6t2vNTWjLD505n5Pzn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mnmIcV0GOZVNGTi6/OfNd/4FgKSMg1zSOgGrRXljERERERERERFXUUJPqvRYv2urXXZDp/512kbPlvEanSciIiIiIiIi4mIaOiUiIiIiIiIiIuJFNELPiwW9PN7sEERERERERERExMM0Qk9ERERERERERMSLKKEnIiIiIiIiIiLiRZTQExERERERERER8SJK6ImIiIiIiIiIiHgRJfRERERERERERES8iBJ6IiIiIiIiIiIiXkQJPRERERERERERES+ihJ6IiIiIiIiIiIgXUUJPRERERERERETEiyihJyIiIiIiIiIi4kWU0BMREREREREREfEiSuiJiIiIiIiIiIh4ESX0REREREREREREvIgSeiIiIiIiIiIiIl5ECT0REREREREREREvEmh2AHL+SifPMzsE0wW9PN7sEERERERERETEDczIe3hLnkEj9ERERERERERERLyIEnoiIiIiIiIiIiJeRI/cioiIiIiIiIgIZTbYdhh2HoWUbMjOB7sDwoMhtim0bQ792kPjcLMjFY3Qk1plFOQQ/MoEtmQccCo/mJNJ8CsT2Jl1xJzAREREREREROSC2R2wahc8twBmr4b1yZB6AorLoNQGOYXw8xFYlGTU+c9qyC00O2r/zldohJ7UamNaMqGBQXRrHudUviFtHxHBYXRuGm1SZCIiIiIiIiJyIXIL4T9rYG963erbHfDTQfglFW4eCD3ial/HXfw5X6ERelKrTenJXNyyLYHWAKfyjan76B3VDqtFzUhERERERETE2+QUwhuL657Mq+hkCby3EjYkuz6uuvLnfIXvfjJxmU1pyfRt1b5S+Ya0ffSpolxERERERERE6jebHf69Ao7lVV/ntVuM/6rjAOatg/2ZLg+vTvw5X6GEntRqc/p++rTq4FRmd9jZnH6Avq3a81NaMsPnTmfk/Oe44qM/kXziPFL7IiIiIiIiIuIxS3fAoawL347dYST1SsoufFvnqrZ8BcCVH79A9Jv38uIPn3s+QDfyu3foLV++nNdee41NmzaRmZlJs2bNuOqqq3j11Vdp1KiR2eHVO0fyskktOEHvqHZO5UkZB8kvLWJAdAKBVisLb3yCiOAwvknezHNrP+P9qx8wKWIREZHKikqNx0G2HDJ+bt4QBnaEztFgtZgdnZjN7oA9afDDXsjMg9Ag431A/dobs/qJiIj4mpPF8N12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CFzZHaznOMKuQ0v4w6+gdRP3xFaTinmLqvIRJ0uLaRgcSqmtjJUpOxnR5iKn9X0hV6ERelKJA0f5z41DwsktNt6SmVtcSOPQqtPuyScyaNeoJQCH87KJOZUpd+DAgmYIFhEREREREamPAqxwZQ/jEdzF243RenZH9fVbNYLhicbjuueaBHSVinmLs/MRmYW59GgZD8CcHau5ucugKtf39lyFRuhJJQlNojmYmwnAwNYJLDu0HYClB7czILojZXYb6QU5TuvsyDpM12ax2Ox2rBUenN+fk0nnptGeC15EREREREREzllME7hzKEwbA7dcAsMqzFrbty2M7m2MyHviGriko3nJPHDOW5ydj1hyYBuj4rsBsCs7lbeTlnDtpy+x49hh3vzpW8A3chVK6EklPVu2ISUvC4BeUe0IDQxixLxnsVos9IvuyIGcTKat/thpnR3HDtO1eSzFtlIyTuaSmn8cgN3ZqfQ8lRkXERERERERkfqtURj0aw839D1TdutguLQLtG3u2ckvqlMxb3F2PmLZoe30adUegD8PH8+iG59k4Y1T6No8lgd7/wrwjVyFHrmVSqwWK4NjOrM5/QC9otoyY+QdTsu3Zh5i3FlDVqcMHF3+8+Y7/wIYU0Ff0joBq0V5YxERERERERFxjYp5i7PzEZ/8sq7KPMTy8dMB38lVKKEnVXqs37XVLruhU/86baNny3ivz3iLiIiIiIiISP1TXd7ipsSBNa7nK7kKJfS8WNDL480OQURERERERETELZT3qJ53jy8UERERERERERHxM0roiYiIiIiIiIiIeBEl9ERERERERERERLyIEnoiIiIiIiIiIiJeRAk9ERERERERERERL6KEnoiIiIiIiIiIiBdRQk9ERERERERERMSLKKEnIiIiIiIiIiLiRZTQExERERERERER8SJK6ImIiIiIiIiIiHgRJfRERERERERERES8iBJ6IiIiIiIiIiIiXkQJPRERERERERERES+ihJ6IiIiIiIiIiIgXUUJPRERERERERETEiwSaHYCcv9LJ88wOwXRBL483OwQREREREZF6SdeM7rlmNGu/6vpXKtIIPRERERERERERES+ihJ6IiIiIiIiIiIgXUUJPRERERERERETEiyihJyIiIiIiIiIi4kWU0JNaZRTkEPzKBLZkHHAqP5iTSfArE9iZdcScwERERERE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\n", "text/plain": [ - "
" + "
" ] }, - "execution_count": 8, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -223,6 +263,48 @@ "ae._circuit.draw(output='mpl')" ] }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:38:03.300743Z", + "start_time": "2019-08-22T01:38:03.292726Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:38:03 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -237,18 +319,6 @@ "language": "python", "name": "python3" }, - "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.7.3" - }, "varInspector": { "cols": { "lenName": 16, diff --git a/qiskit/advanced/aqua/artificial_intelligence/index.ipynb b/qiskit/advanced/aqua/artificial_intelligence/index.ipynb index 4381aac4b..1b2da5939 100644 --- a/qiskit/advanced/aqua/artificial_intelligence/index.ipynb +++ b/qiskit/advanced/aqua/artificial_intelligence/index.ipynb @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -48,7 +46,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/artificial_intelligence/qgans_for_loading_random_distributions.ipynb b/qiskit/advanced/aqua/artificial_intelligence/qgans_for_loading_random_distributions.ipynb index 349ae7178..32d412266 100644 --- a/qiskit/advanced/aqua/artificial_intelligence/qgans_for_loading_random_distributions.ipynb +++ b/qiskit/advanced/aqua/artificial_intelligence/qgans_for_loading_random_distributions.ipynb @@ -289,6 +289,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:49:13.439275Z", + "start_time": "2019-08-22T01:49:13.430311Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:49:13 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -313,7 +355,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/artificial_intelligence/qsvm_classification.ipynb b/qiskit/advanced/aqua/artificial_intelligence/qsvm_classification.ipynb index 0ee406462..353a945f1 100644 --- a/qiskit/advanced/aqua/artificial_intelligence/qsvm_classification.ipynb +++ b/qiskit/advanced/aqua/artificial_intelligence/qsvm_classification.ipynb @@ -319,6 +319,55 @@ "img = plt.imshow(np.asmatrix(kernel_matrix),interpolation='nearest',origin='upper',cmap='bone_r')\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:49:36.816822Z", + "start_time": "2019-08-22T01:49:36.806994Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:49:36 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -337,7 +386,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/chemistry/declarative_approach.ipynb b/qiskit/advanced/aqua/chemistry/declarative_approach.ipynb index 5e1d21d3a..fc41d74d6 100644 --- a/qiskit/advanced/aqua/chemistry/declarative_approach.ipynb +++ b/qiskit/advanced/aqua/chemistry/declarative_approach.ipynb @@ -22,11 +22,6 @@ "- [1]IBMQ" ] }, - { - "cell_type": "raw", - "metadata": {}, - "source": [] - }, { "cell_type": "markdown", "metadata": {}, @@ -204,6 +199,48 @@ "This was a very simple example showing how to get started. There are more elaborate notebooks here as well documentation describing the various components and their configurations to help you to experiment with quantum computing and its application to solving chemistry problems." ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:50:03.559587Z", + "start_time": "2019-08-22T01:50:03.549101Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:50:03 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -228,7 +265,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/chemistry/programmatic_approach.ipynb b/qiskit/advanced/aqua/chemistry/programmatic_approach.ipynb index db165d160..feca66593 100644 --- a/qiskit/advanced/aqua/chemistry/programmatic_approach.ipynb +++ b/qiskit/advanced/aqua/chemistry/programmatic_approach.ipynb @@ -387,6 +387,48 @@ "print(\"Parameters: {}\".format(results['opt_params']))" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:50:30.121573Z", + "start_time": "2019-08-22T01:50:30.112104Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:50:30 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -411,7 +453,36 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false } }, "nbformat": 4, diff --git a/qiskit/advanced/aqua/finance/data_providers/.ipynb_checkpoints/time_series-checkpoint.ipynb b/qiskit/advanced/aqua/finance/data_providers/.ipynb_checkpoints/time_series-checkpoint.ipynb new file mode 100644 index 000000000..0a17f4411 --- /dev/null +++ b/qiskit/advanced/aqua/finance/data_providers/.ipynb_checkpoints/time_series-checkpoint.ipynb @@ -0,0 +1,502 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Loading and Processing Stock-Market Time-Series Data*_\n", + "\n", + "The latest version of this notebook is available on https://github.com/qiskit/qiskit-tutorial.\n", + "\n", + "***\n", + "### Contributors\n", + "Jakub Marecek[1]\n", + "\n", + "### Affiliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "\n", + "Across many problems in finance, one starts with time series. Here, we showcase how to generate pseudo-random time-series, download actual stock-market time series from a number of common providers, and how to compute time-series similarity measures." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "from qiskit.aqua.translators.data_providers import *\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=DeprecationWarning)\n", + "import datetime\n", + "import matplotlib.pyplot as plt\n", + "from pandas.plotting import register_matplotlib_converters\n", + "register_matplotlib_converters()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "data = RandomDataProvider(tickers=[\"TICKER1\", \"TICKER2\"],\n", + " start = datetime.datetime(2016, 1, 1),\n", + " end = datetime.datetime(2016, 1, 30),\n", + " seed = 1)\n", + "data.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the data are loaded, you can run a variety of algorithms on those to aggregate the data. Notably, you can compute the covariance matrix or a variant, which would consider alternative time-series similarity measures based on dynamic time warping (DTW). In DTW, changes that vary in speed, e.g., one stock's price following another stock's price with a small delay, can be accommodated." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Means:\n", + "[16.66722941 72.03026566]\n", + "A time-series similarity measure:\n", + "[[1.0000000e+00 6.2284804e-04]\n", + " [6.2284804e-04 1.0000000e+00]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A covariance matrix:\n", + "[[ 1.75870991 -0.32842528]\n", + " [-0.32842528 2.31429182]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "means = data.get_mean_vector()\n", + "print(\"Means:\")\n", + "print(means)\n", + "\n", + "rho = data.get_similarity_matrix()\n", + "print(\"A time-series similarity measure:\")\n", + "print(rho)\n", + "plt.imshow(rho)\n", + "plt.show()\n", + "\n", + "cov = data.get_covariance_matrix()\n", + "print(\"A covariance matrix:\")\n", + "print(cov)\n", + "plt.imshow(cov)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you wish, you can look into the underlying pseudo-random time-series using. Please note that the private class members (starting with underscore) may change in future releases of Qiskit." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The underlying evolution of stock prices:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TICKER1\n", + "[19.62434536366324, 19.012588950013168, 18.48441719774971, 17.41144857559354, 18.276856204918218, 15.975317508037936, 17.720129272254415, 16.958922371359314, 17.27796146741641, 17.028591091939003, 18.490699028983975, 16.430558319486323, 16.108141115472815, 15.724086760804399, 16.857856203139836, 15.757964935825806, 15.58553672827537, 14.707678310353998, 14.74989205706959, 15.332707270785413, 14.232088093572491, 15.376811803412107, 16.2784025240049, 16.78089686290677, 17.68175281217118, 16.998024952996847, 16.8751347274782, 15.939365293219131, 15.671477213593114]\n", + "TICKER2\n", + "[73.53035546673819, 72.83869471501288, 72.4419411881569, 71.7547684880373, 70.90956284653858, 70.23831671570176, 70.22565211678285, 69.10834176814758, 69.34275746596468, 71.00255964307455, 71.74460380365188, 71.55276825129026, 70.66513928720543, 69.91798099345459, 71.61043559448234, 71.66124334925837, 71.02424770268901, 71.21516318735648, 73.31541832383532, 73.43557727631695, 74.05278038602437, 74.35295070598019, 74.00070085948668, 72.85818266146454, 72.50883993905167, 72.29994570567689, 72.88656889685907, 73.72555231073359, 74.65665439203714]\n" + ] + } + ], + "source": [ + "print(\"The underlying evolution of stock prices:\")\n", + "for (cnt, s) in enumerate(data._tickers):\n", + " plt.plot(data._data[cnt], label=s)\n", + "plt.legend()\n", + "plt.xticks(rotation=90)\n", + "plt.show()\n", + "\n", + "for (cnt, s) in enumerate(data._tickers):\n", + " print(s)\n", + " print(data._data[cnt])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Clearly, you can adapt the number and names of tickers and the range of dates: " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "data = RandomDataProvider(tickers=[\"CompanyA\", \"CompanyB\", \"CompanyC\"],\n", + " start = datetime.datetime(2015, 1, 1),\n", + " end = datetime.datetime(2016, 1, 30),\n", + " seed = 1)\n", + "data.run()\n", + "for (cnt, s) in enumerate(data._tickers):\n", + " plt.plot(data._data[cnt], label=s)\n", + "plt.legend()\n", + "plt.xticks(rotation=90)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Access to closing-price time-series\n", + "\n", + "While the access to real-time data usually requires a payment, it is possible \n", + "to access historical (adjusted) closing prices via Wikipedia and Quandl\n", + "free of charge, following registration at:\n", + "https://www.quandl.com/?modal=register\n", + "In the code below, one needs to specify actual tickers of actual NASDAQ\n", + "issues and the access token you obtain from Quandl; by running the code below, you agree to the Quandl terms and \n", + "conditions, including a liability waiver.\n", + "Notice that at least two tickers are required for the computation\n", + "of covariance and time-series matrices, but hundreds of tickers may go \n", + "beyond the fair usage limits of Quandl." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "stocks = [\"REPLACEME1\", \"REPLACEME2\"]\n", + "wiki = WikipediaDataProvider(\n", + " token = \"REPLACEME\",\n", + " tickers = stocks,\n", + " stockmarket = StockMarket.NASDAQ,\n", + " start = datetime.datetime(2016,1,1),\n", + " end = datetime.datetime(2016,1,30))\n", + "wiki.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the data are loaded, you can again compute the covariance matrix or its DTW variants." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if wiki._n <= 1: \n", + " raise Exception(\"Not enough data to plot covariance or time-series similarity. Please use at least two tickers.\")\n", + "\n", + "rho = wiki.get_similarity_matrix()\n", + "print(\"A time-series similarity measure:\")\n", + "print(rho)\n", + "plt.imshow(rho)\n", + "plt.show()\n", + "\n", + "cov = wiki.get_covariance_matrix()\n", + "print(\"A covariance matrix:\")\n", + "print(cov)\n", + "plt.imshow(cov)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you wish, you can look into the underlying time-series using:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"The underlying evolution of stock prices:\")\n", + "for (cnt, s) in enumerate(stocks):\n", + " plt.plot(wiki._data[cnt], label=s)\n", + "plt.legend()\n", + "plt.xticks(rotation=90)\n", + "plt.show()\n", + "\n", + "for (cnt, s) in enumerate(stocks):\n", + " print(s)\n", + " print(wiki._data[cnt])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Setup token to access recent, fine-grained time-series\n", + "\n", + "If you would like to download professional data, you will have to set-up a token with one of the major providers. Let us now illustrate the data with NASDAQ Data on Demand, which can supply bid and ask prices in arbitrary resolution, as well as aggregates such as daily adjusted closing prices, for NASDAQ and NYSE issues.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you don't have NASDAQ Data on Demand license, you can contact NASDAQ (cf. https://business.nasdaq.com/intel/GIS/Nasdaq-Data-on-Demand.html) to obtain a trial or paid license.\n", + "\n", + "If and when you have access to NASDAQ Data on Demand using your own token, you should replace REPLACE-ME below with the token. \n", + "To assure the security of the connection, you should also have your own means of validating NASDAQ's certificates. DataOnDemandProvider constructor has an optional argument verify, which can be None or a string or a boolean. If it is None, certifi certificates will be used (default). If verify is a string, it should be poiting to a cerfificate for the HTTPS connection to NASDAQ (dataondemand.nasdaq.com), either in the form of a CA_BUNDLE file or a directory wherein to look.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.aqua.translators.data_providers.data_on_demand_provider import StockMarket\n", + "try:\n", + " nasdaq = DataOnDemandProvider(token = \"REPLACE-ME\",\n", + " tickers = stocks,\n", + " stockmarket = StockMarket.NASDAQ,\n", + " start = datetime.datetime(2016,1,1),\n", + " end = datetime.datetime(2016,1,2))\n", + " nasdaq.run()\n", + " nasdaq.plot()\n", + "except QiskitFinanceError as e:\n", + " print(e)\n", + " print(\"You need to replace REPLACE-ME with a valid token.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another major vendor of stock market data is Exchange Data International (EDI), whose API can be used to query over 100 emerging and frontier markets that are Africa, Asia, Far East, Latin America and Middle East, as well as the more established ones. See:\n", + "https://www.exchange-data.com/pricing-data/adjusted-prices.php#exchange-coverage\n", + "for an overview of the coverage.\n", + "\n", + "The access again requires a valid access token to replace REPLACE-ME below. The token can be obtained on a trial or paid-for basis at:\n", + "https://www.quandl.com/\n", + "\n", + "In the following example, you need to replace TICKER1 and TICKER2 with valid tickers at the London Stock Exchange. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.aqua.translators.data_providers.exchangedataprovider import StockMarket\n", + "try:\n", + " lse = ExchangeDataProvider(token = \"REPLACE-ME\",\n", + " tickers = [\"TICKER1\", \"TICKER2\"],\n", + " stockmarket = StockMarket.LONDON,\n", + " start = datetime.datetime(2019,1,1),\n", + " end = datetime.datetime(2019,1,30))\n", + " lse.run()\n", + " lse.plot()\n", + "except QiskitFinanceError as e: \n", + " print(e)\n", + " print(\"You need to replace REPLACE-ME with a valid token.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the actual use of the data, please see the portfolio_optimization or portfolio_diversification notebooks. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:53:39.420765Z", + "start_time": "2019-08-22T01:53:39.409542Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:53:39 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/data_providers/time_series.ipynb b/qiskit/advanced/aqua/finance/data_providers/time_series.ipynb index ce33645f9..0a17f4411 100644 --- a/qiskit/advanced/aqua/finance/data_providers/time_series.ipynb +++ b/qiskit/advanced/aqua/finance/data_providers/time_series.ipynb @@ -398,6 +398,55 @@ "source": [ "For the actual use of the data, please see the portfolio_optimization or portfolio_diversification notebooks. " ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:53:39.420765Z", + "start_time": "2019-08-22T01:53:39.409542Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:53:39 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -416,7 +465,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/machine_learning/.ipynb_checkpoints/qgan_option_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/machine_learning/.ipynb_checkpoints/qgan_option_pricing-checkpoint.ipynb new file mode 100644 index 000000000..29057daf4 --- /dev/null +++ b/qiskit/advanced/aqua/finance/machine_learning/.ipynb_checkpoints/qgan_option_pricing-checkpoint.ipynb @@ -0,0 +1,351 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: qGAN Option Pricing*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Christa Zoufal[1,2], Stefan Woerner[1]\n", + "### Affliation\n", + "- [1]IBMQ\n", + "- [2]ETH Zurich\n", + "\n", + "### Introduction\n", + "In this notebook, we discuss how a Quantum Machine Learning Algorithm, namely a quantum Generative Adversarial Network (qGAN), can facilitate the pricing of a European call option. More specifically, a qGAN can be trained such that a quantum circuit models the spot price of an asset underlying a European call option. The resulting model can then be integrated into a Quantum Amplitude Estimation based algorithm to evaluate the expected payoff - see [European Call Option Pricing](../simulation/european_call_option_pricing.ipynb).
\n", + "For further details on learning and loading random distributions by training a qGAN please refer to Quantum Generative Adversarial Networks for Learning and Loading Random Distributions. Zoufal, Lucchi, Woerner. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "from qiskit.aqua.components.uncertainty_problems import EuropeanCallExpectedValue\n", + "from qiskit.aqua.components.uncertainty_models import UnivariateVariationalDistribution, NormalDistribution\n", + "from qiskit.aqua.components.variational_forms import RY\n", + "from qiskit import QuantumRegister, QuantumCircuit\n", + "from qiskit.aqua.components.initial_states import Custom\n", + "\n", + "from qiskit.aqua import aqua_globals, QuantumInstance\n", + "\n", + "from qiskit import BasicAer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "The Black-Scholes model assumes that the spot price at maturity $S_T$ for a European call option is log-normally distributed. Thus, we can train a qGAN on samples from a log-normal distribution and use the result as uncertainty model underlying the option. A notebook that explains the implementation of a qGAN to learn and load a random distribution is presented in [qGANs for Loading Random Distributions](../../aqua/artificial_intelligence/qgans_for_loading_random_distributions.ipynb).
\n", + "In the following, we construct a quantum circuit that loads the uncertainty model. The circuit output reads \n", + "\n", + "$$ \\big| g_{\\theta}\\rangle = \\sum_{j=0}^{2^n-1}\\sqrt{p_{\\theta}^{j}} \\big| j \\rangle , $$\n", + "\n", + "where the probabilites $p_{\\theta}^{j}$, for $j\\in \\left\\{0, \\ldots, {2^n-1} \\right\\}$, represent a model of the target distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "# Set upper and lower data values\n", + "bounds = np.array([0.,7.])\n", + "# Set number of qubits used in the uncertainty model\n", + "num_qubits = [3]\n", + "\n", + "# Set entangler map\n", + "entangler_map = []\n", + "for i in range(sum(num_qubits)):\n", + " entangler_map.append([i, int(np.mod(i+1, sum(num_qubits)))])\n", + "\n", + "# Load the trained circuit parameters\n", + "g_params = [0.29399714, 0.38853322, 0.9557694, 0.07245791, 6.02626428, 0.13537225]\n", + "# Set an initial state for the generator circuit\n", + "init_dist = NormalDistribution(int(sum(num_qubits)), mu=1., sigma=1., low=bounds[0], high=bounds[1])\n", + "init_distribution = np.sqrt(init_dist.probabilities)\n", + "init_distribution = Custom(num_qubits=sum(num_qubits), state_vector=init_distribution)\n", + "# Set variational form\n", + "var_form = RY(int(np.sum(num_qubits)), depth=1, initial_state=init_distribution,\n", + " entangler_map=entangler_map, entanglement_gate='cz')\n", + "# Set generator circuit\n", + "g_circuit = UnivariateVariationalDistribution(int(sum(num_qubits)), var_form, g_params,\n", + " low=bounds[0], high=bounds[1])\n", + "# construct circuit factory for uncertainty model\n", + "uncertainty_model = g_circuit\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff\n", + "Now, the trained uncertainty model can be used to evaluate the expectation value of the option's payoff function with Quantum Amplitude Estimation." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# set the strike price (should be within the low and the high value of the uncertainty)\n", + "strike_price = 2\n", + "\n", + "# set the approximation scaling for the payoff function\n", + "c_approx = 0.25\n", + "\n", + "# construct circuit factory for payoff function\n", + "european_call = EuropeanCallExpectedValue(\n", + " uncertainty_model,\n", + " strike_price=strike_price,\n", + " c_approx=c_approx\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the probability distribution\n", + "Next, we plot the trained probability distribution and, for reasons of comparison, also the target probability distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAESCAYAAAC7NAEnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xl8VOX1+PHPSQgkYQk7yr4oO8guCrKIRcUqoiL+0CJ111ptVVpLreJS61KX2mr52motrYpacataFSEgsskSlR2RHRUIBAhJIGHO749nEiY3k2QmmWRmyHm/XnnB3Ln3zpkQcubZziOqijHGGFPdEqIdgDHGmJrJEpAxxpiosARkjDEmKiwBGWOMiQpLQMYYY6LCEpAxxpiosARkjDEmKiwBGWOMiYqoJyAR6S4in4pIjojsEpEHRCSxnGt6iMj//OcfEZFtIvJ3ETk5yLljReRrEckTkTUiMqHq3o0xxphQ1Yrmi4tII2A2sAYYC3QCnsAlxnvKuDQN2AzMAHYBHYD7gP4iMlBVC/z3Hwq8CTwH3AaMAV4Vkf2q+nF58TVt2lTbt29fsTfncfjwYerWrRuRe1WleIkT4idWizOy4iVOiJ9YIxnn8uXL96pqs5BOVtWofQG/AfYDDQKO/QrICTwW4r1+BCjQL+DYR8Acz3kfAAtCuWf//v01UubOnRuxe1WleIlTNX5itTgjK17iVI2fWCMZJ7BMQ/y9He0uuPOBj1T1YMCxmUAKMDzMe2X6/6wNICJ1gJHA657zZgJniEha+OEaY4yJlGgnoK7AusADqroN1wLqWt7FIpIgIrVFpAvwCPAFsNT/dCcgyXt/YC3ufXeuXOjGGGMqQzSK1bBFJB+YoqpPe47vAGao6tRyrv8fcK7/4XJgjKru9j83BFgA9FXVjIBrTgE2AudqkHEgEbkBuAGgRYsW/WfOnFnRt1dMdnY29erVi8i9qlK8xAnxE6vFGVnxEifET6yRjHPkyJHLVXVAKOdGdRJCBPwcaAycipu08KGIDFHVvIreUFWfB54HGDBggI4YMSIScZKenk6k7lWV4iVOiJ9YT6Q48/Pz2bFjB3l5Ff4vVmlpaWkkJydH7fXDES+xViTO5ORkWrduTVJSUoVfN9oJaD9uRptXI/9zZVLVjf6/LhGRz3Az4yYCLwZc771/o4DXNsaEYceOHdSvX5/27dsjIlGJ4dChQ9SvXz8qrx2ueIk13DhVlczMTHbs2EGHDh0q/LrRHgNah2esR0TaAKmUHLspk6puBfYBHf2HNgH53vv7H/uADRWI15gaLS8vjyZNmpSbfFRhyUEYvxrqzoeEdPfn5ath6UH3vIlfIkKTJk0q3RKOdgL6EDhXRAJT7wQgF5gXzo38ExGa4FpBqOoRYC4w3nPqBGCRqh6oaNDG1GTlJZ98H0xcC2dnwKw9kONz6yNyfPDmHnd84lp3nolfkWgBR7sLbjpugegsEXkU13qZBjwZODVbRL4B5qnqtf7HfwQKgCVAFtANt35oE26adaEHgXQReRp4G7cQdQxwXtW+LWNqJlWYtA7e3esSjpcPOOyDd/a6817pBlHqyTMxIKotIFXdD4wCEoH3gPuBp3BVDQLV8p9TaBlwFvAC8D4uib0JDFbVwwH3XwBcBpyDW5R6ETAx2Oy3mursW7YV+9qw7WiJY8aEaukheK+U5BMo1+fO++JQePfPysrib3/7W8UDDEN6ejoLFy4M6dz27duzd+9eAM4888wyz3344YfLfH7MmDFkZWWxZcsWevbsGVqwft6Yp0+fzowZM8K6R3WKdgsIVV0DnF3OOe09j2dSvKVT1rVv41o/xpgIkfTK3+OwD05fEfw5HRH8eFZWFn//+9+54447Qn6dolX3CeF93k5PT6devXrlJhSv8pLWww8/zNSpJVeYFMb5wQcfAO69hssb80033RT2PapTtMeAjDEmZHfffTebN2+mT58+TJkyhezsbEaNGkW/fv3o1asX77zzDgBbtmyhS5cuTJo0iZ49e7J9+3ZeeOEFOnfuzKBBg7j++uu59dZbAdizZw+XXnopAwcOZODAgXz++eds2bKF6dOn89RTT9GnTx8+++yzYnFkZmYyevRoevTowXXXXUfgesrC9TTfffcd5513Hn369KFnz5589tln3H333eTm5tKnTx+uvPLKoHEGtqYKCgq48sor6datG5dddhk5OTlA8RbXsmXLGDFiRNCYp02bxh//+EcAMjIyGDx4ML1792bcuHHs3+8mAo8YMYJ7772XQYMG0blz5xLvtSpZAjLGxI1HHnmEDh06kJGRweOPP05ycjJvvfUWK1asYO7cudx5551FyWDjxo3ccsstrF69mqSkJB588EEWL17M559/zrp1xyfZ3n777fzyl7/kiy++4M033+S6666jffv23HTTTfzyl78kIyODs846q1gc999/P0OHDmX16tWMGzeObdtKdlW/8sorjBo1ioyMDL788kv69OnDI488QkpKChkZGbz88ssl4mzXrl2xe6xfv55bbrmFtWvX0qBBA5577rlSvzflxTxp0iQeffRRvvrqK3r16sX9999f9FxBQQFLly7l6aefLna8qkW9C84YYypKVZk6dSrz588nISGBnTt38sMPPwDQrl07Bg8eDMDSpUsZPnw4jRs3BmD8+PFs2OBWYsyePZs1a9YU3fPgwYNkZ2eX+brz589n1qxZAFxwwQU0atSoxDkDBw5k8uTJJCQkcPHFF9OnT5+g9wqM06tNmzYMGTIEgKuuuopnnnmGu+66q8zYgjlw4ABZWVkMH+5KbF599dWMH398gvBFF10EQP/+/dmyZUvY968oS0DGmLCVNkZz+Wo31TqUGdYJwGXN4LUeFY/j5ZdfZs+ePSxfvpykpCTat29ftDYl1O0FfD4fixcvjnjFgmHDhvG///2PefPmMXnyZO644w4mTZpU4ryy4vROdS58XKtWLXw+912ORFWK2rVrA5CYmEhBQUGl7xcq64Kr4RQ40Lg2q85oyrxLWnNjmx8x75LWrBrchIONa2PrBU047mwDKSH+VklOcOeHo379+sVaJwcOHKB58+YkJSUxd+5ctm7dGvS6gQMHMm/ePPbv309BQQFvvvlm0XOjR4/mz3/+c9HjjIyMotc6dCj4NL1hw4bxyiuvAPDhhx8WjacE2rp1K82bN+f666/nuuuuY8UKN+MiKSmJ/Pz8kN7vtm3bWLRoEeC69IYOHQq47rbly5cDFHsvpcWclpZGo0aNisZ3/vWvfxW1hqLJElANlu+DNac3IWNEc/a0SsFXKwFE8NVKYE/rVFaOaM6a05vYgkETskH14cKm5SehlAS4qCkMDLNKTZMmTTj99NPp2bMnU6ZM4corr2TZsmX06tWLGTNm0LVr8CL6rVq1YurUqQwaNIghQ4bQvn170tJcla5nnnmGZcuW0bt3b7p378706dMBuPDCC3nrrbeCTkK47777mD9/Pj169GDWrFm0bdu2xGump6dz5pln0rdvX1577TVuv/12AG644QZ69+7NlVdeWe777dKlC88++yzdunVj//793HzzzUWvf/vttzNgwAASE4+vUCkr5n/+859MmTKF3r17k5GRwb333lvu61e1qFbDjnUDBgzQZcuWReResVaQUtWtRn99l88lnlIkFPi4vGVCTC4YjLXvaWlOpDjXrl1Lt27dyjwn3+cWmb631633Cfz8koBr+VzUFGZ0haQKfASuaH21worPBQUFjBs3jmuuuYZx48aFH0AYTtRacIWC/TyISMjVsK0FVEMVLhgsK/mAe74iCwZNzZWU4CoczOkDlzaDugnuF03dBDfmk94HXu1eseRTGdOmTSuaEt2hQwcuvvji6g3AlGCTEGqoJ7a7T6ehyPW58yszWGxqFhEY1ABej6GfmcL1MCZ2WAuohno/M7SZSuDOez+z3NOMMSYsloBqqFBbPxU93xhjymMJqIYKdapsRc83xpjy2K+VGuqCJuH94w9rWGWhGGNqKJuEUEPd2QY+yHQViUMxP8uNA13QpGrjMvEl0tt1zHmu5HqaQFlZWbz44othVcMuNGbMGF555RUaNqz8p6l69eqVW65n2rRpJCUl8dvf/pZ7772XYcOGcc455wQ99+2336Zz585079496PPTp08nNTWVSZMmMWLECP74xz8yYEBIM53JysrilVde4ZZbbgFg165d3HbbbfznP/8J6fqqZC2gGqpwwWBCQWgZ6LAPLvwaHtoCPls6ZqKkcDuGYMorIfPBBx9EJPlUxAMPPFBq8gGXgALr0QUqKCjgpptuClrGJxRZWVnFipi2bNkyJpIPWAKqsUTcQsBGP5RSR8qnJTKNAr/bAuNXw6HqKxdlTBHvdgzp6emcddZZXHTRRUWth4svvpj+/fvTo0cPnn/++aJrC7cw2LJlC926deP666+nR48ejB49mtzcXAA2bdrEeeedR//+/TnrrLOKqmZv3ryZM844g169enHPPfeUGt/vf/97OnfuzNChQ1m/fn3R8cmTJxf90r/77rvp3r07vXv35q677mLhwoW8++67TJkyhT59+rBp0yZGjBjBL37xCwYMGMCf/vSnYtsqgCulU7imaenSpQAlzunZsydbtmzh7rvvZtOmTUXfs8CN7vLy8vjpT3/K4MGD6du3L3PnzgXgpZde4pJLLuG8887j1FNP5Ve/+lXF/9HKYF1wNVhSAjT+Po/MVqnHD6qScExpsiuXNusPcbBpHTb3bcSxgOtm7YX1K+DtnnBKaonbGlNlHnnk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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#trained probability distribution\n", + "init_distribution = np.sqrt(init_dist.probabilities)\n", + "init_distribution = Custom(num_qubits=sum(num_qubits), state_vector=init_distribution)\n", + "var_form = RY(int(np.sum(num_qubits)), depth=1, initial_state=init_distribution,\n", + " entangler_map=entangler_map, entanglement_gate='cz')\n", + "g_circuit = UnivariateVariationalDistribution(int(sum(num_qubits)), var_form, g_params, low=bounds[0], high=bounds[1])\n", + "uncertainty_model = g_circuit\n", + "uncertainty_model.set_probabilities(QuantumInstance(BasicAer.get_backend('statevector_simulator')))\n", + "x = uncertainty_model.values\n", + "y = uncertainty_model.probabilities\n", + "#target probability distribution\n", + "N = 100000\n", + "log_normal = np.random.lognormal(mean=1, sigma=1, size=N)\n", + "log_normal = np.round(log_normal)\n", + "log_normal = log_normal[log_normal <= 7]\n", + "\n", + "log_normal_samples = []\n", + "for i in range(8):\n", + " log_normal_samples += [np.sum(log_normal==i)]\n", + "log_normal_samples = np.array(log_normal_samples / sum(log_normal_samples))\n", + "\n", + "\n", + "plt.bar(x, y, width=0.2, label='trained distribution', color='royalblue')\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.grid()\n", + "plt.xlabel('Spot Price at Maturity $S_T$ (\\$)', size=15)\n", + "plt.ylabel('Probability ($\\%$)', size=15)\n", + "plt.plot(log_normal_samples,'-o', color ='deepskyblue', label='target distribution', linewidth=4, markersize=12)\n", + "plt.legend(loc='best')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff\n", + "Now, the trained uncertainty model can be used to evaluate the expectation value of the option's payoff function analytically and with Quantum Amplitude Estimation." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Analytically calculated expected payoff w.r.t. the target distribution: 1.0585480647564538\n", + "Analytically calculated expected payoff w.r.t. the trained distribution: 0.980530833264945\n", + "Expected payoff calculated with Quantum Amplitude Estimation: \t1.2580\n", + "Probability: \t0.8785\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "payoff = np.array([0,0,0,1,2,3,4,5])\n", + "ep = np.dot(log_normal_samples, payoff)\n", + "print(\"Analytically calculated expected payoff w.r.t. the target distribution: \", ep)\n", + "ep_trained = np.dot(y, payoff)\n", + "print(\"Analytically calculated expected payoff w.r.t. the trained distribution: \", ep_trained)\n", + "\n", + "# set number of evaluation qubits (samples)\n", + "m = 5\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, european_call)\n", + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))\n", + "print('Expected payoff calculated with Quantum Amplitude Estimation: \\t%.4f' % result['estimation'])\n", + "print('Probability: \\t%.4f' % result['max_probability'])\n", + "\n", + "# plot exact payoff function (evaluated on the grid of the trained uncertainty model)\n", + "x = uncertainty_model.values\n", + "y_strike = np.maximum(0, x - strike_price)\n", + "plt.plot(x, y_strike, 'ro-')\n", + "plt.grid()\n", + "plt.title('Payoff Function', size=15)\n", + "plt.xlabel('Spot Price', size=15)\n", + "plt.ylabel('Payoff', size=15)\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:01.044610Z", + "start_time": "2019-08-22T01:54:01.034169Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:01 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/machine_learning/qgan_option_pricing.ipynb b/qiskit/advanced/aqua/finance/machine_learning/qgan_option_pricing.ipynb index 9907b6f0d..29057daf4 100644 --- a/qiskit/advanced/aqua/finance/machine_learning/qgan_option_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/machine_learning/qgan_option_pricing.ipynb @@ -248,6 +248,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:01.044610Z", + "start_time": "2019-08-22T01:54:01.034169Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:01 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -272,7 +314,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_diversification-checkpoint.ipynb b/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_diversification-checkpoint.ipynb new file mode 100644 index 000000000..bd7f2b3ac --- /dev/null +++ b/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_diversification-checkpoint.ipynb @@ -0,0 +1,783 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Portfolio diversification*_\n", + "\n", + "The latest version of this notebook is available on https://github.com/qiskit/qiskit-tutorial.\n", + "\n", + "***\n", + "### Contributors\n", + "Andrea Simonetto[1], Jakub Marecek[1], Martin Mevissen[1]\n", + "\n", + "### Affiliation\n", + "- [1]IBMQ\n", + "\n", + "\n", + "## Introduction \n", + "\n", + "In asset management, there are broadly two approaches: active and passive investment management. Within passive investment management, there are index-tracking funds and there are approaches based on portfolio diversification, which aim at representing a portfolio with large number of assets by a smaller number of representative stocks.\n", + "This notebook illustrates a portfolio diversification problem, which has recently become popular for two reasons:\n", + "1. it makes it possible to mimick the performance of an index (or a similarly large set of assets) with a limited budget, at limited transaction costs. That is: traditional index-tracking may purchase all assets in the index, ideally with the same weights as in the index. This may be impractical for a number of reasons: the total of even a single round lot per asset may amount to more than the assets under management, the large scale of the index-tracking problem with integrality constraints may render the optimisation problem difficult, and the transaction costs of the frequent rebalancing to adjust the positions to the weights in the index may render the approach expensive. Thus, a popular approach is to select a portfolio of $q$ assets that represent the market with $n$ assets, where $q$ is significantly smaller than $n$, but where the portfolio replicates the behaviour of the underlying market. To determine how to group assets into $q$ clusters and how to determine which $q$ assets should represent the $q$ clusters amounts to solving a large-scale optimization problem. In the following we describe the mathematical model for the portfolio diversification problem as introduced in [Cornuejols & Tutuncu, 2006] \n", + "2. it allows for similarity measures between time-series beyond the covariance matrix. Notice that traditionally, modern portfolio theory considers the covariance matrix as measure of similarity between the assets. As such, however, covariance matrix is imperfect. Consider, for instance, a company listed both in London and New York. Although both listings should be very similar, only parts of the time series of the prices of the two listings will overlap, because of the partial overlap of the times the markets open. Instead of covariance, one can consider, for example, dynamic time warping of [Berndt and Clifford, 1994] as a measure of similarity between two time series, which allows for the fact that for some time periods, the data are captured by only one of the time series, while for others, both time series exhibit the similarity due to the parallel evolution of the stock price.\n", + "\n", + "The overall workflow we demonstrate comprises:\n", + "\n", + "1. pick the ground set of assets. In our case, this is a small number of US stocks.\n", + "\n", + "2. load the time series capturing the evolution of the prices of assets. In our case, this is an simplistic load of adjusted daily closing price data from Wikipedia or Nasdaq or LSE or EuroNext, whereas in a real asset management, a much higher frequency may be considered.\n", + "\n", + "3. compute the pair-wise similarity among the time series. In our case, we run a linear-time approximation of the dynamic time warping, still on the classical computer.\n", + "\n", + "4. compute the actual portfolio of $q$ representative assets, based on the similarity measure. This step is run twice, actually. First, we obtain a reference value by a run of an IBM solver (IBM ILOG CPLEX or the Exact Eigensolver) on the classical computer. Second, we run an alternative, hybrid algorithm partly on the quantum computer.\n", + "\n", + "5. visualisation of the results. In our case, this is again a simplistic plot.\n", + "\n", + "In the following, we first explain the model used in (4) above, before we proceed with the installation of the pre-requisites and the data loading.\n", + "\n", + "\n", + "## The Model\n", + "\n", + "As discussed in [Cornuejols & Tutuncu, 2006], we describe a mathematical model that clusters assets into groups of similar ones and selects one representative asset from each group to be included in the index fund portfolio. The model is based on the following data, which we will discuss in more detail later:\n", + "\n", + "$$\n", + "\\rho_{ij} = \\textrm{similarity}\\, \\textrm{between}\\, \\textrm{stock}\\, i \\, \\textrm{and}\\, \\textrm{stock}\\, j.\n", + "$$\n", + "\n", + "For example, $\\rho_{ii} = 1$, $\\rho_{ij} \\leq 1$ for $i \\neq j$ and $\\rho_{ij}$ is larger for more similar stocks. An example of this is the correlation between the returns of stocks $i$ and $j$. But one could choose other similarity indices $\\rho_{ij}$.\n", + "\n", + "The problem that we are interested in solving is:\n", + "\n", + "$$\n", + "(M) \\quad f = \\max_{x_{ij}, y_{j}} \\,\\, \\sum_{i=1}^n \\sum_{j=1}^n \\rho_{ij} x_{ij}\n", + "$$\n", + "\n", + "subject to the clustering constraint:\n", + "\n", + "$$\n", + "\\sum_{j=1}^n y_j = q,\n", + "$$\n", + "\n", + "to consistency constraints:\n", + "\n", + "$$\n", + "\\sum_{j=1}^n x_{ij} = 1, \\,\\textrm{ for }\\, i = 1,\\ldots, n,\n", + "\\quad x_{ij} \\leq y_j,\\,\\textrm{ for }\\, i = 1,\\ldots, n; \\, j = 1,\\ldots, n,\n", + "\\quad x_{jj} = y_j,\\,\\textrm{ for }\\, j = 1,\\ldots, n,\n", + "$$\n", + "\n", + "and integral constraints:\n", + "\n", + "$$\n", + "\\quad x_{ij}, y_j \\in\\{0,1\\}, \\,\\textrm{ for }\\, i = 1,\\ldots, n; \\, j = 1,\\ldots, n.\n", + "$$\n", + "\n", + "The variables $y_j$ describe which stocks $j$ are in the index fund ($y_j = 1$ if $j$ is selected in the fund, $0$ otherwise). For each stock $i = 1,\\dots,n$, the variable $x_{ij}$ indicates which stock $j$ in the index fund is most similar to $i$ ($x_{ij} = 1$ if $j$ is the most similar stock in the index fund, $0$ otherwise).\n", + "\n", + "The first constraint selects $q$ stocks in the fund. The second constraint imposes that each stock $i$ has exactly one representative stock $j$ in the fund. The third and fourth constraints guarantee that stock $i$ can be represented by stock $j$ only if $j$ is in the fund. The objective of the model maximizes the similarity between the $n$ stocks and their representatives in the fund. Different cost functions can also be considered. \n", + "\n", + "Let us concatenate the decision variables in one vector \n", + "\n", + "$$\n", + "{\\bf z} = [x_{11},x_{12},\\ldots,x_{11}, x_{22},\\ldots,x_{nn}, y_{1},\\ldots,y_{n}],\n", + "$$\n", + "\n", + "whose dimension is ${\\bf z} \\in \\{0,1\\}^N$, with $N = n (n+1)$ and denote the optimal solution with ${\\bf z}^*$, and the optimal cost $f^*$. \n", + "\n", + "\n", + "## A Hybrid Approach\n", + "\n", + "Here, we demonstrate an approach that combines classical and quantum computing steps, following the quantum approximate optimization approach of Farhi, Goldstone, and Gutman (2014). \n", + "\n", + "### Construct a binary polynomial optimization\n", + "\n", + "From $(M)$ one can construct a binary polynomial optimization with equality constraints only, by substituting the $x_{ij} \\leq y_j$ inequality constraints with the equivalent equality constraints $x_{ij} (1- y_j) = 0$. Then the problem becomes:\n", + "\n", + "$$\n", + "(BPO) \\quad f = \\max_{x_{ij}, y_{j}} \\,\\, \\sum_{i=1}^n \\sum_{j=1}^n \\rho_{ij} x_{ij}\n", + "$$\n", + "\n", + "subject to the clustering constrain, the integral constraints, and the following modified consistency constraints:\n", + "\n", + "$$\\sum_{j=1}^n x_{ij} = 1, \\,\\textrm{ for }\\, i = 1,\\ldots, n,$$\n", + "$$\\quad x_{ij} (1- y_j) = 0,\\,\\textrm{ for }\\, i = 1,\\ldots, n; \\, j = 1,\\ldots, n,$$\n", + "$$\\quad x_{jj} = y_j,\\,\\textrm{ for }\\, j = 1,\\ldots, n.$$\n", + "\n", + "### Construct the Ising Hamiltonian\n", + "\n", + "We can now construct the Ising Hamiltonian (QUBO) by penalty methods (introducting a penalty coefficient $A$ for each equality constraint) as\n", + "\n", + "$$\n", + "(IH) \\quad H = \\sum_{i=1}^n \\sum_{j=1}^n \\rho_{ij} x_{ij} + A\\Big( \\sum_{j=1}^n y_j - q\\Big)^2 + \\sum_{i=1}^n A\\Big( \\sum_{j=1}^n x_{ij} - 1\\Big)^2 + \\sum_{j=1}^n A (x_{jj}-y_j)^2 +\\sum_{i=1}^n \\sum_{j=1}^n A \\left(x_{ij} (1- y_j)\\right).\n", + "$$\n", + "\n", + "### From Hamiltonian to Quadratic Programming (QP) formulation \n", + "\n", + "In the vector ${\\bf z}$, the Ising Hamiltonian elements can be rewritten as follows,\n", + "\n", + "First term:\n", + "\n", + "$$\n", + "\\sum_{i=1}^n \\sum_{j=1}^n \\rho_{ij} x_{ij} = [\\rho_{11},\\rho_{12},\\ldots,\\rho_{11}, \\rho_{22},\\ldots,\\rho_{nn}|{\\bf 0}_n ]{\\bf z} =: {\\bf c}_0^T {\\bf z}\n", + "$$\n", + "\n", + "Second term:\n", + "\n", + "$$\n", + "A\\Big( \\sum_{j=1}^n y_j - q\\Big)^2 = A \\Big(\\sum_{j=1}^n y_j\\Big)^2 - 2 A \\sum_{j=1}^n y_j + A q^2 = A {\\bf z}^T \\left[\\begin{array}{c}{\\bf 0}_{n^2} \\\\ \\hline {\\bf 1}_n \\end{array}\\right]\\left[\\begin{array}{cc}{\\bf 0}_{n^2} | {\\bf 1}_n \\end{array}\\right]{\\bf z} - 2 A q [{\\bf 0}_{n^2}|{\\bf 1}_n]{\\bf z} + A q^2 =: {\\bf z}^T {\\bf Q}_0 {\\bf z} + {\\bf c}_1^T {\\bf z} + r_0\n", + "$$\n", + "\n", + "Third term:\n", + "\n", + "$$\n", + "\\sum_{i=1}^n A\\Big( \\sum_{j=1}^n x_{ij} - 1\\Big)^2 = A\\sum_{i=1}^n \\Big(\\sum_{j=1}^n x_{ij}\\Big)^2 - 2 A \\sum_{i=1}^n\\sum_{j=1}^n x_{ij} + n A = \\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad $$\n", + "\n", + "which is equivalent to: \n", + "\n", + "$$\n", + "\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad = A {\\bf z}^T \\left(\\sum_{i=1}^n \\left[\\begin{array}{c}{\\bf 0}_{n(i-1)} \\\\ {\\bf 1}_n \\\\ {\\bf 0}_{n(n-i)} \\\\ \\hline {\\bf 0}_{n} \\end{array}\\right]\\left[\\begin{array}{cccc}{\\bf 0}_{n(i-1)} & {\\bf 1}_n & {\\bf 0}_{n(n-i)} & | {\\bf 0}_{n} \\end{array}\\right]\\right){\\bf z} - 2 A [{\\bf 1}_{n^2}|{\\bf 0}_n]{\\bf z} + n A =: {\\bf z}^T {\\bf Q}_1 {\\bf z} + {\\bf c}_2^T {\\bf z} + r_1\n", + "$$\n", + "\n", + "Fourth term:\n", + "\n", + "$$\n", + "A \\sum_{j=1}^n (x_{jj}-y_j)^2 = A {\\bf z}^T \\left(\\sum_{j=0}^{n-1} \\left[\\begin{array}{c}{\\bf 0}_{nj + j} \\\\ 1 \\\\ {\\bf 0}_{n^2-(nj+j+1)} \\\\ \\hline {\\bf 0}_{j} \\\\ -1 \\\\ {\\bf 0}_{n-j-1} \\end{array}\\right]\\left[\\begin{array}{cccccc}{\\bf 0}_{nj + j} & 1 & {\\bf 0}_{n^2-(nj+j+1)} & | {\\bf 0}_{j} & -1 & {\\bf 0}_{n-j-1} \\end{array}\\right]\\right){\\bf z} = A {\\bf z}^T {\\bf Q}_2 {\\bf z}\n", + "$$\n", + "\n", + "Fifth term:\n", + "\n", + "$$\n", + "\\sum_{i=1}^n \\sum_{j=1}^n A \\left(x_{ij} (1- y_j)\\right) = A [{\\bf 1}_{n^2}|{\\bf 0}_n]{\\bf z} + A {\\bf z}^T \\left( \\sum_{i=1}^n \\sum_{j=1}^n \\left[\\begin{array}{ccc|c} & & & \\\\ & {\\bf 0}_{n^2\\times n^2} & & -1/2_{(ij,j)} \\\\ & & & \\\\ \\hline & -1/2_{(j, ij)} & & {\\bf 0}_{n} \\end{array}\\right] \\right) {\\bf z} =: {\\bf z}^T {\\bf Q}_3 {\\bf z} + {\\bf c}_3^T {\\bf z}\n", + "$$\n", + "\n", + "Therefore, the formulation becomes,\n", + "\n", + "$$\n", + "(IH-QP)\\quad \\max_{{\\bf z}\\in\\{0,1\\}^{n(n+1)}} \\, {\\bf z}^T ({\\bf Q}_0+{\\bf Q}_1+ {\\bf Q}_2 + {\\bf Q}_3 ){\\bf z} + ({\\bf c}_0+{\\bf c}_1+{\\bf c}_2+{\\bf c}_3)^T {\\bf z} +r_0+r_1+r_2$$\n", + "\n", + "which can be passed to variational quantum eigensolver. \n", + "\n", + "\n", + "\n", + "## References\n", + "\n", + "[1] G. Cornuejols, M. L. Fisher, and G. L. Nemhauser, *Location of bank accounts to optimize float: an analytical study of exact and approximate algorithms*, Management Science, vol. 23(8), 1997\n", + "\n", + "[2] E. Farhi, J. Goldstone, S. Gutmann e-print arXiv 1411.4028, 2014\n", + "\n", + "[3] G. Cornuejols and R. Tutuncu, *Optimization methods in finance*, 2006\n", + "\n", + "[4] DJ. Berndt and J. Clifford, *Using dynamic time warping to find patterns in time series*. In KDD workshop 1994 (Vol. 10, No. 16, pp. 359-370).\n", + "\n", + "[5] https://github.com/Qiskit/qiskit-tutorial/blob/master/qiskit/aqua/optimization/maxcut_and_tsp.ipynb" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The Implementation\n", + "\n", + "First, we import the requisite modules." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Import requisite modules\n", + "import math\n", + "import operator\n", + "import logging\n", + "import traceback\n", + "import datetime\n", + "import sys\n", + "import warnings\n", + "warnings.filterwarnings(\"error\") \n", + "warnings.filterwarnings(\"ignore\", category=DeprecationWarning)\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "# Import Qiskit packages\n", + "warnings.filterwarnings('ignore')\n", + "import qiskit \n", + "from qiskit import BasicAer\n", + "from qiskit.aqua import QuantumInstance\n", + "from qiskit.aqua import Operator, run_algorithm\n", + "from qiskit.aqua.input import EnergyInput\n", + "from qiskit.aqua.algorithms import VQE, QAOA, ExactEigensolver\n", + "from qiskit.aqua.components.optimizers import COBYLA\n", + "from qiskit.aqua.components.variational_forms import RY\n", + "# setup aqua logging\n", + "from qiskit.aqua._logging import set_logging_config, build_logging_config\n", + "# set_logging_config(build_logging_config(logging.DEBUG)) # choose INFO, DEBUG to see the log\n", + "\n", + "# The data providers of stock-market data\n", + "from qiskit.aqua.translators.data_providers import *\n", + "from qiskit.aqua.translators.ising import portfolio_diversification" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we download price data for two stocks and compute their pair-wise similarity matrix (dynamic time warping distance normalised to (0,1] by taking the reciprocal). If this fails, e.g., due to your being offline or exeeding the daily limit for accesses to the stock-market data, we consider a constant matrix instead." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Generate a pairwise time-series similarity matrix\n", + "stocks = [\"TICKER1\", \"TICKER2\"]\n", + "n = len(stocks)\n", + "rho = np.ones((n,n))\n", + "rho[0,1] = 0.8\n", + "rho[1,0] = 0.8\n", + "\n", + "data = RandomDataProvider(tickers = stocks,\n", + " start = datetime.datetime(2016,1,1),\n", + " end = datetime.datetime(2016,1,30))\n", + "data.run()\n", + "rho = data.get_similarity_matrix()\n", + "\n", + "# Actually, we consider the additive inverse to invert the direction of optimisation. \n", + "rho = -1 * rho" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we decide on the number of clusters. This has to be smaller than the number of stocks we have loaded." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "q = 1 # q less or equal than n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Classical solution using IBM ILOG CPLEX\n", + "\n", + "For a classical solution, we use IBM CPLEX. CPLEX is able to find the exact solution of this problem. We first define a ClassicalOptimizer class that encodes the problem in a way that CPLEX can solve, and then instantiate the class and solve it. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "class ClassicalOptimizer:\n", + " def __init__(self, rho, n, q):\n", + "\n", + " self.rho = rho\n", + " self.n = n # number of inner variables\n", + " self.q = q # number of required selection\n", + "\n", + " def compute_allowed_combinations(self):\n", + " f = math.factorial\n", + " return int(f(self.n) / f(self.q) / f(self.n - self.q))\n", + "\n", + " def cplex_solution(self):\n", + "\n", + " # refactoring\n", + " rho = self.rho\n", + " n = self.n\n", + " q = self.q\n", + "\n", + " my_obj = list(rho.reshape(1, n ** 2)[0]) + [0. for x in range(0, n)]\n", + " my_ub = [1 for x in range(0, n ** 2 + n)]\n", + " my_lb = [0 for x in range(0, n ** 2 + n)]\n", + " my_ctype = \"\".join(['I' for x in range(0, n ** 2 + n)])\n", + "\n", + " my_rhs = [q] + [1 for x in range (0, n)] +[0 for x in range (0, n)] + [0.1 for x in range(0, n ** 2)]\n", + " my_sense = \"\".join(['E' for x in range(0, 1+n)]) + \"\".join(['E' for x in range(0, n)]) + \"\".join(\n", + " ['L' for x in range(0, n ** 2)])\n", + "\n", + " try:\n", + " my_prob = cplex.Cplex()\n", + " self.populatebyrow(my_prob, my_obj, my_ub, my_lb, my_ctype, my_sense, my_rhs)\n", + "\n", + " my_prob.solve()\n", + "\n", + " except CplexError as exc:\n", + " print(exc)\n", + " return\n", + "\n", + " x = my_prob.solution.get_values()\n", + " x = np.array(x)\n", + " cost = my_prob.solution.get_objective_value()\n", + "\n", + " return x, cost\n", + "\n", + " def populatebyrow(self, prob, my_obj, my_ub, my_lb, my_ctype, my_sense, my_rhs):\n", + "\n", + " n = self.n\n", + "\n", + " prob.objective.set_sense(prob.objective.sense.minimize)\n", + " prob.variables.add(obj=my_obj, lb=my_lb, ub=my_ub, types=my_ctype)\n", + "\n", + " prob.set_log_stream(None)\n", + " prob.set_error_stream(None)\n", + " prob.set_warning_stream(None)\n", + " prob.set_results_stream(None)\n", + "\n", + " rows = []\n", + " col = [x for x in range(n**2, n**2+n)]\n", + " coef = [1 for x in range(0, n)]\n", + " rows.append([col, coef])\n", + "\n", + " for ii in range(0, n):\n", + " col = [x for x in range(0+n*ii, n+n*ii)]\n", + " coef = [1 for x in range(0, n)]\n", + "\n", + " rows.append([col, coef])\n", + "\n", + " for ii in range(0, n):\n", + " col = [ii * n + ii, n ** 2 + ii]\n", + " coef = [1, -1]\n", + " rows.append([col, coef])\n", + "\n", + " for ii in range(0, n):\n", + " for jj in range(0, n):\n", + " col = [ii*n + jj, n ** 2 + jj]\n", + " coef = [1, -1]\n", + "\n", + " rows.append([col, coef])\n", + " \n", + " prob.linear_constraints.add(lin_expr=rows, senses=my_sense, rhs=my_rhs)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of feasible combinations= 2\n", + "Total number of combinations= 64\n" + ] + } + ], + "source": [ + "# Instantiate the classical optimizer class\n", + "classical_optimizer = ClassicalOptimizer(rho, n, q)\n", + "\n", + "# Compute the number of feasible solutions:\n", + "print('Number of feasible combinations= ' + str(classical_optimizer.compute_allowed_combinations()))\n", + "\n", + "# Compute the total number of possible combinations (feasible + unfeasible)\n", + "print('Total number of combinations= ' + str(2 ** (n*(n+1))))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Visualize the solution\n", + "def visualize_solution(xc, yc, x, C, n, K, title_str):\n", + " plt.figure()\n", + " plt.scatter(xc, yc, s=200)\n", + " for i in range(len(xc)):\n", + " plt.annotate(i, (xc[i] + 0.015, yc[i]), size=16, color='r')\n", + " \n", + " plt.grid()\n", + "\n", + " for ii in range(n ** 2, n **2 + n):\n", + "\n", + " if x[ii] > 0:\n", + " plt.plot(xc[ii-n**2], yc[ii-n**2], 'r*', ms=20)\n", + "\n", + " for ii in range(0, n ** 2):\n", + "\n", + " if x[ii] > 0:\n", + " iy = ii // n\n", + " ix = ii % n\n", + " plt.plot([xc[ix], xc[iy]], [yc[ix], yc[iy]], 'C2')\n", + "\n", + " plt.title(title_str +' cost = ' + str(int(C * 100) / 100.))\n", + " plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Solution shows the selected stocks via the stars and in green the links (via similarities) with other stocks that are represented in the fund by the linked stock. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Quantum Computing with IBM Q\n", + "\n", + "For the quantum solution, we use Qiskit. We first define a class QuantumOptimizer that encodes the quantum approach to solve the problem and then we instantiate it and solve it. We define the following methods inside the class:\n", + "\n", + "- `exact_solution` : to make sure that the Ising Hamiltonian is correctly encoded in the $Z$ basis, we can compute its eigendecomposition classicaly, i.e., considering a symmetric matrix of dimension $2^N \\times 2^N$. For the problem at hand $n=3$, that is $N = 12$ seems the limit for many laptops; \n", + "- `vqe_solution` : solves the problem $(M)$ via the variational quantum eigensolver (VQE);\n", + "- `qaoa_solution` : solves the problem $(M)$ via a Quantum Approximate Optimization Algorithm (QAOA)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "class QuantumOptimizer:\n", + "\n", + " def __init__(self, rho, n, q):\n", + "\n", + " self.rho = rho\n", + " self.n = n\n", + " self.q = q\n", + "\n", + " # Obtains the least eigenvalue of the Hamiltonian classically\n", + " def exact_solution(self):\n", + " qubitOp = portfolio_diversification.get_portfoliodiversification_qubitops(self.rho, self.n, self.q)\n", + " algo_input = EnergyInput(qubitOp)\n", + " algorithm_cfg = {\n", + " 'name': 'ExactEigensolver',\n", + " }\n", + " params = {\n", + " 'problem': {'name': 'ising'},\n", + " 'algorithm': algorithm_cfg\n", + " }\n", + " result = run_algorithm(params, algo_input)\n", + " return self.decode_result(result)\n", + "\n", + " def vqe_solution(self):\n", + " qubitOp = portfolio_diversification.get_portfoliodiversification_qubitops(self.rho, self.n, self.q)\n", + " backend = BasicAer.get_backend('statevector_simulator')\n", + " seed = 50\n", + " cobyla = COBYLA()\n", + " cobyla.set_options(maxiter=250)\n", + " ry = RY(qubitOp.num_qubits, depth=5, entanglement='full')\n", + " vqe = VQE(qubitOp, ry, cobyla, 'matrix')\n", + " vqe.random_seed = seed\n", + " quantum_instance = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed)\n", + " result = vqe.run(quantum_instance)\n", + " return self.decode_result(result)\n", + " \n", + " def qaoa_solution(self):\n", + " qubitOp = portfolio_diversification.get_portfoliodiversification_qubitops(self.rho, self.n, self.q)\n", + " backend = BasicAer.get_backend('statevector_simulator')\n", + " seed = 50\n", + " cobyla = COBYLA()\n", + " cobyla.set_options(maxiter=250)\n", + " qaoa = QAOA(qubitOp, cobyla, 3, 'matrix')\n", + " qaoa.random_seed = seed\n", + " quantum_instance = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed)\n", + " result = qaoa.run(quantum_instance)\n", + " return self.decode_result(result)\n", + "\n", + " def decode_result(self, result, offset = 0):\n", + " quantum_solution = portfolio_diversification.get_portfoliodiversification_solution(self.rho, self.n, self.q, result)\n", + " ground_level = portfolio_diversification.get_portfoliodiversification_value(self.rho, self.n, self.q, quantum_solution)\n", + " return quantum_solution, ground_level\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 1\n", + "\n", + "Instantiate the quantum optimizer class with parameters: \n", + "- the similarity matrix `rho`;\n", + "- the number of assets and clusters `n` and `q`;" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Instantiate the quantum optimizer class with parameters: \n", + "quantum_optimizer = QuantumOptimizer(rho, n, q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 2\n", + "\n", + "Encode the problem as a binary formulation (IH-QP).\n", + "\n", + "Sanity check: make sure that the binary formulation in the quantum optimizer is correct (i.e., yields the same cost given the same solution)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Check if the binary representation is correct. This requires CPLEX\n", + "try: \n", + " import cplex\n", + " warnings.filterwarnings('ignore')\n", + " quantum_solution, quantum_cost = quantum_optimizer.exact_solution()\n", + " classical_solution, classical_cost = classical_optimizer.cplex_solution()\n", + " print(quantum_cost, classical_cost)\n", + " if np.abs(quantum_cost - classical_cost) < 0.01:\n", + " print('Binary formulation is correct')\n", + " else: print('Error in the formulation of the Hamiltonian')\n", + "except: None" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 3\n", + "\n", + "Encode the problem as an Ising Hamiltonian in the Z basis. \n", + "\n", + "Sanity check: make sure that the formulation is correct (i.e., yields the same cost given the same solution)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 1 0 1 0 1]\n" + ] + } + ], + "source": [ + "ground_state, ground_level = quantum_optimizer.exact_solution()\n", + "print(ground_state)\n", + "\n", + "try:\n", + " if np.abs(ground_level - classical_cost)<0.01:\n", + " print('Ising Hamiltonian in Z basis is correct')\n", + " else: print('Error in the Ising Hamiltonian formulation')\n", + "except: None" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 4\n", + "\n", + "Solve the problem via VQE. Notice that depending on the number of qubits, this can take a while: for 6 qubits it takes 15 minutes on a 2015 Macbook Pro, for 12 qubits it takes more than 12 hours. For longer runs, logging may be useful to observe the workings; otherwise, you just have to wait until the solution is printed." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1 0 1 0 1 0]\n", + "VQE does not produce the same solution as the exact eigensolver, but that is to be expected.\n" + ] + } + ], + "source": [ + "warnings.filterwarnings('ignore')\n", + "vqe_state, vqe_level = quantum_optimizer.vqe_solution()\n", + "print(vqe_state)\n", + "\n", + "try:\n", + " if np.linalg.norm(ground_state - vqe_state)<0.01:\n", + " print('VQE produces the same solution as the exact eigensolver.')\n", + " else: print('VQE does not produce the same solution as the exact eigensolver, but that is to be expected.')\n", + "except: None" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step 5\n", + "Visualize the solution" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "xc, yc = data.get_coordinates()\n", + "visualize_solution(xc, yc, ground_state, ground_level, n, q, 'Classical')\n", + "visualize_solution(xc, yc, vqe_state, vqe_level, n, q, 'VQE')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Solution shows the selected stocks via the stars and in green the links (via similarities) with other stocks that are represented in the fund by the linked stock. Keep in mind that VQE is an heuristic working on the QP formulation of the Ising Hamiltonian, though. For suitable choices of A, local optima of the QP formulation will be feasible solutions to the ILP. While for some small instances, as above, we can find optimal solutions of the QP formulation which coincide with optima of the ILP, finding optimal solutions of the ILP is harder than finding local optima of the QP formulation, in general. Even within the VQE, one may provide stronger guarantees, for specific variational forms (trial wave functions). " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:27.014553Z", + "start_time": "2019-08-22T01:54:27.005205Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:27 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_optimization-checkpoint.ipynb b/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_optimization-checkpoint.ipynb new file mode 100644 index 000000000..d7d7dfb5b --- /dev/null +++ b/qiskit/advanced/aqua/finance/optimization/.ipynb_checkpoints/portfolio_optimization-checkpoint.ipynb @@ -0,0 +1,503 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# _*Qiskit Finance: Portfolio Optimization*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1], Shaohan Hu[1], Stephen Wood[1], Marco Pistoia[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "\n", + "This tutorial shows how to solve the following mean-variance portfolio optimization problem for $n$ assets:\n", + "\n", + "$\\begin{aligned}\n", + "\\min_{x \\in \\{0, 1\\}^n} q x^T \\Sigma x - \\mu^T x\\\\\n", + "\\text{subject to: } 1^T x = B\n", + "\\end{aligned}$\n", + "\n", + "where we use the following notation:\n", + "\n", + "- $x \\in \\{0, 1\\}^n$ denotes the vector of binary decision variables, which indicate which assets to pick ($x[i] = 1$) and which not to pick ($x[i] = 0$),\n", + "- $\\mu \\in \\mathbb{R}^n$ defines the expected returns for the assets,\n", + "- $\\Sigma \\in \\mathbb{R}^{n \\times n}$ specifies the covariances between the assets,\n", + "- $q > 0$ controls the risk appetite of the decision maker,\n", + "- and $B$ denotes the budget, i.e. the number of assets to be selected out of $n$.\n", + "\n", + "We assume the following simplifications:\n", + "- all assets have the same price (normalized to 1),\n", + "- the full budget $B$ has to be spent, i.e. one has to select exactly $B$ assets.\n", + "\n", + "The equality constraint $1^T x = B$ is mapped to a penalty term $(1^T x - B)^2$ which is scaled by a parameter and subtracted from the objective function. \n", + "The resulting problem can be mapped to a Hamiltonian whose groundstate corresponds to the optimal solution.\n", + "This notebook shows how to use the Variational Quantum Eigensolver (VQE) or the Quantum Approximate Optimization Algorithm (QAOA) to find the optimal solution for a given set of parameters.\n", + "\n", + "Experiments on real quantum hardware for this problem are reported for instance in the following paper:\n", + "
\n", + "Improving Variational Quantum Optimization using CVaR. Barkoutsos et al. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import BasicAer\n", + "from qiskit.aqua import QuantumInstance\n", + "from qiskit.aqua import Operator, run_algorithm\n", + "from qiskit.aqua.input import EnergyInput\n", + "from qiskit.aqua.translators.ising import portfolio\n", + "from qiskit.aqua.translators.data_providers import RandomDataProvider\n", + "from qiskit.aqua.algorithms import VQE, QAOA, ExactEigensolver\n", + "from qiskit.aqua.components.optimizers import COBYLA\n", + "from qiskit.aqua.components.variational_forms import RY\n", + "import numpy as np\n", + "import datetime" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Setup token to run the experiment on a real device\n", + "If you would like to run the experiement on a real device, you need to setup your account first.\n", + "\n", + "Note: If you do not store your token yet, use `IBMQ.save_account('MY_API_TOKEN')` to store it first." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import IBMQ\n", + "provider = IBMQ.load_account()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Define problem instance\n", + "\n", + "Here an Operator instance is created for our Hamiltonian. In this case the paulis are from an Ising Hamiltonian translated from the portfolio problem. We use a random portfolio problem for this notebook. It is straight-forward to extend this to using real financial data as illustrated here:
\n", + "[Loading and Processing Stock-Market Time-Series Data](../data_providers/time_series.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of assets (= number of qubits)\n", + "num_assets = 4\n", + "\n", + "# Generate expected return and covariance matrix from (random) time-series\n", + "stocks = [(\"TICKER%s\" % i) for i in range(num_assets)]\n", + "data = RandomDataProvider(tickers=stocks,\n", + " start=datetime.datetime(2016,1,1),\n", + " end=datetime.datetime(2016,1,30))\n", + "data.run()\n", + "mu = data.get_period_return_mean_vector()\n", + "sigma = data.get_period_return_covariance_matrix()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "q = 0.5 # set risk factor\n", + "budget = int(num_assets / 2) # set budget\n", + "penalty = num_assets # set parameter to scale the budget penalty term\n", + "\n", + "qubitOp, offset = portfolio.get_portfolio_qubitops(mu, sigma, q, budget, penalty)\n", + "algo_input = EnergyInput(qubitOp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We define some utility methods to print the results in a nice format." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def index_to_selection(i, num_assets):\n", + " s = \"{0:b}\".format(i).rjust(num_assets)\n", + " x = np.array([1 if s[i]=='1' else 0 for i in reversed(range(num_assets))])\n", + " return x\n", + "\n", + "def print_result(result):\n", + " selection = portfolio.sample_most_likely(result['eigvecs'][0])\n", + " value = portfolio.portfolio_value(selection, mu, sigma, q, budget, penalty)\n", + " print('Optimal: selection {}, value {:.4f}'.format(selection, value))\n", + "\n", + " probabilities = np.abs(result['eigvecs'][0])**2\n", + " i_sorted = reversed(np.argsort(probabilities))\n", + " print('\\n----------------- Full result ---------------------')\n", + " print('selection\\tvalue\\t\\tprobability')\n", + " print('---------------------------------------------------')\n", + " for i in i_sorted:\n", + " x = index_to_selection(i, num_assets)\n", + " value = portfolio.portfolio_value(x, mu, sigma, q, budget, penalty) \n", + " probability = probabilities[i]\n", + " print('%10s\\t%.4f\\t\\t%.4f' %(x, value, probability))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ExactEigensolver (as a classical reference)\n", + "Lets solve the problem. First classically...\n", + "\n", + "We can now use the Operator we built above without regard to the specifics of how it was created. To run an algorithm we need to prepare a configuration params dictionary. We set the algorithm for the ExactEigensolver so we can have a classical reference. The problem is set for 'ising'. Backend is not required since this is computed classically not using quantum computation. The params, along with the algo input containing the operator, are now passed to the algorithm to be run. The result is returned as a dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimal: selection [1 1 0 0], value -0.0068\n", + "\n", + "----------------- Full result ---------------------\n", + "selection\tvalue\t\tprobability\n", + "---------------------------------------------------\n", + " [1 1 0 0]\t-0.0068\t\t1.0000\n", + " [1 1 1 1]\t15.9945\t\t0.0000\n", + " [0 1 1 1]\t3.9954\t\t0.0000\n", + " [1 0 1 1]\t4.0000\t\t0.0000\n", + " [0 0 1 1]\t0.0010\t\t0.0000\n", + " [1 1 0 1]\t3.9926\t\t0.0000\n", + " [0 1 0 1]\t-0.0065\t\t0.0000\n", + " [1 0 0 1]\t-0.0017\t\t0.0000\n", + " [0 0 0 1]\t3.9993\t\t0.0000\n", + " [1 1 1 0]\t3.9951\t\t0.0000\n", + " [0 1 1 0]\t-0.0039\t\t0.0000\n", + " [1 0 1 0]\t0.0007\t\t0.0000\n", + " [0 0 1 0]\t4.0017\t\t0.0000\n", + " [0 1 0 0]\t3.9942\t\t0.0000\n", + " [1 0 0 0]\t3.9990\t\t0.0000\n", + " [0 0 0 0]\t16.0000\t\t0.0000\n" + ] + } + ], + "source": [ + "exact_eigensolver = ExactEigensolver(qubitOp, k=1)\n", + "result = exact_eigensolver.run()\n", + "\n", + "\"\"\" the equivalent if using declarative approach\n", + "algorithm_cfg = {\n", + " 'name': 'ExactEigensolver'\n", + "}\n", + "\n", + "params = {\n", + " 'problem': {'name': 'ising'},\n", + " 'algorithm': algorithm_cfg\n", + "}\n", + "result = run_algorithm(params, algo_input)\n", + "\"\"\"\n", + "\n", + "print_result(result)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solution using VQE\n", + "We can now use the Variational Quantum Eigensolver (VQE) to solve the problem. We will specify the optimizer and variational form to be used.\n", + "\n", + "Note: You can switch to different backends by providing the name of backend." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimal: selection [0 1 1 0], value -0.0039\n", + "\n", + "----------------- Full result ---------------------\n", + "selection\tvalue\t\tprobability\n", + "---------------------------------------------------\n", + " [0 1 1 0]\t-0.0039\t\t0.8805\n", + " [0 0 1 1]\t0.0010\t\t0.1186\n", + " [1 1 0 0]\t-0.0068\t\t0.0008\n", + " [1 0 0 1]\t-0.0017\t\t0.0001\n", + " [1 0 1 0]\t0.0007\t\t0.0001\n", + " [0 1 0 1]\t-0.0065\t\t0.0000\n", + " [0 0 0 1]\t3.9993\t\t0.0000\n", + " [1 1 0 1]\t3.9926\t\t0.0000\n", + " [0 1 0 0]\t3.9942\t\t0.0000\n", + " [1 0 1 1]\t4.0000\t\t0.0000\n", + " [1 1 1 1]\t15.9945\t\t0.0000\n", + " [1 0 0 0]\t3.9990\t\t0.0000\n", + " [0 0 1 0]\t4.0017\t\t0.0000\n", + " [0 1 1 1]\t3.9954\t\t0.0000\n", + " [0 0 0 0]\t16.0000\t\t0.0000\n", + " [1 1 1 0]\t3.9951\t\t0.0000\n" + ] + } + ], + "source": [ + "backend = BasicAer.get_backend('statevector_simulator')\n", + "seed = 50\n", + "\n", + "cobyla = COBYLA()\n", + "cobyla.set_options(maxiter=500)\n", + "ry = RY(qubitOp.num_qubits, depth=3, entanglement='full')\n", + "vqe = VQE(qubitOp, ry, cobyla)\n", + "vqe.random_seed = seed\n", + "\n", + "quantum_instance = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed)\n", + "\n", + "result = vqe.run(quantum_instance)\n", + "\n", + "\"\"\"declarative approach\n", + "algorithm_cfg = {\n", + " 'name': 'VQE',\n", + " 'operator_mode': 'matrix'\n", + "}\n", + "\n", + "optimizer_cfg = {\n", + " 'name': 'COBYLA',\n", + " 'maxiter': 500\n", + "}\n", + "\n", + "var_form_cfg = {\n", + " 'name': 'RY',\n", + " 'depth': 3,\n", + " 'entanglement': 'full'\n", + "}\n", + "\n", + "params = {\n", + " 'problem': {'name': 'ising', 'random_seed': seed},\n", + " 'algorithm': algorithm_cfg,\n", + " 'optimizer': optimizer_cfg,\n", + " 'variational_form': var_form_cfg\n", + "}\n", + "result = run_algorithm(params, algo_input, backend=backend)\n", + "\"\"\"\n", + "print_result(result)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solution using QAOA\n", + "\n", + "We also show here a result using the Quantum Approximate Optimization Algorithm (QAOA). This is another variational algorithm and it uses an internal variational form that is created based on the problem." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimal: selection [0 0 1 1], value 0.0010\n", + "\n", + "----------------- Full result ---------------------\n", + "selection\tvalue\t\tprobability\n", + "---------------------------------------------------\n", + " [0 0 1 1]\t0.0010\t\t0.1668\n", + " [1 0 1 0]\t0.0007\t\t0.1668\n", + " [1 0 0 1]\t-0.0017\t\t0.1667\n", + " [0 1 1 0]\t-0.0039\t\t0.1666\n", + " [0 1 0 1]\t-0.0065\t\t0.1665\n", + " [1 1 0 0]\t-0.0068\t\t0.1665\n", + " [0 0 1 0]\t4.0017\t\t0.0000\n", + " [1 0 1 1]\t4.0000\t\t0.0000\n", + " [1 1 1 1]\t15.9945\t\t0.0000\n", + " [0 0 0 1]\t3.9993\t\t0.0000\n", + " [1 0 0 0]\t3.9990\t\t0.0000\n", + " [0 1 0 0]\t3.9942\t\t0.0000\n", + " [1 1 0 1]\t3.9926\t\t0.0000\n", + " [0 1 1 1]\t3.9954\t\t0.0000\n", + " [1 1 1 0]\t3.9951\t\t0.0000\n", + " [0 0 0 0]\t16.0000\t\t0.0000\n" + ] + } + ], + "source": [ + "backend = BasicAer.get_backend('statevector_simulator')\n", + "seed = 50\n", + "\n", + "cobyla = COBYLA()\n", + "cobyla.set_options(maxiter=250)\n", + "qaoa = QAOA(qubitOp, cobyla, 3)\n", + "\n", + "qaoa.random_seed = seed\n", + "\n", + "quantum_instance = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed)\n", + "\n", + "result = qaoa.run(quantum_instance)\n", + "\n", + "\"\"\"declarative approach\n", + "algorithm_cfg = {\n", + " 'name': 'QAOA.Variational',\n", + " 'p': 3,\n", + " 'operator_mode': 'matrix'\n", + "}\n", + "\n", + "optimizer_cfg = {\n", + " 'name': 'COBYLA',\n", + " 'maxiter': 250\n", + "}\n", + "\n", + "params = {\n", + " 'problem': {'name': 'ising', 'random_seed': seed},\n", + " 'algorithm': algorithm_cfg,\n", + " 'optimizer': optimizer_cfg\n", + "}\n", + "result = run_algorithm(params, algo_input, backend=backend)\n", + "\"\"\"\n", + "print_result(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:45.323683Z", + "start_time": "2019-08-22T01:54:45.313579Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:45 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/qiskit/advanced/aqua/finance/optimization/portfolio_diversification.ipynb b/qiskit/advanced/aqua/finance/optimization/portfolio_diversification.ipynb index 36bb3db54..bd7f2b3ac 100644 --- a/qiskit/advanced/aqua/finance/optimization/portfolio_diversification.ipynb +++ b/qiskit/advanced/aqua/finance/optimization/portfolio_diversification.ipynb @@ -679,6 +679,55 @@ "source": [ "Solution shows the selected stocks via the stars and in green the links (via similarities) with other stocks that are represented in the fund by the linked stock. Keep in mind that VQE is an heuristic working on the QP formulation of the Ising Hamiltonian, though. For suitable choices of A, local optima of the QP formulation will be feasible solutions to the ILP. While for some small instances, as above, we can find optimal solutions of the QP formulation which coincide with optima of the ILP, finding optimal solutions of the ILP is harder than finding local optima of the QP formulation, in general. Even within the VQE, one may provide stronger guarantees, for specific variational forms (trial wave functions). " ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:27.014553Z", + "start_time": "2019-08-22T01:54:27.005205Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:27 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -697,7 +746,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/optimization/portfolio_optimization.ipynb b/qiskit/advanced/aqua/finance/optimization/portfolio_optimization.ipynb index 3657c0dbb..d7d7dfb5b 100644 --- a/qiskit/advanced/aqua/finance/optimization/portfolio_optimization.ipynb +++ b/qiskit/advanced/aqua/finance/optimization/portfolio_optimization.ipynb @@ -400,6 +400,48 @@ "print_result(result)" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:54:45.323683Z", + "start_time": "2019-08-22T01:54:45.313579Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:54:45 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -424,7 +466,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/asian_barrier_spread_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/asian_barrier_spread_pricing-checkpoint.ipynb new file mode 100644 index 000000000..18246869f --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/asian_barrier_spread_pricing-checkpoint.ipynb @@ -0,0 +1,659 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Pricing Asian Barrier Spreads*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "
\n", + "An Asian barrier spread is a combination of 3 different option types, and as such, combines multiple possible features that the Qiskit Finance option pricing framework supports::\n", + "\n", + "- Asian option: The payoff depends on the average price over the considered time horizon.\n", + "- Barrier Option: The payoff is zero if a certain threshold is exceeded at any time within the considered time horizon.\n", + "- (Bull) Spread: The payoff follows a piecewise linear function (depending on the average price) starting at zero, increasing linear, staying constant.\n", + "\n", + "Suppose strike prices $K_1 < K_2$ and time periods $t=1,2$, with corresponding spot prices $(S_1, S_2)$ following a given multivariate distribution (e.g. generated by some stochastic process), and a barrier threshold $B>0$.\n", + "The corresponding payoff function is defined as:\n", + "
\n", + "
\n", + "$$\n", + "P(S_1, S_2) =\n", + "\\begin{cases}\n", + "\\min\\left\\{\\max\\left\\{\\frac{1}{2}(S_1 + S_2) - K_1, 0\\right\\}, K_2 - K_1\\right\\}, & \\text{ if } S_1, S_2 \\leq B \\\\\n", + "0, & \\text{otherwise.}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "
\n", + "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option:\n", + "
\n", + "
\n", + "$$\\mathbb{E}\\left[ P(S_1, S_2) \\right].$$\n", + "
\n", + "The approximation of the objective function and a general introduction to option pricing and risk analysis on quantum computers are given in the following papers:\n", + "\n", + "- Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "- Option Pricing using Quantum Computers. Stamatopoulos et al. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "from mpl_toolkits.mplot3d import Axes3D\n", + "from scipy.interpolate import griddata\n", + "%matplotlib inline\n", + "import numpy as np\n", + "\n", + "from qiskit import QuantumRegister, QuantumCircuit, BasicAer, execute\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "from qiskit.aqua.circuits import WeightedSumOperator, FixedValueComparator as Comparator\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariatePiecewiseLinearObjective as PwlObjective\n", + "from qiskit.aqua.components.uncertainty_problems import MultivariateProblem\n", + "from qiskit.aqua.components.uncertainty_models import MultivariateLogNormalDistribution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We construct a circuit factory to load a multivariate log-normal random distribution into a quantum state on $n$ qubits.\n", + "For every dimension $j = 1,\\ldots,d$, the distribution is truncated to a given interval $[low_j, high_j]$ and discretized using $2^{n_j}$ grid points, where $n_j$ denotes the number of qubits used to represent dimension $j$, i.e., $n_1+\\ldots+n_d = n$.\n", + "The unitary operator corresponding to the circuit factory implements the following: \n", + "$$\\big|0\\rangle_{n} \\mapsto \\big|\\psi\\rangle_{n} = \\sum_{i_1,\\ldots,i_d} \\sqrt{p_{i_1\\ldots i_d}}\\big|i_1\\rangle_{n_1}\\ldots\\big|i_d\\rangle_{n_d},$$\n", + "where $p_{i_1\\ldots i_d}$ denote the probabilities corresponding to the truncated and discretized distribution and where $i_j$ is mapped to the right interval using the affine map:\n", + "$$ \\{0, \\ldots, 2^{n_j}-1\\} \\ni i_j \\mapsto \\frac{high_j - low_j}{2^{n_j} - 1} * i_j + low_j \\in [low_j, high_j].$$\n", + "\n", + "For simplicity, we assume both stock prices are independent and indentically distributed.\n", + "This assumption just simplifies the parametrization below and can be easily relaxed to more complex and also correlated multivariate distributions.\n", + "The only important assumption for the current implementation is that the discretization grid of the different dimensions has the same step size." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# number of qubits per dimension to represent the uncertainty \n", + "num_uncertainty_qubits = 2\n", + "\n", + "# parameters for considered random distribution\n", + "S = 2.0 # initial spot price\n", + "vol = 0.4 # volatility of 40%\n", + "r = 0.05 # annual interest rate of 4%\n", + "T = 40 / 365 # 40 days to maturity\n", + "\n", + "# resulting parameters for log-normal distribution\n", + "mu = ((r - 0.5 * vol**2) * T + np.log(S))\n", + "sigma = vol * np.sqrt(T)\n", + "mean = np.exp(mu + sigma**2/2)\n", + "variance = (np.exp(sigma**2) - 1) * np.exp(2*mu + sigma**2)\n", + "stddev = np.sqrt(variance)\n", + "\n", + "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n", + "low = np.maximum(0, mean - 3*stddev)\n", + "high = mean + 3*stddev\n", + "\n", + "# map to higher dimensional distribution\n", + "# for simplicity assuming dimensions are independent and identically distributed)\n", + "dimension = 2\n", + "num_qubits=[num_uncertainty_qubits]*dimension\n", + "low=low*np.ones(dimension)\n", + "high=high*np.ones(dimension)\n", + "mu=mu*np.ones(dimension)\n", + "cov=sigma**2*np.eye(dimension)\n", + "\n", + "# construct circuit factory\n", + "u = MultivariateLogNormalDistribution(num_qubits=num_qubits, low=low, high=high, mu=mu, cov=cov)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot PDF of uncertainty model\n", + "x = [ v[0] for v in u.values ]\n", + "y = [ v[1] for v in u.values ]\n", + "z = u.probabilities\n", + "#z = map(float, z)\n", + "#z = list(map(float, z))\n", + "resolution = np.array([2**n for n in num_qubits])*1j\n", + "grid_x, grid_y = np.mgrid[min(x):max(x):resolution[0], min(y):max(y):resolution[1]]\n", + "grid_z = griddata((x, y), z, (grid_x, grid_y))\n", + "fig = plt.figure(figsize=(10, 8))\n", + "ax = fig.gca(projection='3d')\n", + "ax.plot_surface(grid_x, grid_y, grid_z, cmap=plt.cm.Spectral)\n", + "ax.set_xlabel('Spot Price $S_1$ (\\$)', size=15)\n", + "ax.set_ylabel('Spot Price $S_2$ (\\$)', size=15)\n", + "ax.set_zlabel('Probability (\\%)', size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Payoff Function\n", + "\n", + "For simplicity, we consider the sum of the spot prices instead of their average.\n", + "The result can be transformed to the average by just dividing it by 2.\n", + "\n", + "The payoff function equals zero as long as the sum of the spot prices $(S_1 + S_2)$ is less than the strike price $K_1$ and then increases linearly until the sum of the spot prices reaches $K_2$.\n", + "Then payoff stays constant to $K_2 - K_1$ unless any of the two spot prices exceeds the barrier threshold $B$, then the payoff goes immediately down to zero.\n", + "The implementation first uses a weighted sum operator to compute the sum of the spot prices into an ancilla register, and then uses a comparator, that flips an ancilla qubit from $\\big|0\\rangle$ to $\\big|1\\rangle$ if $(S_1 + S_2) \\geq K_1$ and another comparator/ancilla to capture the case that $(S_1 + S_2) \\geq K_2$.\n", + "These ancillas are used to control the linear part of the payoff function.\n", + "\n", + "In addition, we add another ancilla variable for each time step and use additional comparators to check whether $S_1$, respectively $S_2$, exceed the barrier threshold $B$. The payoff function is only applied if $S_1, S_2 \\leq B$.\n", + "\n", + "The linear part itself is approximated as follows.\n", + "We exploit the fact that $\\sin^2(y + \\pi/4) \\approx y + 1/2$ for small $|y|$.\n", + "Thus, for a given approximation scaling factor $c_{approx} \\in [0, 1]$ and $x \\in [0, 1]$ we consider\n", + "$$ \\sin^2( \\pi/2 * c_{approx} * ( x - 1/2 ) + \\pi/4) \\approx \\pi/2 * c_{approx} * ( x - 1/2 ) + 1/2 $$ for small $c_{approx}$.\n", + "\n", + "We can easily construct an operator that acts as \n", + "$$\\big|x\\rangle \\big|0\\rangle \\mapsto \\big|x\\rangle \\left( \\cos(a*x+b) \\big|0\\rangle + \\sin(a*x+b) \\big|1\\rangle \\right),$$\n", + "using controlled Y-rotations.\n", + "\n", + "Eventually, we are interested in the probability of measuring $\\big|1\\rangle$ in the last qubit, which corresponds to\n", + "$\\sin^2(a*x+b)$.\n", + "Together with the approximation above, this allows to approximate the values of interest.\n", + "The smaller we choose $c_{approx}$, the better the approximation.\n", + "However, since we are then estimating a property scaled by $c_{approx}$, the number of evaluation qubits $m$ needs to be adjusted accordingly.\n", + "\n", + "For more details on the approximation, we refer to:\n", + "Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "\n", + "Since the weighted sum operator (in its current implementation) can only sum up integers, we need to map from the original ranges to the representable range to estimate the result, and reverse this mapping before interpreting the result. The mapping essentially corresponds to the affine mapping described in the context of the uncertainty model above." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# determine number of qubits required to represent total loss\n", + "weights = []\n", + "for n in num_qubits:\n", + " for i in range(n):\n", + " weights += [2**i]\n", + "n_s = WeightedSumOperator.get_required_sum_qubits(weights)\n", + "\n", + "# create circuit factory\n", + "agg = WeightedSumOperator(sum(num_qubits), weights)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# set the strike price (should be within the low and the high value of the uncertainty)\n", + "strike_price_1 = 3\n", + "strike_price_2 = 4\n", + "\n", + "# set the barrier threshold\n", + "barrier = 2.5\n", + "\n", + "# map strike prices and barrier threshold from [low, high] to {0, ..., 2^n-1}\n", + "max_value = 2**n_s - 1\n", + "low_ = low[0]\n", + "high_ = high[0]\n", + "\n", + "mapped_strike_price_1 = (strike_price_1 - dimension*low_) / (high_ - low_) * (2**num_uncertainty_qubits - 1)\n", + "mapped_strike_price_2 = (strike_price_2 - dimension*low_) / (high_ - low_) * (2**num_uncertainty_qubits - 1)\n", + "mapped_barrier = (barrier - low) / (high - low) * (2**num_uncertainty_qubits - 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# condition and condition result\n", + "conditions = []\n", + "barrier_thresholds = [2]*dimension\n", + "for i in range(dimension):\n", + " # target dimension of random distribution and corresponding condition (which is required to be True)\n", + " conditions += [(i, Comparator(num_qubits[i], mapped_barrier[i] + 1, geq=False))]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# set the approximation scaling for the payoff function\n", + "c_approx = 0.25\n", + "\n", + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [0, mapped_strike_price_1, mapped_strike_price_2]\n", + "slopes = [0, 1, 0]\n", + "offsets = [0, 0, mapped_strike_price_2 - mapped_strike_price_1]\n", + "f_min = 0\n", + "f_max = mapped_strike_price_2 - mapped_strike_price_1\n", + "bull_spread_objective = PwlObjective(\n", + " n_s,\n", + " 0,\n", + " max_value,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# define overall multivariate problem\n", + "asian_barrier_spread = MultivariateProblem(u, agg, bull_spread_objective, conditions=conditions)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot exact payoff function\n", + "plt.figure(figsize=(15,5))\n", + "plt.subplot(1,2,1)\n", + "x = np.linspace(sum(low), sum(high))\n", + "y = (x <= 5)*np.minimum(np.maximum(0, x - strike_price_1), strike_price_2 - strike_price_1)\n", + "plt.plot(x, y, 'r-')\n", + "plt.grid()\n", + "plt.title('Payoff Function (for $S_1 = S_2$)', size=15)\n", + "plt.xlabel('Sum of Spot Prices ($S_1 + S_2)$', size=15)\n", + "plt.ylabel('Payoff', size=15)\n", + "plt.xticks(size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "\n", + "# plot contour of payoff function with respect to both time steps, including barrier\n", + "plt.subplot(1,2,2)\n", + "z = np.zeros((17, 17))\n", + "x = np.linspace(low[0], high[0], 17)\n", + "y = np.linspace(low[1], high[1], 17)\n", + "for i, x_ in enumerate(x):\n", + " for j, y_ in enumerate(y):\n", + " z[i, j] = np.minimum(np.maximum(0, x_ + y_ - strike_price_1), strike_price_2 - strike_price_1)\n", + " if x_ > barrier or y_ > barrier:\n", + " z[i, j] = 0\n", + " \n", + "plt.title('Payoff Function', size =15)\n", + "plt.contourf(x, y, z)\n", + "plt.colorbar()\n", + "plt.xlabel('Spot Price $S_1$', size=15)\n", + "plt.ylabel('Spot Price $S_2$', size=15)\n", + "plt.xticks(size=15)\n", + "plt.yticks(size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "exact expected value:\t0.8023\n" + ] + } + ], + "source": [ + "# evaluate exact expected value\n", + "sum_values = np.sum(u.values, axis=1)\n", + "payoff = np.minimum(np.maximum(sum_values - strike_price_1, 0), strike_price_2 - strike_price_1)\n", + "leq_barrier = [ np.max(v) <= barrier for v in u.values ]\n", + "exact_value = np.dot(u.probabilities[leq_barrier], payoff[leq_barrier])\n", + "print('exact expected value:\\t%.4f' % exact_value)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff\n", + "\n", + "We first verify the quantum circuit by simulating it and analyzing the resulting probability to measure the $|1\\rangle$ state in the objective qubit" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "state qubits: 5\n", + "circuit width: 15\n", + "circuit depth: 1068\n" + ] + } + ], + "source": [ + "num_req_qubits = asian_barrier_spread.num_target_qubits\n", + "num_req_ancillas = asian_barrier_spread.required_ancillas()\n", + "\n", + "q = QuantumRegister(num_req_qubits, name='q')\n", + "q_a = QuantumRegister(num_req_ancillas, name='q_a')\n", + "qc = QuantumCircuit(q, q_a)\n", + "\n", + "asian_barrier_spread.build(qc, q, q_a)\n", + "print('state qubits: ', num_req_qubits)\n", + "print('circuit width:', qc.width())\n", + "print('circuit depth:', qc.depth())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact Operator Value: 0.6303\n", + "Mapped Operator value: 0.8319\n", + "Exact Expected Payoff: 0.8023\n" + ] + } + ], + "source": [ + "# evaluate resulting statevector\n", + "value = 0\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " b = ('{0:0%sb}' % asian_barrier_spread.num_target_qubits).format(i)[-asian_barrier_spread.num_target_qubits:]\n", + " prob = np.abs(a)**2\n", + " if prob > 1e-4 and b[0] == '1':\n", + " value += prob\n", + " # all other states should have zero probability due to ancilla qubits\n", + " if i > 2**num_req_qubits:\n", + " break\n", + "\n", + "# map value to original range\n", + "mapped_value = asian_barrier_spread.value_to_estimation(value) / (2**num_uncertainty_qubits - 1) * (high_ - low_)\n", + "print('Exact Operator Value: %.4f' % value)\n", + "print('Mapped Operator value: %.4f' % mapped_value)\n", + "print('Exact Expected Payoff: %.4f' % exact_value) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we use amplitude estimation to estimate the expected payoff.\n", + "Note that this can take a while since we are simulating a large number of qubits. The way we designed the operator (asian_barrier_spread) impliesthat the number of actual state qubits is significantly smaller, thus, helping to reduce the overall simulation time a bit." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 3\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, asian_barrier_spread)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.8023\n", + "Estimated value:\t0.5000\n", + "Probability: \t0.6958\n" + ] + } + ], + "source": [ + "print('Exact value: \\t%.4f' % exact_value)\n", + "print('Estimated value:\\t%.4f' % (result['estimation'] / (2**num_uncertainty_qubits - 1) * (high_ - low_)))\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for option price (after re-scaling and reversing the c_approx-transformation)\n", + "mapped_values = np.array(result['mapped_values']) / (2**num_uncertainty_qubits - 1) * (high_ - low_)\n", + "plt.bar(mapped_values, result['probabilities'], width=1/len(result['probabilities']))\n", + "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Price', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:10.230176Z", + "start_time": "2019-08-22T01:55:10.222004Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:10 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/basket_option_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/basket_option_pricing-checkpoint.ipynb new file mode 100644 index 000000000..0a1731d50 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/basket_option_pricing-checkpoint.ipynb @@ -0,0 +1,587 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Pricing Basket Options*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "
\n", + "Suppose a basket option with strike price $K$ and two underlying assets whose spot pricse at maturity $S_T^1$, $S_T^2$ follow given random distributions.\n", + "The corresponding payoff function is defined as:\n", + "
\n", + "
\n", + "$$\\max\\{S_T^1 + S_T^2 - K, 0\\}$$\n", + "
\n", + "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option:\n", + "
\n", + "
\n", + "$$\\mathbb{E}\\left[ \\max\\{S_T^1 + S_T^2 - K, 0\\} \\right].$$\n", + "
\n", + "The approximation of the objective function and a general introduction to option pricing and risk analysis on quantum computers are given in the following papers:\n", + "\n", + "- Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "- Option Pricing using Quantum Computers. Stamatopoulos et al. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "from mpl_toolkits.mplot3d import Axes3D\n", + "from scipy.interpolate import griddata\n", + "%matplotlib inline\n", + "import numpy as np\n", + "\n", + "from qiskit import BasicAer, QuantumRegister, QuantumCircuit, execute\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "from qiskit.aqua.components.uncertainty_problems import MultivariateProblem\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariatePiecewiseLinearObjective as PwlObjective\n", + "from qiskit.aqua.components.uncertainty_models import MultivariateLogNormalDistribution\n", + "from qiskit.aqua.circuits import WeightedSumOperator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We construct a circuit factory to load a multivariate log-normal random distribution into a quantum state on $n$ qubits.\n", + "For every dimension $j = 1,\\ldots,d$, the distribution is truncated to a given interval $[low_j, high_j]$ and discretized using $2^{n_j}$ grid points, where $n_j$ denotes the number of qubits used to represent dimension $j$, i.e., $n_1+\\ldots+n_d = n$.\n", + "The unitary operator corresponding to the circuit factory implements the following: \n", + "$$\\big|0\\rangle_{n} \\mapsto \\big|\\psi\\rangle_{n} = \\sum_{i_1,\\ldots,i_d} \\sqrt{p_{i_1\\ldots i_d}}\\big|i_1\\rangle_{n_1}\\ldots\\big|i_d\\rangle_{n_d},$$\n", + "where $p_{i_1\\ldots i_d}$ denote the probabilities corresponding to the truncated and discretized distribution and where $i_j$ is mapped to the right interval using the affine map:\n", + "$$ \\{0, \\ldots, 2^{n_j}-1\\} \\ni i_j \\mapsto \\frac{high_j - low_j}{2^{n_j} - 1} * i_j + low_j \\in [low_j, high_j].$$\n", + "\n", + "For simplicity, we assume both stock prices are independent and indentically distributed.\n", + "This assumption just simplifies the parametrization below and can be easily relaxed to more complex and also correlated multivariate distributions.\n", + "The only important assumption for the current implementation is that the discretization grid of the different dimensions has the same step size." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# number of qubits per dimension to represent the uncertainty \n", + "num_uncertainty_qubits = 2\n", + "\n", + "# parameters for considered random distribution\n", + "S = 2.0 # initial spot price\n", + "vol = 0.4 # volatility of 40%\n", + "r = 0.05 # annual interest rate of 4%\n", + "T = 40 / 365 # 40 days to maturity\n", + "\n", + "# resulting parameters for log-normal distribution\n", + "mu = ((r - 0.5 * vol**2) * T + np.log(S))\n", + "sigma = vol * np.sqrt(T)\n", + "mean = np.exp(mu + sigma**2/2)\n", + "variance = (np.exp(sigma**2) - 1) * np.exp(2*mu + sigma**2)\n", + "stddev = np.sqrt(variance)\n", + "\n", + "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n", + "low = np.maximum(0, mean - 3*stddev)\n", + "high = mean + 3*stddev\n", + "\n", + "# map to higher dimensional distribution\n", + "# for simplicity assuming dimensions are independent and identically distributed)\n", + "dimension = 2\n", + "num_qubits=[num_uncertainty_qubits]*dimension\n", + "low=low*np.ones(dimension)\n", + "high=high*np.ones(dimension)\n", + "mu=mu*np.ones(dimension)\n", + "cov=sigma**2*np.eye(dimension)\n", + "\n", + "# construct circuit factory\n", + "u = MultivariateLogNormalDistribution(num_qubits=num_qubits, low=low, high=high, mu=mu, cov=cov)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHBCAYAAABt62HAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9aXQc5Z32fVXv6m61ZK22rMWWZcmSvIIlmx3MYuMTDG8mJGabmZeHLUNmOA/nkCEQHEIChCwkEDJJCAnJDHFgGEgMITExhCVh84IxNkjd2vd9632rqueD5y6qpd67qquX+3dOTnCru+ru7uqqq/7bxfA8DwqFQqFQKJRcRqX0AigUCoVCoVDkhgoeCoVCoVAoOQ8VPBQKhUKhUHIeKngoFAqFQqHkPFTwUCgUCoVCyXmo4KFQKBQKhZLzaGL8nfasUygUCoVCyRaYSH+gER4KhUKhUCg5DxU8FAqFQqFQch4qeCgUCoVCoeQ8VPBQKBQKhULJeajgoVAoFAqFkvNQwUOhUCgUCiXnoYKHQqFQKBRKzkMFD4VCoVAolJyHCh4KhUKhUCg5DxU8FAqFQqFQch4qeCgUCoVCoeQ8VPBQKBQKhULJeajgoVAoFAqFkvNQwUOhUCgUCiXnoYKHQqFQKBRKzkMFD4VCoVAolJyHCh4KhUKhUCg5DxU8FAqFQqFQch4qeCgUCoVCoeQ8VPBQKBQKhULJeajgoVAoFAqFkvNQwUOhUCgUCiXnoYKHQqFQKBRKzkMFD4VCoVAolJyHCh4KhUKhUCg5DxU8FAqFQqFQch4qeCiULIPneXAcB57nlV4KhUKhZA0apRdAoVDih+M4BAIBeDweMAwDjUYDtVot/I9hGDAMo/QyKRQKJeNgYtwl0ltICiUD4HkegUAALMsCAPx+PxiGEaI9ROQwDAO1Wh0ihKgIolAoeUTEkx0VPBRKBsPzPILBIILBIAAIwoUInnDPJ/8j/1apVCEiSKVSQaVSURFEoVBykYgnNprSolAyEJ7nwbIsgsEgeJ4PidJEu0kJF80RbwsA+vv7UVdXB41GA61WS0UQhULJC6jgoVAyDFKnQ1JVKlVqvQWLRdDs7CxWr14NjuPg9XpDnksiQRqNhoogCoWSU1DBQ6FkCBzHIRgMgmVZQaTIITbINhcLKVIP5PP54PV6heeRWiBxSoyKIAqFkm1QwUOhKAzP83A6nfB4PCgsLJS9yJgUO4d7PFw6jOM4sCwLv98vPK5SqYRIEBVBFAolG6CCh0JRCHFtzdzcHBYWFlBUVKT0skKIJIJ4noff748ogkihNBVBFAolU6CCh0JJM0QwiOt01Gp12gYJRorwJPL6RETQ4pQYFUEUCkUJqOChUNJIpILkeEVIMBhEb28vxsfHUVBQgMLCQuF/er0+bjEhtbiKJIKA00XSY2NjaGxsBM/zYWuCUi3MplAolFhQwUOhpIFw83TEAiGW4OF5HqOjo+jv70dNTQ3a2toQCATgcDjgcDgwOjoKn88HnU4XIoIMBsMSIZKuCMvi4mhxFCsQCITMEhJPjSYpMTowkUKhSAkVPBSKjJA6nUAgACB8JIQ8HknwzM3NwWq1ori4GO3t7dBoNPD7/TAYDDAYDCgvLxee6/P5BBE0Pj4Or9cLrVaLwsJCWCwWmM1mYV3pYrGwA06LHwJZSzAYjCiC6NRoCoWSKlTwUCgyQLqbAoHAksGB4VCpVEtEiMfjgdVqBcdx2LBhA0wmk7DtSOj1euj1epSVlQmP+f1+OBwO2O12TExMwG634+TJkygqKhIiQQUFBYoJCbHAIdGgaCKIWmdQKJRkoIKHQpGYZAYHiiM8wWAQfX19mJ6extq1a0PESzLodDqUlpaitLQUAHDixAmsWbNGiAZNTk7C4/FAo9GEpMOMRmNGiSBg6dRoap1BoVDihQoeCkUiYtXpRINhGLAsi9HRUfT19aGmpgbbtm2TpZiXpIrMZrMgggCE1ARNT0/D7XZDrVaHiCCTyaSokIjHOgOAMEG6uLiYiiAKhQKACh4KJWXirdOJBhEZOp0O7e3t0Gq1ciw1KlqtFiUlJSgpKREeCwQCcDqdcDgc6O/vDyuCjEajol1W4T5vp9MJt9sNg8EQ8ji1zqBQ8hcqeCiUJCF1OiMjIzCbzUmlgDweD2w2G3w+H4qKitDc3BzX61K5SCcyh0er1WLZsmVYtmyZ8FgwGBQiQQMDA3C73VCpVDCbzSGRoMWpqHRDUl3iNVDrDAolf6GCh0JJAnGdzszMDLRarVBUHA8sy6Kvrw+Tk5NYu3YtTCYTrFarjCsOJRUBotFowoogEgkaGhqCy+UCwzAwm83Q6XTCZ5VpkSBqnUGh5A9U8FAoCRCuTidch1W014+NjaGvrw/V1dXYvn07VCoVPB5PWictS41Go0FxcTGKi4uFx1iWhdPpFOqBjh07JoggcSRIHIWRing/S2qdQaHkD1TwUChxEK0gWaVSgeO4mNuYn5+H1WqFxWJBW1sbdDqd8LdE7R5Iq3sypGotES9qtRpFRUVQq9Xw+XxoaWkRRJDD4cDIyAicTicAhIggs9ksiQhK5fNJVAQtnhVEoVAyDyp4KJQoiDuAIs3TiSUgvF4vbDYbAoEAWltbheF/YhKJEmUzRASJTVI5jhNE0NjYGJxOJ3ieh8lkChmYKEckKF6iWWcQAeT1ejE3N4eVK1dS6wwKJQOhgodCiUC883QiRXgW1+mIJyIvJl1Rl3TvixBtfyqVChaLBRaLRXiM4zi4XC5hYrTD4QgRQSQSpNEodwpbPDWa4zg4HA4A1DqDQslEqOChUBZBnMxZlgUQu818sYDgeR7j4+Po7e3FypUrhTqdaDAME1dabPE6k7lgplvwJLNGlUolCBuCWARNTEygp6cHLMuGiKDCwkJoNBpFomXiCCC1zqBQMg8qeCiU/yXZwYHiCM/CwgI6OztRWFi4pE4nGomIELKufEiBiYkkgtxuNxwOB6amptDb2wuWZaFSqaDT6YTaoHTMNYokQKl1BoWSGVDBQ8l74qnTiQbDMPD7/fj444/h9/vR0tISclGOdxu5nNKSCzL/x2w2Y8WKFQBOf58DAwNwuVyYmZlBf38/gsEgjEZjSCRIDhGUyGRt8v/UOoNCSQ9U8FDymmR8r8SwLIvp6Wk4HA60tLSgvLw849NMuX6hZBgGer0earUaNTU1AE4LBxIJEouggoKCEBEUb0QuHFJ8f/FaZwCna4e0Wi0VQRRKnFDBQ8lLeJ6Hy+XC5OQkqqqqEo7qiOt0TCYTVq1ahYqKiqTXk+4LVa5EeCKx+P0xDAOTyQSTyYTly5cLz/F4PHA4HJibm8Pg4CACgQAMBoMggCwWS9wiKJVRAdGINjDR6/Wis7MTa9euDZkYTa0zKJSlUMFDySvEdTp+vx8TExNYuXJlQttYWFiA1WqFyWRCW1sbpqamBB+tbCDTurTkItaFnmEYGI1GGI1GVFZWAji9Tq/XC4fDgYWFBQwNDS0RQYWFhdDr9Uu2J5fgibR2si+PxyNEeah1BoUSGSp4KHlBuDodtVqd0IXY6/Wiq6sLXq8Xzc3NQp1OvIMH85VsurgyDIOCggIUFBQIEbvFImh4eBh+vx96vT5EBCl1DJA6n0SsM6gIouQjVPBQcp5IdTrxChWWZdHf34+JiQk0NDQsqdPJtiLgbFtvMkj5/iKJIJ/PJ5iojo6OwuVyCc8nIshgMKRFSETaR7L+YdQ6g5KLUMFDyVk4jkMwGATLssKJX3wCjzXdmOd5Yd5LVVVVxHk62RbhyQfBA8gbWWIYBgaDAQaDQRgoOT09jdnZWRQVFcFut2N8fBxerxdarRYWiyXtIija2ql1BiUfoYKHknPEO08n2rA/u92Ozs5OmEwmbN26NWzNhng7+SAgKNHheR4ajQZlZWUoKysTHhdHgsQiSJwOKygoyEgRBCBEAPE8L6TAFhdHUyiZDhU8lJwh0Xk64SIzPp8PXV1d8Hg8IXU60VBC8KSyTyrQ5CPc8abX66HX60NEkN/vF0TQ5OQkPB4PNBpNiAgyGo2KiyAAYadG+3w+HD16FJs3bxaeS60zKJkOFTyUrIeE4xOdpyM+GbMsi4GBAYyPj2PNmjWoqKiI+2SdbSktIP1dU0rsT4lW/3j3qdPpUFpaitLSUuGxQCAAh8MBu92O6elpuN3ujBVB5DcmLvyn1hmUTIcKHkpWk+rgQDJPJ1adTjSyLWKS7guOUhe4TBY84dBqtSgpKUFJSYnwGBFBDodDEEFqtTpEBClx7HEcJ/xOqHUGJVuggoeSlSTreyXGbrfD7XZjeno6Zp1ONLItwpNtAi1bkCOqFE4EBYNBQQQNDAzA7Xbj2LFjgm9YYWEhTCaTrHU1pBU+EvFaZ5DnUOsMSjqggoeSVRChMzo6KqSdEj0xiut0DAYD1q9fn9KaqICgpBONRoNly5Zh2bJlAIAjR45g06ZNcDqdcDgcGBwchNvtDmmPl1oEkYhqolDrDIqSUMFDyQrI7BCSvurt7RUsAuKF4zgMDAxgdHQUa9asQWVlJd57772U10YjPJmHEu9PibohgkajQXFxMYqLi4XHWJYVIkFDQ0NwuVxgGCYkEmQ2m5MSQeKUVqrEss4QQ0ZJGI1GKoIoCUMFDyXjWVynI+4aiQee5zE5OYmenh4sX74c27dvT3gb0ZBSQKTropnrggfIvhoeqVGr1WFFEIkEjYyMwOl0AsASERTr9yH3e40kgoLBIE6cOIHNmzdT6wxKwlDBQ8lYpKjTcTgc6OzsREFBAc4888yk63SiIZXgIduR+2StxMUgHwRWNrxHtVqNoqIiFBUVCY+xLAuXyxUyMZrneZhMJmFg4mIRJGWEJ17EAkejOX3potYZlESggoeScZCcPjHkTEbo+P1+dHV1weVyoampKeQELzVSpbTSlWpKd0orny402eh6r1arYbFYYLFYBCNdjuOESNDY2BicTqcgguKZTSUXHMeFCC9qnUFJBCp4KBmDuE4nnsGB4Vhcp9PS0hJ1G1JEVaSO8KSDbIhGpIJSNTzpjnrIFRFUqVSCCCJwHCdEgqampoSZQUajMaQ4mkRf5IBl2ZifMbXOoESCCh5KRiDFPJ2pqSl0d3ejsrIy7jodYi+RSk1PuiM8c3NzsFqt4Hk+xKMp3qF0+XJCz8ZoSzL7TNf7VKlUwrGm0+lgt9uxatUquN1uQQT19vaCZVkhEiS1CEo2lZaodUa4NnlK9kMFD0VRpKzTMRgMOOOMM2AwGOJ+LRErqQiedEV4vF4vbDYbAoEAWlpaoFar4XQ6l0zmFYugcB5N+dClpRT5UihNolkqlQpmsxlmsxkrVqwQ/iaOBBERtDgSpNVqE96v1N1hQHjrjEAgsGRgYjAYhNFohFarpdYZWQoVPBRFkELo+Hw+dHd3w+l0Yt26dUnV6cRyTI93G1JEeCKtheM49Pf3Y3x8HA0NDaioqBBc4MXzWIDTJ2q73R7i0SR267ZYLIr4fuUDSogPJYqHyX4jvVfS+r5YBJFI0MzMDPr7+xEMBlFQUBAignQ6Xcz9yvl+o4mgU6dOoaWlRRBq1Doj+6CCh5JWEjX4DAfHcfD7/Thy5EhcdTrRICmtVJAzwjM1NYWuri6hnT7WyV6r1S7xaPL7/YIIGh8fh8PhgEajgdfrFUSQHN1rYnLdu4vsM18iPIkKD4ZhYDKZYDKZhPlZPM/D4/HA4XBgbm4OAwMDgggym82CSBeLICW7wziOg06nC7kxodYZ2QUVPJS0wbIsvF6vEA5OpU6HYRhs3bo1ofRVOKSIzkh1MhOLL7fbjc7OTqjV6ohpungvdjqdDmVlZYJb98jICPx+P8xmszCPxe/3w2AwCAIonrvtTIfW8MiHFMKDYRgYjUYYjUZUVlYCWCqCBgcHEQgEhGOTNDYogbgonVpnZCdU8FBkhziZz8/PY2BgABs2bEiqTsdqtUKn0+GMM87AqVOnJDlhZNKUZFInYLPZMDMzg6amphAPJSn3o9VqUV5ejvLycgCnvyOv1wuHw4H5+XnhQkNSDkQEJVN3kU/kS4RHro60SCKIHJvj4+NwuVw4fPgw9Hp9SDpMr9crLiKodUZmQwUPRTYW1+mo1eqEPXj8fj+6u7vhcDhC6nTkrptJN+SkfuLECdTV1WHbtm2yhe7Dpc4YhkFBQQEKCgpQUVEhrIncbYvrLkjxKRFBcrYhJ0u+RFuUjPCk63sXH5ukbq26uho+n0+wzhgdHYXP54Nerw9Jh2WyCApnnUEiQWRWEBVB0pJ5ZypK1hOpTkej0cQtUjiOw+DgIEZGRrB69Wo0NzeH/PClbAVXOsJDusz8fj/Wr18vS1QnGSLdbUdqQxZ3h0lp3ZEs+SA+lCxaVnK/DMPAYDDAYDCERCnF9WpEBOl0upBIkMFgUFxERBNBPp8PXq83JG3GcRxMJhOdGp0iVPBQJCXaPB2VSgWWZWNugxTqVlRURJynI2WERynBEwgE0NXVBYfDgebmZgwMDKTlrjmVIutwxaccxwkiaGJiAt3d3SHWBAaDQXFRmasomdLKtMgSwzDQ6/UhqVoAIZGg8fFxeL1eaLXaEBEUbnxDuokkglwuF/r6+tDS0iI8Tq0zkoMKHookkDodlmWFH+7iH2AsceF0OtHZ2SnU6UQrSM5mwcPzPIaHhzE4OBgSvUpEiGTCZGhCuFksZCqv3W7H5OQk7HY7jhw5EpJuSNapOx5oSktelI7wJIJer4derxeK9oHTqXIigsj4BjLDihyjYhGUaCpeKshvlQgbgFpnpAIVPJSUSGSeTiRxIa7TaWpqCnF3jkS2prTIlORly5Zh27ZtIXermVJPJAXiqbzl5eXw+/3YsGGDIIKIUzfDMCF32iaTSfLBcukinwRPtgstnU4XdnwDEUFTU1OCCCJTzAFl3jfLsnH5h1HrjNhQwUNJimTm6Sy+oHMch6GhIQwPD4et04m1rWwqWvb5fLBarUKdjtlsXvKcdE1AVmrSstikksCyrDAtemhoCC6XK0QsWSyWuC0zlCZfokpAdkV44iWcCAoEAkKLvNfrxZEjR6BWq0NEutFolPWzWCx4wpGIdYZKpcJjjz2Gffv2Sb/YDIcKHkrCpOp7BXxWp1NeXr4k0hEPpOMrVeROaYnNTNeuXYvy8vKoE2rTEW3KJGsJtVqNoqKikCnZwWBQuNPu7++Hy+US7rSJCMqEmotw0KLl3NqvVqtFSUkJDAYDPB4P1q9fj0AgIDjJDwwMwOVyySqC4hE84Yg0NdrlcuHPf/4zFTwUSjQ4jhMsDSLV6cSCZVkcO3YMGo0GW7ZsQUFBQVJrycQansV329PT07DZbHGbmWaSEJGaRN6XRqMJa5lBRFBPT09IzQURQeLum3yJtuTaHJ5YZILQ0mq1S45PsUgfGBiA2+2WLF0bDAYla2ZgGAZOpzNshDkfoIKHEhMpfK8CgQC6u7vh9Xqxfv36kJNFMqTboTze7TAMI0xJVqlUCYm6XE1pSXFBJnfa4pZ9cc3FxMSE0H1jsVjgdrthMBjSKgjySfAoVcSbbLRD7v2GE+nBYFCIBJF0LcOc9hkjIiiewn2WZSXt3nQ6nSFp5XyCCh5KREidzsDAAMrKypIa4sVxHIaHhzE0NIRVq1bBaDSmLHYA6dI/UgqnYDCIgYEBTE9PJzUlOZcjPHIQruaCtCAvLCxgZGQEw8PDwkRe8TC6XIHW8KRvv4kKLY1Gg+Li4pAmDFKz5nA4MDw8LIgg8RwrMm9H/Bopj1mHw4HCwkLJtpdNUMFDWQKp+Cd1OjMzMyguLk7Yt2p6ehpdXV0oKysT6nQGBgYkOUmr1eq4ZvrEIt7ZQNEgn9Xhw4dRU1OT9JTkdBVQ57KwIi3IdrsdFosFpaWlISJoeHhYNt+wfIrw5FtKi2VZSfYbrmZNLIJI9yIAIRLkdrthMplS3jfB4XDQlBaFAoQvSE5UXLhcLsH4cvPmzSEpHXHqJxVUKhUCgUBK25BiO2RKcjAYRFtbW0onklxNaSkBeX+RJvISbyaxQWWqvmH5Nmk5nyJLcqbSwokgjuMEEeRwOGC329Hf3w+TyRRSF5TMmmiEh5L3RKvTiVfwkDqdhYUFNDU1hU1dkRRSqictqaIhyV78yXu12+1Yt24durq6UjbWTCRNl4kdStFQQmBF64aL5Btmt9uX+IaJLTOi1VLkU4QnH1Na6dyvSqUSRjjY7XZUV1fDZDLB5XItmWguPkbNZnPMeh+n00kFDyU/IXU6JMoRaUJyNMGzuE5n3bp1EU/CRDylWoSnVJcWz/MYGRnBwMBAyHuVYj25GuHJBnEm9g0jlhnEN8xutwu+YRzHLRFBSvqG0cGD6UGpYmnxvsXzqQhkojkRQT09PYK3nTgSJD7fOhwOWrRMyS/IePJAIBBzcGC0mTczMzOw2WwoLS2Na55OprWTJ7Kd+fl5dHZ2ori4eMl7lUJEpFOI5HpKSwrEvmFiywwighb7hrlcLrhcLhQUFKTt4phvwiMTPbzkJprYiiSCwhn8vvDCCygoKIDb7cbGjRtj7vfgwYO44447wLIsbrrpJtx9990hf//Zz36Gn/zkJ1Cr1TCbzXjyyScFv6+HH34Yv/zlL6FWq/H4449j586dKXwC0kEFTx6S6ODAcCktl8sFq9UKlUqFTZs2CaPXYyGlUJGqaDnWxd/n88Fms8Hn80WdkpxNEZ5cR67PUewbRiB32Z2dnZiamsLQ0BB4nhc8mSwWi6SWGWKUKh4GlDmOlBI8mRDhiZdw3nY8z8NgMOC9997DK6+8grfffhs///nPsXbtWpx55plob2/Hjh07QvZ5++2349ChQ6iurkZbWxv27NkTYmB67bXX4rbbbgMAvPTSS7jzzjtx8OBBfPrpp3j22WfxySefYHR0FJdccglsNpuikVACFTx5RLLzdMQiJRAIoKenB/Pz82hsbEy49VrK7iq5vbTEU5IbGhpQUVER1ScsWyI8+VC0DKTvgkzusg0GA+rr62E0GsGyrOAbNjw8vMQ3jFhmpCpWlBIA+UY2CZ5wMAyDjRs3YuPGjejr68O9996LHTt2oKurCx9++CFOnDgRIngOHz6MhoYG1NfXAwD27t2LAwcOhAgecVqMtNcDwIEDB7B3717o9XqsXr0aDQ0NOHz4MM4666yU3oMUUMGTB8RTpxMNtVqNYDCIoaEhDA4Ooq6uDk1NTUmdaLMlpUWmJFdUVKRtSnI6rSUo8iAu9A/nG7Z4Gm+qvmFKdUsphVLvNZk5PFIhtaglRcsqlQpNTU1oampa8pyRkRHU1NQI/66ursYHH3yw5Hk/+clP8Oijj8Lv9+Ovf/2r8Nrt27eHvHZkZESy9acCFTw5TCJ1OtHweDwYGRlBVVVVUr5XYjJd8LjdblitVjAMk9CUZCnWo1KphOib3KQ7wpMPEaVYFya1Wr1kEJ3YkqCvrw9utzsh3zAlU1r5hFRzeDKBeIqWw/1ewx2Dt99+O26//Xbs378f3/72t/Gb3/wm7tcqARU8OYoUBp/k4u/z+VBRUYHGxsaU15WJKS0SAevt7cX09DQaGxtDpvcmsh0p1iI3+dCllS1eWtF8w0h3mMfjgVarDZkRRHzD8i2lpZRwVjLCIzXxWEtUV1djaGhI+Pfw8DCqqqoiPn/v3r348pe/nNRr0wkVPDkGqdPp6+uDwWCIWncSiWAwiJ6eHszOzqKpqUmYtiwFmRbhId5X77//PlauXJnSlGQpipbTkdLKF7JVCETzDbPb7RgfH4fX64VOpwPLsuA4TrDMyNb3HA9KijulIjxyCLx4BE9bWxu6urrQ19eHlStX4tlnn8X+/ftDntPV1YW1a9cCAF555RXhv/fs2YNrr70Wd955J0ZHR9HV1YX29nbJ30cyUMGTIywuSCZ2B4mcIHiex/DwsFCn09jYCIZhMDc3J0lUBsisCI/T6cQnn3wCr9eLs846KyW/GiUiPMme/POlaDndyHlBjuQbZrPZ4PV6hUhsLvuGKdUKDyhXtCxHZMntdsfsqtVoNHjiiSewc+dOsCyLG2+8Ea2trdi3bx+2bt2KPXv24IknnsBrr70muMf/5je/AQC0trbii1/8IlpaWqDRaITW9UyACp4sh6RjgsFgSJ2ORqNJSBDMzs7CarWipKRkSZ2OVNEUKbeVynbEU5Lr6+sxODiY8oWBDh6kpDsCodfrYTAYUFpaipKSEvA8nxbfMCXTSkoJnlwbeBjPe9m9ezd2794d8tgDDzwg/Pdjjz0W8bX33nsv7r333uQXKBNU8GQx0ep01Gp1XB5RpE4HQMR5OlJFZQBlBY94SnJdXR3WrVsnfH6pkk01PPlAvtg8iIuWE/UNE0+LTsQWJd+GHSq5b6kFT76fX6jgyUJIuoqIkHDdV6SVPBLiOp1YRbpSCh61Wg2fz5fydhIVPOIpye3t7cIJXuri53RuI9kLjxLCKt9PtHIR6xiQwzdMqc4wpTulcmXgYbLdurkAFTxZRCKDAyPZQYijHLW1tUKdTjQyMcIT7w9WXOcQbkpyJqTYCOmq4Uk32bLOVMmWqFK8vmHEk4nMEzKbzcJ5RakIT6bUgqQLqQVPIBDIu89QDBU8WUCkOp1ohBMp4jodcZQjFplYwxMLjuMwODiIkZGRqFOSpYp2SLGdRKY1+/1+TE1NwWKxCC3K8ZIPqbNsER+Zss9IvmHEmHJ8fBwOhwM8z6OgoAB+vx92ux0mkyltF1AlU1pKIbXgcTgcYa1x8gUqeDKcZOfpiFNabrcbNpsNHMdh48aNMJlMCa1B6pSWVNuKxMzMDKxWa1xTkqW6QKUrwiMWciUlJZiYmIDX6w3pzrFYLFELU/NB8CiBEp+pnNGWSMaUs7Oz6O3txcjICJxOJwCEDEqUyzeMCp7UcTgcId9nvkEFT4YirtMhEZ1E7SACgQBsNhtmZmaSGqZHkPKEKmeEx+PxoLOzEwASmpIsBemwlpibm0NnZyfKy8uxbds24dhY3J0zNDQUUphK6jKUcnvOJ5QsWk4HKpVKSIc1NzcDOH1RdjqdcDgcGBoaEnyVpPYNU9KhXSmCwaCkgofYSuQr9AyYYSRr8Ll4G5OTk5idnRUujplyZySH4GFZFn19fZicnERjYyPKysok3Ug9sGkAACAASURBVH48MAyTcuQqkmjy+XywWq0IBAJCJx05TsjxEa47Z3FNBsdxMJlMMBqNQtQwU46LXCFbU1qJsPi4UavVKCoqQlFRkfBYMBgURNDAwABcLhfUanXKvmFKHK9K1g5JHeGhgoeSEUghdIDTUQCr1SoUGdbW1kq91JSQMqXF8zwmJibQ3d2NlStXYvv27YpdwOVwS+d5HkNDQxgaGgpbhxSrOydcTYbT6cTc3By8Xi+OHTsm3ImTSFCiF6F4UaIrLB+KpTO1bkij0STkG0aikNF8w5RsDVeyHT7VuUliaEqLojikTufUqVOorq4OOUnEi8fjgdVqBcdx2LBhA4xGI9577z0ZVpsaUkV4nE4n3G43JicnsXXrVsUnykrdlk7a6EtKSuJya48HlUolFDnPzc1h8+bNES9CRABZLJaULQvyQXgoRSZEeOIllm/Y5ORkVN+wXJmFkwhkXIBUxGMcmstQwaMgHMchGAwKtRjJRD+Ib9bU1JRi6ZxESFXwBINBdHd3Y35+HgaDAa2trRmRlpGqaJllWZw6dQoejydsG70UiIVVuIsQ6cBxOBwYGxuD1+tFQUFBSCQokUF1FPnIJsETjkR8wwDAYDDA5/NBp9Ol7X3nkqWF0+mkXVqU9BIpfaXRaOIWPDzPY3R0FP39/aipqZE9nSPVHVayKS3x+62rq0NTUxMOHz6cMXUoqUZ4eJ7H+Pg4Zmdn0draiuXLlysWGdHpdCgrKxPE8+JpvQMDAyGD6sideCbN98iXLjQljn+5RVYk37De3l74fD50dnYKvmHk2IvVmZgKSkZ45OjSInV++QgVPGkk1jydeAUPqdMpKipKaJ5OKpCBY6meXJOJhCwsLKCzsxMWi0WWKclA6ifxVNZC3p/ZbEZxcbFQcyMXyQw4DDetl8xoIXVUPM/DbDYLIkiu9uRE1p3rZHuEJ170ej2MRiNKSkpQWVkpdCba7faQzkSDwRAyLVoKEZRLgsfpdKK+vl6y7WUbVPCkAZ7nhTbzaPN0YkU/PB4PbDYbgsGgbOmOSKhUKrAsm3JrcyLCwO/3w2azwePxoKWlZUmxXaRp0olCBECqdSqJRhUCgQC6urrgdDrR0tICnU6HU6dOJb2GeJGq3shsNsNsNgsCjWVZuFwu2O12oT2ZzHIJBAJwu91Ri1IpiZMvgmfxfsWdiWIR7vV6Ybfbl0QiiQBK1Dds8X7TDe3SkhYqeGQmkcGBkQw/xXU6a9euTSgkKdUJUaruqnjWIh6ut2bNGlRWVoZ9ndS2EKmc1BJZizg9t3r1ajQ3N4NhGPj9/rRMoZYLtVotRHcIwWBQKEjt6ekRilIXF0VTkiNTu7TkINZvVByJrKysBPDZeAaHw4GZmRn09fUJlhliERTtRi6XIjy0S4siC8m0mWs0Gni93pBtjI2Noa+vD9XV1QnX6RCRIsXAuXRMSAZOT0m22WwoKyuL2Z0kpeBJl/Gnw+FAR0cHCgsLl6QjyTb803/H8HQ5VjfF9jmTc61SoNFoUFJSAr1ejw0bNgCAMCTRbrdjZGQEPp9vyZDEVNO0+VLDA6Q/dZcJEZ54EY9nEPuGkXSs2DfMbDYL9UDENyzZ/UoFjfBICxU8EpOM7xVBbAcxPz8vzNNpa2tLKhctVcoHkN8Di7TV8zwvDNdL15piTTiOdxvRLrLBYBBdXV2w2+1obm4O2xrKMAz0nnmYDA6sWj6FJ7//CRpbV2DbBZtgNEnXmgooKwj0ej30en1IUbTH4wl7F77YuDIRaOpMHrJJ8IQjXDpW7Bs2NjYGp9Mp1KSxLAuDwaBYgbiU+3Q6nSEDIvMNKngkgud5IX1FhE6iB6parYbP58OJEycQCATQ2tqaUp0OEVBSFO7JFeFhWRb9/f2YmJhIuK2e1BWlihTCKdI2xFG6uro6rFu3LuKFmGEYLB85CWZbPQq0DG6/HXjyyWG8+OwQzjq3CBdcth4rV61MaZ1kP5mE2L2bpCI4jhMmRY+NjcHhcAgXKnFRdKa9l3wg3XYWBDkFh9g3rKqqStif0+nEwMAA7Ha7MKhTHAlSujA/UWiEh5IyyRp8imFZFqOjo5iamsLGjRslaR3MZNNPYn/R3d2NqqqqpNrqpa7hSYVwER6n04mOjg4Yjcb4onQcBzO7IFzE1WoGt92mwauvcvjd/gW8+fo7aGzS4cLLVmFTe2tKa810VCqVcBdOLkDEs8lutwt2BeJJvck4x1MSh+M4RXzZ0h1hIYM6CwsLYTQaUVFREXIMLvYNEz83U0UQFTyUpJHK94pEACoqKrBs2TLJ5iRIKVKkTGmxLItjx45Bp9OlNCU5k2p4xGsJBoPo6enB3Nwcmpub4w4hcx3vQV8VmupiGAa7dqmxejWDhx8Kwmb1w2a1oaioC+deWIqzLlqP4tLEJ3NnI+E8m8STeolzvE6ng8/nw9zcHHQ6nWzzWfKVfLN4ENfRRPMNEwtx4hsmFkGZIMRZls3roaFU8CQBqdNxu904deoUzjjjjKQOZlKnU1hYiLa2NvA8j5MnT0q2zkyL8JApyV6vFy0tLUm7txOkECqAdDU8HMdhfHwcPT09qKmpQWNjYkXH3jdfhWX3mrB/a2pS4Yc/0uK+rwfgcAALCzxeOTCNP7/8JjafUYDzLlmDhpY1GXFSTSfhJvX6fD6cOnUKLpcLn3zyCXWOlxglu7SU6JaKJfCi+YbZ7XZMT08n7BtG9ivl55xPhfyRoL/6BFhcp6PRaOD3+xM+KL1eL2w2G/x+f8h8GZZlJU0bZYrgEbdh19bWLmldTpZMquHxeDxYWFiATqdLqsics8/Ae8yKkhs2RXzOsmUMHv2hFt/7bgA22/++jgM+POrBh0dPYcWKT3H+xSuw9dxWFEhc5JxN6PV6GAwG1NTUwGQyCUXR4ZzjxUXRmZqGyDSyvWg5UZLplIrkG0YsW8S+YeJBieKUrFwRrXy7KRJDBU+cRKrTSUQ1syyLvr4+TE5OoqGhAeXl5SEHn1QXcILUKa1kthVuSvLk5KQkodVMSGmxLIve3l5MTU3BYDAIrdeJ4v/bywDLgSmI/pnodAy+do8Wv/0ti9cOhb73sTEOzz0zgj88P4JtZ1tw3iXNWFEr79TmTEX8fYqLoklrMunKIa3xTqczbc7x2U4uFi3H2q8UkSWtVrvEMkPsWyf2DZOjHk3qiFE2QgVPDKSq0xkfH0dvby9WrlwZsUBX6oNR6giP3++P+/nRpiRnUrExkHxKa3JyEl1dXaiursaZZ56JEydOJLV/nufheevv0K2tiOsYUKkYXH+9GvWrGTz55NLv1+cD3n7Djrff+ABrG7U4/5JabNjaDI02v37u0T5LcVfOypWnO9/EtRjhnOMX34HnK0pdOJVKpclZOxTOt46IoJmZGbhcLhw+fBgGg0E4XpP1DXO5XDCZTFK/hawiv86ACSCF0AE+i3CQOp10FlAqkdLiOA5DQ0MYHh5GfX19WBNMKQWPEiktt9uNjo4OaLVaoeiaZdmk3xPbdRTBkVlYvrAl7tcwDINzzlWjppbB/d8IItLH0GULoMvWA0tRL867oBRn7cifIudECVeLIXbuJs7xxK+JiKB8K4pWchCfUoInXbVDDMNAr9ejvLxcaOZoamoSzHvFvmEFBQUhIihWxNzhcOS1UzpABU9YWJYNmacT60cW7s7D6/Wiq6tLKNBVohUw0ahMNOIRBbOzs7BarSgrK8O2bdsiFoZKJcRUKlVYK45kthOPWCEpyampKTQ1NYUUyqYyvdj71z8DAPT1iXfn1daq8PiPtfjGvgCmpyM/z77A45WXpvHnP76JTVsKsLpJp9gdczax2LlbbFq52K/J7/djfn4+45zjpUaplJZSKF07FMm8lwzrnJ2dXeIbFq44P99b0gEqeMJCLlzxHOTkYklOcOJBeuHqdOLdfyb5X8XaltfrRWdnJziOi2tKcqaltOKp4ZmamkJXVxdWrFiBbdu2LTk2khU8nGsB3g9OG4ZqlidXyG02M3jku1o89lgAH8fIqnEccPyYB8ePefDuGy/jghwtcparIyWSaaXT6cTJkyfT6hyvVNdNvtWCKOWlFW2/4YZ1in3DxJYZJ0+exPj4OJYvXx7XBPuDBw/ijjvuAMuyuOmmm3D33XeH/P3RRx/FU089BY1Gg/LycvzqV79CXV0dgNPXCVLHWFtbi5deeimVj0ByqOAJQyLpK41Gg2AwCJVKJdTpJDtID/jMDkKKH5jcgkcs7hIxNc00wROthsfj8aCzsxMMw+CMM86AwWCIuI1k8L/3J/D+02lTVWH4bceDRsPgzju1ePFFFi8diO8zGf/fIuff//cItp9jwbkXr0NVXVXSa8g00nVRJn5NOp0OTU1NAD6b0hvOOV6q2SxKCQ+lIh5KtlVnQyotnG8Yx3GwWCx4/fXXcejQIXz00UfYunUrWltbsXXrVmzduhVtbW1CJIhlWdx+++04dOgQqqur0dbWhj179qClpUXYz5YtW3D06FEYjUb89Kc/xVe/+lU899xzAICCggJ89NFHEn4K0kIFTxgSObg1Gg3m5+cxMDAAk8mUcp0OsYPINMEjrpfheV6IeCQj7qRMacklnDiOQ39/P8bHxxO2vEgE75tvn15DiRGMOrWLCMMw+Pzn1aivZ/CjH8b/+fr9pMj58Oki54trsaEt/4qcU2FxVJZM6V3sHE/qgaamplJ2jlcqtZRvKS2lkCKypFKpsG7dOqxbtw61tbXYsmULvvGNb+DUqVM4evQofv3rX2Pz5s2C4Dl8+DAaGhpQX18PANi7dy8OHDgQInguuugi4b+3b9+OZ555JqU1phN6RksBksv3eDxYv369JPnRTJmdE25bpJW3s7MTWq0WZ555ZsSIRzQyLcKzeDszMzOwWq2orKxMOlIXD8G+kwj0TQAACrbUSrJNhmGwZYsa3/seg/vuC8LrTez1QpHz/v8tcr6oBcVlJbFfmOfEk4YON5uFdOQk4xyv5ADAdO83H+vNWJaVdECmw+EQjqctW7Zgy5YtuPnmm0OeMzIygpqaGuHf1dXV+OCDDyJu85e//CUuv/xy4d9erxdbt26FRqPB3Xffjauuukqy9UsBFTxJQFI54+PjMJlMWLVqlWTFYBqNJiMFD8/zsNvt+Pjjj7Fu3bqQk3aiZJrgISktUovE8zy2bNmCgoKClLcdDd+brwj/rW+qlHTbFZUqPPaYFt/+dgBDQ4m/nhQ5/+nlt09Pcr54Ddauz55JzulOfyS7v3BtyV6vV2hL7u/vRzAYDOscr6TgSXeER8nOMKUIBoNJ2+6EI56i5XDHcaRj7JlnnsHRo0fx1ltvCY8NDg6iqqoKvb292LFjBzZs2IA1az6bHs/zvKIRQip4whDpC+Z5HhMTE+jp6UFVVRXOOuss9PT0SD4skLTCS7GtVNdGvL56e3uhUqmwffv2lE+ymZbSYhgG09PTGBkZSagWKRV4nxuedz/LdWurpW8VNxQw+OYDWvziFyzeeze5z4nnSZHzKSxf8SkuuHgFzjynFUZz5hc5p1sMSLE/cUdOJOd4p9MJnudhNBrh8/ngcDjS6tqthNDKx7ohqYulnU6nUNsTierqagyJ7pCGh4cF814xr732Gh588EG89dZbIaKMPLe+vh4XXnghjh8/Lggecdfz/Pw8uru7MT09DZVKBaPRiLKyMpSWlqK4uFg2vy8qeOLEbrejs7MTRqMxxPBSyogMkFkpLbvdjo6ODmGG0LFjxyQ50WWSJcTs7Cx6enpgMBiwbdu2tHVj+A+/Ct792cgA9TJ5BoKp1QxuvfW0+ej+36b2mS8tcm5CVd1KiVaa3cgpAiI5x8/MzMDpdGJwcFAwrCRpMIvFEtOrKVnyKcKjZDRCrpRWNNra2tDV1YW+vj6sXLkSzz77LPbv3x/ynOPHj+PWW2/FwYMHhU5FAJibm4PRaIRer8f09DTeeecdfPWrXxX+zjAMXn75Zbz66quC153dbofT6UQgEIDZbMbq1atx3nnn4ZprrhEaAKSECp4Y+Hw+dHV1wePxYN26dUs8oKSMyACZkdLy+/3o6uqCy+WSZYaQWq1O6/yccPh8PlitVgQCAaxevRperzetrafeN9747B9aFRidfPtmGAY7d54WPQ89GESqN62fFTkfQcPaj3DBJbTIOd1RD7VaDbPZDJPJhNbWVgChzvHEq0mv14fUA0mVIsmXCI9SDu1k31JHeGKdyzUaDZ544gns3LkTLMvixhtvRGtrK/bt24etW7diz549uOuuu+B0OnH11VcD+Kz9vKOjA7feeqtwXr777ruFYuexsTF84QtfECaXb968GTU1NaiqqoLBYEAgEMDIyAhOnDiBX//61/jOd76DK664Ag888ACam5sl+wzy9wwVBVLT0d/fj7GxMaxZswaVlZVhf+QajQY+n0+yfUspoJKZ/zM0NIShoSHU19ejpaVFlhObkhEenucxODiI4eFhNDQ0oKKiAtPT0/B4PCmvJ17YkS74rcPCvw0bVqblAtLYeNpxfd99Adjt0myzuyuA7q4eWH7bi3MvLMXZGVLknA9FrovfYyTneLvdvmRCrzgSlA3O8UoP/1MCJQQPAOzevRu7d+8OeeyBBx4Q/vu1114L+7qzzz4bJ0+ejLjdc889F3v27MHmzZtjWlwcP34cjz/+OHbt2oWf/vSnS9aTLJl/pCsAz/M4cuQIysvLsX379qgHnUajgcvlkmzfUqa0EoFMSS4tLY06JVkKlCpanp+fR0dHB0pLS0O+V6nWEy++t/4Y8m9Da/pm3yxbxuAHj4Y6rkuB3c7jTy9N488vv41zN6lw1ZcvgT6OIWe5ghICK559EpsCUpcmdo6fnp5GX18fWJYNGZKYic7x+ebQDsgjeBZnKNLFihUr8Mgjjwj/ZllWOHZ5ng95n6Rp5Omnn8bo6CicTqdk66CCJwwMw6C9vT2uE5jUAkWj0cCbaC9xCni9XlitVgSDQWzcuDEt5nLpLlomRqZerzfse5RS8MS6CPEBPzx/OxrymG5VaYRny0M0x/VU4Xngbx9xsH71j7jh/7Ri9ZZWSbefqWSq4FlMMs7xhYWFMJlMikbMMnHacbbtW0nBQyACcvH7YlkWdrtdGOBJCFcwnQpU8EQgHrsB4LNJy1IhdU1QJMSD9RLpTJLixJ6uCA/P8xgeHsbg4GDUtGS833UsiL1EtM8n8OHr4Oyh6TN1efr9bQTH9XoGT/5c+oji5IIOj/7QhsvO6cGuf94p+fYzjWwRPOEI5xzPsqxQD9Tf3x/iHB8IBODxeNLqHK9khEcpwSP1e3Y4HIoKnkjv5/3338fBgwexsLCAysrKJZOdpYQKngjE640kh+CROqW1+MRIpiQvX748ocF68VzQ4yEdHlgLCwvo6OhAcXFxzBRdNGuJRNcT6yTlffP1pa8zKuO2zTAMzjlHjZoaBg98MwgJ6shD4HkGr/6dw6mOP+CcS4qk3XjMfedHDY9cIkCtVi9xjg8EArDb7RgfHxcipsQ5nkSD5HKOz8eiZUDa4nCfz5fUoFipIJ8jOdeqVCq8++67+NrXvgaDwYDt27fj+eefx69//Wv853/+J9rb2yX/HVPBkyJypLTkEFCk1qizsxMajSaqL1SsbaV6ApCzTikQCKCrqwtOpxOtra1xFelJOc8nmkhmp4fhO9kX8pimdhkYlbIX5tpaFX70mBbfvD+AyUnptz8yo8cL/+2Gd/oVXHz9TqizoEg2UZSaTZPOfWq1WpSWlkKv12PTpk0hzvHz8/MYHBwUHLuJCFrs2J0s+Vi0LAdK3QQ8/fTT6O7uxoMPPgiVSgWfzwe9Xo+XXnoJjY2N+MUvfgEA2LdvHy6//HI8//zzaG9vlzzClntnnjST6REetVoNn8+H3t5ezMzMpDQlmawt1aFQchQJ8zyP0dFR9Pf3Y/Xq1Whubo77x50uweN/8wAW94QXbKqJ8Oz0YjYzePg7Wjz+WAAnYjiuJwPLq/DS6wF8fOoF3PDldlSuWS39ThQkm1Naie6TEMk5ngxJnJycRE9Pj+AcT6JAyRRF52NKS0rI96aU4GloaMD+/ftxzTXX4M4770RbWxsAoKamBh0dHXjnnXdQX1+Pjo4OzM/Ph8z3kRIqeCIQ74EhR4RHSjsIv9+PDz/8EHV1dSlPSZZKGBBfLqlwOBz49NNPYbFY0N7enrAgk6qGJ9rnw7NBeN5e6kmjXyv/VOd40WgY/N87tfjDH1j84ffydK31T+jx8LeO46qdNpz/xUuhStEwNRLZYi2R6j4zTWSJHbtXrFgBINQ5fnh4GC6XCwzDhKTCYjnH51tKS8kJz3Jw3nnn4bHHHsNTTz2Fe+65B5deeim+8pWv4LbbbsOJEyfwla98BWvWrME777yD8847D9deey0ASP7ZU8GTIlKfcKQSUGQydDAYxPr160Nmcyi9Nqnm8ASDQXi9Xnz66adobm5OuiBPyhqeSCeqwMm/gZ1Z2l6pWZHe2pZYMAyDq65So341g0cflSftGGRV+J8/efDxx8/jui+fg9Laaln2k43WEomglOBJ9CIUyzm+t7c3xDmeiCC9Xi+8v3yL8Ej9fkkKSUlaWlrwyCOP4Omnn8aBAwfQ0dGBm2++GU8++SROnTqFjz76CPfccw+2bNkifO9SH99U8GQYqXZp+f1+dHd3w+FwoLm5GUNDQ5L9cKSKzKQaKSL+Xn19fVCpVHGPEJBrPYRowsn3xl/CPq4uktegNBkYhsGmzWp87/sM7vt64o7r8WIb1uOhb3yAf7jCirP+vx1ZXWScidEWOZCqbiiWc/zY2Bi8Xi8KCgpQWFgIn88n+cT3eJAihZ/sfqWchWa322E2myXbXqKQY1Wr1eKWW27BNddcg7vuugtf//rX8fnPfx7XX3891q9fLzxXLqjgiYBSJ99k0yviKcniGhYpU25STkhO9qB2Op3o6OiA0WhEW1sbjh49KknXmJRt6Yvh5ifhPd61dL9mHSBTSkcKKipUeOxxLb79reQc1+PBF1Rj/+8dOHH8eVx7+4UoWi5N7l6JlFY+2C3Iuc9YzvELCwsYGRkRnONJUbScERilipaDwaAiU5blgPw2PvroIxw6dAgulwvt7e342c9+hgMHDuChhx7Ce++9h6985SvYtm2brMc0FTwSQO7slWpfnJubQ2dnJ0pKSpa0YGeSGWkqBINB9PT0YG5uDs3NzSgqOp0KkuKzl7otfTH+t18C2KWPGzbXZnxUw2Bg8MC3tPjFkyzeTdJxPR4+6dfhwXvfxhf/oQJnXn6eZM7juUy2pLSSRewc73Q6UVxcjJKSEmFI4sTEBLq7u4WiaJI2k9I5Ple6w+IxDpULhmHw4osv4nvf+x5WrFgBi8WCP/3pT/j73/+Ohx56CFdccQXuuOMO3HLLLbj11ltx3XXXJd1YEwsqeCKQyIlEqnbtRPF6vbDZbAgEAhGnJGe74OF5HhMTE+jp6UFtbS0aGxtDvpt4Zt/EIt6ZS8lsh+d5eN56N+zz9c2VKe8zHahUDG65VY36NQye+S/5vn+3X4Nf/24WHx/7H1z95YtRmAGeXPFCU1ry71elUoFhGME5nsCyrFAULbVzfK5MeFZS8ACnvbh27NiBf/3Xf0VRURGOHDmCK664AldeeSW2bduGH//4xzh69ChuueUWvPDCC3jhhRckqTtdDBU8EkBa09OV6xVPSSYGmJGQOqWVTs8pl8uFjo4OGAwGtLW1hR1qJsWapDqBh1tLsPN9BMfnwz5fV5teS4lUYBgGl16qRl2dNI7r0fjQpkXX117HtddUY8OOs+TbkYTkk+DJNE8rtVqNoqIiIeoLhDrHT01Nwe12Q6/XCwKIFEXHIlcEj5IpLQDweDwwmUxYvfr0OIqzzz4bwWBQuDaxLIutW7fiww8/xP333y+blyMVPBIgZSs5ED1NQ6YkV1ZWxjUlORsjPCzLore3F9PT0zHnBqVbhEUjXITH98bBiM9Xl8rvWyY1jY0qPPqoDvf9uwtOv3wC3+HV4udPT6D9g//G52+7DOZlxbFfJCIfanjyZZ9A4kIrmnM88Qzz+XwwGo0hImjxhZamtKThkUcewT333IMPPvgAVVVVsNlsuPjii7F582YAEN4rz/O4//77ZVsHFTwRSDSlJcfwQfEPze12o7OzE2q1OqEpyWq1Gn6/X7J1BaT2H1jE5OQkurq6UF1dHdfcoEwWPJxzHt4jn4Z/sooBo8/On19JKfDwPSy+/6MABubldUQ//KkOtq/9BTt2GFCzpVm4MMXj45TrNTwcx8l2Jxxtn5kW4YmXaM7xMzMzgnM8KYq2WCySFw/HS65FeK666ioYDAa89dZbmJqawmWXXYZbbrkFRuPp8wcR0nL/ZrPzjJthSD1tmUSMtFotgsGgMCW5qakp4bxmpqa0Fkex3G43Ojo6oNVqsXXr1rhnRmSS4Fm8Fv87fwTvD//Z69ctz+oLsqXegq8/4MPTP1zAu33yzhKad+nw4ssczh36CGdcvgETExMhPk6kVkOJ9mFCvkRbslnwLCaWc/zo6CgWFhbw8ccfh9QDpcM5Xo4Ij9TO44mya9cu7Nq1K+zfyOfJsix8Ph9UKpUsvl9U8EiAHPYSgUAAc3Nz6O3tRU1NTdLtepma0iLigOd59PX1YWpqKilBl0mCRxzh4TgO7jfeivhcwwZlTz5SoCvW4+b7SlH35AR+97789Uh//0gLa+/HuOHGZmxoawtpWSZ356Rbh2XZtA6NyxfBo2RKKx3f5WLneJfLhU2bNgkiaGBgAC6XCxqNJiQVJrVzvNTzf1wul6IRHo7jEAwGhVk8YsbHxzE9PY3p6WkcOXIEf/vb3/DJJ5+gp6dH8nVQwROBZLq0pILjOJw8eRJFRUURi3WVWJvUgmdqagp9fX1YsWJF0oIukwQPWcvMzAwmjvwV5UMzEZ+rqy9L48rkQ6VRYde/rEBNzTgefaEYQU7eu/8p0q0lHwAAIABJREFUuw4//FE3LjmrB7tvvByVlZWorDzd7UbuzhcWFuDz+XD8+HGhW0euCxMhX6wl8tHiQavVRnSOJ+3xHo8HBoMhRASlct6WI8KT7CR6KVCpVMLnMT09jZMnT6KnpwddXV0YGBiAzWZDX18fVq9ejZ07d+LOO++UZR1U8EiAVBEe4vQ9Pz+PhoYG1NSkbiyZiSktj8cDp9OJ0dHRpFzb5ViTFLAsi4GBAWi1WqwdsiLagGJNhXInHzlovWI5Hlo5g4d/rsOcR94R9jwYHHoPONX5B/zjLZtQs34dgNC78/HxcZxxxhlgWVbo1hFfmCwWC4qKiiRNheVDtCWXUlqpQJzjS0tPRzbFzvELCwsYGhpCIBAIKYpOxDk+l4qW/X4/3nnnHbz77rv4+OOPMTU1BeD09GeTyYStW7fi+uuvx4UXXij7NGgqeKIQ73wWjUYDn8+X9H54nsfw8DAGBwexevVqaDQayXxPMinCI26nNxqNWLduXcp5WikFT7IXEPL9jYyMYPny5Vi3qgYz//FI1NeoCpX1tZGDyjNK8eA+Jx5/1InOKfnH2I/N6fG973bg8gu6cOkNu6DRLRUui7t1Fk/v7evrA8dxIYWqybh554v4UCqlpdR+4yWWc/zU1JTgHB/PsZZLk5Y//fRT3HDDDWhra4PFYsGOHTuwfv16tLe3L6krkvuYpoJHAlIRAnNzc7BarVi2bJkwJbm3tzdjRIpU25qZmYHVasXy5cuxfft2nDp1KiN8ucTbSeakSpzai4qKsGrVKmi1Wvg/OAjeE7mbTVNhBpNBd6tSYlppxl0PBLD/R7N43SrPtFQxHM/glTdZnPzkRdxwWxtWNNZHfb54em+4VBhx8xYbXsaTCqMpLfnJZMETjljO8SMjI3A6nWAYJiQVZjQaZenSUiql1dDQgGeffRZVVVWorw/9fZJzN+nQkvvYooInColEeBJNafl8PlitVvj9fqxfvz4klCflXB+lU1perxednZ3geR5btmxBQUGBsK5MEjyJWlSIrS5aWlpgsVgwODh4OoLw5ptRX2vYXJvyejMZjUmLG75WgVW/GcMv30hPrdLglB6PPPgR9lxqxYXXXJaQABGnwgjBYDBsjUakVFi+FBBnWmop24jmHO9wONDX1we32w2v1wutVotly5YtcY5PBqfTGTKYMZ0MDw8jEAiEiB2O4xQ5lqjgkYBEBA/HcRgYGMDo6CjWrl2L8vLyJQeylPNulIrwkPc5NjYmvE8xUhqRpls4kVlBNTU1IVYXKpUKqok++LtGo75e3ySNQWYmw6gYnP//V6GqZgLf+60FXlb+Dpsgp8KLr/pw4uP/QdvFJSldIDQaTcxUmLgrLBAI5EV6KZ1eWkqTLhuNcM7xR48exbJly+ByuZY4xxPBlEjtmcvlCms9lA7Gx8dx++23o6WlBXv37sX555+PioqKsMeRz+cDwzDo6OjAX//6V5x99tnYtm2bZGuhgkcC4hUC09PTsNlswpTkSCFLtVoNrzdayWv8SPmDjfd9zs7Owmq1ory8HNu2bQv7PpUQKqlux+v1oqOjAwzDhJ0VxDAMCo6/jVjSV7NS/lRPptBwSSUeXjmPR36swrhT+rka4egZ02Pod3bw9tdwzucvhkoCR/pYqbDZ2Vl4vV5MT0+npSsMUC7Ck+5hh0qhZDSL53mUlZWF1AN5vV44HA7Mzc1hYGAAwWAQRqMxZBZVpGsKz/OKDFAEgPb2dnz/+9/H888/j+985zt47LHHsHHjRrS0tKCyshIWiwU8z2N0dBQdHR14/fXXYbPZcNNNN+Gf/umfJF1Lfhy5SRLvySRWhIdMSVapVCFpnWjbU8qVPBqxRAFJ0wUCAWzatEmYohkOqSJPUtfwhIPneSEq19jYiLKy8GkaFRcAe+RUzH2pi6N//7lGSXMxvvlND372AzuOj6anjsDPqvHcSy58/NHzuPZfzseylSsk34c4FUaOw+XLlyeUCksFJS7I+ZTSUspHC1gaSRMLbrEIiuYcT4YqJtIef/DgQdxxxx1gWRY33XQT7r777pC/P/roo3jqqaeg0WhQXl6OX/3qV6irqwMA/OY3v8G3v/1tAMDXv/51QawYjUbs3r0bF1xwAQ4dOoTXX38dhw8fxu9//3sEAgF4vV6wLAu9Xo81a9Zg7969uO6662QZlEgFjwREEjxiT6jGxkahhTEWUltVSEUkAcjzPAYHBzE8PBwxTbcYKYWKFOk/UsOzmIWFBXR0dKC0tDRitIpgsH6AoDNGt55eA0arzElUSQzlBfjXb+rwh59M4aWP0ueC3jGox0P73sHVV5Wh7XMXyD+6PsFUWLJdYWTb+VA3pERBOJD54i6ac7zD4cAHH3yAe++9FwaDAR6PB/v370d7ezsaGhrCfocsy+L222/HoUOHUF1djba2NuzZswctLS3Cc7Zs2YKjR4/CaDTipz/9Kb761a/iueeew+zsLL75zW/i6NGjYBgGZ555Jvbs2SOk6Uh32lVXXYWrrroKDocDAwMDmJmZAcdxKC0tRUtLi+zRQyp4JGBxdIDneUxMTKCnpwfV1dUJD9VLl0mnFMzPzwuCIFqabjGZntIKBoOw2WxwOp1Lisojwbz/bsznFGxcmXXdJlKh1qvxD3cuR91zY3jiT6WyOq6L8fg1+M//nseJD5/Hl/5lByzl0hdSRxIC0VJhdrs96a6waPuUk3yKKikZ4UkWsXN8dXU1du3ahcnJSVx55ZUYHh7Giy++iO7ublRWVuK73/2uYN4JAIcPH0ZDQ4NQXLx3714cOHAgRPBcdNFFwn9v374dzzzzDADg1VdfxaWXXioI/UsvvRQHDx7ENddcA+Czm2VSF1VYWIj169cvWb/cxzQVPFFI5oN3OBzo7OxEQUFB0lOS5UhpSX0g+f1+2Gw2eL1ebNy4MeGCOKlEndTdXmKxumrVKjQ3N8f1ubETfQh0DMV8nr41+y0lUmXrl1bgWzVT+N4zhVhwpu9CdqJbh+6vvYlrvrQCmy89R9JtJ1LMu9i+AEi8K4zsMx+KlpUcdqiE4JE6okVmUf37v/+78BiZhSZmZGQkZNhtdXU1Pvjgg4jb/eUvf4nLL7884mtHRkaWvEb8PYrfJzmOqXlolsDzPDo6OmC327Fu3bqUWgDlcl+XIlzI8zyGhoYwODiINWvWoLKyMqmDVO5UVDLr8Xg86O7uhk6nS1is+t76Y1zP09WlL52TydScXY6Hal147OcB2AbSN4TR5dPgqf+cQtvR5/GF2y6DaZk0rbqpXqSSSYWlq4tIjFL7zDc7Cyn3G27KMjFLXbzfxUT6rp955hkcPXoUb731VsKvjffvckAFT4rwPI+RkRG4XC7U1dVh3bp1KX+RUqe0pBI8CwsLcLvdcLlcwpDEVNaUynRqghQpLY7jhAtLa2trwgamfDAIz9uH43quukz+CcTZgrnahK/dF8TvnnbgL++kt2X2yKda2O7+C667bhVazm+TZJtSnsDjSYXNzc3h1KlTKC4uTktXGFlDvkR4lEppyTF0MJ4py9XV1Rga+ixKPTw8HLZw+LXXXsODDz6It956S+hUra6uxpui+WPDw8O48MILl7yWnKuVqo2igicKsU4c8/Pz6OzsRHFxMQoLC7FixQpJTjZyCZ5kCQQCsNlscLlcKCgoQGNjY8oHbKbM4Zmbm0NHRwfUanVSbu0AEDzxBrg5V1zPVRmTNxTMRVQ6Da69uQir6+bw8/3pHX2/4NbiP34xgnOPDOLKW3aioDB5MZqO9NLiVNiJEyewdu1aIRI0MTEBr9cLvV4fUg8kpet2PgkepfYrh61EPDWIbW1t6OrqQl9fH1auXIlnn30W+/fvD3nO8ePHceutt+LgwYNCtxgA7Ny5E/fccw/m5uYAAH/5y1/w8MMPh7x2ceSKDh7MEnw+H2w2G3w+n1DQevToUckOVKlPnMkKHhK9GhgYwOrVq9HS0oIjR45IEupVumhZXIO0efNmjIyMJP25e958La7naetL87ZgORqMSoWzd5WitmYW9//AhEAwvZ/R3z9So+Pf/4Tr/7kRa9s3x35BGJToJOI4DlqtFkajMWwqbHZ2Fv39/ZJ1hZHt51NKKxciPPE6pWs0GjzxxBPYuXMnWJbFjTfeiNbWVuzbtw9bt27Fnj17cNddd8HpdOLqq68GANTW1uKll15CSUkJ7rvvPrS1nY6W7tu3L+TmkRw3999/P8455xxceumlinynVPAkgHhKckNDAyoqKoQff6bOzgGSEzzEI8pisaC9vV24SyTbSvWuUapi40S3QwZc9ff3h9QgJVsLxM6OwfdRd1zPLdhYE/tJeUx1awl+9LAd3/yOGpMz0kUl4mHGocNjP+7HjvZ+fO7/7ILOmNiQxExpEZezK4xsS4kIjxLCQ8n9StmenYhT+u7du7F79+6Qxx544AHhv197LfLN3Y033ogbb7wx7N/IsfXaa6/hmWeewfnnn48rr7wSZ5999pIp/HJCBU8UxCcAMiW5oqIibPt1ps7OARITPMFgEF1dXbDb7Whubl5yZyBlZCbdKS2n04mOjg6YTKYQEZfodsT4334Z4OK7u9c1pMdXKpsxV1rw8Le9eOJxD453pH9A418PA5/YDuAfb9qAuk0tsV8gIhMETzgS7QqLlgpToktLqeJhlmWT6rJNlVxySl/ML37xC/zxj3/Eiy++iDfffBMbNmzAddddh23btqGmpoaahyqN2+2G1WoFwzBRpyQnYyAaC6nuGuMRPDzPY2xsDH19fVGLrzNxQnKs7YgHQLa0tITtoEtmPTzPw/NW7Nk7BM0KZcz7sg2NyYA77tLgwO/s+P2h9Bd5T8zr8f0fWLHz3G7s/Ked0Opjd5FlSoQnXqJ1hc3OzgrWBYtTYfnWpZUrKS2ljEMX09zcjObmZtx888148cUX8dxzz+HOO+/Ehg0bcPXVV+Nzn/scSktLZfvcqeCJQjAYxMmTJ9HQ0BBzSrLUgodcgKX44mOJFBL5MBqNSyIfiW5LqjXFSyyhQiJzVVVVUQdARrOWiETwk3fATtrjfr66ML8sJVKB0Whw5fXLUF83ix88lf67U55ncPBvHE51/AH/eOuZqFrXEOP52SV4FhNvKsztdqOvr0/oDJO7K4ysI5+KluXo0hLPyFESYrJbXFwspMCeeuopfOtb38JNN92EiooK/PM//zP+7d/+jVpLpButVov29va4ftBS1/CQ7ckpeILBIHp6ejA3N4fm5ua47gIypbsq1np8Ph86OzvBcRzOOOMMGAzRazKSqeHxvvFq/OssMoDRZO6Y+kyEYRhsPL8U3185h/seKYDHm/7Pb3haj0ce/hif22HDjusugzrDjDPlFBvhUmFHjx5FaWkpnE5nQqmwVMgV4aHUfp1OZ1xFy+mAHBvHjx/H8ePH8f7778Nms0Gj0eCiiy7C5s2b8V//9V948skn8dvf/lYYbCgVmfXrzUDivfOXY1hgMBiUJIe8WPCIpwnX1taisbEx7hOn1JONpd4OGYw4NDSEtWvXhrROxtpOIoMQOccsvEc74n5+wZbMuMPKRsrXLMOPvuPEQ98FBkbTX1PBcioceM2PEydfwA3/sg2V9auWPEeJCI8S8DyP0tJSwUBX7OIdLRWWimDJR8EjZe1QIkXLcuJwOPAf//EfOH78OKxWK+x2O1asWIFdu3bhi1/8IhobGwEADz/8MK6//np84xvfoIInU9FoNJIM0iNIOYtHrVbD7/cDAFwuFzo6OmAwGJKyvsi0lBbDMIIgtdvt6OjoQHFxccKDERNNafn/9jIQjF+w6ZuWTjalxI+hxIz77/fhqZ958M6HyqQG+yf0+M4DH+KqXTacd/UlUKlDx+Tng+ABQqNK4Vy8xamwkZEROJ1OoSussLAQRUVFCaXCaEorNTKlaHl4eBg//vGPceaZZ+JLX/oSdu/ejY0bNwp/J5+3TqfDxRdfjG9961uSr4EKHonQaDRwu92Sbk+qiJFarRaGB87MzKC5uRnFxcVJbyuTIjxE8HR2dmJhYQEtLS1J/bgTSWnxPA/Pm39LaPvammUJr4kSisqgx83/qkH9gQX81x+UmVgdYFV4/hU3Tpx4Htf9y7korVmpyDoymVhdYZOTkwkNSJS6TTteaEpLWkpKSvDEE0/gqquuEh4TT14Wi8vrrrsOu3btknwNVPDEQBxBiIZc/ldSQO601qxZg+3bt6d0JypVDY9Ud8OTk5NwuVyora1FU1NT0ttNRICxXR8iODKb0PbVJem1TshVGLUal3y+BKvqZvDg42ZwvDJRFduwHg994318Yc8ybL/yoryK8CRDuK4wn88X14BEpYSHUnN4ci3CQ96PzWbD+++/j8suuww6nQ4Mw0ClUgm/m+PHj2N+fh4XXXQRzGZzXNOhE4UKHomQuktLiiJot9uNjo4O8DyPsrIy1NXVpbwuEi1SGo/Hg46ODmg0GhiNxpS7EBIRPN7/x96Zx7dR33n/M7oP2/J9J3ZiJ46dw05ix+EoEEoI0JJtgS0stGWX0paF3dK+ustme4QuZbfsU7rbZ2EL6T5taSlsaClHOBpCyQ0hCblMbNmWb0u+LVn3MRrN84c7Qj41kn6jkex5v168SOLRb36yNKOPvsfne+Tt2BaXy0CppUuNJNVb8/DTf7Vj74+UmHKK87v103K88AcHLl34Pa78zCpQSTRQS3coioJGo4FGo4maCguFQmExlIyuMA4x/X+WUoSHey4XL17ECy+8gCeeeGLe45599ll0dnZix44dCAaDgkT1pLswIVIpwsMwDHp7ezE+Po6amhoolUr09vYS25fP5yOyVjxwbtfDw8OoqalBXl4ePviAvxfOQvAVPCGPE77TH8e0tno9mRlrEjMxlBvw5BMePPkTP9p7kjdxfTaXe1To+Xk/Pn+rHdt3f1p6reNkoVSY0WgETdMwmUyCzwqLZKnU8NA0HR7ymWycTidaWlqg0+nQ2tqKvLw8XLhwAZmZmVAoFFCpVNBqtXC5XBgbG0NVVZWg+5EETxT43rxIt6XHK6DGx8dhMplQUlIS9p3xeDzE9kaq9iYepqamYDQakZ+fj+bmZqI3Bb6py8Cpt8D6Y3tdNBvI+0lITKPM1GHPd2n8769ceOekeGlDj1+BF152wfjxy/jLv/00MvNiH0IrMRfuQ7G4uBgGg2FOKkyIrrBIxBCvJKMbYsx4i6S3txePPvoozp07B4qiEAgE8MUvfhFarRZqtRparRaZmZmwWCwYHR3Fv/7rvwIQ7vcuCR5CCJHSiiWS4vV60d7eDoqi5vjOkO74SvbMMK7g2uPxYNOmTdDryX+w8RVyvqPHY15bVbm4aaVEYlBKJf7qqwasrrDhmRfE7UY536FE1z+/h7v/agU27Ngu6l6WCpGRllhSYZmZmcjKyoq5K0xshEilifXcV61ahe9+97ugaRqPPvoorFYrdu/eDafTCYfDAafTCbfbjfz8fDz88MP4whe+AACC1U5JgocQpIUA3whPKBRCX18fRkZGwikeIfdGqkuLY7FiT5ZlMTIygp6envC09sWOTbQYO+qIiv5W0D0jMa+tKBK/Q2KpQ1EybN+Vh/JyK/7lJzoEguKZPDq8Sjz7yxFccfZlfP6BG6FLgQ4ZEogVLYiWWiLdFSY2JFNpYkd4MjMzsWPHDgAIezdt2bJFtP1IgicKfD9ESStoPiJlcnISHR0dKC4uxvbt2xe8SEgKHlJdWsAnaaT5fncejwdtbW28/IJIjOHg05buO/JmXGvL9OLVlyw3ytfn4qdPOPGDH8mSPnF9Nqc+VqD9nw7ii1+uRs0VZG/yYnyQidWJFo8AWKwrzGazCZ4KSxRSv2ev1wudTkdkrXgYGhqCRqNBdnY2tmzZAr/fD5vNBplMBrlcHm5H5/4udFecJHhSlMVqgnw+H9rb28Gy7KIDTTlI3qSESI9F3mRCoRB6e3sxNjaGdevWIScnun8NCcETzXiQ9Xvh/eBCzOsqSg2gZOkRSl8q6Asz8a/fc+KVZ3sx4svEqF2LMacWQSb5H2Y2lwpP/WwA157pw+77d0FNKB0r1uyudDUAjCcVFgqF0t5uwOFwCNLezZcvfvGLuOGGG/Cd73wHX/va13Dy5ElUVFSEa3cyMzORkZGB7OxssCyLL3/5y+EonRBIgicKYr3Z50tpRXYorVmzBgUitMGSjhZFRlWsViva29tRXFy86KDPaOuQ2MtsAmcPgXUHYl5X01CeyLYk4sR9eQTbfW1YuXM6nRQKAVa3GqMOLUbtWow6NH/+vxbjTg2YkLAf5Mc+ksFoegtfvK8Wq7dsTHg9MT6IxZiUDghnALhYKsxut8Pv9+PMmTOCzwoTErE9eB588EGsXLkSALBhwwa43W4Eg0FMTU1hZGQELpcLHo8HgUAAZrMZO3bsQFlZmWDvb0nwEGSxFE2szBYWVqsVHR0dKCgoIN6hFAsku7S45xgIBNDe3g6aptHQ0BBzCDYZgsd35HBc66rXFMW7JYkEsJ+1YOiEG2XXZECulkEmA/Iz/cjP9GN92dSMYxlODP1ZAH3yfw0mnBowLBkxNGZX4T//sws3XNmDW/7mJig18ac6xRI86Rrh4QuXCsvIyIDdbkd9fX1SU2GkX1ex52jdcccdAKZF6ze+8Y0FjwsGgwgEAuFshdSllQZwURkS3wC4lJbf70dHRwdomkZ9fb2o+ViAbISHoigMDQ1hdHQUVVVVKCoqiuuNTkrwLJTSYoZ7EGgfjGtdZWn0CfQS5LG3TCLoCWH0jAeln1o8pC+XAQWZfhRk+rEBM8VQMERh0qmeKYT+HB2acGnAxuj0zILCux+waG1/DV/+WgPK19fE/NyA5SV4xHqucrk8rlRYVlYWtFptXHsWwnRQzJQWR7TnpFAokjI+RBI8UYjlTcu1ppMQPBRFwe1246OPPopp6vdikLhxkIrwuFwuWK1WUBQV86BPIfa0WNGy/8iBuNeVZ4srUJcjjJ+Gs3t6rp3lmAvFV+ohk8f3vlfIWBQZfCgy+IAVthk/CzIUxp0ajDk0syJDWky61GCx8DmHrGr8n39vwy3XmbDzS7sgj/GeIUY9jZj1LMk+72Kt4Xy6wrxeb1ypMNKCx+l0iuqyfM0114CmaeTl5YUHx2ZnZyM7Ozv8Z+7/Op0O9fX1gr7WkuAhCKnoB2ewFwqFsH37diIXALe3RFV0om9GhmHQ3d0Nq9WK3NxcrFy5MuE9CZnSYukAvCfPxreoVgkoUqPrYznh/GgAIXo6WuefYjB+3oOiJvLeTQo5i5JsL0qyvQBmiiGaoTA+Wwj9OU1mdU97ZIVYCm8eCaKl9RV86YEmlKxZzfvcyynCIwaxNkGQ6goTQvCImdKqra2F1WqFx+PB0NAQTCYT3G43vF4vvF4v/H4/AoEAgsEggsEg3G531CacRJAED0ESNR8MBALo7OyEz+fDpk2bcOnSJWJvflKCJxHGx8fR2dmJ8vJyNDc3o6OjI2Umry/04UFfOIyQ3RvXmtr68rTu8EhX7GcsM/5uPuJC4VZdUrvllHIWpTlelObMfe8EgjKMOTQYi0iPvf7LY2je3or6z9wEmSJ6JECMAuJ071iKhUTN/+JNhQWDwSU1OPTHP/4xgOnfp8/nCwsbmqZB0zQCgQACgQD8fj98Pp+gYgeQBE9U4klpxQrLshgcHMTg4GBCtSyLIYZDMgfXRg8AW7duDbtAk0qPCTnuwnf0T3E/Vl1bQnAnEnyxt0zM+Lt3LAhrmw95G4S9mfJFpQihPNeD8lzPnJ/5Px5DcPNXoq4hRXiERYjOMD6pMJfLBWB6JAOJrjCXy0VkaHS8iJlOmw9J8BAknnladrsdRqMROTk5CdeyLIYYgodlWQwMDMBsNmPt2rVz2uhJ7UkowcNMmOFviX/oqqpCmqeUbBg6CIfJPeffzYedyF2f+uMFVPY2eEcHoSxasehxkuARlmQ919mpsPHxcVitVuj1+hmpML1eD4PBEHNXmJgRHrvdjkceeQRPPPEE1Go1fvKTn6CgoAB6vR4ZGRkz/tPpdMjMzCRSq7oYkuDhAd/BkrEM/IycD7Vhw4Z5K+m5QloSFx5pwRPthssJudzc3AXrkEgJFdLjLjgCx94AEnC0VeSL3x2x3HBfMCMUmPuaOQdo2LsDyK5ObddrigJUH78AtmjPoseJZTwoxjnFQCjvn2iEQiGo1WoUFhYS6QpzuVyiRVkcDgfa2tpAURQcDgeeffZZZGdnIxAIhE0dgenPgUAggKqqKhw5ckTQ95kkeAjCJ6XFsiwsFgv6+/ujzoeaz4k4XoQwDJzvhhAMBmEymeB0OrF+/fpFv12kckqLZRh4j38Y/wIUQGnTx6BsqWA/bV7wZ+YjzpQXPACgU45j7Oxx6JuuWfCY5RLhESuqJJbgma/OcqFUmNPphN1un3dWmEKhgMFg4F20fPDgQTz88MNgGAb3338/9uyZKbiPHz+Ob37zm2hpacH+/fvD/jrA9GfLxo3TZporV67EgQPTXa0lJSX4zW9+A4PBAK1Wi9/+9regaRoulytcsOx2u+Hz+eBwOOadA0kaSfDwgG+ER6FQwO/3L/hzh8MBo9GIrKwsXukrTqSQaHMXWvCwLIvR0VF0d3ejoqIC69ati3pDJrUnPnOwYiV4+QSYCWfcj1etKUz59MlSZOrS+MI/6/DDZQkgo2zhuWypQubEQTDMlaDk898jlov4ENPsUIwGD76NJQqFAjk5OeHRO7O7wh5++GEMDw9Dp9OFBUhDQ8O8MwkZhsFDDz2Ed999F+Xl5WhqasLu3btRV1cXPmblypV47rnn8OSTT855vFarxcWLF+fd46pVqwAAarU6PEQ0GlJbepqw0Ac4TdPo6uqCw+FAXV0d75xqol1ffPaWyFqcEPN6vWhra4NSqYw66DMSmUwGmqYT3g/pCA/DMHC9+3ZCa2g2CjcPRmJ+QkEGjk7Xose0ZmEUAAAgAElEQVSYD7uw7kupX1ul1flhfP4pyG74SxgMBuj1+hkf/MtllpaYER61OvnRwHjPO7sr7K233kIgEMAdd9yBzMxM7Nu3D5cuXYJarcaDDz6Ie+65J/zYM2fOoLq6GqtXT9si3HXXXXj99ddnCJ7KykoASPi1aG1txfHjx+FwOKBWq1FTU4Pa2lpUVFQk5f0sCR6CzBYoLMtieHgYvb29vKMekQghUkiuFTnbq6amJuaQJMkaHhLCCQAmJibQ9/E5VLT0JLSOqir5c86WO+6WITC+xSOxEy1eeMeD0Bak/q2vusyCbpsVgw4HXC4XFAoFsrKyYDAYls0sLTEjPGKltEidV6VSwefz4cEHHwx/yXb8+b0UicViwYoVnxTJl5eX4/Tp07zP4/P50NjYCIVCgT179uBzn/vcnGNomsZvf/tbPPnkk5icnIROpwtHpDZt2oS9e/di165dcT5T/qT+VZ8C8L3IIwWPy+WC0WiEXq/Htm3b4kpLpargkclkmJqaQktLCwoLC7F9+/a4bkoku7QSLW4MBALwer3o7+9HrWMAHiYxIaYsTq12zOWA/fRA9INYwHLMieo7coTfUIIoVSwMFw9gxZe+B2D6Q8Nut8PhcGBychI+nw9+vz/cvZOZmSmoOFhOKS1StZPxnJek0PJ6vTPGEXE1PpHMd++MRdgODAygtLQUPT09uP7667Fx40ZUVVUB+OT1O3bsGB599FHU19fj5z//OcrKyhAKhWA0GvH444/j/vvvx/79+3HVVVdJRcvpAhdp6OjogM1mQ21tLQyG+GcpxdPmvtjeAoHYp33Phrvput1ubNq0CXp9/A62qVC0HBmFUyqV2LRpE1z7f5b4njI1Ca8hERtTFxeu34lk9KwHK3ZmQW0QZwBvLBSX2zB28SwyGpqgVCqRn5+P/Px8GAwG2Gw2lJSUwG63Y2hoKNy9w32oGQwGqNVqYh8eyymltRQiPBzRfn/l5eUYHPxkVqDZbEZpaSnv9bljV69ejeuuuw4XLlyYI3hOnDiB7Oxs/OpXv0J+fn74satXr0ZDQwN27tyJAwcO4KqrrhL0dy8JHkKwLAur1Qqr1YrCwkKsXbs24RtNLG3ufNZKRDxFCgOtVovKysqExA63JzEFj8fjQVtbGzQaDbZt24YLFy6A6TyL4JAt+oMX20+uDpR8efiVpApsiIWjY/H6nfCxDDB0woVVn039wa6UDFC2/g6ob5zuWf8z3IeCXq+HXq8Pf+hwRnZ2ux0jIyPw+XzQ6XRhAZSZmRn3h4kYhbxShCd++Ea9m5qaYDKZ0Nvbi7KyMuzfvx8vvvgir8fabDbodDqo1WpMTEzg/fffxyOPPBL+OfcZqFQqUVJSEn5u3N4oioLBYEBJSYk0PDRViCZcXC4X2tvboVarodPpZuRDEyFVUlputxttbW3Q6XTYtm0bent7ifhjyGQyYimtWNaJrD1at25d2PRLJpOBPvZOwvvRbibz+kvwx906hKCHv+gdOeXGiuszodClvjDNLQ/B8saLyN79SaHpQmH/+WY6eb1eOBwOjI6OoqurCwDCHi5cyzCfL2fLLaW1VCI80V5bhUKBp59+Grt27QLDMLjvvvuwfv167N27F42Njdi9ezfOnj2Lz3/+87DZbHjjjTfw6KOPorW1FUajEV//+tfDXzr37NkTLnamaToszO+55x50dHTg2WefxQMPPIDs7GwA06UEL730EvR6Pa6//npe+00ESfAkADcIc3JyErW1tcjOzsYHH3xAbH2FQkGsGDcewcMwDHp7ezE+Ph5+fvGuNR9ipLQ4M6y8vDw0NzfPuLkog174zxoT3o+6pjjhNSRiw/7hYPSDImD8LIY/cGPFDeLNGYqFXHyEgP0zUBimr0G+dQ4URUGn00Gn06G4ePp9yTBM2MOlu7sbXq837OHC1QPN921bjEJpMQ0A013wBAIB3lGTW265BbfccsuMf3vsscfCf25qaoLZPNfj6sorr8THH38875rf+ta38NJLL2HFihXIz8/HRx99hBdeeAGHDh3C+vXrodPpYDKZcPDgQdx+++3YvHkzgMQ7wRZDEjxxwLIsxsbG0NXVhfLycmzfvl2QG4FcLofP5yO2ViwiZXJyEh0dHSgpKUFzc/OMNyEpwZPMlBbDMDCZTLDb7QsaIhb2XwIbSDyFqCzPTngNidiYujAW82OGTrhQeo0eclXqR3m0Bhlsrz8Lw5enDeESER9yuRzZ2dnhLzCch4vdbsfk5CR6e3sRCoWQkZERFkB6vX7ZRXjSPbIk9qT0a6+9FkqlMlzusXv3bni9XoyOjuLkyZPweDxgWRarVq3Ciy++iDvvvBO33nqroK+5JHh4EHlj8Xg8MBqNUCqVaGxsFNSrQYyUlt/vR0dHB4LBIDZv3jzv9FqxUlGLrbOY4JmYmEBHRwdWrFiBmpqaBT8o1BdbQOK3Lc9JrLZJIjZYloWj3RHz42h3CKNnPSi9Kj1GgBSVjcFq/Bi62o1Eoy2RHi5FRUUApoWG0+mEw+FAX18fPB4PaJqG3+8Hy7IwGAxEDFGjsdwED0AupSO24PnLv/xL3HHHHWBZNiyqaZoO/52bmu73++H3+8NDTqUITwoQmd6pqakJ58jng9TNKJnGgyzLwmw2Y2BgANXV1eEb30JrpZJh4ELrBAIBtLe3g2GYGVPa5yPYcwnMwMSCP+eNUgZKlfrdP0sJT/sIaFd87yPLUReKt+shk6e+K7ZcQQFnfwuse0JwISCTyWAwGGAwGMI1iUajEVqtFlNTUxgYGEAwGERGRkY4FTbbHJEEYg4sTfdBqS6Xa94ZjcmEoqjwZ2Fke7xYSIKHBx6PB2fPnkVpaemc9M5sFpszFSvJivA4nU60tbXBYDDwHnlBItUmVC0Qy7IYGhpCX18fqqqqwrULi+E/8lbC+wAAzYYyaaREkrGf4uG/swB+G4OJi14UbhX/ZsyHgooght59DWxdU9I/kCmKQm5ubtjHhRtqabfbMTg4OMccMSsrK+EI+HKa0E4aMSelR8IFAEwmEw4dOoRgMAiZTIaMjAwUFhbCYDBALpejsbFR8KihJHh4oNVqsWXLlkUjBBxcVIaE4CHtwzN7rWAwiO7ubkxNTaG2tpb3VF1SkRm+M8pi2Q/Xaq7VankbPrI+D7ynWhLeBwCo15cQWUeCP/HU70RiPuxEwWYtKFl6CNUs53HYfesh1yf3w2y2+IgcaslB03S4Ld5sNoOmaeh0urjNEcWaaSUGpCfDi53S4qAoCq2trfjqV7+KQCCA8+fPQ6PRgKIoeL3e8HFDQ0O8vpwmwvJ4JyWITCbjJXYA4UVKvMyOOoyNjcFkMmHFihUxewaRHPpJAq4WqLe3F8PDw6itrQ0P1eND4PTbYL2JmzICgLpS+Im/Ep8Qb/1OJJ7RIGztPuTWza1XS0Uy8mVQHf0D8Nm/Sep5+aTqlUol8vLywmNmWJaFx+OB3W7H8PAwOjs7YzJHXE4RHtLP1el0JmR8S5If/vCHUKvVeOaZZ3D11Vfj6aefRkVFBV577TUcOnQIjzzyCAoLCwXfhyR4CEPaLJDUWhw+nw9GoxEymSzuomuSQowELpcLDocDeXl5cY258B09Rmwv8kJppEQycbVbEbAn/l4cPOxCTq0mbdKRFSvH0GsZAAT+RhxJPB/IFEUtaI7ocDgwMjICv98PrVYbFkFZWVnhCLkYgod0pIUvpFvwU6GGh+PQoUN44YUXUF9fD5/Ph9raWmzbtg3XXXcdvva1r+H48eO49957Bd+HJHh4EMtNMFUnnIdCIfj9fpw/fx5r166dYe8t5r4SIRgMoqurC3a7HRqNBtXV1TGvwVhMCHRaiO1JpuM3KV6CDMOvdhJZx9kXgKM3AMPq5E/IjgeFWoaMS68AW7cl7ZykRkssZo44NjaG7u5uANPmiF6vF1qtNqkeQGL4DQHkBY/T6UxK1CQaXGdWfn4+AoEANBoNpqamwj+/6667cNttt+GXv/yl4HuRBA9P+NabkExpkbro7HY7jEYjWJadY7YXD6RqeBJhfHwcnZ2d4VbzU6dOxbWO78gBYntSrMhJmzqQpcLU2WFia5kPO9NG8ABASRWN4WPvIOta4adMA8JNS1/MHLGrqwvDw8MYHBzkZY5IgqXisux2u1Oihsfv96OyshJtbW1oaGjAhg0b8Pzzz6O+vh4Mw+DgwYO860cTRRI8hBEiDRUvNE3DZDLB5XJhw4YNaGlpIfINTcwITyAQgNFoRCgUitpqHg2W9sN38hyxvWkbyomtJcEP34ib2Fq2dj9cQzQySoX3lyGFfvQdhAI7IFMJH1lMZnqJM0fU6/UoLy9HRkYGL3NEEoJsKbgsA6lTtKxUKvF3f/d3kMlkUCqVeOihh/D3f//3GBkZAcMwOHfuHL797W8DED66JgkewpBMacULy7IYHR1Fd3c3KisrUVtbC4qiwkIl0W9GpBySOfi8ySNbzaP5BPGFPvcnhJxknKwBQF0tfvh4OWG/OAowZOstLEecqLlnYY+tVCOriILl1f+H7DsfFPxcYqR6OJG1kDmiy+WC3W4PmyMqlcqwAIrXHHEpuCwD04InWZGTxVCr1bjnnnvCaay7774bDMPg1Vdfhc/nwxNPPIG//du/BSDsHC1AEjy8iSWl5ff7iZ47lhsN5wStUqnQ1NQEVcQ3P1KCh5RDMrenaN+oPB4PWltbodfrefkE8cV35D0i63AoSlOjI2K5MPp2D/E1xy96UXFTEJq89Lk1FmSZ4Bo2Q10ibIQx1UZLRHZ7ceaIfr8fDocjIXPEpRLhSRUfHgDQaDThdKVMJsO99947o0g5WWI6fa7qNIF0uoevkWEoFEJvby9GR0dnTAAXYm8ka3g48TTf8wuFQujr68PIyEjMrebRYMYH4G/tI7YeAMgN6dHWvFSwnxshvygLmI+6UH17+sxDU+lk8L/zP1D/9b8Ifi6xIjx8UavVKCgoQEFBQfjxbrcbDoeDtzmiWBEeUv5tHC6XKyUiPByHDx/GsWPHMD4+DplMhrq6Omzfvh0bNmyY8cVcSCTBQxjSKS2uCHqxC8Fms8FoNKKoqGjRtuxU888BFhZPdrsdbW1tKCgoiKvVPBr+owcAgtkQWYYKkC8Pv5BUwTfkEmTd0bNurNyZCVVW+owIKVnlwsjpE8hs/pTYWyFKolGlSHPEsrIyADPNES0WCwKBwAxzRJqmpQgPQTweD/77v/8bP/3pT6FWq1FUVAS/34/9+/dDp9Nh7969uP/++5OyF0nw8ITvhzxpwcMVQc+ngAOBADo7O+H3+9HQ0BB1VkmqtJNHMrseKBgMwmQywel0YuPGjTH5SPANi7JMEL7jZ+La70Ko61ekjYfLUsBpnARLuH6Hgw0CQyddqLwlvVKU6u7XwDZdCUqWPkItGkKk0aKZI9psNoRCIbAsG06Zcc7AQsIwDNFh1GILHu61O3LkCP7jP/4Dt956K/75n/8ZxcXFoCgKPT09ePzxx/HII48gNzcXt912m1S0nG6QFhXzrTd7VlRRURGvN0kqCp7IeiCu1XzlypVYt25dTG98rsaKz2OCl46BsZKNDmhqk2cAJwGMvNEl6PrDH7hRviMTCm36RO1yygDLa79G9m33ib0VYiSjbmi2OeLo6Cg8Hg8MBgMvc0RSkKivnL1eMibaL3Z+mUyGc+fOoaioCD/+8Y9hMBjC9+m6ujo888wzuPnmm/GnP/0Jt912m+D1U5LgIYxQKS0Ol8sFo9EIvV7Pe1YUR6oKHr/fj+7ubrAsG3erOZca43Nz9B59N56tLopqZfp09iwF7B8JUL8TAeNjMXzKjRXXi58SiIU81cfwTYxDmV8g9laIkezIKScU+JojcvVAWq02ob2STGmJZZ4YCffZVFRUhLy8PLhcLhgMhhn74qJo2dnJqZmTBA9PxE5pMQyDnp4eTE5Oora2Nq4ZKaQFT6IXFXcTaWtrw7p16xJyBeVbSB2yjcB/0RT3eRZCnpcaFu7LBa/ZKfg5hk64UPqpDMiV6ZOq1GTKYH1rHwz3fk/sraQt831xWswc0W63o7u7Gx6PBxqNJm5zRCEMD8USPWNjY7DZbMjMzMSVV16J48eP49///d/x0EMPhTMSDMPgl7/8JVQqFT7zmc8AgODRPEnwEEaIlJbNZkNnZydKS0uxbdu2uN8UJPfGt3tsIdxuN9ra2kDTNGpqahK2QOcrePzH3yDu3QIKoDTSpZQsXCYb2KDwTt+0M4Sxsx6UXKkX/FwkKV5hxUTLOeg3bRV7K2kJ31QQZ47IRSdYlg23xcdjjkhS8Ajlis2XRx99FPv27UNZWRlycnLQ3d0Nr9eLAwcOYMOGDdBqtWhvb0draytuuOGGcEG55MOTZpB8wfx+P8bGxgAAW7ZsSchVGCAreLi1Yr1AI9vn6+rqMD4+TuR3xscMkWVZeI99kPC5ZqNaVyx6+Hg5MfqmsPU7kZiPOlHcrAMlT5/XVyanIL+0H9i4BSD0vhRroKYYxPtFLtIckfsCF2mO2N/fD7fbPcMcMSsrK9yQQlLwuN1u6PXiCfV7770X9fX1oGkak5OTCAaD8Hq9GB4exuTkJGw2W9hX7ciRI7h06RIqKysFr9mSBA9PkvmBxrIsBgcHMTg4iJycHGRkZCQsdoBpURAIBAjsMD4vnqmpKRiNRhQWFoZbza1WKxFPHz77CbZ9AGbUnvC5ZqPdWEZ8TYmFsZ0hNz8rGn4rg4kWLwo2L94BmWrkrQzB8uZLyL71LiLrpUJNSLIg6cMTaY7IwUWB7Hb7DHNEt9sNr9cLlUqV8PkdDoeoHVrbt2/H9u3box4XCoVmCEwppbXMcDgcMBqNyM7ORnNzM8bGxog5NwsR4eFDZKv5pk2bZnzzIOXazEfw+I+8k/B55kO1Ov7J8xKx4x10JPV8g4edyG9IrCBVDHKY06AdN0ORlXh7vRguy2JFlYTuFFrIHHFqagpDQ0MwmUxRzRGjIXZLeiRc5MrlcqGjowNerxdZWVkoLy9Hbm5uUt9XkuDhiVAt0hzBYBBdXV2w2+2oq6sLv1kVCgXcbjIDEkkONuU7T2tsbAwmkwkVFRXztpqTcm2Otk7IZYX3I2PC55kPRVHquJkudTwDDrAB4et3ZpxzOAhbux+5tYlHWZOJLkcGy+v7kP2lRxJeS4wIj1hRpWQ7LXPmiAqFAuvXrwcQ3RwxMzNz0T26XK6YPMyEgmVZyOVyPP/883juuedgNpshl8uhUqmwZs0aPPDAA7j++uuT9jpLgkcAOGHBt2V8dHQUXV1dWLlyJWpqama8+KSjMqRHQiyE3++H0TgtMBobGxf8hiKXy0HTtOD7CZx8E6CFacmXZZAzC5NYnJED5Dvs+GA+7Ew7wQMAxSUjsHW0QVtTl9A6qTZHS0iE6JaKlWjmiJ2dnaAoakYUKNIcMVUmpVMUhZdffhkPPvggrrjiCtx1113Q6XQYGhrCyZMncdNNN+Gtt97CjTfemJT9SIJHADjvnGiCx+v1wmg0QqFQLCgKxEpDxbsWy7KwWCzo7+/HmjVronZfJSPCw7IsvEdPJHyO+ZAXZICSRkokDduHQ6Kc19EbgKPXj6xV6SVu5UoK7Ie/AWqeSGgdMcSHWMJDrOGhizHbHBGYzgo4HI6wOaLP58OHH34Iq9WKzMxMXmmwgwcP4uGHHwbDMLj//vuxZ8+eGT8/fvw4vvnNb6KlpQX79+/HHXfcEf7Zr3/9azz++OMAgO9973szhoECn0ToHn/8cezevRv79u2bEXViWRaf/exn8b3vfQ9XXXVVUoqsJcHDk1hCbtFSR6FQCP39/RgeHkZNTU1Yxc/HbOPBRBBa8LjdbrS2tiIzM5P3VHNSUSeZTLZgzp/pvoDg4GTC55gP7eaVgqwrMT/e/uTW70QyeNiF9V9JL8EDAAWVNIbefR2GnX8R9xpipJfEjPCIcd5Yf78KhWKOOWJubi4OHz6MQ4cOoaOjA8eOHcPWrVuxfft2XHHFFVizZk348QzD4KGHHsK7776L8vJyNDU1Yffu3air+yQauHLlSjz33HN48sknZ5zbarXiX/7lX/DRRx+Boihs3boVu3fvnjHgmXs+nZ2d+MlPfoKMjAwEAoFwyYdKpcJ3vvMd7Ny5M2kCU/pqKgCLmQ9OTU3h9OnTYBgGzc3Ni4odgHzdDWkfHmD6xtTd3Y2WlhasXbsWtbW1vA23klG07D/ydsLrL4R6bWL+QRL88Q25EPKL5xRuM/rgHk48/SoGWfajYLyeuB8vpbSEhYRvDkVRWLNmDb7+9a/jxhtvxJ49e3DkyBHcfffdGBsbw759+2Ycf+bMGVRXV2P16tVQqVS466678Prrr884prKyEps2bZrzOrzzzjvYuXMncnNzkZOTg507d+LgwYNz9sSyLIqKinDo0CEAgEqlglKpDLfit7a2QqVSEelC5oMU4YkBTplGYz7BQ9M0Ojs74fF45nQqLUaqp7QiW82bm5tjvkGRTGnNm2LzuuA91ZLw+guhKM+JfpAEEYSen8UH8xEnau5OvzEiGQUyWF75ObLv+WZcj19OER4xnqsQk9JLSkqg0+lw9dVX4+qrr55zjMViwYoVK8J/Ly8vx+nTp3mtP99jLRbLvMd+85vfxLe+9S2o1Wpcc801KCgoCHfufv/738edd94Z47OLH0nwCECksGBZFsPDw+jt7cWqVatQV1cX08VEclQFaRdos9kMmUwWk4Cbb09C1vAETr0N1k9u1Mds5NlawdaWmIn1g/lvqMlk/KIXFbuC0OSl362zKL8f9r4eaCpXx/zY5RThAcSZ30Va8EQrWp7vyzvf5833sRRF4atf/SomJibwm9/8Bq+++ipUKhUCgQD6+/uxY8cOPPFEYvVlsZB+V20awIkUt9sNo9EIjUYT86BPjsVqU2KF1EU8NjaGvr4+ZGdno76+PqF1Saa05lvHe/RYwmsviEoBSplaxY1LGU8fedPImAkBlmMuVN2WnGGHJFFoZPC/9z+gvviDmH1dlpvgSTZiCJ7y8nIMDg6G/242m8MF0dEoLy/H0aNHZzz2uuuum3NcIBAAwzD4wQ9+gF27duHSpUsYGhqCwWBAY2Mjrr/+el7nI4UkeGKAb0pLJpNhZGQEAwMDWLdu3YxCrnTG5/Ohvb0dFEWhqqoqXICWCCRTWrPb25kBI+hu4Vx5tZvK0s6MLl3xT3gQ8goXqYuF0TNurNiZCVVm+ond0uoAzr36v3Csrgv7uhgMBmRkZCwqLliWlQSPgJAWPE6nc4a783w0NTXBZDKht7cXZWVl2L9/P1588UVe6+/atQvf+c53YLPZAACHDh3Cj370oznHtbe3Y8+ePdi3b9+8qbVkpw8lwUMYbmgcNydkKVywLMvCbDZjYGAAa9euRUFBAcbHx+H1ehNeW8iUlu/IGwmvuxjq9SWCri/xCSMHxK/f4QgFgeGTblTcnJ6Gk9VogWzzX8Hjnza3s1gscLlckMvlYV8Xg8EQLiwFxBlGKQme+HG5XFEFj0KhwNNPP41du3aBYRjcd999WL9+Pfbu3YvGxkbs3r0bZ8+exec//3nYbDa88cYbePTRR9Ha2orc3Fx8//vfR1NTEwBg79694W4x4BMhMzIygpMnT4YDBV6vF3K5HBRFQSaTJf31lQRPDCx2wQcCAbS3t4OmaVRVVcHj8SyJi9XlcqGtrW1Oq7nQqah41okUPGzAD+/7FxJedzFUFYt32EmQw/q+WewtzGDofRfKdmRAoUm/a9xQQsHy6q+Q/YUHkJGREU5j0DQNu90Ou90Os9kMmqaRkZGBrKwsMAyT9nUtfBBrnIUYKS0AuOWWW3DLLbfM+LfHHnss/OempiaYzfNfe/fddx/uu+++eX/GvVc2b96Me++9Fy+99BL+8R//EVqtuDWPkuBJkEijvaqqKhQVFWFqagoOBzm/kHhGVSwGn7VCoRB6enowPj6Ouro6GAwz5/EIXWyc6Dr02YNg3WRmkC2EvEB86/blgqd7SuwtzIDxsRg55Ub5DvHdbOOhIKMD7pEhqIo/qdlQKpXIz89Hfv70bDhuxpPdbsfExAS8Xi+mpqbCEaCsrKy46hL5spzMDsVIaQkJ9xkzNDSEs2fP4pVXXsHk5CTWrVuH3NxcZGRkhM0RS0tLw+85oZEETwI4nU4YjcY50Q+SZoHAJ91VfL1tEl3LZrPBaDSiuLh4wbQcqY4voYST9+iRhNeMek6dKvpBEgkTsPnAeFKjficSy3EXSq/OgEyZfnVcKr0Mkwd/DtVf/2DBY7gZT5mZmWE/sKKiItjtdthsNvT394NhGGRkZIRFkE6nI/bFTKxC6aUgePx+f9K8beaDEzydnZ0YGhpCRkYGnnnmmfAg1FAoBIVCgbGxMXzjG9/AY489lhSxKQmeGOAuZIZh0N3dDavVitra2nmjH6RaySPXIyF4uA6y+dYKBoPo7OyE2+1GQ0MDdDrdguuQiszwLQSPRuR+mNFeBNoGEl5zMZSr8qSC5SQx+mbq1O9EQjtDGDvnQfF24S3xhaC4woGxsx8go+nKqMdy4kOlUs2Z9O1yuWC329Hb2wuPxwOVSjUjChTvfYv7UEwmYrksk/pCG0kq3J9uvvlmVFdXw+/3w+Vywe12w+PxwOv1wufzYXR0FNdccw0AJOX3LgmeGBkfH0dnZyfKy8vR3Nw875uKpHcOIJxDciTcANPKykrU1tZGvVhIe/okCve8GIbB1NsvCX4+bX254OeQmGbyRGrV70RiPuJE0TYdKJn4Hy6xQskoqEx/ALu1GZRs8W/WC3VpyWQyZGVlISsrK2xE5/P54HA4wg0coVAofIzBYIBWq+X1YbycUlrBYDBmq4CF4KIrYgoemUwGl8uF7u5uZGVloaqqKupjkrFfSfDEwMjICCwWC7Zu3bpouJC04BHSfNDn88FoNEImky061TzaOmIjk8ng8/lw+tQHqDl7WfDzqXmb3n8AACAASURBVKoLBD+HxDTuLpvYW1gQ3ySDiRYvChoWjoamMjllgOX155H9+b9e9LhYoi0ajQYajSY8OJhhGDidTtjtdnR1dcHr9UKr1YYjQFlZWfOKjOXk/UNSaIlVeB3Jz372M/zXf/0XhoeHoVarUV9fjz179mDHjh1zjk3m71sSPDFQXFzMq7iKpFkgQFZccOKJZVkMDg5icHAw3Gou1p4SJRgMoqenB06nE9u1Xrjt8c8M4oui2BD9IImECToDYFypPb/KfNiF/Hp+UYtUJE9xCT6bFcqchUdmJCIE5HI5srOzkZ09bdbIsix8Ph/sdjvGxsbQ3d0NADNa4rk6j+US4SGZ0vL7/cSiRfHwhz/8AT/84Q/R2NiIf/iHf4DD4cDTTz+Nb3/72/jd736HtWvXijK+A5AET0yIdUMjWQQtk8ngdrthMpmQlZXFe6r5bEjV3iTKxMQEOjo6UFpaikAggOCRPyblvPIsaaREMhh9u1vsLUTFPURjqtOPnBrxikQTQZMlg/XAMzDc+90FjyH5AUVRFLRaLbRaLYqLiwFMf2nhokAjIyPw+XwIhULhIuLMzMykiJ+lULTscDiQkSFeB+nvfvc7XHXVVfjpT3+K8vLp1P91112Ha6+9FufPn8fatWtF25skeNIAUkXQoVAIdrsd4+Pj2LRp05xi61ggLf5ivaHSNB32Pdq6det0zniwC/5LPUT3NR+yLA0oRfr5r6QjE8cGox+UApgPO9NW8ABA8YpJTHx8HvqNW+b9udDRFoVCgZycnLArPcuyuHz5MhQKBYaHh9HZ2RmuF4qMApFGzKJlUoKHj+mgkLS2tuKee+5BWVkZaJoGTdPYsmULSktLMT4+DmD69RWj1kgSPDEQ6wtD6lsRifQR12quVqtRXl6ekNghTaw+Q1yB9erVq1FcXAyKohAMBlHQfR5IQtRJu3lF9IMkiODusIq9BV7YuwNw9AeQVZGeVgUyOQXZxf8FNmwG5rkOk51e4px4i4qKwoOJaXraGdput8NisYCmaej1+nAtULTxGHxYCj48TqeTl+mgUDgcDqxatQoURUGpVIa9mhiGQV7etFmrWKa8kuARCK5riMSbOJGiZZqm0dnZCa/Xi4aGBoyPj6dEKioS7ncV7SLw+/0wGo2gKApNTU0zrO8ploXyQisSb5SPjnpdcRLOIhH00gg6A2Jvgzfmw07U/U36um/nrwzB8vbvkf2ZL8z5mRg1F7PvCUqlEnl5eeEPTZZlw8aIZrMZLpcLCoViRkt85D0innMmC9KCR8yUlt/vx549e/Diiy8iIyMj7Obd29uLP/7xj+GuPa5jb8uWLUmzH5AEj0BwIoXEm1gul8Pn88X8uMhW87q6OlAURdwjiATRzBBZlsXQ0BD6+vqwZs2acPdHJKH2UwhNuoTeKgBAuWJpDINNdcb+KHx6kiTWVh88IzR0xcK5DwtNTuAUaOfNUMyKEKRixxRFUeEP1LKyMgDTI364KNDAwACCweAMY0S9Xr+ocGMYJmaRRAKSqTS+YyWE4s4778TAwAB8Ph/MZjN8Ph9OnTqFhoYGnDp1Cu+99x5omgbLsrBarRgdHY25aSZeJMETA7F8wyHZxRTrWlyruVwunxMJUSgU8PvJjVwg8c1vMRNDr9eLtrY2aDSaRQusfYffSWgPsSDPTU+juXRj4mh61O9EYj7ixNq/WrjbKdXR5cpgee1ZZH/pH2f8eyoKnvlQqVRzxmO4XC44HA709/fD7XZDqVQuOB5DrKJlgFxdpNgprccffzxcu0PTNAKBAPx+PzweT/jvPp8PPp8Pbrd7xtBRoZEET4zw7U4i6Z3Dt0srstW8pqZm3hZ6UqMcAHJpu/kED/dczGYzampqwmHs+Qg5JuA735HQHngjo0CppcsmGbja06N+J5LxC16s3BWEJjd93yPFxcOwdRqhXVsb/rdUSGnFQ6QxItcx5Pf7YbfbYbVa0dfXh1AohMzMTGRlZcHn84maDiKB2EXLYp47Gul7VaY4pM0Co63lcrnQ2tqK7OzsRSMhMpmMuIlhooJndgTL7XajtbU13DYfbf3AiTeAYDKqdwD1+pK09VtJJ0LBEELpU74Thg1Nz9iq+ly22FuJG7mKQujUr4G1T4T/LV0iPHxQq9UoLCwMp8ZDoVC4Jd5ms8FqtcJisYSjQJmZmUkfcZEITqczLO4kZpI+r2KaQdI7Z7GUVigUQnd3NyYnJ1FXVxdVXZPeF8nBn6FQCP39/RgZGUFtbW3YqGwxWJaF9+jJhPfAF82G0ugHSSSMo8OPkCf2urVUYPS0Byt3ZkKpFyc1QoLCShrD772BrE/fCmDh0RJCk4wvFzKZLCxuPB4PSkpKoFarwxYenDFiZmZm+DiNRkNsb6SjZ263O+2jVEIhCZ4Y4ZvSIlkcvJBIsVqtaG9vR0lJCbZt28brhkR6LheJtWQyGZxOJ9rb25GXl7fghPb5YDo/QnAoeaMHVKuiO21LJM7UhSmxtxA3IZrF0Ak3Km5K3dA+HzKshxHy3QCZRotQKLQsIptc8wQ3HqOoqCj87w6HAw6HAyaTacZ4DC4KFG+km7T3j9gprVRGEjwCIWRKi6ZpdHR0wOfzRZ1qPhtSU865fSUqeDgzxImJCTQ0NMRcbOc78nZC548VRaF0I0kGjvNDYm8hIYbfd6HsugwoNOlrUJlZKIPllf9B9t3fEK1dO9ks9DzlcvkcY0Sv1wu73Y7R0VGYTCZQFBUuhOaiQHwgPSld7KLlVEYSPAKhUCgQCJApQuCEBcuyGB0dRXd3N1atWoWSktjrSYQcRBorU1NTaGtrg1KpRGVlZcwXachth+90a9znjwdZRnoay6UTISYE54X0akmfTdDLYvS0G2XXpvcHT2FeL5wDfaKltJIN35pEiqKg0+mg0+lQUlICYHo8BtcSz43H4IwRDQbDgsaIpM0OnU6nFOFZAEnwxAhfgUEypUVRFEKhEC5cuACFQjGn1TwWSKe04okWBYNBmEwmOJ1O1NfXY2xsLK51AqfeBhtInqeQotQAahnc9MXG1UWDcXvF3kbCWI65UHJVBmSK9E0FKTUyBA7/P4TW/8WySWnFKz4UCgVyc3PDbdYsy8Lj8YSdoV0uF+Ry+YzxGCqVirjgkVJaCyMJHoEgFUlhWRYDAwPweDxYt24dr2ntiyF2SmtychLt7e1YsWIF1q1bF7aQj2dPvqPHY35MImjqpc6HZDB1Pn3rdyIJOEIYO+dBcXN6+zYVr/Ki3/QxqKampJ1TLDd4kqk7iqKg1+uh1+tRWjrd7BA5HsNsNoOmaahUqnCnmF6vT/j8kuBZGEnwCAQJweN0OtHW1obs7Gzo9fqExQ5Atushli4tru7I7/djy5Yt0Go/mTYej+AJ9n4Munc0psckinrtXIdnCfLYLwyLvQViWI66UNSkAyVL7+jIWrSADQZAKZKT0hXD94dDyPPONx7DYrFgYmICg4ODcLlcUCqVM6JAkcaIfHC73eH5YxIzkQRPjMSS0oo3dcQwDLq7u2G1WsOt5pOTk6LeBOaDb5fW2NgYTCbTgnVHcrk8Zvdn/5E3YzqeBMrS9PVWSRfYEAvbRyaxt0EM73gQkx/7kF+vjX5wCpNTJofllV8h+wtfT8r5lkuRNEVRUKlUyM7ORmVlJYDp8Rh2ux1TU1Ph8RhcS3xWVlbU8Rgsy4rmFp3qSIJHIOKN8HCt5qWlpWhubg6/sUkOIyVFNFEXCARgNBrBsiwaGxuhVqvnPS7WCA/r98B76lLM+00UeTb/bjiJ+HD2BABX+tfvRDJ4zIe8TeR8W8QiX98Oz9gIVIXCD89NtXudkMyu4VGpVCgoKAjPl+LGY9jtdvT19cHj8UClUs0Yj8F1eaXaYOhUY+lLaJGIVfDQNI3Lly+jt7cXmzdvRmVl5YwbJMliY1IstCdu2OfZs2dRXFyMhoaGBcUOELvgCZw+CNaTZBtejQJQSJeL0ExdsIu9BeK4BzywDqXvFHUOdYYMvrf3JeVcpL1pUploRcvceIwVK1Zgw4YN2LZtG2pra6HX6zE5OYlLly7hrbfewr333ouf/exnvFrcDx48iJqaGlRXV+OJJ56Y83O/348777wT1dXVaG5uRl9fHwCgr68PWq0WDQ0NaGhowAMPPBD38xYDKcITI6RTWizLYmRkBD09PYu2mnMCisQkX67ri8ScmtlCxefzobW1FWq1Gtu2beOVf455OOrRo7FuNWG0DSvS/ht6OuA4PyL2FgRh8LATeV8SexeJU1xhx9i5U8jYeoWg5xEjpSVWdIRhmJjrdGaPx/B6vdBoNDhx4gSGh4dRX1+PiooKXHnllbjyyiuxffv28JdOhmHw0EMP4d1330V5eTmampqwe/du1NXVhdf/xS9+gZycHHR1dWH//v34p3/6J7z00ksAgKqqKly8eJHQs08uy0NCiwCfD0ev14vz589jYmICTU1NKC0tXfBxqdBOPpvIPXHDPs+dO4fKykps2LCB90Ucy34YiwmBDnPce44Xda3wYfzlDsuycKS5/85CuC71YWoiR+xtJAwlo6Bs/wPYkLDR5qU0uysaJNrStVotPv3pT+Phhx9GdXU1Ll26hKeeegoVFRV4+eWXMTExET72zJkzqK6uxurVq6FSqXDXXXfh9ddfn7He66+/jnvvvRcAcMcdd+C9995bEukySfCIAMuy6O/vx4ULF1BZWYmNGzdGjdyQnIFFqmWeEzwejwcfffQRXC4XmpubF51sPh+xCB7/0Tfi2WrCqCrSPyWR6rj7aQStDrG3IRiWE8nzjBKS3HIW9gMvCnoOSfDEh8PhQGZmJiiKQmVlJe6++2489dRTKCsrCx9jsViwYsWK8N/Ly8thsVhmrBN5jEKhgMFgwOTkJACEyy6uvfZanDhxgsi+k4WU0oqRRNMaXKt5Tk4Or0ngHCQjPKTWoigKdrsdFy9eRG1tbdh2Xaj9sHQA3pPn4jpHoijypWF8QrMU63cisX3QAdena5CR5RR7KwmTKzsPv+0zUObkCrK+GOKDtAEgX4LBILHREnw8eOaL1Mz+XFvomJKSEgwMDCAvLw/nzp3D5z73ObS2tqaN748U4REY7o3DMAw6OzvR2tqKuro6rF27NqaLi6RzMwnB43Q6YTQaEQwGsX379rjFDsA/wkOf+xNCDnE6eChtbDl2idiZOD0o9haEhWVh+WBpdB5pDTJ4Djwr2PrLSfCQPK/L5Yo6Kb28vByDg59ca2azOWyMON8xwWAQdrsdubm5UKvV4Qj+1q1bUVVVhc7OTiJ7TwaS4ImRWCI8XOpocnISp0+fhkqlQnNzc1yD3VIlwhMKhdDV1YXLly+jurqaiDMoXwND37H3EjpPvKiqC6SCZYFhWRbOC31ib0NwJo62w+dZGvYGxeUT8LQKYw8hpbTig8/g0KamJphMJvT29iIQCGD//v3YvXv3jGN2796NX//61wCAl19+Gddffz0oisL4+Hj4s6OnpwcmkwmrV68msvdkIKW0BEQmk6G1tRUMw2Dz5s0z3IVjJRWGftrtdrS1taGoqAjNzc0IBAIzvinECx8DQ2bCDP/HvQmfKx6kkRLC4+z3g7W5xN6G4LBBBuaPdKi+xiP2VhJGpqBAnXsBqNsEEP5CIEa0ZalEeKIJHoVCgaeffhq7du0CwzC47777sH79euzduxeNjY3YvXs3vvKVr+BLX/oSqqurkZubi/379wMAjh8/jr1790KhUEAul+PZZ58Nzw5LByTBEwcURS1asc61mk9NTaGqqmqOp048xONGvNhasQgehmHQ1dWFqakpbNy4MRwyJRV14pPSChx5HRCpSUBVVSDOiZcRzha32FtIGmPvtmNlcxlUajLXs5jkVzAYOvgHGG6+g+i6YkV40l3w8InwAMAtt9yCW265Zca/PfbYY+E/azQa/P73v5/zuNtvvx2333574hsVCSmlRRiu1XxychJFRUXIyckhkg4h2aUVi1CxWq04ffo0NBoNtm3bNiM/nCzBwzJBeE+cTvg88aIsSo+CvHTGfj65c9HEJOT1Y+iSQextEMPgfR+Mi2whtlg1PGKktEiODHI6nWlTQCwGkuAhBMuy6OvrC7eab9iwASqViqhISWZKKxgMorW1FT09Pdi8eTMqKirmXJTRIl18iXax0x+fADMpXrpDlqUR7dzLBccyqN+JZPhgJ4L00ihg1ufJ4HyNrAPzcipaJok0KX1xJMETB7M/oB0OB06fPo1AIDDDhybVOqv4rjU+Po7Tp08jOzsbW7duXbD2KFmFvP4jh5JynvmQ5epAyaXLREg8wzQCwxPRD1xCMA43zJfT34iQo7hoCN6uDmLrLaeiZZLwqeFZzkg1PAkQWduyfv36OW80koXGpFNaPp9vzr8HAgG0t7eDYZhFh30mk9DUGHwXxGt71G5eEf0giYQYfn9M7C2IguXtbpRvNICQBYuoyFUUQiefA6p/RGQ9sSI8pPxw+ELavVgSPIuT3nJWRLhWc662Zb43GenOKqGiRVyR9dmzZ1FYWIjNmzenhNgBgMDxAwAjnqW5uqZItHMvFzyXbWJvQRRYmwtjPYVib4MYhasCcBx+m8hay6VomWVZos+Tb9HycmUJfLdIPj09PbBarVFbzeVyOQIBMlO9hUpp+Xw+GI1GyOVyNDU1ERlOSgqWZeE99oGoe5CXSxEeofG0JH82WqpgOWhBSbUClGxp+Dxl2g/D57waSp0eFEXF/WG+XIqWSdcNuVwuGAxLpyCeNJLgiYOVK1fOW8Q7m1ROaQWDQZjNZvT392Pt2rUoKIi/9ZpUl8HsdYLtHyI4MpXwuomgyNUDmJv+kyCDdywIv3l5prQAwD8wBkt3HcrXLI2xGhm5LJxHXkLneTWKbtyCnC3VoOTysPjhKyiWiw9PMBgkLnikCM/CSIInDlQqFS8hQ1LwUBRFZMI5ANA0jYmJCcjlcjQ3NyeUt+ZckhO9aLnW9Mh1/EcOJrRmwijlkCnJROgk5mfqQvrPlUqU8WNOlFWTa00Wm+KcHpx5cwSd//kKVHlZKL5hMwp3bkHhjnooDXoA0/cz7r/5RNByKVoWIsIjdWktjCR4BIRkVIZUBKW/vx9msxlarRZ1dXUJr8m5JCd60c4WTiHXFHxn2xLeXyIoaleBosiITIn5sZ9fvtEdDnf7IGwjm5BbMin2VohAhQK47vFNeO3OYwhMOjDw0jEMvHQMlFyG/CvqUHTjFhTt3Ap9dQkoigLDMGBZFvKISNBSEB98z0myUJqm6ZQqS0g1pKJlASFZaJwoLpcLZ86cgd/vx9atW4ld2CTNByPXCbz/BtgAGbEYL6HqElHPvxxwXBgQewspgfnI0nKaNmjNqL597Yx/Y5kQxk9exuW9v8F7VzyM97Z9A63ffQ6Txy8DwRBYlgXDMAgEAqBpGqFQKPxfMhCjaJmkyCLd8bUUkSI8ccA32kIypRUvoVAIvb29GBsbQ11dHQwGAxiGIRZ54jMHi+863I2NZVl4j55IeM1EyVlfIfYWljT+ySB8fcNibyMlcJzvhmPXBmTlLZ2OtW335aD7NQrsAl2W7t4RdO17C1373oJCr0HRjgYU7twM1yoDNAVZM4xbGYaJmgZLlKVQtAwkzx8tHZEEj4CQTGlxxFIg7HA40NraisLCQjQ3N4cvZj6zq/jCd9J5LOswPZcQHBDfiE5RoINUsCwctotLK6qRKOaTQdT9hdi7IIeSmcAVe5vxwaMfRj026PbB8uaHsLw5fWxOQxWwqxEluxqRs6UaIZYFy7Kf3CPmSYMlSroXSpMcUbFUkQSPgJAUFsAnAipazpdhGHR3d8Nms80Y9slB8qIQIqXlP/JWwuuRQKalxd7CksZ+flzsLaQU1pMdcO+ogT5r6RRyVzW60FKeCZc5tudku9gN28VutP37S1AXZKNk11aU7mpC8ac3Q56hCae6OBHE3TsixU+sIijd64Y8Hg90Oh2RtZYqkuCJA7FUNFcTtJjgsdlsMBqNKC0txbZt2wTfK6kIDycOWa8L3lMtBHaWGFRZAeRycWuIljqO8/1ibyG1YFmYP1Sg5kaxN0IOGePFdf+2BW9++Vjca/jHp9D32/fQ99v3QCnkKLhqPUpvbkLpriZkrimbIXy4OiAg9jQYaRNAPjAMQ6zI2Ol0zvlyKzETSfCkEYtFU4LBIDo7O+F2u9HQ0JA0pU+qhocTToHTfwTrEz+yottSI/YWljSBKQbebovY20g5Jg4bUXH1Kmh0XrG3QozcbAsqblyF/kO9Ca/FBhmMHWvB2LEWXNzzC2RUl6J0VyNKbmpCwVXrIVep5qS9hEyDJQrJCI/kshwdSfAkAVK51YVqgiYmJtDR0YGKigrU1tYmNQJFOqXlOxr/N0GSqKpLxd7CksZ20SX2FlISNsjAfE6P6k8tHcFDgcUVf19CRPDMxtU1hM6uA+j87wNQZGpRvKMBJTdvQ+mNW6Ep+mQ4a2TH10JpMDG6nEgKHsmDJzqS4ImDWATFfIZ68TK7zZ2mabS3t4OmaWzduhUajYb3WpyRYaLfckh2aVEj3QiYhhJeiwTKsiwAkumgUNgviF+UnqqMvduBldtKoFIvnfefmh3F5m9vxoWfXBDsHEGnF+YDp2A+cAoAkLt1DUp2NaH05ibk1K+eUQowOw1mt087XdM0LXg3WCSkIzxSSmtxJMETJxRF8fpGwEVlSAkeTlyMjo6iq6sLq1evRnFxccxRHW6tRC9okl1ayrNHIH4yaxp5ltTtICT285L/zkKEPD4MfZyNysalZcq47poAPv6FCsGp5Ag56zkTrOdMaP23F6EpykHJTY0o3dWEoh31UGZOp/xlMhksFgssFgs2btwIuVye1DQYydESUkorOpLgERguKkOiME2hUMDn8+HChQuQyWQJDfvkBI9SqUxoT3K5HH6/P6E1AEAWCiJ45nLC65CAytBCpkj8OUnMj3+KhqdzEJKkXJiRgyaUN+RCoVg6hfMqyofrnmjCnx54P+nn9o3a0Pvrd9H763chUylQcPUGFO9qhKcqG+oV+WhsbJwjPCKLoEl2g0Ui1fAkF0nwCAwp80GWZeFyuWC1WlFXV4fCwsKE1iNVe0MqwqM3nUHIlRqeN+qGtdKHsYA4LvtASaawixKccsFyuQoVDUsr9VdaNo7iK8owckq8gvVQIIjRwxcxevgiACBzTRnom5tQsqsJBVfWQaac/ljkhEx43M0i3WDc8bFGgUiOlpAGh0ZHEjxxEmtKKxG8Xi/a2toQDAaxcuXKhMUOINxIiFjhbiDyj84gVaZWqWtXir2FJc2UVL/DC/Mfe1C2MQuK5HrhCQrFMvjUP63C7z+XOh16TpMFHSYLOv7rNSizdCj+9GaU3LwNJTu3QlNgCB83nwACEusGI120vGrVKiJrLVUkwSMwiczTYlkWg4ODMJvNqKmpAU3TcLvJuNOSjPDEuw73LYkZ7QPdljo1HcqVeUDKyK+lh+P8oNhbSAvYSScmeqpRvGZp1fLoZMOof7ABl352UeytzIF2eDD46vsYfPV9gKKQ17Q2XPicvXHVjFrJ+VJasabBSLojSxGe6EiCR2DiTWm53W60trYiKysLzc3NkMvlGB8fJzaqQkzBw90IuG9EwROp4azMochTQRopIQy0OwR3e+qI21TH/M4wiqpkoGRLK8m68bMytD2vAu1M4U40lsXkmQ5MnunA5R/+FtrSPJTsakTpTU0ouq4eCv3crthY02Dsn0dmkBA9kuCJjiR44kSoAaKhUAh9fX0YHR1FbW0tsrOzwz8jJVJIrhXr+IzIbz8URQEMA9/JjxLeBzEoQK5OlV6xpYe9xQMwUvSML76+EUxYGlCwYmmN4ZAH7bj235rxp78Xf0gwX7xDk+j51Tvo+dU7kKmVKLxmI0r/HP3RVxTN+5jZAogTOMFgEGazGUqlMjzMOdFuMKloOTqS4BEYhUKBQIDftxin04nW1lbk5eXNGPYZuVaqCR6+68yO6nA+F8GWowjZUmeIpHLdKlDU0umMSTWmLk6KvYW0w/yuFfl/s/QGQ5ZWjiF/UwEmWtJPzIX8NEbePY+Rd8/j/D/sQ9a6FSi9eRtKdjUif3stZAsUXnH+Zx0dHVAoFNiyZQsAEOkGkyI80ZEEj8DwqeEJhULo7u7G5OQk1q9fv+CbNpF6oPnWSlaX1uyoTuSN23/svYT3QBL1xtVib2FJI9XvxI67bQC20U3ILV5aYpFig7hmby1euSP9BM9sHO2DcLQPov0//wBlth4lN2xFyc1NKLlhC9R5n7gfu91uXL58GeXl5SgrK5uxRqLdYE6nEwaDARILI/4wkTSFVEpramoKH374IRQKBZqbmxdV6Kma0lpoHe5iDQaD84qdkG0E/kvdCe+BJKrV84emJRIn6AvB3SoNDI0H0x+XltjhyFRZUPvF9WJvgyj0lBsDLx/H6a/8BK+v+hJM+6ZrFMfHx9HS0oLa2to5YicSmUw2bcSqVEKlUkGj0UClUkEul4dLCBiGAU3TCAQCYBgGoVBIGi3BAynCIzALpaGCwSBMJhOcTifq6+uh1+t5rUUywuPzJV6Yu5BwWiyqw0GfeAMIpZYhC5WvBiCltITA/rEXbFD63cYD3WqB07YemTlTYm+FOFv+SoeO38kQCiyt2i5NYTa2/vRBlN26HV1dXXA4HNi6dWtcZrEymWzRbrCxsTF0dnYS8/RZqkgRHoGZLw01OTmJ06dPQ6/Xo6mpiZfY4dZKxQhPpB9RtKhO+DiGge/4hwmfnzTyjNQSYEuJiTOjYm8hrRk8sbQEAYeCseJTj28XextEWfmFa3HT2f9G0c2NuHhxuv1+8+bNRBz3gU+iQCqVCpcvX8Ydd9yBp556KqZ5issRSQ7GSTwpLZqm0dHRAb/fjy1btkCr1QpyTj6QFE8cfKI6HEz7h2DGHETPnyiy/GyoVEvzQyUVmDxDflr2csJ6sh3uDZOgjgAAIABJREFUHWuhz1x6k+Yr6qZgqMqBvdsm9lYSQl2Yjcb/+yDKb71iugnl3DmsXr2aiFnsbFiWxfPPP49f/OIXePnll7F27Vri51hqSIJHYDjBMzY2BpPJhFWrVqGkpET0jov/z955B0ZRp2/8s5veNx1CKKEnIbTQBEIQ9QAP9RDr4Q8QAQVRRMUCeNgRGyoIiGg4OE+Q8ywookcCRKpUIZ0QQjohyW52N8kmW+b3R9wxIYWU3U1hPv8omdmZdyA788z7fd/3saTgMQudazuwGqPqwC8WObclcR4+oK1D6LQYdCaMFzvXAD2bYxLIPe5I/1vbOhDLIzNVMvH1wXz34MG2DqXFKKYOw2P+zeQp7Cg8fZry8nLCw8Px9va2+Lmqqqp4/vnnUSqV7N+/X3JJbyLSkpaVMRqNaDQa8vLyGDFiBEFBQW0udsBygsc8V+LSpUtoNBrg+pkok6YY3amUVp/b0jgOCG7rEDot6iQdQpU036i1XI1NprKieZnhjoLCLYc+f+t4WQrnQG/G71jB5F2vMubWaNzc3DAajQQGBpKRkcHRo0dJSEggJycHrVbbJEuixigoKODOO++kd+/e7NixQxI7zUDK8LSQ6z3UBUEgPz+fS5cu4eDgwNChQy12bktM5myt4Kk5V2fIkCEolUqys7PRaDQ4OTnh7e2Nt7c3np6eddonDUf2gKH9LR05dPMCLFMULlGbwuMFbR1Cp0DQG8g57UafcRVtHYpVGDXfh4zdMgRjx6il6/nARIa9vQAnHw90Oh3nz58nICCAsLAw8R5tMpnQaDSUlpaSkZFBWVkZzs7OKBQKFAoFnp6eTfbTOn78OEuWLOHtt99mypQp1ry0TokkeKyATqcjMTERJycnRo0axYkTJyx2bHORcFsKnmtrdVxdXXF1dRVbLSsqKlCpVOTl5ZGSkoKDgwPe3t7il1t34HCrYrcW9gp7JMFjHdSn249ZZEfnyi+p9BjZBQfHzpcxczReZczKURx95Xhbh9IozoHejPjocbr9dTQASqWSlJQUBgwYgI+PT6195XI5Xl5eeHl50aNHDwRBQKfToVQqyc/PJzU1FTs7OxQKBV5eXigUijrFzYIgsHXrVrZt28a3335L797SvLCWIAkeCyIIAjk5OWRlZTFw4EB8fX0tfg5z11drq/0t4YHVUK2Oi4sLLi4udO3aFYDKykqUSiVXrlwh/8DPdM1thzNFHB2QO1S2dRSdEqPeRFWKJHgshalMR955b3pGds6aqJBINWe7ulKRX97WodRLr79PYuhb83Dy8UAQBLKysigsLGTYsGFN6pKSyWTiPTIoKAiobmhRqVSUlpaSlZWFwWDg2LFj2NnZMW7cOD7//HN0Oh1xcXFN7uqVqIskeFrItQ/68vJyEhMTcXd3Z/To0XXmIVjKIM5S9hKt9cBqzrU4OTkR6O+P1/HDVOz+riXhWh2nwf2QyTpGGr2joU6uxFTZjk0iOyD5e9PpNkSBvX37WxpuLQ5UMe6Vwexb0L7GVjh38WHkuscJmjoKqK7PTEpKwt7ensjIyBb5X5lxcHDA398ff39/4M85O9999x0LFixApVIxevRoPvnkE8aNG2fRFvcbCUnwtAKzL0pmZib5+fmEhobWW5FvFimWGAplKXuJpgqWpmZ1GsOYm4P20/UYM9rXVOWaOIX3bOsQOi2lpzt2q3F7xKDUUJDaj+DwzjnbKKhLEd1v6UV2bGZbhwJAr5mTGPbWfBy9qwuEzRYR3bt3F7M0lsT8QnrgwAE++ugjbrnlFtLT0zl06BCffvop/v7+rF692uLn7exIgqcVaDQaEhIS8PX1ZcyYMQ0qfLNIsZTgsfT8nIZoTVYHQDCZ0P38IxX/+RL07bveQB5s+dZRiWpKz0jLWdYg8/sLBA30RN60etcOhQyBkY8HtLngcenqw4h1iwmaMlL82dWrV0lPTyc8PNwqVg4mk4nPPvuMHTt2sHv3bnr2rH4Z69evH/369ePhhx+2+DlvFCTB0wqysrIICwu77i+9JS0hLOmY3hAWyeoUXqHs048xpCZbI0SLY/KUJjRYA5PBhOZ3aeCgVSjWkJceQvCAdlgTZwE87IuJfCaSU++dapPz93roFoa9NQ9HRXVWRxAELl682CqLiOtRUVHB008/jSAIxMXFNXs4rUTjSHf5VjBo0KAmKXxLe2BZ6lj1UXOIoNmRtzliRxAEdHH/o3TFMx1G7AB4+Enr4dZAnVaFqbz1nm0S9XNl39VWz3Vpz4TdYsTJ27Z2CS5BvkR9vYrRm54SxY5er+fMmTOAZS0iapKTk8O0adOIjIxk69atktixAlKGxwZYMitjySUtcw2SudW9tVkdU0kxZZ9tRH/+d4vEZyvsQ4KQyaR2dGsg1e9Yl4pL+RTnDMWv+9W2DsUqyA0aJr41ip8fjbfJ+UJm3cbQN+eKQgeqSxcSExOtZhEBEB8fz3PPPcdHH33ExIkTrXIOCUnw2ARLZmUsnS0yGo3IZLLW1eoIAlVHfqV8++cI5WUWic2WOA3p19YhdFpKz+S3dQidnpxYFX5z2joK6xEYVECXMUEUHMuz2jns/DzovvIegm8fg9HJTrwX5uXlkZ2dTUREhFXawU0mE5s2beLbb7/lxx9/pHv37hY/h8SfSIKnFbTEQLS12NnZUVlpmXkxdnZ2VFX92S7coqyOupSymM3oT/1mkZjaAse+Xdo6hE6JyWhCcyajrcPo9GgTMlEVRqAIKGnrUKyCTDAS9UIfdv3NOoInZNZtDHnjYSpkRlQqFampqVRUVIidtQMGDMDV1dXi5y0vL+fJJ5/ExcWFffv2SU7nNkASPDagPS5pCYKAg4MDqamp+Pn54ePj0+w146oTxynb+gnCHx5aHRWduwxplJfl0abrMWrb5/C4zkb2QR2Ke9s6CuvhKs9j8KODOffJOYsd06WbHyPXL6brbZEAOAEKhQKdTse5c+fw9fXF1dWV3NxcUlNTcXR0FO0gvLy8mmwHUR+XL19mzpw5zJ49m4ULF7YLf8UbAUnw2IBrMymtobXiqWatzoABA9BqtahUKlJSUtDpdHh4eIg+WC4uLvV+EU1lWsq3f07VkV9bcyntBkWQByBNWbY0qtOqtg7hhqH0+AU0t4bh4V3a1qFYjcF3OZD0L3sMZa3Plvee8xeGvDEXR6/arzr1WUQEB1ebCut0OkpLSyksLCQ9PR0ALy8v0TanqYXMBw4c4IUXXuDjjz8mKiqq1dci0XQkwdMK2mpJq6XHunaujr29vfjG0qtXLwRBQKPRUFJSQmpqqiiAFAqFmAHSnz9L2WcbEZSdoxhV5umG3F4SO9ZAqt+xLTmHIXRaW0dhPewMKia8OYa4JYdafAzXYD9GrH+CrrcOr/XzplhEODs74+zsTGBgIAAGg4HS0lJUKhXZ2dno9XrxfqlQKHB1da31jDCZTKxbt46ffvqJvXv3WmVgoUTjSILHBlij0Lg5NLUDSyaT4enpiaenZy0BpFQquZBwHo+4n1EknbfIdbQXnIcNQEomWx7BJKCW6ndsSnF8MuUT++Pqrm3rUKxGcJ8ifML9KEksavZne8+ZzJA3Hq6T1TEajSQmJuLg4NAsiwh7e3t8fX1Fz0SzK7pKpSI9PZ3y8nJiY2MRBIHRo0ezfft2/P39+d///oeTk1Oz45doPdIcnlbQ1AyPJVvJm7uk1Zq5OmYBFFShpeeOf3Y6sQPgGCp1RVgD1YUKjKWd98HbLjEJpMa174nmrUVm0jPx5bBmfcY12I/o715h5PrFdcROWVkZJ0+exM/Pj9DQ0Fb5YZld0Xv27MmQIUMYM2YM06dPRy6Xs2rVKk6cOEF6ejqrV69m3759aFpR+5idnc3NN99MaGgo4eHhfPjhh3X2KS0t5Y477mDIkCGEh4cTExPT4vN1FiTBYwPaYknLLHQMBkPL282rKin7Yiua1a9gKuqccz4cuvu0dQidkuITnXP6b3un7GgWlRWdu9vHwymXAX8PbdK+vR+ezJTfPqbLLcPrbLt69Srnzp0jNDTUKstLMpmM/Px8du/ezSeffEJWVhZffPEFQ4YM4aeffmqVF5a9vT3vvfceycnJHDt2jI8//pikpKRa+3z88ceEhYXx+++/c+DAAZ555hmL1ZJ2VKQlLRtga2uJ1npgARguXkC7eT2mfOvNvmgPOPg4ALbxJruR0CV1jhqvDofeQO4ZD3qP7dzTrSNnenDhP3JMVfW7xbt292fkhifpcvPQOttsYRFhMplYu3YtsbGx/PLLL3TpUj36IjAwkOnTpzN9+vRWHb9r16507doVAA8PD0JDQ8nNzSUs7M/sl0wmQ6PRIAgCWq0WHx8fi/g5dmSkDE8raE7RsqWnI9eHRbI6Bj3l/9mB+rWVnV7sIJcjd7yx33isgSAIqE9L9TttxZWfU9FXObR1GFbFwVjM+FfH1LutzyNTmfLb+nrFji0sIjQaDbNmzeLKlSu1xI61yMzM5MyZM4wePbrWzxcvXkxycjJBQUFERETw4YcftmrJrjNwY1+9jZDL5Q2KlObSkIBprQcWgCHrMuqXX0T3/ddgoXjbM47hIchknf86bU3ZZT2GEnVbh3HDYiyrIC/Bu63DsDq9Ikrx7OUl/tm1RwATd7/OiA8X4eBRd1CgWq3m1KlTBAcH07dvX6vMvrlw4QK33347d955J+vWrbOKoKqJVqtlxowZfPDBB3V8HX/++WeGDh1KXl4eZ8+eZfHixajVN/b3UhI8HRyLZHWMRip2f4N61fMYsy5bKdL2h9Og3m0dQqdEdabzzoLpKOTvvYjR0Llv7zKjjptWVdfy9Jk3lSnH1xF485B6983LyyM5OZmIiAir+GEJgsDevXuZNWsWmzZtYs6cOVYfJqjX65kxYwYzZ87k7rvvrrM9JiaGu+++G5lMRt++fQkJCSElJcWqMbV3buwFvVbS1tMxLVGrY8zPRbv5Y4wXL1ghwvaNY2/rGAHe6JSevtLWIdzwGErUFKT1oVtYYVuHYlV8Ayro/el89L38SUhPRaFQ4O3tjaenp5hZT01NRa/XExkZaZUaFqPRyDvvvMPhw4f53//+ZzWD0ZoIgsAjjzxCaGgoTz/9dL379OjRg9jYWKKiorhy5Qqpqan07n1jv+RJgseGmIWJJTBndKBlHliCyUTlvr2Uf/UF3KCV+/YBrkgTli2LIAioz1xq6zAkgNy9WXQd4Iy85Q4I7Rqjz0CMYQ8x0rHa2byiogKVSkVeXh4pKSnI5XJ0Op3Ycm4NsaNWq1mwYAF9+vRh7969ODjYpnbq8OHDbN++nYiICIYOra5VevPNN8nKygLgscce46WXXmLOnDlEREQgCAJr1qzBz8/PJvG1VyTB00pkMpkoPBrD/LbRGv8V+NMDKy0tDV9fX7y9vZtdiGa8WkjZlg0YkhNbFUtHx85Nqt+xNOW5BvSFUodWe6Aqr5iMhH70HdK5/MwEmRxD779i7HEzyP6897m4uODi4kLXrl1RKpUkJycTHByMwWDgzJkzCIJQywqitcP/UlJSmD9/PkuXLmXmzJk2zfiPHz/+us+doKAgfvnlFxtF1DGQBI+NMA8fbKngqTktOTw8HJVKRXFxMRcvXkQul4v+VwqFosFzCIJA5cE4yv+9FXSdu231eth19UUu79xD2toC1ZkbuyiyvVF6pAxhcNsvv1sKwUlB1aDZCF4h9W+vYRExfPjwWhYRRqOR0tJSlEolOTk5VFVV4enp2aAVRIMxCAI//PADb775JjExMQwfXnfGj0T7RBI8raSpGR7zLJ6WVO3X7MCSy+U4OTkRGBgoerro9XqUSiVFRUWkp6fXK4BMyhLKPt+E/vczzT5/Z8Rp6IC2DqFTItXvtC8qLuZRnDsEv+DmWzG0N4x+4ehD/w4ObvVvv45FhJ2dHT4+PqIpaH1WEK6urmIdkLu7e51jGI1GVq9ezcmTJ4mNjb3hl4g6GpLgsREtGT54rQdWQ63mDg4OBAQEiMVyVVVVqFSqagF04QKeF1PxPxiLXFfR+gvpJMilgmWroD6d2dYhSFxDbpwav1ltHUXLEWR2GPrcgbF7NDSQgSkrKyMhIYHu3bs3eWqy2QrCbAchCALl5eWoVCqysrLQarU4Ojryyy+/iLUyTz31FOHh4ezZs+eGH+LXEencfYvtiJZ6YBmNxmbP1XF0dCQgIIB+XbsQduIwgT//IImda/GvO6dDonWU5+upyu/4mYTOhubcJVRXO+ZcHpOzD1WRT2LsMbFBsXP16lXOnz/faosImUyGm5sb3bp1Y9CgQYwZM4awsDACAwP54osviI6O5uLFiwiCwE8//URJSUmLzwVN88MCOHDgAEOHDiU8PJzo6OhWnfNGR5KoraQ5BqJN9cBqSlbnelSdOkFZzCcIamkmSn14dHUHbuw6JkujOtNyM0QJ65JzsArFPW0dRfMw+g9GP/ABcKj/5aSmRcTw4cOtMuTPyckJhULB5cuX2bt3Lz179uTIkSMcOnSI9957j5kzZzJ//vwWHdvshzV8+HA0Gg2RkZHcdttttewhVCoVixYtYu/evfTo0YPCws49ZsDaSILHRjRlSevaWp2WCB1TWRnl/4qh6vDBloba+XF2RO4gtaNbGtWpgrYOQaIBVMfS0Nwahoei/b8ACTI7DP3+hrHb+AazOnq9nvPnz+Pp6cmwYcOsUpRtMBh47bXXSExMJDY2Vqz9mTp1KlOnTm318Zvih/Xvf/+bu+++mx49egDYZMZPZ0Za0rIRjS1pXTstuaViR5/wO+oVz0hi5zo4DR2AjOsXmks0j6LjN97wyo5EzpG2juD6mFz8qBrxFMbgqAbFji0sIkpKSrj33ntxcHBg9+7dotixFg35YaWlpaFUKpk4cSKRkZFs27bNqnF0dqQMTytpzpKWXl+3DdoSWR1BV0H5jn9RGSfNXGgKTmE92zqEToc6rwIK23/24Eam+GAKFRP64uJe1tah1IsxYBj6gfeDvXOD++Tl5ZGdnU1ERARubvV3a7WWhIQEFixYwMqVK5kxY4bVW/ob88MyGAycOnWK2NhYKioquOmmmxgzZgz9+/e3akydFUnw2Ah7e3sqKv4sHLZUrY4+NZmyTz/GVCi1AzcVx57WfVu7ESlLkJYI2z1GEzknnOl3c/sSPILMHkP/uzEG3dRgVscWFhGCIPCf//yHDz/8kC+++ILw8HCLn+NarueHFRwcjJ+fH25ubri5uTFhwgR+//13SfC0EEnw2IiaNTyW8MASqqqo+HoHur0/QBPmAEn8ib2fM1LBsmUpPS0VU3YECvcl0+Om7jg5tw+BqrNXkOhwE2W59ijKLoizw2paNOh0Os6fP09AQAA9evSwWr3OqlWrSE9PJy4uDoVCYfFzXEtT/LDuuusuFi9ejMFgoKqqiuPHj7N06VJxRUCieUiCp5U09ctnFjzm5SvzZ1vy5TVkXES7eR2mvNxmf1YC7JybNw9J4vqoT19u6xAkmoBQqSf3jCe9b7ra1qFgDBwBA+4l3N4JvV4vTkHOzMzEZDLh6emJo6MjBQUFhIaGWq2OpqioiLlz5zJu3Di+/fbbVtv/NJWm+GGFhoYyZcoUBg8ejFwuZ968eQwaNEg8RklJCT4+Phb1aezMyK4zJVhKHVwHk8lUb23OtWg0GhITEwkNDcXV1bXF6tyYl4t244cYL0sGjS3BoV8PAl+c2NZhdCoqiw0cn/rvtg5DoonYebgyYnkADg5tY60iyB0w9L8HY9dRDS5hGQwGLly4QFFRES4uLuj1ejw8PMQMUFNtIK7H2bNnWbhwIa+++ip33nlnhxENRqORVatWsX//flatWsWIESPw8fGRMj/VNPiPKGV4rIy5VsfJyYmAgADS09OpqKgQv7w+Pj64uLg0+Xh2Qd3weu1tii9fJv9wPAGaUpyyMzFmZ0lLW01AFtq9rUPodCjPtq+aEInGMWrKyU/wpscw2y9Dmty6oA+fjeDetcF9jEYjSUlJODg4MG7cONF4WavVolQqa9lAmC103N3dmyVWBEFgx44dbNy4kZ07dzJw4EBLXJ7NsLOzY9q0acjlcp544gn69evHyy+/zIgRI9o6tHaNlOFpJYIgUFVV1eC2+mp1BEFAo9FQUlKCUqlEp9Ph6ekpCqCahnfXYjAYSEtLo7KykrCwMNHx16TVYEhNQZ+SiCElCWNWpiSA6sHp8Tvwj+yYU2fbK6nvpnPlqw7Q8yzxJ16u3PSiD3b2trtHGLqOxtB/Btg1PCCwqRYRgiBQVlaGSqVCpVKh0WhwdnYWfbA8PT0bzHTo9XpWrFhBXl4eMTExeHl5tfrabMm1y1c//fQTMTEx/Pzzz3z22WdMnjwZDw+PG3mZq8GLlgRPK6lP8FzbgXW9Wh2ziZ1ZAJldfM0CyCxqSkpKSEtLo0ePHnTt2rXxY5aVYUhLxpCShD4lCWNmhiSAgID35+GoqF+gSrSME3+PpSJdqifraIQ8Mpxuodbv7hTsHNH3vxdT15GN7nf16lUuXrxIWFhYnfbsplBRUYFKpUKpVKJWq7G3t0ehUCCXy/Hx8UGhUFBYWMjcuXOZNGkSy5cvb/fLPzWXqK5drjIajWK9kVqtZsmSJXz99de89dZbzJ07F2dn5xtV9EiCx1pcK3gs0YFlMplQq9UolUpKSkqoqqoSjxceHt6im4GpvAzDhVQMyYl/CqA/BNmNRNCn85HbtY8Olc5AlcrIsb980dZhSLQAp2B/Ip90xJrPfJN7UPUSlltgg/vUtIiIiIio1aHVGswmynv37mXdunUYjUbKysqYNWsWS5cu7TBO5xUVFVy6dEmcwHz58mV69qyeJXatoJk+fToJCQm8+uqrPPjgg20SbztAEjzWpLKystlZnaaiUqlITk7G19cXOzs7lEolBoNBTN16e3u3yENGqKhAfyGltgBqhrlpR0Sm8KDb+9PbOoxOxZWDalKXfdvWYUi0kP6PDyMgxDq1PIagsRj6/a3RJayaFhF9+vSxSjZCEAS2b9/O1q1bmT9/PpmZmRw6dAi1Ws2IESNYt25di324srOzmTVrFgUFBcjlchYsWMCSJUvq3ffEiROMGTOGnTt3cs89TTc227NnD9999x0LFixg+fLlBAYGMmvWLG699VZxH3O2R6fTcdNNN+Hp6clnn31G3759W3RdHRypaNnamMWOpYSO0Wjk4sWLaDQahg4dWquw2Wg0ii2c2dnZGI3GWgKoKW9IMhcXHAcPw3HwMKB6WrPhQppYA2TISO90Ash5+IC2DqHTUXq67dubJVpO+vdZ+D/pZFGhIdg5oR94P6bA4Y3up1arSUpKonfv3lbziKqqquL5559HqVSyb98+3N3dxW2VlZWcPXu2VaajTTEAhep79vPPP8/kyZMbPV7NjI35/2+//XZ++uknxo0bx9ixY5kyZQpDhgyp9Tk7OzuMRiPOzs7ExMQwcuRIfvnlF/r27Vtr6etGRxI8reT8+fOsXr2aCRMmEB0dLZq8tYbS0lKSk5Pp1q0b/fr1q3MzsrOzw8fHR5xLYTQaxbXry5cvIwgCXl5e4rp1kwSQswsOEUNwiKj+IgmVuj8EUBKGlEQMFy90eAEk79twZ4hEy1Cfzm7rECRagSm7mMKsMAJ7WsYWxOQRXL2E5erf6H62sIgoKCjg4Ycf5vbbb2fZsmV16nWcnJzqeFc1l6YYgAKsW7eOGTNmcOLEiQaPVVPsGAwGcZr0b7/9xtdff01ERAR33HEH99xzTx2RJgiCKHqGDh3KkiVLeOONN5gzZw6urvW7zd+ISIKnlYSFhfHkk08SFxfHkiVLKCgoYPjw4URFRTFx4kS6dOnS5Lcnk8nExYsXKS0tZfDgwU3+RbWzs8PX1xdfX1+g+stiFkCXLlXP6zFnfxQKRZPGssucnHEYNBiHQYOrY6usJPfwr+gSzuFXWoKQmQFNmD/UrgiQvviWRK8xUp4mCZ6OTsGvOgItYC9nCI7C0PcukDd8f6lpETFixAirZR6OHz/OkiVLePvtt5kyZYpVznEtDRmA5ubm8s033xAXF9eo4IHqep0XXniBhQsXiq3yJ0+exNnZmU2bNrFlyxbi4+MZOnQo5eXlZGRkEB4ejr9/tcA0/33ef//9xMfH88MPP3DfffdZ4Wo7JpLgaSV2dnaMGTOGMWPGsHz5cnH8d1xcHPPnz6ekpISRI0cyYcIEoqKi8Pf3r1cAqdVqkpOT6dKlC5GRka1KMdvb2+Pn5ycW5RkMBrEAOiMjA5lMhkKhEDNA17vpVFRUkJiYiFf3nvSZOAm5XI5QVYUh4wKG5KTqZbD0tHYvgDy7eSFZSlgO1e/lUudfJ0BzNoPSKYPw8lO26POCvTP6gQ9iChjS6H62sIgQBIGtW7eybds2vvnmG/r06WPxc9RHYwagTz31FGvWrLnufVYmk+Ho6MiuXbsYP358rdlAOp0Og8HAihUreOCBBwgICODIkSPodDoUCgXfffcdQ4YMEZevwsPDcXR0JDU1Fahb3HyjIhUtWxmdTseRI0eIi4sjPj4erVbL6NGjRQHk4uLCihUriIiI4L777rNaercmer0epVKJUqlEpVIhl8vFFngvLy/xiykIgph6HjhwYKP+MoJejyEjvboNPjkRQ3oqNDCfqE2wk9Nt8yxkshuvM81aXFiXSf72+LYOQ8ICeI8dQPjd2mZ/Ti33IcvnL7j598Tb27vBGWIlJSWkpqYycOBAvL2tMwersrKSZcuWUVZWxpYtW2xyL4Xq++m0adOYPHlyvZ5YISEhmJ+zRUVFuLq6snnzZv72t7/V2s8sVh599FHc3NxYvXo1Tk5OnDt3jscee4y0tDT8/f3Jy8ujS5cuzJ07l1tuuYXFixfj6OhIfHx8reN89NFHfPXVV8TGxoqjTW4QpC6t9oJWq+Xw4cPExcWxd+9eCgoKGDFiBLNnz2bChAl4eHjYXIlXVVXVEkD29vZOy8fcAAAgAElEQVR4enqiUqlwd3enf//+zXYnFgx6DBkX/5gDlIghLRWq2q4d3GnYAPyfaN16vURtTsw+QEVyVluHIWEhhr4UiruXusn7G7pPpCrkdtTacvH+UVlZWcsCwsXFhezsbAoLC4mIiGh0qGpryM/PZ/bs2UyfPp2lS5fabL6OIAjMnj0bHx8fPvjgg+vuP2fOHKZNm9Zol9arr77Kzp07OXPmjFirc/r0ac6cOUNmZiYPPPAA3333Hc7OzixatIj333+fjz/+mFOnTtGlSxfxOEePHiUhIYFZs2ZJgse8QRI8tkev17NmzRr27NnD+++/T1FREXFxcRw+fBiZTMb48eOZMGECN910k83eUmqSm5tLRkYG7u7uVFZW4uDgIGaAGptg2hiCwYDhUrUAMqQmoU9LAZ3tlpc8HpqM16SGZ4FINI8qjZFjt/0bTNItorPgd0s4A6eqrrufYO+KPuzvmPwG1d32xxR58xK6SqXCwcGB7t274+Pj02wLiKZw5MgRnn76ad5///1ardq24NChQ0RFRRERESHeF681ADUjCAIPP/xwg4LHvOxUXFxM3759WbZsGcuXL2/w3M8++ywDBw4kNjaW0tJS/vvf/9YSlIIgUFxc3GHmDVkQSfC0J15++WXs7e15/vnna3VQCYKAUqnk4MGDxMXFcfToUZydnRk/fjzR0dGMGjWqWb5bzUWv15OSkgLAwIEDxdgqKyvFKdBqtRpHR0dRAHl4eLRMABmNGDMzxC4wfWoK6Cosej018X3p/3AJkdawLUXRMS1JT/63rcOQsCAyOzsi/9EbZ7fyBvcxefaiatBscG58WcpsEREcHIyXl5eYPdZqtbi4uIhjNFp6/4DqAujPP/+cL7/8kh07dojD+NorGo0GDw+P6+5XWVnJihUr+PHHH9m2bRsjR46s1xT01KlTPPDAA1y9epW9e/cyZswYa4Xe0ZAET3uiqQVkgiBw9epV9u/fz/79+zl+/DheXl5i/c+IESMslqosLi4mLS2N3r17ExjYeCZEp9OJb3AajQYnJ6daAqglb3CC0Yjxcuafc4DSkhHKG77xNpfAj+bj4C5NWLYU6RsvkxdzsK3DkLAwXe4YTN/o4nq3GXrcgqH37SBvvPi2MYsIQRBqWUBoNBocHR1reWA1pXOroqKCp59+GpPJxObNm636ImgJli1bxuXLlxk2bBhTpkxh2LBhje4fGxvLiy++SEhICBs2bMDX11eszdm3bx/ff/89Z86cQa1WEx4ezjvvvEO3bt1sdDXtHknwdAbMRcRxcXEcOHCAkydPEhAQQFRUFBMmTGDYsGHNHstuNBpJS0tDp9PVMiNtDhUVFbUEkIuLiyiAWprCFkxGDJczKfntGJWJ53G/kg8VLRdAQZ89glzWvrvIOhKn5x9C+3tGW4chYWHkzk6MWNkNR+c/Xw4EBzf0YTMx+YY18smWW0TodDpRAJWWlooeWN7e3nh5edWpH8zJyWH27Nk8+OCDLF68uF37YanVah544AH8/f1ZsGABn376Kf379+fFF18EaPTeuHr1arZt28att97KunXrxJ+bu4AVCgULFy5k9+7dHDt2jOeff75FtkOdEEnwdEYEQeDy5cvExcWxf/9+zp49S3BwsDgEMSIiotG3JZVKRUpKiuhMbIm1dfMbnHkJTKvV4urqKgogNze3Jp2nqqqK5ORkHBwc6N+/P3ZyGcbsLNEM1ZCShFDWtK4Su+4BdH3FNrM4bgQMOhNHJ32JYOjYgygl6qfbvcMIGV1tN2Hy6k3VoFng1HCHJljWIsLsgWUWQFevXuWHH34Qmzpef/11PvroIyZOnNjic9iK2NhYvv/+ez788EOg2iZi2bJlnDp1qsECbvPylclk4rnnnuP7779n4sSJbN68WdxHp9PV+vzJkycJDQ1tk5rPdogkeG4EzIMLzQIoISGB3r17iwIoNDQUuVxORUUFn3/+OaNHjyY8PNyq6WBBECgvLxczQGVlZbi5uYkCyNXVtc7NsaioiAsXLtCnT58GR84LJhPG3OzqOUCp1ctggkZT775u08bjfXdvi1/bjUrxiTISH/+6rcOQsBJ2nm6MXO4PfW/G0GvydZewzBYRffr0EQfgWRKNRsPevXvZtWsXJ06coEuXLkyYMEFc2q/ZmdQSmuKH9cUXX7BmzRoA3N3d2bhxYx17h/ooKytDo9HQpUsXDAYDZWVl3H///XzxxRfioFioW+ZgFj1KpZLt27fz0ksvMXXqVJ5++mlGjRol7ldzIrOEiCR4bkRMJhMpKSniElhycjJBQUFcunSJyZMns3r1apt/WQRBoKysTBRA5eXluLu7i+nr7OxsKisrm728JphMGPNyq20w/sgCCerqcfneS+/DLcI67bA3Ihc/zSb30/1tHYaElZC7OBH66Yu4hIVfd1/znK5BgwZZLbtQXl7Ok08+ibOzMxs2bEAQBI4fP058fDzx8fG8+uqrjB07tsXHz8/PJz8/v5Yf1rffflvLHuLIkSOEhobi7e3NTz/9xMsvv8zx48frPV59BcZmcnJyuP/++zl06BAymYxLly4REhJS775mEWQ0Gjl79izz58/H3d2doUOH8uabb9byBZOohSR4bnSMRiPvvPMOX375JVOnTiUpKYmMjAwGDRokvi2FhITYfAaQIAhotVry8vLIy8vDzs5OzP74+Pi0OPskCAKmvFz0qUm4hHvi7FuKjHY0CLEDc+axo2hOX2jrMCSsgJ2nG/0+Wo774P6N7me2iDAYDISFhVnNIiIrK4vZs2cze/ZsFi5caJP701133cXixYu57bbb6t2uVCoZNGgQubm5dbbVNOosLCwkICCglgD69ddf2bx5M9u3b2fRokV4e3uzatWqRg1MzZ/PyckhISGB1157jcWLFzN16tRGh8HewEhu6TcyOp2OKVOmEB0dzcmTJ8ViQoPBwNmzZ4mLi2PZsmXk5OQwdOhQ0QesW7duVr/BmDvR1Go1o0aNwtXVVZzjkZKSgk6nw9PTU/QCa6oAkslk2HULxq5bMAJQIQjI0GInFCEXirETipAhFTE3F2OlCW1CZluHIWEFHPwU9Pt4Ja79Gm/vtoVFBMCBAwd44YUX+Pjjj4mKirLKOa6lIT+smnz22WdMnTq11s/MiQM7OztycnJ48cUXyczMZNu2bbUyOA4ODly+fJkpU6bg7+/Phg0brhuTWSwFBwcTHBzMuHHjsLOzk0xBW4CU4blByMzMpFevXo3uo9frOXHihLgEdvXqVSIjI4mKiiI6OprAwECL3tzKy8tJTEzEx8eHkJCQetPAJpOp1iCzyspKPD098fHxaXSU/XURBGRo/hBARdgJJZIAagIlp8tJeOw/bR2GhIVxDPKn/4aXcO7RtdH9bGERYTKZWL9+PXv27OHLL7+0Wbu1VqslOjqaFStWcPfdd9e7z/79+1m0aBGHDh2qVYNjZvfu3cyZM4fBgwfTt29fVq5cWWs+0I8//sgdd9zBhg0bag0lNBqN5Obm0qNHD8tf2I2HtKQl0XwqKys5evQo+/fv5+DBg5SWljJq1CixWNDX17dlLec1PLpCQ0Px8vJq8mdNJhNqtVoUQHq9vpYAavFcIkFARil2QjEYCpELxdjbSb/+13LpsxyyP4lr6zAkLIhzSDf6b3wJx4C6D3AzgiCQlZVldYuIsrIyHn/8cby9vfnoo49sZolwPT8sgHPnzjF9+nR++ukn+vevu+T3/fffM2/ePObNm8eCBQvo2bMnMpmsVkHy1atXycvLq1XwnJaWxoMPPsg999wjtqtLtApJ8Ei0noqKCtEHLD4+Hp1Ox+jRo4mOjmb8+PF4eXldVwBVVVWRlJSEk5NTdbt5K9f+TSYTpaWlopePXq/Hy8tLFECNrY3Xx5UrV8jIyGDAgP74ecvF5S+5UIIMqQ377OLjqH9LbeswJCxFzy7oF03HLdBPXDa+dnSEwWAgKSkJR0dH+vfvb7W5N5cuXWLOnDksWLCAefPm2ayesCl+WFlZWUyaNIlt27Y1WCA9b948ysrK2LBhg5j9Mtf0NFTI/P333/PCCy+wYsUKZs6cabmLurGRBI+E5dFoNBw6dIi4uDgOHTqE0Whk7NixREdHM3bs2Dpj1DMyMrhy5Qp9+/a1SvsqVN9gagogo9FYSwA1NAzNYDCQmpqK0WgkNDS07n6CCTmqawTQjeW8btSbODrpK0yVUvF3Z8A9Mox+a59H7uYidk4qlUrKysrE2VnOzs5kZGTQo0cPgoKCrBbLvn37WLlyJZs3b7a5RUJT/LDmzZvH119/LS5P2dvbc/LkSaD6pauoqIiRI0eyePFili1bJgqcxgTPK6+8wtq1a/Hz8yM9PR2ozjQ1d3isRB0kwSNhXQRBoLS0lPj4eNEI1d7envHjxzNq1Ci+/PJL5HI5W7ZsaXbWpTUYjUZxiJlSqcRkMqFQKPDx8UGhUODg4EBpaSnJycn06NGDrl27Nu3NUjBeI4CUnV4AKc/pOD/vq7YOQ8ICeEVF0mfNUuTOdZeMzLOzsrKyKCgowNHRURRArfW/uhaTycTatWuJjY1lx44drZ6p01ZUVlYyYMAAHnroIV5//XWgeiLyrl27uHjxIgaDgTfffFPsaHv33Xf59ddf2blzJxMmTOCuu+5ixYoVbXwVnQZJ8FibuXPn8sMPPxAQEEBCQkKd7S0dXNVRMTv1fvrpp6xdu5Y+ffpgb28v2mCMGjXKanUAjWEWQOZJ0Lo/HNv79OlDYGBgy+cSCUbkglLsApOjRNbJvj6Z/8wj6+N9bR2GRCvxmTqeXi8/jtyh/t91s0WERqNh0KBB2Nvb1/K/UqvVon+e2f+qJQJIq9WycOFCunbtyvvvv2/TFyFLIggCer2epUuXsnHjRv7+97+jVCr56aefAOjSpQsFBQWMGDGCXbt20bNnTxISEhg0qNptfvfu3axbt4533nmnUz8TbIgkeKxNfHw87u7uzJo1q17B05zBVZ0Bg8HAG2+8QWxsLDExMfTu3ZsrV66IRqi//fYbPj4+ogCKjIy06Q2voqKCxMREvLy88PLyQqVSoVKpkMlktTJALa4xEgzXCCBVhxdAp584jva4VL/TkfG/9y/0eP4RZA0IlKZaRJgNhM0CyMHBoZb/1fW+NxcuXOCRRx5h8eLFzJ492+bzv6zBr7/+ypo1a9izZw8hISHcfvvt/OUvf+GWW27hv//9L7Nnz2b16tU899xztT53+fJl3n//fUJCQli0aFGHFX7tCEnw2ILMzEymTZtWr+CpSWODqzoLRUVFxMTEsHTp0nqzJoIgkJubS1xcHHFxcZw5c4YuXbqILfBDhgyx2hTogoICMjMzGThwYJ3BXXq9XswAqVQq5HK5OAixKTfyBhEMyIWSawRQx8GkN3Holq9AJ9XvdFS6PDydbosfbFBctMYiorKyUhRA1xqAXvvisHfvXl555RW2bNnCyJEjW3VN7Y2ysjISEhIYPHgwcrlc7DJTq9WMGzeOW265hbVr19b5N9i4cSPx8fGsXbuWLl261LGakGgWkuCxBU0VPO+++y4pKSls2bLFRpG1fwRB4NKlS+IMoN9//50ePXqIQxDDw8Nb3dFlMBhISUlBEAQGDhzYpOJAvV4vtsCXlpaKk6DNN/IW1zIIelEAVQ9BVLdrAaRK0nFujlS/01Hp9uRDdJ1zV4PbLW0RUdMA9MyZM6xdu5YRI0aI3/Ndu3Y16JPXWahZqHz16lXCwsJ47rnnWLZsmbhPTWEzbtw4xo4dyzvvvNMm8XYiJMFjC5oieK43uEqiGpPJxIULF0Qj1KSkJPr27SvaYAwcOLBZYsPsDN+zZ0+6dm18uFpjVFVV1RJADg4OYgaopbUMgiCQm3OJqvIcevf0wNm+FDn1G6G2FUmfpFP02ZG2DkOiuchk9Fw+H/8Z9dsk2Moi4tKlSzz//PMUFxeLs2nGjh3LhAkTmDRpUp2OzubQFPNPQRBYsmQJe/bswdXVla1btzJ8+PBmn6upmZeaFhNVVVV8+umnbNq0ie3btzN06NB69/3111959913+fbbbwGkDE/LkQSPLbie4Lne4CqJhjGZTCQlJYkZoLS0NEJDQ0UB1KdPnwYnNV+6dAmlUmkVZ3hzKr+kpAS1Wo2jo6MogJrSzWKeS+Ts7Ey/fv3+fOAIldgJxX92gaG1aNzN5dSTxyg7ltamMUg0D5m9HSGvPYHP5HH1bjdbRAQGBtK9e3erPWBTUlKYP38+S5cuZebMmchkMrRaLUeOHOHgwYM8+OCDYgFvS2iK+eeePXtYt24de/bs4fjx4yxZsqTJNZTmZ+S1QwSbQlJSErt37+aVV17hxRdf5KWXXmrwHJLAsRiS4LEFjQmepgyukmg6RqORc+fOiQLo0qVLDB48WBRAPXv2JDU1lXfffZfly5fTq1cvqw1Mq4m5mLOkpASNRoOjo6M4A8jT07PWTc08pr9Jc4kE3TUCqMzKV/InJoOJo3/5L0Ztuc3OKdE6ZE4O9HnnWRTj689i2MIiQhAEfvzxR958800+//zzFmVUWkJ95p+PPvooEydO5MEHHwRgwIABHDhw4LrZ3prLUrGxsXzzzTe4ubkxaNAg/u///q/Bz6WmpvLcc8+Rl5dHfn4+q1evFve/nrhpzG1doklI5qHW5sEHH+TAgQMUFRURHBzMK6+8gl5f7c302GOP8eqrr1JcXMyiRYuA2oOrWsr1WuHNnDhxgjFjxrBz507uueeeVp2zvWBnZ8ewYcMYNmwYzzzzDAaDgdOnTxMXF8fSpUvFWp3Zs2fj7Oxss7cnZ2dnunbtKt5IKyoqUCqVZGdno9FocHZ2xtvbm7KyMioqKhg2bFjT2vNlzhhl3TDSDT0gEyr+ED/FyIUi5FhPjGgz9JLY6UDYubvQ94MX8RgeWmdbTYuIJv/utQCj0cjq1as5efIk+/btw8/PzyrnuZaGzD9zc3Pp3r27+Ofg4GByc3OvK3jMwmP16tW88sorREdHU1JSwtq1azl8+DBLly5lwIABdT7n6+tLUFAQgwcPZu7cuaKBaFPEjCR2rIckeCzEl19+2ej2LVu2WLxIec6cOSxevJhZs2Y1uI/RaOT5559n8uTJFj13e8Pe3p5Ro0bRv39/zp8/T3R0NDNnzuS3337j0Ucfpbi4mBEjRog+YAEBATYRQS4uLri4uBAUFIQgCKhUKhITE7G3t0cQBFJSUsQMkLu7e5NjEmQuGGXBGAkGQCaU1xiCWIycCotdg+q0ymLHkrAu9goP+n28ErfQ3nW21bSIiIyMtNqDVaVSMX/+fMLDw9mzZ4/Vui2vRavVMmPGDD744AM8PT1rbatvJaOp37UzZ86wZcsW1q5dy8yZM/H09OTUqVNih9mbb76Jj4+PuL/JZMLPz4/3339fXEI3Cx1JzLQtkuDpwEyYMIHMzMxG91m3bh0zZszgxIkTtgmqDdHr9UydOpWnnnqK+++/H4DJkyfz0ksvodPpOHbsGLGxsWzZsgWtVsuoUaOIjo4mKioKb29vqwugK1eukJmZSUREBF5eXuJEW6VSyaVLl8SR/mYBdK2nUWMIMleMMleMdP/DCPVaAaRrcdylZ/Jb/FkJ2+EQ6Ev/DS/hElLXXdzcLt29e3erWkQkJSWxYMECnnvuOe6//36bZVb1ej0zZsxg5syZ9TqdBwcHk52dLf45Jyen3r+H+pabjh8/jlarZfr06aKQ+uqrr5DJZIwfP76W2IE/MzRmsSMIgiR02gmS4OnE5Obm8s033xAXF3dDCB4HBwf2799fb5re2dmZiRMnMnHiRKD6AXDkyBFiY2NZv349VVVV3HTTTUyYMIFx48bVqbdpDWafLpPJRGRkpNgOL5PJcHNzw83NjeDgYARBED2NLl68SHl5OW5ubqIAcnV1bVpMMhkCbhhlbhjp8YcAKhMFkJ1QjIzKJsUumAQ0pzNac/kStiDAG6/XF2L096rz0C4sLCQjI4Pw8PBWdUM1hiAIfPfdd7zzzjts3brVphODBUHgkUceITQ0tEGn8zvvvJP169fzwAMPcPz4cby8vOosZ9XsrCoqKsLd3R1nZ2dxnk6XLl3Q6XRERUWRn5/PL7/8wi233CJa1jTUdSsVI7cfJMHTiXnqqadYs2aN1VpN2yNNrUlwc3PjtttuEwsb1Wo1v/76K3Fxcbz77rsIgsD48eOZMGECN910E+7u7i2KxzzMrSk+XTKZDHd3d9zd3enevbsogEpKSkhPT6e8vBx3d3dRALm4uDRDALljlLljpOcfAkiLnVCMoTIPe0pwdKi/P0F7qQpDadt2iEk0jku/nnR7eykauYmMjAwxU6hQKCgrK0On09US2pbGYDDw2muvkZCQQGxsbJ2Mh7U5fPgw27dvJyIiQmz5vtb88/bbb2fPnj307dsXV1dXYmJiah2jpth56623iI+PZ9asWdx7770oFArUajVvvPEGH3zwAWFhYcTFxdG/f3/UajVLly5lzJgxPPbYYza9bonmI3VpdXAa6wwLCQkR166LiopwdXVl8+bN/O1vf7N1mB0Kc63NwYMHiYuL4+jRozg6OjJ+/Hiio6MZPXr0ddvbzcWhV65cITw83CLD3ARBQKvVUlJSQklJCTqdDg8Pj1oCqKmYTNUPx9LSUsLDw3Bx0ovLX9UZoOqC++xdhVx6Z2+rY5ewDm6D+9Pvoxex9/xTkJuNfJOSkoBqIe3i4lLL/NNSWYeSkhIeeeQRIiMjee2119r9y1VNYVMfd999N8eOHWPBggX85S9/ETtqp0yZwi+//MIDDzzA559/jrOzM5WVlXz99desXr2aZ599ltmzZ9vqMiQaR2pL76w0dbrznDlzmDZtWqfp0rIlgiBQVFQk+oAdP34cDw8PsQB65MiR4gh5qJ5am5OTg0KhoG/fvlZbvxcEAY1GU8sI1dPTUxRADWW7dDodCQkJ+Pj4EBISUvfhJwjIUGMnFJHzz+Pkx+zFqLVcEbSEZfAcM5g+7y3DzqX2v/O1FhGCIFBRUSHapZi7Bc2/Jy0VQAkJCSxYsICVK1cyY8aMDrN0U1FRwblz5+p0csXExLBq1SpiYmKIjo6uVWydk5PD+PHjCQoKYvbs2fj7+3P48GE2bNjA8uXLG5yvI9EmSIKnM1KzFT4wMLBOK3xNJMFjOQRBoKCgQJwCffLkSfz8/IiKisLZ2ZnNmzfzySef2HzekslkqiWAqqqqagkgJycnrl69Snp6erPmrwgGI2UpGWhOJqL5LQHt2RRMuqbVAElYB8Wk0fR+cwlyx9rLVGaLiIiICFxdXev9rFkAmb2vao5LMAugxkS6IAh8/fXXfPDBB2zbtq1VQwNtjVarZebMmfj6+rJ58+Zaoua+++4jOzubo0ePij8TBEEsOk5NTWXVqlXEx8fj5+eHo6MjK1asYPr06YA0P6cdIQkeCcvQlNk/Bw4c4KmnnkKv1+Pn58fBgwdtHKVtEQSB9PR0lixZQlJSEn5+fvj5+TFhwgSio6MZPHhwm6T6TSYTarVaFEAajQY7Ozt69+6Nv79/i12ZTXo9ZQnpaE4koDmZiPb3VAS9wcLRSzSE750302vlo8js//ydaq1FRE0BpFarcXJyEgVQTcsUg8HAqlWrSE9PZ/v27XXMdzsCx48fJzIyEnt7e1GkGAwGZs6cyZUrVzhw4ADQ8IDAK1eu4ODggL29PZ6enrVEkUS7QBI8EpYhPj4ed3d3Zs2aVa/gUalUjB07lr1799KjRw8KCws7vUlgeno6s2fPZvr06Tz99NPIZDIuXrwoToE+d+4cISEhogAKCwuz6c2xvLychIQE/P398fLyEh9sRqMRLy8vMQPU0qJWk64S7bk0NCcSUJ9MpDwxHcFgtPBVSAAE/P2vdH96FrIavz/WsIioKYC2bt3KiRMnGDFiBKdPn+bWW2/llVdeaff1OtdybQZm8eLFVFRU8NlnnwGwaNEivv32W3bv3k1kZGStzx47dozs7GzuuOOOWkvFUlanXSIJHgnL0Vjd0IYNG8jLy+P1119vg8jahu+//56goCBGjBhR73aTyURaWhqxsbEcOHCA5ORkBgwYQFRUFBMmTKB///5Wu2kWFBSQmZlJaGgoXl5etbYZjUZKS0vFDJDJZEKhUIhv9i0VQMbyCrRnUlCfSEBzIoHylEvQ+H1GogkEPXYfXeffU689iTUtIgD27t3Le++9h5ubG0VFRfj6+jJx4kSio6MZO3Zsq39/r5c5Li0t5aGHHiIrKwuDwcCzzz7Lww8/3OTj18zWGAwGqqqqeOyxxzh8+DDPPPMMixYtori4mP79+zNp0iTeeOMN0e+wpKSEZ555Bnt7e9auXdvijk0JmyEJHgnL0ZjgMS9lJSYmotFoWLJkSaOToG9ETCYTCQkJYgYoPT2d8PBw0QcsJCSk1Q8Qo9FIamoqer2esLCwJokXo9GISqUSi1sFQaglgFo6Mdeg1qI5nVy9BHYigYr0rBYd50am+7KHCXzwdvHPNS0iIiIirGYRIQgCO3bsYMOGDfzrX/8iNLTariI/P5+DBw9y9OhR1q5d2+rf1+tljt98801KS0tZs2YNV69eZcCAARQUFDRpWbam2Nm6dSsqlYqnnnpKdHA/d+4cH374IZMnT2b37t1Mnz6dUaNGMX36dFxcXPjll184evQou3btEud4SbRrJMEjYTkaEzyLFy/m5MmTxMbGUlFRwU033cSPP/4oucM3gtFo5OzZs6IAysrKYsiQIURFRTFx4kSCg4ObtUxhnqobFBTU7M/WxGAw1BJAgCh+vL29W7ykoc0vJPm7n3G5XIiQkkXl5bwWHeeGQC6j18uP4zctWvxRTYsIa2YH9Xo9K1euJCcnh61bt9bJEFqaxu4rq1evJjs7m48//pjMzExuu+020tLSal17fTU3NZec4uPjmTRpEq+//joLFy7Ey8uLgwcP8o9//IPKykr+/e9/0+lWzqQAACAASURBVLt3b7755hv++c9/sm/fPnr16oWfnx9bt26lV69ekqt5x0ASPBKWo7Eb01tvvYVOp+Pll18G4JFHHmHKlCnce++9No6y46LX6zl16pTYBVZYWMjw4cNFARQYGNjgTTcvL4+srCyrTNXV6/WiACotLUUmk4niR6FQNEkA1dclVnW1BM2JRDQnzqM+mUhVbqFF4+6oyBzs6b36Kbwn/dk+bSuLiMLCQubOncvNN9/MihUrbFKn0th9RaPRcOedd5KSkoJGo2Hnzp389a9/Fbc3Nl+nqqqKd955h7KyMgD+8Y9/1MqIffHFF6xZs4Y+ffqwa9cu7O3t0el0FBcXI5fLxYnM15vhI9FukASPhOVo7MaUnJzM4sWL+fnnn6mqqmLUqFHs2LGjQ7Wutjeqqqo4duwYcXFxHDx4EJVKxciRI4mOjmb8+PH4+flRWlrKP/7xD+bOncugQYNsYtio1+tRKpWiALKzsxMFkJeXV62Hg8lk4uLFi2g0GgYNGtToUkRlXiGaE4moT5xHcyIB/VWl1a+lvSF3caLv+8/hOXqw+DNbWEQAnD59mscff5w33niDadOmWe0819LYfeU///kPhw8f5v333+fixYvcdttt/P7773h4eIgdUqWlpaxevRqNRoO7uztLliwhKCiI7du38+yzz1JRUcH69euZNWtWnc6q1atX8/nnnzN9+nTefvvtOueXxE6HokHBI1lLSDSLmrN/goOD68z+CQ0NZcqUKQwePBi5XM68efNaLXasXdDY3nF0dBTre6C6g+bo0aPExsayadMmiouLKSsr44477qBnz542uzE7ODgQEBAgduFVVVWhVCopLCwkLS0NBwcH0QQ1KysLX19fhg0bdt0lAaegAJzuCsDvrpsRBIHKrHyxAFpzMhGDUm2Ly2sz7Dzc6LduOe6Dq5eBBUEQxaI1LSIEQeBf//oXW7ZsYdeuXe1qGTomJoYXXngBmUxG3759CQkJITk5mdGjRyOTyTh48CD3338/PXv2FJf8Dhw4wMaNG7nvvvtISEjg3Xff5ezZs8yaNQuZTIZMJhOXvBYtWkR+fj6bNm0iLCyMOXPm1Dq/JHY6B1KGR6JFXLuWbTRWtyHL5XKLr3Fbs6CxIyMIAhs3biQmJoYFCxZw4cIFDh06hMFgYOzYsUyYMIGxY8da1EqgOVRWVpKVlUVOTg4ODg64uLiILfA1Z7s0B0EQ0F3MrhZAJxPQnEzCqCmzQvRtg72vgv4bVuLarydQLSITEhLw8vKid+/eVvt3rKqq4oUXXqC4uJiYmJg26URqLMOzcOFCAgMDefnll7ly5QrDhw/n999/x8/Pj02bNrFo0SKeffZZnnrqKRQKBRcuXGDcuHHcfvvtfPXVV1y+fJnnnnuOAwcOEBMTw+233y6KHfN/k5KS+Oc//8mzzz6Lv7+/za9fwmJIS1oSlqegoICioiLCw8Ot/kBtbUFjZ2TBggXY29vz3nvviT5agiCgVquJj48nLi6Ow4cPY2dnJxqhjhkzxiK+XtfDnJUoLS1l0KBBODk5odPpag23c3R0rGVv0CIBZDRSnna5egbQiQS0Z5IxleuscEU2wNcL/eK78ejTQxwLkJGRIVpEWIuCggIefvhhpk6dynPPPdcm35vrTY3Py8tjzpw55OfnIwgCL7zwAg899BDHjh1j2rRp9OzZk1OnTgF/voxt3LiRxx9/XBwDceTIEVauXIlWq+WLL76gX79+DS5VSfN1OjSS4JGwHGq1ms8++4ydO3dSVFREYWEhQ4YM4aGHHuLuu++2ys25NQWNnZWCggK6dOnS6D6CIFBSUiIaoR47dgwXFxfRCHXUqFEWb2murKwkISEBhULRaFZCp9OJM4DUarVF/J1MegPlSRfRnEysFkC/pyBU6lt7SVbHOaQb/Te+hIO/DxqNhszMTIqLi3F0dKw1HLI5BrFN4bfffuPJJ5/k7bffZsqUKRY9ti1QqVSsX7+etWvX8vLLL/PEE09QWVmJk5MTO3bs4NFHH2X//v0MHz4cgJ07d/LWW2/RvXt3du3ahZOTUx3RI3VidXgkwSPResxvPevXr+f1119n0qRJLFy4EK1Wy969e9mzZw/33Xcfb7zxhsXP3ZKCRk9PT4vH0dERBIHCwkL279/PgQMHOH78ON7e3uIQxMjIyFYtBZoH4fXv3x9fX99mfdZscGm2wai5BObu7t4yAVSlp+x8Gurfqut/ys6ntbsp0K6hvem3fgUO3p51LCLkcnkdg1gPD49WCyBBENi6dSvbtm3j3//+N3369LHwVVkfszDJysritddeY9euXezatYvbbrsNgHvuuYezZ89y7NgxfH19xd+f9957jy1btjBmzBhiYmLa8hIkrIMkeCRaj1nwREVF4ePjw86dO3F2dhZduzdt2oRCoWDBggXo9Xrs7OwslhZuTPD89a9/5YUXXiAqKgqASZMm8dZbbzFq1CiLnLszIwgCeXl5xMXFERcXx+nTpwkMDBSLpIcOHdqkji9BEMjIyEClUhEeHt7qrFFNh2+lUolWq8XV1VV80Lu5uTVbABUXF5N2PpEeejuElEw0JxIpS0oHU9vd5twjw+i39nns3F2bZBFhNog1Lw3qdDo8PT3F7rimCKDKykqWLVtGWVkZW7ZssckSp7U5ffo0y5cvJz09nf/973889thjnD9/nn379hEWFgb8ef/SarU88cQTqNVq/vWvf+Hs7CxldDoXkuCRsByjRo1CLpeza9cuunfv3qQUsMFgQCaTtbjboaUFjRLNQxAELl/+//buPa7m+48D+OucSqkoFRUpUbqotBqVrpLbGCZ3Gy0xNtMYy8bP8OvnN2abIYYZ1mbzM3eqDZUp12J0W4XuN9LtnE6Xc3n//mjnu46u6GL5PB8PjwfnfM/3fI9O3+/7+/m8P+93FlcD6I8//kD//v25PmA2NjYNfoZVVVVISUlBz549MXDgwHbJfSAiiEQiLgCqrKyEhoYGevXqBR0dHairqzf5HSQiZGRkoLS0lMsnkpMKRRDcTuFWgIlSMzusDYaWmwMGbVkBvprqM7eIeNoAqKCggOv7tnz58i6VpxIeHo7Vq1cjISEBLi4u+OGHH2BqaqqQjyP/e3FxMTs/dF0s4GHazt69e7F48WIsXLgQq1evhqmpKYC6uizyJbOHDh2Cvr4+xowZ89wn1WdNaGSen7x+zsWLFxEVFYWkpCSYmZnB3d0dnp6eyMjIwMaNG3Hy5EmuQFtHICJUVlZyAZBIJIKmpiYXAHXv3h08Hg+1tbVISkqCpqYmBg0a1OJ3UVImgCA+GYK4uiTo6ge57XL8OuPdMGD9e+ApKyE7OxuPHj2CjY3Nc4+MPRkA5eXl4YcffoCHhwcMDAywZcsWfPnll/Dx8WmjT9L+6ufYNJZMLL/hkslk2L9/P/7zn//Ay8sLBw8eVHi+pX0zXQYLeJi2U1lZic8++wwhISEQCoWYN28e1qxZwwU+BQUFmDZtGgoLC7FmzRrs2LEDlpaWeP/99zFixIhG9ymVSsHj8V6YO86cnBzMmzcPhYWF4PP5WLRoEQIDAxW2ISIEBgYiLCwM6urqOHjwIJcc2VXJZDL8+eefOH/+PPbu3YuysjI4OzvD09MTHh4eMDMz65SfIRFBKBRyAVBVVRVUVVVRWVkJU1NTGBkZPdN+xcWlEMQnc3WAanIKn/tYe08bDePVAZDKZO3eIqK2thaxsbE4dOgQrly5gp49e8LFxQVeXl7w8vJC//79n/s9WqqTBQDR0dFcnz09PT1cunSpVfsWCoU4fvw4pFIpV1srPDwcffv2xdChQ7nt5EFNWVkZtm/fjq1bt2Lz5s1YsmQJW3H18mEBD9P2wsPDsWvXLoSFhWHChAnYt28f9PX1ERsbC39/fzx69Ag+Pj4YOXIkDh48CIlEgtOnT6Nfv35P9T4xMTFQUVHBq6++2mF3YwUFBSgoKICDgwNX8O3kyZNcPgAAhIWFYceOHQgLC8P169cRGBiI69evd8jxdabi4mLMmzcPdnZ2WL9+PVJTU7lO8BkZGbCxseGmwExMTDo8P4KIkJOTg7y8POjp6UEoFCpM9ejo6DzzSEptYTEq4uraYAhuJqK28PFTvd7g7TfQb+lsiEQiJCYmwtjYuF1Hxqqrq7FixQpIpVLs3bsXKioquHXrFqKjoxEdHY25c+di7ty5z/UeLdXJKisrw4gRIxAREQFjY2M8fPiQK1bZkoqKCnz00UeIjIzE119/jaNHj+LEiRM4d+5cg5snedCTmZmJf//73zh9+jROnDgBNzc3FvS8XFjAw7SdJ4eBt2zZgtWrV+P48eOYMmUKdu3ahaVLlyIkJARLliwBAMTHx8PT0xOrV6/G2rVruX0UFhYiPDwcCQkJcHd3x7hx49C9e3dIJBIoKytDJBJh7ty50NPTw759+1p1fDKZjDvBtdVJbvLkyVi6dCm3AgQA3nnnHXh5eWH27NkAAAsLC0RHR3fo1E5nWLp0KcaPH9/o0n+JRILbt29zjVDz8vJgb2/P9QHr27dvuwZAUqkUycnJUFJSgoWFhcJUSP3VTrW1tQoBUP28ntYiItTkFkEgD4DikiAuLmty+37L5sLQb0qHtYjIzc2Fn58fZs2ahaVLl7brBb+5HLtdu3YhPz8fwcHBz7Tv1NRULFy4ELdv30avXr1w7NgxODg4NHvzEx8fj+XLl+Pu3bvIzc3tlEKKTKdhrSWY51daWgolJSVuubc8qJgzZw7Wr1+PpKQkTJkyBQkJCTA2NsacOXMA1F0YHB0dYWVlhfv370MkEkFdXR3x8fFYvHgxcnNzMXDgQPz8888wMzPDnj17YGVlhZqaGty6dQuZmZkKw9eNISKkpaXB0NDwmav4NiUzMxO3b9+Gk5OTwuN5eXkKUwJGRkbIy8vr8gHPzp07m3xOWVkZw4YNw7BhwxAUFASxWIwbN24gKioKS5YsQXFxMRwdHblVYH369GmzAKi5xpp8Ph9aWlrQ0tLiElkrKipQWlqKxMREiMViaGlpcQFQa5bm83g8qPU3gFp/A/R+Y1RdFeiMPC4AqohLgrRcCPB4MPl4IfR8fXDv3r12bxEBAJcvX8aqVauwfft2eHl5tdv7tEZaWhrEYjG8vLwgEAgQGBiIefPmtfr1+vr6ePjwIaRSKQYPHozBgwdDSUmp2VEbR0dHrFq1CrW1tSzYYTgs4GFaJB8q3rlzJ3788Ud88803cHJy4qYFkpOTIRaLYWRkBKFQiMTERJibm0NLS4s7KYnFYq6Wivxu+p133oFYLMbx48dhY2OD9PR0TJ48GZs2bUJoaChOnjyJwMBAPHr0CIaGhvj999/h5OTU6N14fn4+3n33XURFRaFv374YNWoU3nzzTYwcOfK5GmkKhUL4+vpi27ZtDer6NDY6ypa3KlJRUYGrqytcXV2xdu1a1NTU4OrVq4iKisJ3330HgUCA4cOHw8PDgyt38Cz/h0VFRcjIyGj1qAmfz4e2tja0tbW5AKi8vBwlJSXIzc2FRCKBtrY2t9qptQFQ94FG6D7QCH1mjAXJZKi6lw2poBKqtua4ffs2tLS0YG9v327fE5lMhj179nDTPm2Ro/O8JBIJ4uPjcfHiRVRVVcHFxQXOzs5N9up6cgRZXk08Pj4ehw8fxtq1a7Fjxw6FthD1yc9Xr7/+eoPHmJcbC3iYFslPFD4+Prh27RqWLVuGoUOHwtXVFcnJydizZw9GjBiB1157DampqUhMTMS0adMA1K3cUlVVRUpKCsrLy7ku2tevX8ft27dx+PBhuLi4AAAcHBywbNky/Oc//0FxcTFmzpyJo0ePIjY2FpWVlRg7diwmT56MnTt3cktK5Sey/Px8FBQUwN/fH15eXjh69CgCAgLg7++PTz/9tFUnvCe3EYvF8PX1xdy5czF16tQG2xsZGSEnJ4f7d25uboORBUaRqqoqlzALACKRCFeuXMHFixcREhKC2tpaODs7w8PDA66urtDS0mr25yaTyZCeno7q6urnGjXh8/lccAPUXXTLy8tRWlqKnJwcSKVShQCoNe/D4/OhPngAKioqcOvWrXZvESESiRAYGAhVVVVcuHChzStoPysjIyPo6elBQ0MDGhoa8PDwwJ07dxoNeORT2QAQGRkJVVVV6OrqYsKECRg9ejRKSkpw7tw5fPXVV00uq2/s+8KCHQZgAQ/zFFxcXHD48GGEh4fjyJEjCAkJgY6ODlatWoX58+ejd+/e+OGHH6CkpISMjAw8fvyYq7Z76tQpVFdXcxe6s2fPwtTUFM7OzgD+PtEZGxujpqYGQF0X9IqKCrz66qs4c+YMioqKUF1drVA/Q34iS01NRV5eHhYsWAAXFxe88cYbCA4OxoYNG+Dq6gofH58Wg576zxERFixYACsrK6xYsaLR7SdNmoSdO3di1qxZuH79OrS0tLr8dFZbU1dXh4+PD7dMWiAQICYmBhcvXsSXX34JmUwGV1dXrhFq/emJBw8ecNOKgwcPbtOLmpKSEnR0dKCjowOgLgAqKytDaWkpsrKyQEQKAVBTo4j5+fnIycmBnZ0d1NXV2+z4npSdnQ0/Pz/MmzcPS5YseaEu8PL8N4lEgtraWly/fh3Lly9vdFtlZWU8fvwYEydORGFhIfLz86GpqYnAwEB88skn+Pjjj5GXl4f9+/fDwsICr732Gpc31r9//xZbrTAvNxbwME9FS0sLs2bNwqxZswDUXaDqTyEkJydDX18fVVVV2LNnDyZMmIBff/0VGzZsQGBgINzc3AAAiYmJMDEx4aq8ymQyAHXJhgYGBpDJZLh37x4KCgowefJkAGgy30MqlSIpKQlqampcAKWhoYGgoCBs374d2dnZABQDGplMBh6PByICn89HQkICRCIRnJycQESIjY1FaGgobG1tYW9vD6CuK7t8X4sXL8Zrr72GsLAwmJmZQV1dnZWpbwM9evTA+PHjMX78eBARysrKuEaomzZt4qbIevbsiQMHDuDbb7/FgAED2v24lJSUoKurywXwEomEC4AyMjIAgAt+tLW1wefzuRYR7b26MDo6GqtXr0ZISAhXbbwj1a+TZWRk1KBOlpWVFcaNGwc7Ozvw+XwEBATAxsam0X0VFxfjtddeg4aGBg4dOgSRSISYmBisX78eZWVl+Pzzz/Hxxx9jxYoVXHf3uLg4/PLLLzhz5gwLeJjmEVFzfximAYlEQmKxmPu3VColIqLs7GwaOXIkzZgxg1JTU2ngwIGkqqpK+vr6NH/+fIV9rFy5kgYPHkxVVVXcY2KxmKytrWnWrFlERPTtt9+SmZkZnTp1invf+mQyGRER5eXl0bhx42j06NFERCQSiYiI6N69e8Tj8ei7774jIqL8/PwmP9N3331HQ4YMoTt37jz1/0dbys7OJi8vL7K0tCRra2vatm1bg21++OEHsrW1JVtbW3JxcaE//vijE46048lkMioqKqKZM2eSsbExOTk5kYeHB61Zs4YiIiKopKSEKisrO+VPeXk5ZWZm0u3bt+nixYt05swZ+v333ykrK4sqKira5T0FAgF99tln5O7uTrm5uZ3942kTV65coT59+lBERITC459//jnx+Xz66aefiIjoxIkT5OnpSb179yZLS0u6dOlSZxwu82JqMqZhIzzMU2vqbjU5ORmPHj3CxIkTMXjwYNy/fx/p6ekQCARcQT76a1pp8uTJ+Oqrr7Bz504EBARAKBTim2++QUpKCnbv3g0AiIuLg6amJhwdHQGgyRUZGRkZyMzMxNixYwEA3bt3R2lpKbZu3YrevXtj2LBhyMrKwqRJk/DKK6/gww8/xKVLl+Dt7Q1LS0vw+Xy8/fbbmDFjRqf3FZInaNav/zN69GiF+j+mpqa4dOkSevXqhfDwcCxatOilqP9TWloKf39/2NraclOnRUVFiIyMxLFjxxAUFARdXV2uCrSDg0O7roSqT1lZGb1794aSkhIeP34MW1tbEBEeP36M+/fvQ0lJiRsBkuexPY/KykosXboU2traOH/+/DMtq38RVVVVobS0lBupkScwr1y5Er/++iu2bNmCWbNmYcqUKXBzc+PqPnXv3p3V2mFaxAIe5rnJTzJJSUnIysrighupVApzc3OFbeXTSs7Ozli3bh2Cg4Nx5MgRKCkpISUlBR999BE8PDxQUlKCzMxM9O/fnytU+OR0lvzfaWlpKCoqwvbt2/H999/Dzs4O5eXlSExMxLp162BjY4Nff/0VYrEYJ0+ehEgkQlxcHE6cOIGwsDCUlpYiLi4OI0aMaDTged4+YE/D0NCQywPq0aMHrKyskJeXpxDw1C+45uzsjNzc9ml/8KJJTk7GokWLMGnSJO4xAwMDzJkzB3PmzOEKDkZFReHQoUMIDAyEoaEhVwXazs7uuVbsNYf+6kFWXFwMBwcHLgCRF9irra1FaWkpHj58iPT0dC4A0tHRgZaW1lNdqDMyMuDn54eFCxdi4cKFL1S+TmvQX6sbGztuVVVVaGpqIiYmBlZWVujWrRuX3zdjxgx88sknSEpKwpAhQ6Cnp8fl87EWEUxrsICHaTMrVqzAmDFjYGVlBaBuJIiaSBRWVlbGunXr8Prrr+P06dOoqanBjh07MGzYMAB1FwixWMzlAjRFLBZz5fnT0tIQFxeHW7duoaioCMHBwfD29gYA3L59G3/++SfWr1+PGTNmoE+fPigpKYGqqiqio6MREBCAzZs347333uP2XVtbi27durXbRbIlTdX/qW///v0YP358Bx5V55HnfzWFx+PB2NgY8+fPx/z587mmoZGRkdi9ezfu3r2LAQMGcCNA1tbWbXKRlEgk3HfQwcGh0eClW7du0NfXh76+PoC671ZJSQkKCwuRmpoKFRUVrhN8c3WkLly4gLVr12LPnj3c6sZ/kvrng4SEBJSUlEBNTY37jstLGGzfvh3Ozs5wcHDgfv/y8/PRo0cPmJiYNNgvC3aY1mCVlpkXjnxoevv27fjvf/8LCwsL+Pv7w9fXlxuBkZ84c3Nz4e/vDz6fj4iIiEb3JxaL8fbbbyMmJoabXqjv3//+Nw4fPoxffvkFQ4YM4UaCzpw5g/j4eFhaWmL27NmYMGFCg+7TRASpVNqmVZ2Buvo/np6eWLNmTaNL4gEgKioK7777LmJiYrhkWqZp8iXskZGRiIyMREpKCgYPHgx3d3d4eHjAwsLiqX+G8mKHz9siorq6mmv4WVFRgW7dukFbWxt5eXlwcnKCsrIytm3bhgsXLuDnn3/+Rybn1p9y+uyzz7Bx40aoqqqivLwc06dPx8KFC+Hj44OHDx/CwcEBJiYmWL58OUaNGoW0tDQsW7YMZmZm2L9/P1RVVf9xI1tMh2nyi8EmPJlOJQ8Y6gfe8pPismXLcOLECVhaWiIhIQFVVVUNXp+VlYUHDx5wy5qlUinXWkK+z4yMDGRkZMDLywtKSkqQSCTcc9XV1UhKSoK2tjaGDBkCANiwYQNmzpyJ3NxcTJ8+HRoaGli3bh1Onz7NrSYDgJqaGvB4PCgrKz/VhbL+ZyUiSCQShf22VP8HAO7evYuAgACcOnWKBTutxOfzYWFhgSVLluDo0aO4e/cuNm7cCD6fj+DgYLi4uMDPzw/fffcd7t27p/AzaczDhw+RkJAAa2vr5y5HoKamBkNDQ1hbW8PZ2ZmbwgwJCYGjoyMcHBwQHh6OzZs3t3ktH39/f/Tp06fJlVNyN2/ehJKSEn755Zdmt5NKpY0+Jv8dycjIwNGjR7Fz506Eh4fjxIkTuHXrFoKDg3HhwgX06dMHkZGREIlEWLBgASwtLTFp0iR069YN+/btg5qaGgt2mGfCprSYTtVSboyzszO31PzJ1wHArVu38ODBA4waNYp7XH5ilS89T0pKwqNHj7hy9vVPlvfv30dGRgbs7OwAALGxsdiyZQtWrFiBrVu3QiKRoLq6GhEREdDU1ASfz4dAIMCBAwdw9uxZZGZmws3NDe+//z5eeeWVVn1m2V9dsg0MDNC7d2+FKTP6q/6PhYUF5s+f3+jrs7OzMXXqVISGhjZZrZZpGZ/Ph42NDWxsbBAYGAipVIo7d+4gMjISn3zyCbKzs2Frawt3d3eMHDkSRkZG4PF4kEgk+PbbbzF8+PB2axGhpqaGgQMHIjg4GP7+/pg5cyZ0dXWxa9cu/PHHHxgwYAACAgIUqgk/Kz8/PyxdurTZdg9SqRRBQUHcwoDmtpP/PoeGhsLQ0BA+Pj5QUlKCQCBAQEAAV59r+vTpXEkLNTU1rFu3Dvv27YO1tTUGDx6MsLAwpKenIz09HT179sT06dMbvAfDPJXmlnB1wPIxhmmWVCptsBy9vtTUVNqwYUOjz8mXrQcHB5O5uTndvXuXe1y+lP7IkSM0aNAgbun64sWLydLSktLT0xvdZ2FhIc2ePZt4PB4tW7aMtm7dSl5eXuTm5kYlJSUtfp7Q0FAaPXo0OTg4kJaWFvXv35+WLl1K165dI6lUSr///jsBIDMzM9LU1CQ+n08LFy6k3bt30+7du4mIaMGCBaStrU1Dhw6loUOHkqOjY4vv25LWLIeXu3HjBvH5fDp69Ohzv++LTCwW07Vr12jTpk00ZswYsrOzo5kzZ5K9vT35+/u323Jz+Z/jx4+TnZ0d3bhxQ+G4ZDIZ3bt3jxISEtrss2ZkZNCQIUOafP6rr76inTt30vz581v8uaemppKzszNZWlqShYUFlZWVERFRWloajRo1ivT19cnPz4+IiGpra7nXffHFF2RoaEgXL14kor9/f+tr7lzAMH9pMqZhAQ/TpVVVVdG4ceNo6NChjT6/du1aMjMzo6SkJCIisrGxIT8/PxIKhURUd9KVyWRc3aENGzaQsbExnT9/nojqLoqXL18mIyMjWrduXbPHcu7cOVJXV6c33niDfvrpJ7p8+TJ9/vnn5ObmRtbW1pSVlcVtm52dTURE9vb29K9//Yt7r/aSn59P8fHxRERUw1ueAQAAD9dJREFUUVFB5ubm3P9JfRKJhEaOHEnjx4/v8gHPk65du0bm5ub01ltv0ciRI8ne3p4CAgIoNDSUMjMzSSgUtll9nXXr1pG3tzcVFRV1yGdrLuDJzc0lDw8PkkgkLQY84eHh1KtXL5o5cyZdunSpwfFHR0eTg4MDaWtrc9/3+rW4tLW1adOmTW3wiZiXGKvDw3RN8mmrpub0JRIJvLy8UF5ezm0vn/ISiURIT09Hv379uJwJeV6OPDlaXo1ZPoQeEREBZWVlSCQSAHWrzdzc3Li+YoDiShT53wsKCrBt2zb07dsXx48f547PyckJbm5uOHDgAIyNjbnH5U0fs7Oz4evrC6B9V6K0Zjk8AOzYsQO+vr64efNmux3Li+jQoUPYtWsXwsPDMWjQIAB1+V9Xr15FZGQk9u7dC6FQyPUBc3d3h7a29lPnmlRUVOCdd96BqakpIiIiOqyOUHM++OADbN68ucXvX1lZGXbs2IE5c+Zgw4YNXG4Z/ZWnp6ysDE9PT3zwwQdYv349li1bhpMnT3I9vzIzM6GmptbptbCYrosFPMw/WkvJwpqamggKCmp0+9TUVFy9ehWenp4A6oKdcePG4fjx46ipqeFqqcgvWlVVVYiLi4OJiQl8fX0hFothbW2NuXPnIiYmBpMnT4ZYLFa4SMlfKxQKUVRUBD09PYV9q6ioNMhTkgdJubm5EAqFGDp0qMK+miO/k3meFWNNLYfPy8vDiRMnEBkZ+dIFPPr6+oiKilLoh6WmpoaRI0di5MiRAOp+xleuXEFkZCS2b98OiUQCFxcXrhFqjx49mv0ZpqamYsGCBVixYgXmzp37wiTmxsXFca1kiouLERYWBmVlZUyZMkVhu4KCAkRHR2POnDnQ1dXl6ufweDzIZDI8fPgQffr0wVtvvYW8vDx8/vnnmDlzJjZt2gSRSITw8HCUl5dzZS0Yps01N/zTsaNQDNP2ZDJZk/P+VVVVdOrUKYqNjeUei42NpQEDBtBbb71FCQkJlJKSQomJiURElJSURLq6unT8+HEqLS2liIgI+uijj8jR0ZH69etH69evbzTvQG769OnE4/Fo7ty5lJKSwj1eP4+B6O+pq5CQEBo+fLjCY+1NIBCQg4MDHTt2rMFz06ZNo6tXrxIRtSqX42Umk8movLyczp49S8uXLycnJydydnamDz/8kE6dOkUPHz7kprCEQiH973//o6FDh3LTih2tpRweueZ+7leuXCEDAwM6ePAg91haWhotXLiQhg8fThoaGjRv3jy6efMm1dTU0Lvvvks8Ho+0tLRo4sSJZGJiovBahnlGTcY0rA4Pwzzhp59+wpo1a/Do0SMYGxvjjTfewOLFi6Grq4tx48bB3Nwc3377rcJrCgsLAaDZ+igCgQD//e9/sWPHDgBAUFAQ1q5d2+T2o0ePhru7O9atW8fdLTfn7t27+OKLL7B69epnuksWi8WYOHEixo4d22iHeFNTU25JfXFxMdTV1bF3794Gd/pMQ0SE0tJSXLp0CZGRkbh27RrU1NQwYsQIFBYWoqCgAIcPH+YqB3ek+s0/9fX1GzT/rM/Pzw8TJ07EtGnTGt2Xm5sbCgoK4OnpCSUlJXz//ffg8XiwtbXFoEGDcO7cOdjb2+PQoUPg8/lYsWIFkpOTERwcrLBP1iaCeQ5ND402Fw11fGDGMB1LvlqrMWlpafTTTz/RnTt3uO327t1LlpaW9Nlnn1FqaioVFRVRQkKCQuJlcyoqKuh///sf2dnZUbdu3RpNdP7111+pqKiIevbs2eLKL/lxJScn0/jx42nmzJkkEAiI6O8VLXl5eZSTk9PsPmQyGb311lsUGBjYqs/BRniej7wR6qFDh8jX17fDRvDai/x7WFxcTD4+PmRoaEg6Ojr07rvv0vHjx7ntzp07Rzwej/bv309EdUnObm5u5ObmRg8fPiSihiOeDPOU2AgPw7RWc3U+iAhbtmzBtm3bIBKJYGdnB5lMhrVr1z5Vi4fMzEy4uLjA3Nwcv//+O3dHW11djU2bNuHw4cN48OABZsyYgQULFmD06NHN7m/KlCng8XjYunUrl1RLf+UCHTx4EKWlpVi+fHmTrT5iYmLg7u4OW1tb7s5606ZNyM7OBvD0d/rMy0f+Ha6srIRAIED37t2hpaXVYDtdXV3MmTOHG+k8cOAAvv76axgZGeHs2bMdfdhM19PkCA9LWmaYJ8iDHfnNQP0AgcfjISgoCEFBQbhz5w5u3rwJVVVVuLu7K+xDHlhs27YNr776KlxdXRX2I5VKoa2tjb59+6KiogI9e/aETCaDmpoaNm7ciI0bNyIvLw+//fYbKisrFfb5pPPnz+P06dOIiYnhgp3a2lqEhoYiPj4eqampXBFD+evlF6cLFy6guroaY8aMQQs3PwoOHjzY6m2bk5OTg3nz5qGwsBB8Ph+LFi1CYGBgg+2io6PxwQcfQCwWQ09PD5cuXWqT92fajjxQ1tDQ4FZaPTkVe/78eWhpaSkUTPTz80NycjKuX7+OwsLCf2TbDOYfornhnw4dhGKYf4DmkqCfVF1dTVOmTCF7e3vat28fZWVlUVFREd2/f58WL15MPB6PTpw4we33aY+DiCgzM5Nef/11cnd3554rKyujRYsWkbq6Oo0ZM4Z0dHRITU2NnJycuKRjuatXr5KZmVmThRbbW2vq/5SWlpKVlRVXt6WjatMwbUcoFNKNGzfIxcWFxo4dS48fPyaiv6fCysvLqaampjMPkek6WB0ehmkL9VthyH+JmkquVFFRwdq1a/HNN99gzZo1CAoKgoWFBcrKypCXl4fNmzdjypQpICJ8//33+PHHH+Ho6IixY8fCxcWFW7reGPprtOfy5cu4d+8eVq5cyT138+ZNREVF4dNPP4Wrqyt+/vlnTJ48GefOncP9+/fh7OzMvd7W1hbFxcWora1t2/+oVmpN/Z/Dhw9j6tSpXJ2iPn36dMqxMk9PKpXiyy+/RFFREY4dOwYrKyucPXsWfD5f4XenZ8+eAFiyMtO+WMDDMM+ouYKHQN0Qv6OjI/bt24c9e/YgKioKN27cQL9+/eDl5cVdwHk8HubNmwdHR0fs2bMH3t7esLGxgb6+Pry9vfHxxx83+t4AcPnyZWhqanK1hIC6QKu0tBSurq4QCoUYMmQIfHx8MHz4cIhEIgB/B0yPHz+Go6MjLly40KDIYEdrqv5PWloaxGIxvLy8IBAIEBgY2GzfJ+bFIRAIcPDgQQwYMAArV67Ee++9B6DpPDkW7DDtiQU8DNOO5B23+Xw+Ro0axTU5fRKPx4ONjQ369++P6dOn48iRI4iOjkZBQQG3n/oXAx6PB5FIhAcPHsDExITL3QEAd3d3DBkyBLNnz4aBgQE+/PBDAHV30fI76fp31hUVFSgtLQXQeY0ZhUIhfH19sW3bNu4Y5SQSCeLj43Hx4kVUVVXBxcUFzs7OrHEq6jqdnz17Fn369EFiYmKD53/88Uds3rwZQF0Rzt27d3OFLNubTCaDtrY2Ll++DJlMxi25Z80/mc7CwmmGaUd8Pl+he7s8AGpMamoqwsLCuKq2Xl5emD17NrefJxUUFKC6uhr6+vrc/uXbRkREYPbs2cjJycGPP/6I2NjYBq8nImhrayMnJwe9e/cG0L7tK5oiFovh6+uLuXPnYurUqQ2eNzIywrhx46ChoQE9PT14eHjgzp07HX6cLyI/Pz9EREQ0+bypqSkuXbqEu3fv4l//+hcWLVrUYccm/87q6OhwwQ7Va9PCMB2NBTwM00HqBz+NiYiIQL9+/bgl6FKptNn9KSsro7i4GCYmJg22V1NT43KBKioqMHHiRERGRiq8nsfjoaqqCiUlJejWrduzfqznQkRYsGABrKysGi12CACTJ0/G5cuXIZFIIBKJcP36ddZ+4C8eHh7Q0dFp8vkRI0agV69eAABnZ2fk5uZ21KE16kVpl8G8nNiUFsN0InkuTVpaGq5cuYIJEyZAU1MTQPOjLUQEExMTFBYWctNZKioquHbtGgYMGAADAwMkJydj1qxZmDhxIl555RWEhYXB29tbYSQoNjYWPXr0aPai2Z5iY2MRGhoKW1tb2NvbA2hY/8fKygrjxo2DnZ0d+Hw+AgICYGNj0ynH+0+2f//+p6oVxTBdDQt4GKYTyWQyKCkp4eTJk1BRUcHYsWNb9Toej4fq6mr07duXy78BgNDQUPB4PCxfvhxpaWl45ZVXkJubi/Lycm51E5/Ph0Qi4aa+DAwMuARqaqLWT3txc3NrVf2fVatWYdWqVW363q2pAVReXo4333wT2dnZkEgkWLlyJd5+++02PY6OEBUVhf379yMmJqazD4VhOg2b0mKYTiQfxfniiy/g7e3N5eO0hrKyMlxdXREfHw+gbkrLz88PWVlZGDFiBH7++Wfs3bsXvr6+qKmpwZw5cxq878mTJ+Hk5ARzc3MAL9eUg7KyMr744gukpKTg2rVrCAkJQXJyssI2ISEhsLa2xp07dxAdHY0PP/yw05bwP6u7d+8iICAAp06dgq6ubmcfDsN0GhbwMMwLIDIyEn5+fq3enoigrKwMXV1dbqm5kpIShg0bhjNnzuDrr7+GjY0NhEIhxo8fj5iYGBgZGXHTWTweD5GRkXjw4AHefPPNRlsAdHWGhoZwcHAAoFgDqD4ejweBQAAiglAohI6OTotNXF8k2dnZmDp1KkJDQ9mqNualx3ppMcwL4lmmk9LT03Hv3j14eXmhe/fuEIvFUFFRwfbt29G7d29ulZecfHn7gwcPEBQUhMePHzdIZn4ZZWZmwsPDA4mJiQrL4gUCASZNmoQ///wTAoEAR44cwYQJEzrxSBW11Ok8ICAAx44d4xLblZWVERcX15mHzDDtrcmTKAt4GKYLOnToEOzt7RWagda3cuVK3Lx5E59++im8vb1f6tooQqEQnp6eWLNmTYNl8b/88gtiY2Px5Zdf4v79+xg9ejTu3LnToFYQwzAvjCYDHjalxTBdkK+vL2xsbBoNdn777Td8//33+Oijj+Dt7Q2gc+rvvAhaqgF04MABTJ06FTweD2ZmZjA1NcWff/7ZCUfKMMzzYgEPw3RBmpqajQYx1dXVKCoqwldfffVCTc10htbUADI2NsbFixcBAEVFRUhNTcXAgQM78jAZhmkjbEqLYV4y8t/5l2lFVmNiYmLg7u6uMO33ZA2g/Px8+Pn5oaCgAESE1atX48033+zMw2YYpnksh4dhGIZhmC6P5fAwDMMwDPPyYgEPwzAMwzBdHgt4GIZhGIbp8ljAwzAMwzBMl8cCHoZhGIZhujwW8DAMwzAM0+WxgIdhGIZhmC6PBTwMwzAMw3R5yi08/3KXYmUYhmEYpktgIzwMwzAMw3R5LOBhGIZhGKbLYwEPwzAMwzBdHgt4GIZhGIbp8ljAwzAMwzBMl8cCHoZhGIZhurz/A5eoel77RCqvAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot PDF of uncertainty model\n", + "x = [ v[0] for v in u.values ]\n", + "y = [ v[1] for v in u.values ]\n", + "z = u.probabilities\n", + "#z = map(float, z)\n", + "#z = list(map(float, z))\n", + "resolution = np.array([2**n for n in num_qubits])*1j\n", + "grid_x, grid_y = np.mgrid[min(x):max(x):resolution[0], min(y):max(y):resolution[1]]\n", + "grid_z = griddata((x, y), z, (grid_x, grid_y))\n", + "fig = plt.figure(figsize=(10, 8))\n", + "ax = fig.gca(projection='3d')\n", + "ax.plot_surface(grid_x, grid_y, grid_z, cmap=plt.cm.Spectral)\n", + "ax.set_xlabel('Spot Price $S_T^1$ (\\$)', size=15)\n", + "ax.set_ylabel('Spot Price $S_T^2$ (\\$)', size=15)\n", + "ax.set_zlabel('Probability (\\%)', size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Payoff Function\n", + "\n", + "The payoff function equals zero as long as the sum of the spot prices at maturity $(S_T^1 + S_T^2)$ is less than the strike price $K$ and then increases linearly.\n", + "The implementation first uses a weighted sum operator to compute the sum of the spot prices into an ancilla register, and then uses a comparator, that flips an ancilla qubit from $\\big|0\\rangle$ to $\\big|1\\rangle$ if $(S_T^1 + S_T^2) \\geq K$.\n", + "This ancilla is used to control the linear part of the payoff function.\n", + "\n", + "The linear part itself is approximated as follows.\n", + "We exploit the fact that $\\sin^2(y + \\pi/4) \\approx y + 1/2$ for small $|y|$.\n", + "Thus, for a given approximation scaling factor $c_{approx} \\in [0, 1]$ and $x \\in [0, 1]$ we consider\n", + "$$ \\sin^2( \\pi/2 * c_{approx} * ( x - 1/2 ) + \\pi/4) \\approx \\pi/2 * c_{approx} * ( x - 1/2 ) + 1/2 $$ for small $c_{approx}$.\n", + "\n", + "We can easily construct an operator that acts as \n", + "$$\\big|x\\rangle \\big|0\\rangle \\mapsto \\big|x\\rangle \\left( \\cos(a*x+b) \\big|0\\rangle + \\sin(a*x+b) \\big|1\\rangle \\right),$$\n", + "using controlled Y-rotations.\n", + "\n", + "Eventually, we are interested in the probability of measuring $\\big|1\\rangle$ in the last qubit, which corresponds to\n", + "$\\sin^2(a*x+b)$.\n", + "Together with the approximation above, this allows to approximate the values of interest.\n", + "The smaller we choose $c_{approx}$, the better the approximation.\n", + "However, since we are then estimating a property scaled by $c_{approx}$, the number of evaluation qubits $m$ needs to be adjusted accordingly.\n", + "\n", + "For more details on the approximation, we refer to:\n", + "Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "\n", + "Since the weighted sum operator (in its current implementation) can only sum up integers, we need to map from the original ranges to the representable range to estimate the result, and reverse this mapping before interpreting the result. The mapping essentially corresponds to the affine mapping described in the context of the uncertainty model above." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# determine number of qubits required to represent total loss\n", + "weights = []\n", + "for n in num_qubits:\n", + " for i in range(n):\n", + " weights += [2**i]\n", + "n_s = WeightedSumOperator.get_required_sum_qubits(weights)\n", + "\n", + "# create circuit factory\n", + "agg = WeightedSumOperator(sum(num_qubits), weights)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# set the strike price (should be within the low and the high value of the uncertainty)\n", + "strike_price = 3.5\n", + "\n", + "# map strike price from [low, high] to {0, ..., 2^n-1}\n", + "max_value = 2**n_s - 1\n", + "low_ = low[0]\n", + "high_ = high[0]\n", + "mapped_strike_price = (strike_price - dimension*low_) / (high_ - low_) * (2**num_uncertainty_qubits - 1)\n", + "\n", + "# set the approximation scaling for the payoff function\n", + "c_approx = 0.25\n", + "\n", + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [0, mapped_strike_price]\n", + "slopes = [0, 1]\n", + "offsets = [0, 0]\n", + "f_min = 0\n", + "f_max = 2*(2**num_uncertainty_qubits - 1) - mapped_strike_price\n", + "basket_objective = PwlObjective(\n", + " n_s,\n", + " 0,\n", + " max_value,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# define overall multivariate problem\n", + "basket_option = MultivariateProblem(u, agg, basket_objective)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot exact payoff function (evaluated on the grid of the uncertainty model)\n", + "x = np.linspace(sum(low), sum(high))\n", + "y = np.maximum(0, x - strike_price)\n", + "plt.plot(x, y, 'r-')\n", + "plt.grid()\n", + "plt.title('Payoff Function', size=15)\n", + "plt.xlabel('Sum of Spot Prices ($S_T^1 + S_T^2)$', size=15)\n", + "plt.ylabel('Payoff', size=15)\n", + "plt.xticks(size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "exact expected value:\t0.4870\n" + ] + } + ], + "source": [ + "# evaluate exact expected value\n", + "sum_values = np.sum(u.values, axis=1)\n", + "exact_value = np.dot(u.probabilities[sum_values>= strike_price], sum_values[sum_values>= strike_price]-strike_price)\n", + "print('exact expected value:\\t%.4f' % exact_value)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff\n", + "\n", + "We first verify the quantum circuit by simulating it and analyzing the resulting probability to measure the $|1\\rangle$ state in the objective qubit" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "state qubits: 5\n", + "circuit width: 11\n", + "circuit depth: 398\n" + ] + } + ], + "source": [ + "num_qubits = basket_option.num_target_qubits\n", + "num_ancillas = basket_option.required_ancillas()\n", + "\n", + "q = QuantumRegister(num_qubits, name='q')\n", + "q_a = QuantumRegister(num_ancillas, name='q_a')\n", + "qc = QuantumCircuit(q, q_a)\n", + "\n", + "basket_option.build(qc, q, q_a)\n", + "print('state qubits: ', num_qubits)\n", + "print('circuit width:', qc.width())\n", + "print('circuit depth:', qc.depth())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact Operator Value: 0.3954\n", + "Mapped Operator value: 0.4969\n", + "Exact Expected Payoff: 0.4870\n" + ] + } + ], + "source": [ + "# evaluate resulting statevector\n", + "value = 0\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " b = ('{0:0%sb}' % basket_option.num_target_qubits).format(i)[-basket_option.num_target_qubits:]\n", + " prob = np.abs(a)**2\n", + " if prob > 1e-4 and b[0] == '1':\n", + " value += prob\n", + "\n", + "# map value to original range\n", + "mapped_value = basket_option.value_to_estimation(value) / (2**num_uncertainty_qubits - 1) * (high_ - low_)\n", + "print('Exact Operator Value: %.4f' % value)\n", + "print('Mapped Operator value: %.4f' % mapped_value)\n", + "print('Exact Expected Payoff: %.4f' % exact_value) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we use amplitude estimation to estimate the expected payoff." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 5\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, basket_option)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.4870\n", + "Estimated value:\t0.5351\n", + "Probability: \t0.9826\n" + ] + } + ], + "source": [ + "print('Exact value: \\t%.4f' % exact_value)\n", + "print('Estimated value:\\t%.4f' % (result['estimation'] / (2**num_uncertainty_qubits - 1) * (high_ - low_)))\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for option price (after re-scaling and reversing the c_approx-transformation)\n", + "mapped_values = np.array(result['mapped_values']) / (2**num_uncertainty_qubits - 1) * (high_ - low_)\n", + "plt.bar(mapped_values, result['probabilities'], width=1/len(result['probabilities']))\n", + "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Price', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:31.656034Z", + "start_time": "2019-08-22T01:55:31.646368Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:31 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/bull_spread_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/bull_spread_pricing-checkpoint.ipynb new file mode 100644 index 000000000..72a113a53 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/bull_spread_pricing-checkpoint.ipynb @@ -0,0 +1,589 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Pricing Bull Spreads*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "
\n", + "Suppose a bull spread with strike prices $K_1 < K_2$ and an underlying asset whose spot price at maturity $S_T$ follows a given random distribution.\n", + "The corresponding payoff function is defined as:\n", + "
\n", + "
\n", + "$$\\min\\{\\max\\{S_T - K_1, 0\\}, K_2 - K_1\\}$$\n", + "
\n", + "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option:\n", + "
\n", + "
\n", + "$$\\mathbb{E}\\left[ \\min\\{\\max\\{S_T - K_1, 0\\}, K_2 - K_1\\} \\right]$$\n", + "
\n", + "as well as the corresponding $\\Delta$, i.e., the derivative of the option price with respect to the spot price, defined as:\n", + "
\n", + "
\n", + "$$\n", + "\\Delta = \\mathbb{P}\\left[K_1 \\leq S \\leq K_2\\right]\n", + "$$\n", + "
\n", + "The approximation of the objective function and a general introduction to option pricing and risk analysis on quantum computers are given in the following papers:\n", + "\n", + "- Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "- Option Pricing using Quantum Computers. Stamatopoulos et al. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "\n", + "from qiskit import BasicAer\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "from qiskit.aqua.components.uncertainty_models import LogNormalDistribution\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariateProblem\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariatePiecewiseLinearObjective as PwlObjective" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We construct a circuit factory to load a log-normal random distribution into a quantum state.\n", + "The distribution is truncated to a given interval $[low, high]$ and discretized using $2^n$ grid points, where $n$ denotes the number of qubits used.\n", + "The unitary operator corresponding to the circuit factory implements the following: \n", + "$$\\big|0\\rangle_{n} \\mapsto \\big|\\psi\\rangle_{n} = \\sum_{i=0}^{2^n-1} \\sqrt{p_i}\\big|i\\rangle_{n},$$\n", + "where $p_i$ denote the probabilities corresponding to the truncated and discretized distribution and where $i$ is mapped to the right interval using the affine map:\n", + "$$ \\{0, \\ldots, 2^n-1\\} \\ni i \\mapsto \\frac{high - low}{2^n - 1} * i + low \\in [low, high].$$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# number of qubits to represent the uncertainty\n", + "num_uncertainty_qubits = 3\n", + "\n", + "# parameters for considered random distribution\n", + "S = 2.0 # initial spot price\n", + "vol = 0.4 # volatility of 40%\n", + "r = 0.05 # annual interest rate of 4%\n", + "T = 40 / 365 # 40 days to maturity\n", + "\n", + "# resulting parameters for log-normal distribution\n", + "mu = ((r - 0.5 * vol**2) * T + np.log(S))\n", + "sigma = vol * np.sqrt(T)\n", + "mean = np.exp(mu + sigma**2/2)\n", + "variance = (np.exp(sigma**2) - 1) * np.exp(2*mu + sigma**2)\n", + "stddev = np.sqrt(variance)\n", + "\n", + "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n", + "low = np.maximum(0, mean - 3*stddev)\n", + "high = mean + 3*stddev\n", + "\n", + "# construct circuit factory for uncertainty model\n", + "uncertainty_model = LogNormalDistribution(num_uncertainty_qubits, mu=mu, sigma=sigma, low=low, high=high)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEyCAYAAADOV2anAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZgcVdn+8e8tCMQEArIERCSACqJRMFEIoCSgsr0KghAVfQ0iERXwpwgiIgRwAZTtBRUjasQtuCDKLgQCskMQCYQgAUIkKAgkwawk5Pn9cWqgUume6Z7uqWqS+3Ndfc3UqVNVT/f09NNV59Q5igjMzMz62quqDsDMzFYNTjhmZlYKJxwzMyuFE46ZmZXCCcfMzErhhGNmZqWoPOFI2lbSREkLJD0p6RRJq/WwzVslXZ3VXyxppqQLJW1SqDdeUtR4bNO3z8rMzIpWr/LgktYDrgOmAvsCWwFnkhLhCd1sOhB4DLgIeBLYAjgJGCrpXRGxNFd3GnBIYfsZjcS3wQYbxODBgxup2ifmz59P//79Kzt+PZ0aFzi23ujUuMCx9UbVcU2ePPmZiNiw5sqIqOwBfA2YDayTKzsWWJAva3Bf7wcCeGeubDxwd2/jGzp0aFTphhtuqPT49XRqXBGOrTc6Na4Ix9YbVcfV3Wdu1ZfU9gKuiYjnc2UTgH7Ark3u69ns5xrtCMzMzNqr6oSzDemS10siYibpDKfHdhZJr5K0hqStgdOAu4A7C9W2lfR81tZzs6RmE5mZmbWBosKx1CQtAY6JiHMK5U8AF0XE8T1sfzWwR7Y4Gdg7Ip7Orf8i8AKpjWhD4GhgKLBLRBQTU9c2Y4AxAIMGDRo6YcKE3jy1tpg3bx4DBgyo7Pj1dGpc4Nh6o1PjAsfWG1XHNXLkyMkRMazmynrX2sp4AEuAL9YonwV8q4Ht3wTsAHyCdKY0GVirm/r9SJ0NLm0kPrfh1NapcUU4tt7o1LgiHFtvVB0XHdyGMxtYt0b5QGBOTxtHxMMRcUdE/JJ0prM98PFu6i8ErgTe2btwzcyst6pOONMotNVI2gzoT6FtpycR8TjwHLBlI9Wb2beZmbWu6oRzFbCHpLVzZaOAhcCNzewo6ziwPumSWb06/Ug94yY3H6qZmbWi0hs/gQuAo4BLJJ1OOjsZC5wVua7SkqYDN0bEodny94ClwB2kS29vId2/8wipWzWSBgKXA78EpgMbAF8CNgUOKuG5mZlZTqUJJyJmS9odOB+4jJQ8ziYlnbzVgfxwN3cDR5J6k60FzAT+AHwnIuZndRYD/yGNWLARsAi4Ddg1Iu7ui+djZmb1VX2GQ0RMBXbroc7gwvIEsjOZbrZZBOzfanxmAIOPu6LlfRw9ZCmjW9zPjNP2aTkOs6pU3YZjZmarCCccMzMrhROOmZmVwgnHzMxK4YRjZmalcMIxM7NSOOGYmVkpnHDMzKwUTjhmZlYKJxwzMyuFE46ZmZXCCcfMzErhhGNmZqVwwjEzs1I44ZiZWSmccMzMrBROOGZmVgonHDMzK0XlCUfStpImSlog6UlJp0harYdt3irp6qz+YkkzJV0oaZMadfeVNEXSIklTJY3qu2djZmb1rF7lwSWtB1wHTAX2BbYCziQlwhO62XQg8BhwEfAksAVwEjBU0rsiYmm2/12APwA/AI4C9gZ+I2l2RPylT56UmZnVVGnCAQ4H+gH7R8TzwLWS1gHGSjojK1tBRNwK3JormiTpCeAvwNuBe7LybwA3RcRR2fINkt4KnJjVNTOzklR9SW0v4JpCYplASkK7NrmvZ7OfawBIWhMYCfy2UG8CMFzSwObDNTOz3qo64WwDTMsXRMRMYEG2rluSXiVpDUlbA6cBdwF3Zqu3Al5d3D/wIOl5v7m10M3MrBmKiOoOLi0BjomIcwrlTwAXRcTxPWx/NbBHtjgZ2Dsins7W7QzcDGwfEffmtnkj8DCwR612HEljgDEAgwYNGjphwoTePr2WzZs3jwEDBlR2/Ho6NS7ou9imzJrb8j4G9YOnFra2jyGbtv/EfFX8e7ZDp8ZWdVwjR46cHBHDaq2rug0HoFbGU53yoiOB1wJvInUyuErSzhGxqJv9q5vjEhHjgHEAw4YNixEjRjQQRt+YNGkSVR6/nk6NC/outtHHXdHyPo4espQzp7T2Lzfj4BEtx1G0Kv4926FTY+vUuKD6hDMbWLdG+UBgTk8bR8TD2a93SPorqefax4GfZvumxv67lnvcv5mZtU/VbTjTKLTVSNoM6M+KbS/diojHgeeALbOiR4Alxf1ny8uAf/QiXjMz66WqE85VwB6S1s6VjQIWAjc2s6Os48D6pLMcImIxcANwYKHqKOC2iGj9oryZmTWs6ktqF5BuyLxE0umks5OxwFn5rtKSpgM3RsSh2fL3gKXAHaRLY28BjiWd1eRb+U8l3aNzDnAp6cbPvYE9+/ZpmZlZUaUJJyJmS9odOB+4jJQ8ziYlnbzVgfxwN3eTOgyMAdYCZpJGFPhORMzP7f9mSR8Bvgl8jqyNx6MM2MpicJs6M7TaKWLGafu0HIet/Ko+wyEipgK79VBncGF5AsufyXS37aWksxszM6tQ1W04Zma2inDCMTOzUjjhmJlZKZxwzMysFE44ZmZWCiccMzMrhROOmZmVwgnHzMxK4YRjZmalcMIxM7NSOOGYmVkpnHDMzKwUTjhmZlaKpkeLljQEeDewMWlqgOdIs2feGhGzu9vWzMxWXQ0lHElbkuaTORgYRJqieQ6wGFgXeA2wTNKNwIXAxRGxrE8iNjOzV6QeL6lJuhB4ANgOOAXYHlgrIjaMiNdHxABgI+CDwBTgDOBBSbv0XdhmZvZK08gZziJgm4h4vF6FiHgGuAq4StKXgQOBTdsTopmZrQx6PMOJiCO6SzY16i+LiIsj4uJG6kvaVtJESQskPSnpFEmr9bDNuyT9TNL0bLuHJJ0kaa1CvbGSosZjz0afj5mZtUdLU0xLehuwKyDgxoiY0uT26wHXAVOBfYGtgDNJifCEbjYdldU9HXgYeDtwavbzgELduUAxwTzYTJxmZta6XiccSZ8DvgVMBPoD35V0dET8oIndHA70A/aPiOeBayWtA4yVdEZWVsvpEfGf3PIkSYuAH0navHBGtjQibm8iJjMz6wONdBp4TZ1VXwWGR8SBEbE38AXg600efy/gmkJimUBKQrvW26iQbLr8Lfu5UZMxmJlZCRq58fMfkg6uUS5S9+gu0YvjbwNMyxdExExgQbauGTtl8TxUKF9X0jOSlkj6m6T9exGnmZm1SBHd5wlJ7wXOBl4AjoqIu7LyL5C6SU8k3YezO3BsRJzX8MGlJcAxEXFOofwJ4KKIOL7B/WwM3AdcGRGjc+WfIJ3x3AsMAD4L7A0cEBGX1NnXGGAMwKBBg4ZOmDCh0afTdvPmzWPAgAGVHb+eTo0L+i62KbPmtryPQf3gqYWt7WPIpgOXW+7UuNplVXyvtarquEaOHDk5IobVWtdjwgGQJOAzpARzLfDViPiXpHfw8qWvmyLi3mYCyxLOVyLi3EL5LGB8RPR4iU7SGqSOB68HhnY32kH2PG4F+kXEdj3te9iwYXH33Xf3VK3PTJo0iREjRlR2/Ho6NS7ou9gGH3dFy/s4eshSzpzSUj8dZpy2z3LLnRpXu6yK77VWVR2XpLoJp6Gx1CL5MbA18BQwRdLxwLSI+L/s0VSyycwmjVRQNJA0kkG3sgRyEfBWYO+ehtaJlF0vAd7eU9drMzNrr6YG74yI5yPiGGBHYAdgmqSPtHD8aRTaaiRtRur1Nq3mFss7m9Sdet+IaKR+l960N5mZWQsa6qUm6ZuS7sga3ccBiyJiX+Aw4CRJN2aX15p1FbCHpLVzZaOAhcCNPcT1NeBI4BMRcXMjB8vOiD4M/D0iXuxFvGZm1kuNXLj9CbAt6Z6bBaQG9WslbRsR10najjSw57WSLo2IMU0c/wLgKOASSacDWwJjgbPyXaUlTSfdWHpotvxx4NvAeGCWpB1z+3ykq9t0NpjoH0hnS/1JCXJHYL8mYjQzszZoJOHsBRwYEdcCSLoFeJZ0p//07EzhfEm/IiWLhkXEbEm7A+cDl5Habc6usZ/VgXybyweyn6OzR94hpEQEMB34f8AmpC7T9wD7RMRVzcRpZmatayThTAM+KWkyaSDPzwLzgSfylbIG+y82G0BETAV266HO4MLyaFZMNLW2O7TZeMzMrG80knA+RTpjeIbU2P4Y6YxnUR/GZWZmK5keE05EPAQMl9QfWMOzepqZWW80fLdXRMwnXUozMzNrWiPdoj/Z7E2Skt4o6T29D8vMzFY2jdz4eTTwiKRTu7vXRtL6kg6WdBlp5OZN2hWkmZm98jXShrOdpFGkmyy/LmkeaQKzZ4DFpKFptgDeQBqq5pfA4RExq8+iNjOzV5yG2nCy6aIvlrQV8D7gncDGpJspnwJuAm4BJkXEkj6K1czMXsGaGiI2Ih4BHumjWMzMbCXW1OCdZmZmveWEY2ZmpXDCMTOzUjjhmJlZKZpKOJL+R5KTlJmZNa3Z5PEn0vwzp0t6S18EZGZmK6dmE85WwDjgIOB+SbdJOkzSOu0PzczMViZNJZyImBERJ0XEFsD7SROcnQ38S9IvJI3siyDNzOyVr9ftMRFxfUR8EngzMBk4GLhO0mOSviSpqZtKzcxs5dbrhCNpV0njgYeAtwHfJ039/DvgZOCidgRoZmYrh2Z7qW0u6URJjwDXA5sBY4BNIuLIiJgYEceSZgndt8F9bitpoqQFkp6UdEpP0yFIepekn0manm33kKSTJK1Vo+7Oku6QtDA7+zqqmedsZmbt0exlr0eBJ0lTTv80Ih6rU+8B4M6ediZpPeA6YCopQW0FnElKhCd0s+morO7pwMPA24FTs58H5Pb/RuAa4HLga8C7gbMkLYiIC3uKz8zM2qfZhPNB4OqIWNZdpYj4B9BIB4LDgX7A/hHxPHBt1uNtrKQzsrJaTo+I/+SWJ0laBPxI0uYR8XhWfgwpQX4iIpYC10t6A3CSpJ9ERDQQo5mZtUGzbTjDSNMSrEDSJpJObHJ/ewHXFBLLBFIS2rXeRoVk0+Vv2c+NCvu/JEs2+f2/ntTuZGZmJWk24ZxE+rCu5XXZ+mZsA0zLF0TETGBBtq4ZOwHLSJ0YkNSf1MY0rVDvwdyxzcysJGrmqpKkZcAOEXFXjXX7Aj+JiA2a2N8S4JiIOKdQ/gRwUUQc3+B+NgbuA66MiNFZ2abAE8CHI+LSXN3VgSXAZyNiXI19jSF1hGDQoEFDJ0yY0OjTabt58+YxYMCAyo5fT6fGBX0X25RZc1vex6B+8NTC1vYxZNOByy13alztsiq+11pVdVwjR46cHBHDaq3rsQ1H0qdIvc4AAvihpGLbylrAEOAvvYivVsZTnfJa8a0B/BaYB3ypwf3XLc+S0DiAYcOGxYgRIxoJo09MmjSJKo9fT6fGBX0X2+jjrmh5H0cPWcqZU1q7PW3GwSOWW+7UuNplVXyvtapT44LGOg0sAJ7NfhcwF3iuUOcF4CrgB00efzawbo3ygcCcnjaWJNL9Pm8Fdo6I2bnVXdsX979eYb2ZmZWgx4QTEb8j3cyJpJ8Bp3TTHbpZ0yi0pUjaDOjPim0vtZxN6k79/ogotgXNl/TP4v5zy43s38zM2qTZsdQOaWOygXRWtIektXNlo4CFwI3dbSjpa8CRpC7PN3ez/w8XbiQdBfwTuL/XUZuZWdOqntvmAmAxcImk92UN9mOBs/JdpbMRBX6SW/448G3S5bRZknbMPTbM7f+7pF51v5A0UtKxwGdJZ2m+B8fMrESNdBq4ExgdEVMl3UUPjfkR8e5GDx4RsyXtDpwPXEZqVzmblHSKcebPUj6Q/RydPfIOIY2EQERMl7QncBbpbOffwNEeZcDMrHyNdBp4gHSJq+v3tp4ZRMRUYLce6gwuLI9mxURTb9ubSUPamJlZhRrpNHBI7vfRfRqNmZmttKpuwzEzs1VEI204Pbbb5DXThmNmZquORttw3KPLzMxa0kgbzugS4jAzs5Wc23DMzKwUld6HY2Zmq47K78MxM7NVg+/DMTOzUjQ9CUY2/8xo0t37mwD/Au4Afh4RL7Q1OjMzW2k01WlA0luAh4HvA28DXsx+fh+YLmnbtkdoZmYrhWbPcMaRJmB7T0TM7CqU9AbgCtLoz+9tX3hmZrayaDbhDAM+lk82ABExU9KJwK/bFpmtcga3abrkVqddnnHaPi3HYWYravY+nBnAWnXWrQXMrLPOzMxWcc0mnOOAb0raIV8oaUfgFOCr7QrMzMxWLr0ZvHMd4FZJTwNPAxtlj2eB44FL+yBOMzN7hevN4J0P9FEsZma2Eqt88M6sK/V5wHDSFNMXAidHxIvdbLMG8C1gR1JHhrUiQjXqjQc+VWMXb4mIaa1Hb2ZmjWr6xs92krQecB0wFdgX2Ao4k9S2dEI3m74G+AxwJ3Ar3U9RPQ04pFA2o3cRm5lZb1WacIDDgX7A/hHxPHCtpHWAsZLOyMpWEBFzJL02IkLSEXSfcOZHxO3tD93MzJrR9PQEkkZJuk7STElPFx9N7m4v4JpCYplASkK7drdhRHgQUTOzV5Bmh7b5OPBzYDrweuDPwOXZfp4Hzm/y+NuQLnm9JLupdEG2rh22lfS8pMWSbpbUbSIzM7O+oWZOFCT9Dfg9cBqwBBgWEfdIWhu4Fvh9RHyvif0tAY6JiHMK5U8AF0XE8Q3s4wjgvDqdBr4IvEBqI9oQOBoYCuwSEXfW2d8YYAzAoEGDhk6YMKHRp9N28+bNY8CAAZUdv56+imvKrLkt72NQP3hqYc/1ujNk04ErlHVqbJ0aV7t06v8AdG5sVcc1cuTIyRExrNa6Zttw3gTcEhEvSnqRdE8OEfFfSacDZwMNJ5xMrYynOuXN7Tji3OV2Kl1BSj7HA/vV2WYcacw4hg0bFiNGjGg1jF6bNGkSVR6/nr6Kq9UhaSANbXPmlNaaJmccPGKFsk6NrVPjapdO/R+Azo2tU+OC5ttw5gJrZr/PAt6SWydg/Sb3NxtYt0b5QFIX6baKiIXAlcA7271vMzPrXrNfa+4G3g5cQ2q/OVHSUtJlqxNJ8+I0YxqFthpJmwH9KbTttJk7HJiZlazZhPMdYPPs9xOz338ArAbcRdb20YSrgGMkrR0R/83KRpGmtL6xyX31SFI/Us+4ye3et5mZda+phJPdz3J79vscYF9JawJr1rtnpgcXAEcBl2RtQFsCY4Gz8vuTNB24MSIOzZXtRToT2i5b/ki26q6IeFzSQFIPul+SetVtAHwJ2BQ4qBexmplZC9o2xbSkpqeYjojZknYndae+jNRuczYp6RTjXK1Q9kNePtsC+F328xBgPLAY+A9pxIKNgEXAbcCuEXF3M3GamVnrmko42RTTVwOvI12Wepo0xfT/At+QtGdETG1mn1n97kYKICIGN1JWWL8I2L+ZWMzMrO94imkzMytFs92ihwEn1ppimtSJ4F3tCszMzFYunmLazMxK0ewlteOAMyU9FhEv3XOTm2L6mHYGZ2avXIPbNApCq6MpzDhtn5bjsPbwFNNmZlYKTzFtZmalqHyKaTMzWzX0aohYSa8DhgOvJV1Kuz0inmxnYGZmtnJp9sbP1YDzgMNY/s7/FyWNA46MiGVtjM/MzFYSzXaLPhn4NKlzwGDSVNCDs+VPs+KQNGZmZkDzl9T+FzihMKvnTOC7koI0EOeJ7QrOzMxWHs2e4WwE3Fdn3X3ZejMzsxU0m3D+AXy0zrqPAg+1Fo6Zma2smr2k9k1gQjZY5++Bp0hnNQcCI6mfjMzMbBXX7ARsv5U0h9R54Fzg1cAS0lQFe0bEte0P0czMVgYNJxxJryZNunZ/RAyX9CrSLJrPuCu0mZn1pJk2nBeB64G3AETEsoh42snGzMwa0XDCyRLLw8CgvgvHzMxWVs32Uvs6cKKkIe0KQNK2kiZKWiDpSUmnZCMadLfNGpK+K+mvkhZm9wDVq7uvpCmSFkmaKmlUu2I3M7PGNdtL7QRgfeBeSbNIvdSW+7CPiHc3ujNJ6wHXAVOBfYGtgDNJifCEbjZ9DfAZ4E7gVmC3OvvfBfgD8APSTal7A7+RNDsi/tJonGZm1rpmE84DwP1tPP7hpOFx9o+I54FrJa0DjJV0Rla2goiYI+m1ERGSjqBOwgG+AdwUEUdlyzdIeitpNAQnHDOzEjXbLXp0m4+/F3BNIbFMAE4HdgUu6yaWupfRACStSbo36KjCqgnAzyQNjIi5vYrazMya1lAbjqR+kg6QdLSkj0tqV8eBbYBp+YKImAksyNa1YivSfULTCuUPkp73m1vcv5mZNUE9nCggaUtSO8vgXPHzwEGttoNIWgIcExHnFMqfAC6KiOMb2McRwHkRoUL5zsDNwPYRcW+u/I2k3nZ71Ipf0hhgDMCgQYOGTpgwofkn1ibz5s1jwIABlR2/nr6Ka8qs1k84B/WDpxa2to8hmw5coaxTY+vUuKCzY2uHVe3/s1EjR46cHBHDaq1r5JLaGcAy4D2kEQW2IDXC/yj7vVW1Mp7qlLdj/6pTngojxgHjAIYNGxYjRoxoUxjNmzRpElUev56+imv0cVe0vI+jhyzlzCm9mlfwJTMOHrFCWafG1qlxQWfH1g6r2v9nOzRySW04aUqCWyJiUUQ8CHwWeIOkTVo8/mxg3RrlA4E5bdg3Nfbftdzq/s3MrAmNJJxNgEcLZY+QzhQ2bvH40yi01UjaDOjPim0vzXqENM5bsS1oG9IZ2z9a3L+ZmTWh0Rs/23V5q+gqYA9Ja+fKRgELgRtb2XFELAZuII1knTcKuM091MzMytXoxdFrJC2tUT6xWB4RzUzCdgGp2/Ilkk4HtiRNU31Wvqu0pOnAjRFxaK5sL9KZ0HbZ8keyVXdFxOPZ76cCkySdA1xKuvFzb2DPJmI0M7M2aCThnNxXB4+I2ZJ2B84n3XMzBziblHTyVgeKw938ENg8t/y77OchwPhs/zdnieibwOeAx4CPe5QBM7Py9ZhwIqLPEk62/6nUHymgq87gRsrqbHsp6ezGzMwq1OzgnWZmZr3ihGNmZqVwwjEzs1I44ZiZWSmccMzMrBROOGZmVgonHDMzK4UTjpmZlcIJx8zMSuGEY2ZmpXDCMTOzUjjhmJlZKZxwzMysFE44ZmZWCiccMzMrhROOmZmVwgnHzMxKUXnCkbStpImSFkh6UtIpkorTSdfabqCkn0maLWmupF9JWr9QZ7ykqPHYpu+ekZmZ1dLjFNN9SdJ6wHXAVGBfYCvgTFIiPKGHzS8GtgY+AywDTidNJf2eQr1pwCGFshmtxG1mZs2rNOEAhwP9gP0j4nngWknrAGMlnZGVrUDScGAPYNeIuCkrmwXcIel9EXFdrvr8iLi9b5+GmZn1pOpLansB1xQSywRSEtq1h+2e6ko2ABFxJ/BYts7MzDpM1QlnG9Ilr5dExExgQbau4e0yD9bYbltJz0taLOlmSd0lMjMz6yOKiOoOLi0BjomIcwrlTwAXRcTxdba7lnSpbL9C+S+BLSNip2z5i8ALpDaiDYGjgaHALtkZUa19jwHGAAwaNGjohAkTWniGrZk3bx4DBgyo7Pj19FVcU2bNbXkfg/rBUwtb28eQTQeuUNapsXVqXNDZsbXDqvb/2aiRI0dOjohhtdZV3YYDUCvjqU55U9tFxLnLrZSuICWf44H9qCEixgHjAIYNGxYjRozoIYy+M2nSJKo8fj19Fdfo465oeR9HD1nKmVNae1vPOHjECmWdGlunxgWdHVs7rGr/n+1Q9SW12cC6NcoHAnN6sd263W0XEQuBK4F3NhGjmZm1QdUJZxqFNhdJmwH9qd1GU3e7TL22naLqriOama2iqk44VwF7SFo7VzYKWAjc2MN2G0vapatA0jBgy2xdTZL6kXqxTW4laDMza17VCecCYDFwiaT3ZQ32Y4Gz8l2lJU2X9JOu5Yi4DbgGuEjS/pL2A34F3Nx1D042EsFfJX1W0u6SRgE3AJsC3y7rCZqZWVJpp4GImC1pd+B84DJS+8vZpKSTtzpQHO7mo1ndn5IS5+XAUbn1i4H/kEYs2AhYBNxGuln07rY+ETMz61HlvdQiYiqwWw91Btcom0MasqY4bE3X+kXA/m0I0cxWMoPb1IOulZ54M07bp+UYXmmqvqRmZmarCCccMzMrhROOmZmVwgnHzMxK4YRjZmalcMIxM7NSOOGYmVkpnHDMzKwUTjhmZlaKykcasHJ1wh3WsGreZW22qvMZjpmZlcIJx8zMSuGEY2ZmpXDCMTOzUjjhmJlZKZxwzMysFE44ZmZWCiccMzMrReU3fkraFjgPGA7MAS4ETo6IF3vYbiBwDrAfKXFeDhwVEc8W6u0LfBN4E/Botu+L2/08zMxatbLfmF3pGY6k9YDrgAD2BU4BjgZObmDzi4ERwGeA0cC7gEsL+98F+ANwA7AXcAXwG0kfaMsTMDOzhlV9hnM40A/YPyKeB66VtA4wVtIZWdkKJA0H9gB2jYibsrJZwB2S3hcR12VVvwHcFBFHZcs3SHorcCLwl757WmZmVlR1G85ewDWFxDKBlIR27WG7p7qSDUBE3Ak8lq1D0prASOC3hW0nAMOzS3JmZlaSqhPONsC0fEFEzAQWZOsa3i7zYG67rYBX16j3IOl5v7kX8ZqZWS8pIqo7uLQEOCYizimUPwFcFBHH19nuWmB+ROxXKP8lsGVE7CRpZ+BmYPuIuDdX543Aw8AeEbHCZTVJY4Ax2eLWwEO9foKt2wB4psLj19OpcYFj641OjQscW29UHdfmEbFhrRVVt+FA6jBQpDrlvdmuuKxuticixgHjejh2KSTdHRHDqo6jqFPjAsfWG50aFzi23ujUuKD6S2qzgXVrlA8kdZFudrt1c9vNzpUV69DD/s3MrM2qTjjTKLTVSNoM6E/tNpq622XybTuPAEtq1NsGWAb8oxfxmplZL1WdcK4C9pC0dq5sFLAQuLGH7TbO7rMBQNIwYMtsHRGxmHT/zYGFbUcBt0XE3NbD73MdcWmvhk6NCxxbb3RqXODYeqNT46q808B6wFTgfuB0UsI4CzgnIk7I1ZsO3BgRh+bKrib1NPsK6YzldODpiHhPrs4uwBFDC3IAABl+SURBVCTgfNJNoXtn9fes1WHAzMz6TqVnOBExG9gdWA24jDTCwNnASYWqq2d18j5KOgv6KXARMBn4cGH/NwMfAd4HXAN8CPi4k42ZWfkqPcMxM7NVR9VtOGZmtopwwjEzs1I44ZiZWSk6YaSBVZ4kkTo87AO8BXgt8CLwFHA7MD4iKrlvKLsvam/SCA2/i4hnJb2e1NtvK2AGMC4ippQY01eBK8s8ZqMk9QNWj4j/5so2BI4AtiX1qLwX+MErpGt+JbL/iQ8C7ySNCnI36W/eEY3O2aj2zwC7ZZ2TqophN2AN4IqImJ+9175A6vH7KOl/88kq4qvFnQYqlr1BrgSGkhLMYmBT0j/ZVaQ3ztbAqRFxasmxvZs0jcMAYCnwHGlaiCtJCfEB4G3AxsD7IuKvJcW1jPT6TAN+DVwcEdPLOHZPJF0JPBwRX8yWh5P+jstIPSlF+lu/QPqweqCkuLYH+kXErbmyPYGv8XIi/DswNl+npNhuBQ6NiAez5fVI77uhwLys2gDSl6898sm8j+P6fDer+wHfBc4ljc1IRPygjLjgpTEhJwKbZUWPAR8AriWNpvII6XNjITA0Ip4oK7ZuRYQfFT6A35DesENyZa8Drgb+kC3vSvrH+3TJsV1Lunl2XdLI2+cDTwB/Al6d1VmT9IF6Q4lxLQO+Q5rldTEp+d0FfAnYtOK/5zPAvrnl20kfDGvnygaSuvRfU2JctwNfzy1/OnsdJwJfB07I/tZL8/GX+Pd8d275J6QvN3vmyvYkDVd1dslxvZj9rPXIr3ux5Nfst6QvCG8kXRH5RfY5cmvXe400iOffgR+VGVu3cVcdwKr+II3pdkCN8sHZG3qTbPl44O8lx/YssFdueaPsn+sDhXr7AM+UGNdLH1DAeqTRvSdmH5ZLSTf7jgHWr+DvuQB4b275heLrlXvN5pcY1/P5OIDpwHk16l1QwfusmHD+A/y/GvW+AjxeYlyXAv8CDiG7GpRbt24W93vLiqdw/CeBg3LLm2fx7F+odwjwjypirPVwp4HqiZRYil7M1nVNFHcH5c/hEyw/qnYUfhbLSxcRsyNiXETsDryeNEX5GqQPzicltT5JfHPuJ0381+Up0jfQovVJyaksywrLmwO/r1Hv96RLMVVal9RmUzSZdPm2FJGmP/kUcAxwVzblyUury4qjjvWAf+eWZ2U/Hy/Ue5T0f9ERnHCqdx3wTUlbdhVk17D/j/SG6uosMAAou5F5MvAVSWtLehXpLGsW8DlJq2Wxrg58nvRBW6mI+HdEnBsROwFbkEaseF3JYZwGHCfp09lr8y3gu5LeL2kNSWtmbSffYcXZaPvSX4GDc8sPALWGsH8XL394lekASZ/P2k1mA7XmU9mAdKZWmkijkrydNFPwFZImZJ1mqvY06UtDlxeBH5G+4ORtBJTS5tWQqk+xVvUH6dvH/aSRraeTxpZbSLrUlr+cdQapcbzM2IaR/vmXZDE9C7yDdK34UdJwRI+R2lFGlhjXcpdgOu0BfIb0wTgXuDP7/cXssTT7+UfgNSXGNCSL4xfAu0lTsT9NSojvzx6nAYuocTmrhL9n8fHTGvV+BPy1wr/rxqRhtOYBZ2Z/x6ouqV1a6zWqUe884LqqXrPiw73UOkB2tnAQ6cN8LVLi+XVEPFdpYED2be5/SF3o/xAR/5K0MXAs6dLL48CFEXFPiTGdBPw4Oqi7Z5Gk9Ukjk7+b9EH1KlJD+IPA5RExuYKYtgN+COxAuiSUn4xQpC8Xp0TEuWXH1ghJhwGPRMT1FccxnDTm49bAPlFyr74shkGkLyyP9VDvy6Q2uYnlRNY9JxyzVYykt5CSTjER3hoRS6qMzVZuTjgdRNJbSRPErUf61jkHmBYl3avRLEmrRUStDg+VkLQW6WbUZcD0qj88szacLcndyBsRM6uM6ZUmuwGUqPCDKruZVxGxIFe2HdmNz1Wcrb5SudNAB8gamB8H7gN+R5pA6cfZ7/dJmiHpkIpi21/SpZKulPTBrGyUpBnAC5Iezy51lBnTJyR9Ore8uqTTSN/U7yO1iT0n6bgy48rFM1TSn0mNtQ8Ct5Dug3lM0ixJp0h6TRWxdSJJHyhMwoik/STdQ2o/fEHS3ZL2KTmugZL+SGr7el7SjyWtJunnwD2k/887Jd0iaYMyY2uUpAMkdcyXQiecikk6ktQYejkwgtSr5NXZYyPSTZ+XAxdI+kLJsR1E6ia7Aekf/+IsufyCdN/LUaQbzS6QtEeJoR1PuuG0y+lZLN8B3kt6zc4ETpJ0fIlxIekDpNfkdcA5wKmku+ZfBMaSJhg8ALg1641YZmz/I2mipCmSLpb03hp1dqjgA+oq0pBOXTF8GLiE1IHhONJoCC8Af8pe37KcCrwH+DLpRtmdSD0LdyPdiDqI1L45OKtrPfAltYpJehS4ICLO6KHescDhEbFld/XaSdJdwOSIODxbPpg04d35EXF0rt7PgM0i4n0lxbWA1IPvxmz5aeBbxcZuSV8BjoyIzWvspq9imwzcHxGfKpQfSbpHaEvSfUK3ArdHRHfDp7QzrveTRq+4HfgbMBzYjpQUv9J1yUrSDqS2nOKEh30Z2zJgx4i4M1u+B5gVER8s1LsS6B8Ru5YU12PAtyPix9ny9qRbBQ6JiJ/n6h0GHB8RW5QRV3bMnzZYdXNgRJl/z+74DKd6G5O6zvbkTkq86S2zNcvfHHg56cyreDPlJaTxuMoyl3TW1WUgaQiPor+TzhLLtC3wyxrlvwTeAGwdEYtIH/QfrlGvr5wEXBQRO0fEERExFDgM+CxwSdb+1SneRjrrLxpHGsyzLBvx8n1wkI2ZRhqnLG86te8b6kufIo2dNqSHR2lfthrhhFO9+4DDshsra8oaTg/L6pYpWH5q766BFOcU6s0j3R1elj+TbkhdI1u+DvhYjXofI93gWKanSd3bi95Bej27bt59nJdHkSjD2ygkwoj4Keny447A9ZJqjYhQlvyllrm8/F7Lm0+5n1mPkV6fLu8hdUjZqVBvZ6DsziAPA9dHxLu6e5AuSXYMT09QvaNJlzqmSrqENALyHNI/4LqkXmsfJt0gumfJsT1O+sZ+DUBEvJjdg/Bgod6WLD/MRl/7GunO+fslXUi6AfV0SW8jjaMG6Tr79qQh7ss0DjhVUn9SO9cLpLv3v04a4LTr3qEtKfdDahHQv1gYEZOzIVuuIV3mG1tiTHnXSFqa/T6QdLlvUqHONqSxzcpyAXCupCGkJHgQ6b13oqQBpDPod5IGjS27Ded2Vkx8teTvt6qcE07FIuKWrIvlsaShRzYrVPknqVH1uxFRPJXva5dQGIcpIu6oUe/jQGlzgkTEc5J2JH2If5mXL5sNzx4vkEa6fk9E3FVWXFls38raJI4jXcaC9E//G+D/5aouAb5dYmj3kUYX+HNxRUQ8miWdK4HxJcbU5eQaZU/XKDuANKJ1KSLi/OzKw8dIQyUdGxEXSHqCNPRU13h4FwDfKyuuzHmknnI9uZHlx/arlDsNdJisu2zX5ak5+b7/nUrSG0ixljrOVe74g1n+JsZHOuAenFeT7tNYC3i0qtcmF89nSb37tq83gkV2VvZH0txGvtzejewy9wYR8Z+qY3klccIxM7NS+JJah1Caynkj4KGIWKHBNLuxbO+IuKj04GrIrmHfAxxc9mUrdfg0zurAabk7nV4h0yVnZzb5qa8nk+It/Zu7pGGky4wiTUM/TdI7SJcou95n34+Iq8uOrR6f4VRM0pqk3kP7Z0XLSCPSfjn/YVnR/RF7d7O6P3Axqa3ifoCIuLKkuDpyGucslo6clrtRSuOsHRgRp5R4zI6cLlkdOvV1FssepM4yz5F6720I7Etqd51K+sI1lNRh5YCIuLSs2LpVxpDUfnQ7fPiJpF5ph5GmA/giaU6Lh4E35ertQPnT2HbkFLt06DTO2XE7clruJuI/oIL3WUdOl0yHTn2dHfcW0tA6q2XLx2dx/KRQ7xekG4wrf29FeIrpyh+kbtBHFMo2Bm4iTbU7PCurIuFM5uUpdjcvPN6e/UMe1FVWYlwdOY1zdsxOnZb7DQ0+Dq/gfdaR0yXXSDgdMfV1dsy5pDPkruX1snh3K9T7AKlDT2mxdfdwG071NqNwQ2dE/FvS7qRvJ9dlQ8qUef9Bl2GkM6/TSfe9fCWy+Tckdd20+O+IKE5r29e6pnG+KVvulGmcoXOn5Z7R4DHVYL12eqVMl9wRU19nFrL8fVVdv/cr1HsN6R6sjuCEU70ngTfx8ocnAJG69X5U0jmkU+fSOwtE+oo0TtJvgW+SRq4+P/u9SqcBv5L0T9Lr0jWN87Oky2giJaSyp3GGl6flvoV0bT0/Lff1kW6erWJa7v8C1wMX9lBvF9I9YWXq5OmSD8ga56GDpr4mXVI7UdLD2bG/R2q7+aqkmyLiv9mXwmNJ78nOUPUp1qr+IA2GOamHOl+j5HaSOnG8nXT395OktqYqp9jtuGmcs7g6dVrua0lDofRUr4o2nI6cLpkOnvqa1N41I/eef4R0SbTrf2EKKTnPBrYrM7buHj7Dqd4PgFGS1o+IZ2tViIjvKM2X8/5yQ1shjvuAEZI+CpxBhUNmRMSF2VwlXdM4P0cHTOMcEXdnQ6EUp+V+Dy9Py30VJU/LTTqDHtNAvf9QONsuwWdJl3568hgpOZUiGr/59W5Sj83SRMT0bCinnUmdUyZGxEJJI0hfxrYmXZL/dZTUq68R7hZtvZJdFuoPzIsOmvXTzDqXE46ZmZXC4yW9QmTT2/6k6jhq6dTYOjUu6OzYOpWk6yRNrDqOok6NCzovNrfhvHKMpHO/IHRqbJ0aF3RobJKuI1352L3qWGoQHfia0blxQYfF5ktqZvaS7NvwqyKiY4a0t5VHx2Q+656ktbJpADpOp8bWqXFB58YWEbt3arKR9OpOfM06NS7ovNiccF459iF1C+1EnRpbp8YFHRpbVR9Qkr4g6RFJ/5V0h6RP1qj2Tkp+zTo1rk6PrR4nHLNVRKd+QGX3dZ1HGoT1ZNKNxeMl/T6biqISnRpXp8fWHbfhVEzS9Q1W3RDYNsqdnqAjY+vUuKBzY8s+oH5Nmur6b6QbBj9EGo3hkxGxMKtXxTQYd5NGQTg2V7Y78CvS3fT7RJpTqNTYOjWuTo+tO044FZO0FHiINA5SdzYFdij5Td2RsXVqXNC5sXXyB5Sk/wIfjIhJhfLBpFEZVgP2Io1ZVmbC6ci4Oj227rhbdPXuJ83yOaq7SpI+QsnDZ9C5sXVqXNC5sW1NGkb/JRExUdKOpA+o2yTtVWI8eXNJH4zLiYgZknYCriDNjXOq43pJJ8dWl9twqncHsGMD9YLyxy7r1Ng6NS7o3NjqfkABO5EmtbuVNENk2SYD+9VaERGzgd1J45X9X5lB0blxQWfHVpcTTvXOAI5soN6VwBZ9HEtRp8bWqXFB58bWyR9QvwS2lFRrTiOy9qUPkaZWmOm4gM6OrS634ZitAiQdCHwJ+J+IeK5OndWAHwLvj4iyE7WtApxwzMysFL6kZmZmpXDCMTOzUjjhmJlZKZxwzMysFE441i1JoyVNzsbfmi3pb5LO6qNjHSRpdAP1xkqK3ONJSX+QtFWDxxmf3XlfuUafc1a363k/XGf99Gz92L6Kocn9Lvc6t/s4kl4l6YjsPblQ0vOSHpD0f5J6dY+Tkr9L+lSd9eOzu/lrrfu+PKlet5xwrC5JXyP1478G2B/4X+BPpP79feEgYHSDdecCw7PHV4DtgImS+jew7alNHKevNfOcARYBW0gali+U9C5g82x9X8fQqOLr3O7jTAC+CVxCek9+inR/007R++63BwHrkcada9Z3gYMlvbGXx17peWgb684RwI8i4vhc2WWSTq4qoJylEXF79vvtkmYCfwX2Bn5XrJzdY7JaRLwQEY+UGGe7zQfuAT5KulGzy0eB64GhVQTVpazXORuG50Bg74i4Krfqj709u8kcBfwiIpbkjrU6KXl+Engd8DFJjwAnR8RLwxNlw8rcDHwOOLqFGFZaPsOx7qwL/LtYmP/22HXZRNJ+kqZJWiTpZknbFrfLLqlMkbRY0j8lfSv7Z0bSeOAAYNfcpbKxTcQ6Ofs5uEZcD5C++e+QX1eI7b2SbpA0T9JcSZMkbZ9bv4ukGyUtkPSspB9LWru7gCQNl/Tn7JLffEn3Sjo4/9r18jlPAA7q+mDNfh6Ulbcthuw1+H1hfyOyOm/Lv5Y9vc71jiNpH0nLJG1ROM4WWXm9s+lds58rjM7d27Ob7MxkJ+D3hVVfBI4ljcJwJfBp4KfA+jV28wfSWY4/W2vwGY515x7gyOzs4fKIeLZOvc2Bs4BvAAtJ83NcI+lNEbEIQNIHSINVXgQcA7yd9K1xfeDw7Pc3kJLc57P9PtFErIOzn/8ulJ0BnAI8RZ15XiSNAK4FbiBdlplPGr5/U+BvknYGJgKXAh/JYj6NdOnlI93EtDlwC3AB6YN4Z+BnkpZFxG/o/XO+hDQiwC6ks7r3kKY7+CPpsk4ZMeQNpufXud5x/kWay+VTwNhc/dHAf0gf8LXMz35+V9KZEfF4kzHXsnu2378XyncljbR9RvZF6pZsDLpabgUGAUNq7Mciwg8/aj5ISeFR0kCTy4AHSB8q6+TqjM/W75Qr2xxYChyeK7sduKGw/2OBF4HXZ8u/ByY1ENdY0mCTq2ePN5OSxfPAJoW4tqux/Xjg7tzybaTLU6pzvL/WiH23bP9va/C1VBbrj0gfXl3lDT3n/PPOfv8T8P3s9x8Al2a/PwOMbUcMwCTg94WyEfnn3eTrXO843yQlKeXinAF8r5vXYmPgvuzYQRql+3hgQAvv93HAXTXKfwT8MzvmeGBwN/tYPXvvH9bbOFbmh0/7rK6IuA94C6lB9gekD4JvAHdLGpCr+nRE3Jrb7nHSJa53w0vX9d/Jim0rF5Mu6w7vRXjrA0uyx0PAlsCoiPhXrs6siLi3u51knQx2AH4e2SdGYf1rsvh+K2n1rgdwc3bsum0mktZT6jH1eC7WMaQE2aoJwEckrUk6y1rhcloJMXTp8XXuwU9JX1JGZMsjs+Wf1dsgIv4NbA/sQTrbWxf4FnCrpDXgpR6W92aPxdkl33uVel2+usZuNyYl7KJvkc58HiP9L3wlO+utFddSYE62LytwwrFuRcTiiLgsIo6IiG2BzwBvAg7NVXu6xqZPA5tkv28AvJp0uSWva7nmiLc9mEsaSn8Y8HrSt86rCnWKx6tlPVIi/Vc361cjJdwlucdi0nParJt9jwdGkS5zfSCL96fAWg3E1ZM/AwNIH4b9gcsqiKFLI69zXRHxKOls6pCs6BDgzoh4oIftXoyIv0TE50mX635GupQ1PFs/PiK2I33ZWQrsHBHbRcTQyHUKyFmL9HctHmdmtt8Pk874dwFuVv3bAxbT3td3peE2HGtKRPxE0hnANrnijWpU3Yh0CQ7St8YlNeoNyn7WHL24B0sjoqd7aRppPJ5Nuly4SZ31c7L9jKV2e8KTtTaStBawD3BERFyQK2/Ll7yImC/pctII0L+LiPnFOm2IYRGwRqGs1peDdowAfCHwY6Wu+PvTZC+viFgm6S+kZFX8sH8TMDvqt0F2eY46ZyZZgrpaaarusaSpHs6WdE6WkPLWpXfv6ZWez3CsLkkrJBJJGwIDWf5b7UZKswx21XkD6VvlnZC+iZIusR1Y2N1BpA/727LlFyj5m2H2QX0H8L9dvb5qrL8d2Doi7q7xqJlwgDVJZ0YvfWPOerUVe1218px/SDqzuaDO+lZjeILlv1gAvL9XkXZ/HEgdIV4gXRp8FXUuEQJIGlRn1YeABaS/Z947aKwB/yFqzFFU630B3JX9fG2h7obAa4B/NHC8VY7PcKw7UyT9CfgL6RLZ5qSbLBcAP8/Vewb4haSuXmqnZPXH5+qcROq59jPSh8kQUs+lH0dEV6+oacC+kvYjfdg92c0HejsdB1wHXCVpHOl6/XBSg/flpM4NEyUtIzV8/5d0CWcf4OsRscKHS0TMlXQXcKKk50mJ9TjSpcB1clV7/ZwjzWc/qZv1rcbwR+BQSWeTpiweSWoz6a26zzUiFkn6FfAF4DcRMaeb/fxW0n+B35I6F2wEHAzsS2qsL277DlIHg57cQnqtNoyI/+TKfy3pb8BNpMuXQ0lnlrOABwv7GEY647sVW1HVvRb86NwH6Z//L6TLRotI/9y/BrbJ1RlP6uG1P+lb3WLSP+4KvbdIbQlTSN9knyC1P6yeW78B6UPuObLLWHXiGkvWW6ub2MeT6yHV0zpS19ebSMl0DqnX23a59TsAV5N6ws0HppK6gg/sJoY3ku4TmU+adfHYYuyNPucmnvdyvdRajQH4GqmH1n9Js0x+iBV7qTX0Ovf0XIH3ZeXv6+E5fjr7WzyRvZeeIyXEEXXqXwZ8tIH3+xrAs8AnC+Ufzo73b1LSfp6U6LevsY9zKfRo9OPlhydgs5ZkN/S9LSKG9VTXrDtZ2+AoYIuIWNbG/c4E9oiI4tlIrbrnAm+MiH3qrB9PSpQzaqxbDXgcOC4iftlS0CspX1Izs0pJ2hrYljQkzMltTjbrkW6KbbRN5bvAQ5LeHDUulfbgQNIl5brtT6s6dxows6r9iHSp9krS8DFtExGzI6JfpI4rjdR/gtTlv16vxUtJl1xrEXBopHtxrAZfUjMzs1L4DMfMzErhhGNmZqVwwjEzs1I44ZiZWSmccMzMrBROOGZmVgonHDMzK8X/B7qsNRkALQemAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot probability distribution\n", + "x = uncertainty_model.values\n", + "y = uncertainty_model.probabilities\n", + "plt.bar(x, y, width=0.2)\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.grid()\n", + "plt.xlabel('Spot Price at Maturity $S_T$ (\\$)', size=15)\n", + "plt.ylabel('Probability ($\\%$)', size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Payoff Function\n", + "\n", + "The payoff function equals zero as long as the spot price at maturity $S_T$ is less than the strike price $K_1$, then increases linearly, and is bounded by $K_2$.\n", + "The implementation uses two comparators, that flip an ancilla qubit each from $\\big|0\\rangle$ to $\\big|1\\rangle$ if $S_T \\geq K_1$ and $S_T \\leq K_2, and these ancillas are used to control the linear part of the payoff function.\n", + "\n", + "The linear part itself is then approximated as follows.\n", + "We exploit the fact that $\\sin^2(y + \\pi/4) \\approx y + 1/2$ for small $|y|$.\n", + "Thus, for a given approximation scaling factor $c_{approx} \\in [0, 1]$ and $x \\in [0, 1]$ we consider\n", + "$$ \\sin^2( \\pi/2 * c_{approx} * ( x - 1/2 ) + \\pi/4) \\approx \\pi/2 * c_{approx} * ( x - 1/2 ) + 1/2 $$ for small $c_{approx}$.\n", + "\n", + "We can easily construct an operator that acts as \n", + "$$\\big|x\\rangle \\big|0\\rangle \\mapsto \\big|x\\rangle \\left( \\cos(a*x+b) \\big|0\\rangle + \\sin(a*x+b) \\big|1\\rangle \\right),$$\n", + "using controlled Y-rotations.\n", + "\n", + "Eventually, we are interested in the probability of measuring $\\big|1\\rangle$ in the last qubit, which corresponds to\n", + "$\\sin^2(a*x+b)$.\n", + "Together with the approximation above, this allows to approximate the values of interest.\n", + "The smaller we choose $c_{approx}$, the better the approximation.\n", + "However, since we are then estimating a property scaled by $c_{approx}$, the number of evaluation qubits $m$ needs to be adjusted accordingly.\n", + "\n", + "For more details on the approximation, we refer to:\n", + "Quantum Risk Analysis. Woerner, Egger. 2018." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# set the strike price (should be within the low and the high value of the uncertainty)\n", + "strike_price_1 = 1.438\n", + "strike_price_2 = 2.584\n", + "\n", + "# set the approximation scaling for the payoff function\n", + "c_approx = 0.25\n", + "\n", + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [uncertainty_model.low, strike_price_1, strike_price_2]\n", + "slopes = [0, 1, 0]\n", + "offsets = [0, 0, strike_price_2 - strike_price_1]\n", + "f_min = 0\n", + "f_max = strike_price_2 - strike_price_1\n", + "bull_spread_objective = PwlObjective(\n", + " uncertainty_model.num_target_qubits, \n", + " uncertainty_model.low, \n", + " uncertainty_model.high,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# construct circuit factory for payoff function\n", + "bull_spread = UnivariateProblem(\n", + " uncertainty_model,\n", + " bull_spread_objective\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot exact payoff function (evaluated on the grid of the uncertainty model)\n", + "x = uncertainty_model.values\n", + "y = np.minimum(np.maximum(0, x - strike_price_1), strike_price_2 - strike_price_1)\n", + "plt.plot(x, y, 'ro-')\n", + "plt.grid()\n", + "plt.title('Payoff Function', size=15)\n", + "plt.xlabel('Spot Price', size=15)\n", + "plt.ylabel('Payoff', size=15)\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "exact expected value:\t0.5695\n", + "exact delta value: \t0.9291\n" + ] + } + ], + "source": [ + "# evaluate exact expected value (normalized to the [0, 1] interval)\n", + "exact_value = np.dot(uncertainty_model.probabilities, y)\n", + "exact_delta = sum(uncertainty_model.probabilities[np.logical_and(x >= strike_price_1, x <= strike_price_2)])\n", + "print('exact expected value:\\t%.4f' % exact_value)\n", + "print('exact delta value: \\t%.4f' % exact_delta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 6\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, bull_spread)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.5695\n", + "Estimated value:\t0.5730\n", + "Probability: \t0.9977\n" + ] + } + ], + "source": [ + "print('Exact value: \\t%.4f' % exact_value)\n", + "print('Estimated value:\\t%.4f' % result['estimation'])\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZgAAAEPCAYAAAB/WNKuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZxcVZ338c+XPRAIe0AGCasMy8gYQJhhBARkMcoiGGAYjYLgxuKjTgRRA2qcoGyG8QEeleCDEGaAYYYAiSxJAAfEIGFANoOEJUBYjISQsAR+88e5jTc3Vd1V1XVr4/t+verVXeeec+t3+nbXr+85955SRGBmZtZsK7Q7ADMz601OMGZmVgonGDMzK4UTjJmZlcIJxszMSuEEY2ZmpXCCsaaSNE5SVHkcU+M+tsn2s3ahfEy2n6HlRF9bHIPc51WSZtRQbyVJp0i6T9ISSQsk3SBpjwZft1N+pmMKvxPPS5om6QM1tN0ra7NDK2K1wXOCsTK8DOxe4TG1xvbbAN8Bim/s12f7WdycMBuOo1SSVgSuBcYD/wUcBIwB3gJmSDq6gd12ys+0z4ez1z0B2ACYLuk9A7T5XdbmsZJjsyZZqd0BWE9aGhF3NXunEfEC8EKz99uBTgQ+ChwYEfmk/J+SJgMXS5oZEfMG+0Jt/Jn+NiIWAUiaBTwB/CPww2JFSQJWjYiFQNN/r6w8PoOxtpB0qqQ5kl6TNF/SVEkbSdoLuC6r9ng2JDI3a7PMcI6kEdnzIyVdImmhpKf7huIk/bOkZyS9IGmCpBVyr7+tpMmSnpK0WNLvsyGpFbLtVePItr83a/+nrP00Se8r9HHTbFhriaS5ko6r8cdzMjC9kFz6fBNYDTg29zpzJf1I0rckPSdpkaRfSho2UF8qDZFJWl/SpZJeyvo2Q9LOhb71veZXsp/5guznUffZXkQ8RUpyI7J9j5P0oqQ9JP0WeA04otIQmaQVs9+lRyW9nsUyqRDrwZJmZb9rz0k6S9LK9cZp9fMZjJVC0nK/WxGxNNv2KeA0YCzwe2A90pDJGqRhkK8BPwIOA54FXh/g5SYAvwQ+AXwWuFTS3wKbZc9HAt8D7gUmZ202AR7J2r0C7AScAQwBftBfHJLWBe4AXgI+Txpe+gZws6RtImJJ9l/3fwLrk5LBa9n+1wX+0M/PbVPSG+25lbZHxGOS7gc+VNh0FDAH+BywMXAW8FPgiP76UsW1wFZZmxeBr5OGsP42Iubk6n0S+B/geOCvgHNIw3pf7Gffy5G0Junn8lyueHXg0qwfjwLPZP0qugj4VFZvZrafw3P7/iRwRVbvNGBL0vFdIeuflSki/PCjaQ9gHBBVHiOyOhcAV/ezj1H5+rnyMVn50Oz5iOz5Jbk6awFvkt7EV8yV3w1cWeX1RPpn6zTgjzXE8V1Sclk3V7YOae7pS9nzg7K2H8zV2QxYCszop++7Ze0O7qfOtcBDuedzgT/1/Vyysn8E3gb+us6f6QHZ8z1zddYgnWFcVHjNx4CVcmXnAc8N8PvR93rDsp/5psCV2c9lp8Lv0MGFtntl5Ttkz7fNnp/Uz3F9Iv/7kZV/FlgCrNfuv5def/gMxsrwMrBvhfJnsq+zgWMlnUGaZL4nIt4axOvd0vdNRCyU9AIws7DPOcB7+55IWg04lfRG/F5g5dy2lSI726piX+AmYGHuTO0V4B6gbyhpV2B+RPwmF9sTku5poH+1uCmyOY3MNcBlwC7AQ3XsZ1fghYiY2VcQEa9KmgIUr2CbXvg5PQhsKGmViHhjgNf5c+77F4HPRsTsXFkANw6wj72zr5OqbN+GdGz/rXBGfStpmHEH0lmPlcQJxsqwNCJm9bP958CapKGVbwMvSfq/wLgGE82fC8/fqFK2Wu75BOA40rDV77L6BwOnZ/UWUd36pDON0RW29SW7jYDnK2x/ntT3avom7jfrp85muXr5/b4j0jDdIioPK/VnY2B+hfL5pOGnvEo/YwGrZN/350OkocUXgaci4u3C9gU1JKn1gFcjTf5Xsn729YYq2zcdYP82SE4w1nLZm8m5wLnZnMM/At8nvWle2KIwjgAmRsRZfQWSPlpj2z+RLh/+boVtr2RfnwM2rLB9Q9LwTEUR8VQ2Af9x4MfF7ZI2J/3nXXztDQv1hgBDSfMt9Xi2uK/McFK/m+XewhlXUS2fI/ISsIaktaokmb54jyfNvxU9XsNr2CD4KjJrq4h4KiL+hTSEtV1W3Pef62qVWzXFEHIT3Ur3nhxZqFMtjluA7YHfR8SswuORrM5vgeGSPph7jfcCA95QCJwP7CPpIxW2fS+L+2eF8v207M2Sh5HepPvOJGv9mf6GNMz1zkUEklYnXTZ9Rw2xt9Kt2ddPVdn+COmflhEVjtOsiHipNWG+e/kMxsqwkqTdKpQ/FRHzJF1E+u/yLtJ8zd7A1qSryiC9MQCcoHTfx+KIuL/JMd4EfEnSnCyWLwGrFupUi+Mc4BjgVkkTSW9iw4E9gTsi4grSsMx9wL9LGku6iuxMKg+bFU0kzfP8h6QfATNIw2rHkibr/ymWvwdmCXC9pB+Shrl+CPxHRDw4QF+WERHTJP0auFLSN0hnCV8jJeTl7lFpp4h4RNLFwNmSNgRuI91IenhEHBkRb0v6KvD/Ja1FmtN5A9gCOCSr1+obTN9d2n2VgR+99aD/q8hOz+qMAX5NemNfTLrU9djCfr5KugJoKTA3167SVWSjCm3nAj8qlE0CZuWeDwf+A1hIml84i3SJ7zv7rxZHVv4e4JKs7evZa14GbJ+r817S6gVLsn2cAFxFP1eR5dquBHwl+9ksARaQ3iD3qFB3LnB29rOfD7xKujR37Xp/plnZBsAvstdcQpoI36WGn/Fy+6oQay11xgEvVijfi9xVZFnZimRX/5GSx9Msf9XYgcDt2c9lIekik++RuwLOj3Ieyg5Ay0jainRd/W6kseTbI2KvGtoNI10GeQhpaG8K6fLElwr1Dib98mxN+qU7IyKubGYfzDpJNmdzVUT4vg7rKO2Yg9medI/Ao9mjVleS/oM5jvRf0C6k+wHeobQQ4NXAdNJ/LdcDV1QZyzYzsxK14wxmhcguSZR0FbD+QGcwknYH/pt089dtWdmupAnJ/SLi5qxsGrByRHw41/YGYK2IaGgVWrNO5zMY61QtP4OJ5a93r8WBpJvWbsvt527SZYYHAkhalTRZ/G+FtpOB3fvWZTLrNRExwsnFOlG3XKa8LfBwhfKHsm2Q1hhauUK9h0j93Ka06MzMbDndcpnyOix/1zCkq1y2yNWhQr0Fhe3LkHQ86UYshgwZMnLTTZe9ufftt99mhRW6JQ/3r5f6Ar3Vn/76suajaarylW2653+kXjo20Fv9aXZfHn300RcjYoNK27olwUDlO3tVobz4XP20JyIuBi4G2HnnnWPWrGVXOJkxYwZ77bVXvbF2pF7qC/RWf6r1ZcQ3rueRCaPS94eew9x/qXWxgfbqpWMDvdWfZvdF0hPVtnVLSl5A5U8VXJu/nLEsyJUV60DlMyAzMytJtySYh/nLXEtefm7mMdIy7cV625KWLa/nkmgzMxukbkkwNwIbZfe5AJB9wt4W2TYi4nXS/S9HFNqOBu6MiJdbFKuZmdGGOZhs4byDsqebAGtJ6vsEuhsiYnG2PtTMiDgWICLuzO5x+YWkr5HOSCaQ1n26Obf77wIzJJ1HugnzoOxxQOkdMzOzZbRjkn9D4N8LZX3PNyetcbQSaY2hvCNJS7z/nNxSMfkKEXFHlqy+B3yBdJ/M0RHxqybGb9ZSI8ZOaXcIZg1peYKJiLn85cquanVGVCj7M/CZ7NFf22spLCFjZmat1y1zMGZm1mWcYMw63HWTTua6SSe3OwyzunXTjZZm70o7zn+s3SGYNcRnMGZmVgonGDMzK4UTjJmZlcIJxszMSuEEY2ZmpfBVZGYd7vL379/uEMwa4gRj1uFOO+DEdodg1hAPkZmZWSmcYMw63A7PzWGH5+a0OwyzunmIzKzDTbn0FMCrKlv38RmMmZmVwgnGzMxK4QRjZmalcIIxM7NSOMGYmVkpnGDMzKwUvkzZrMON+vR57Q7BrCFOMGYd7oGNtmp3CGYN8RCZmZmVwgnGrMONnzqR8VMntjsMs7o5wZh1uKPvm8bR901rdxhmdXOCMTOzUjjBmJlZKZxgzMysFE4wZmZWCicYMzMrhW+0NOtw9w/fst0hmDXECcasw31szPntDsGsIR4iMzOzUjjBmJlZKZxgzDrc3AmjmDthVLvDMKubE4yZmZXCCcbMzErhBGNmZqVwgjEzs1I4wZiZWSmcYMzMrBS+k9+sw526/5fbHYJZQ5xgzDrcFTsd0O4QzBrS8iEySdtJukXSYknPSDpT0ooDtBknKao8Ts3Vm1Slzrbl98zMzPJaegYjaR3gZuBB4GBgS+BsUqI7vZ+mPwWmFsoOAcYCNxbKHwY+Uyib21jEZu131Oz0q+8zGes2rR4i+zwwBDgsIhYCN0laCxgn6aysbDkR8TTwdL5M0reAhyNidqH6qxFxVwmxm7XFD6ZdADjBWPdp9RDZgcC0QiKZTEo6e9a6E0nrAvsBVzQ3PDMza5ZWJ5htSUNY74iIJ4HF2bZaHQ6sTEpORdtJWijpdUl3SKo5cZmZWfMoIlr3YtKbwNcj4rxC+dPALyLitBr3cyswLCJGFspPBt4gzfFsAHwVGAnsERF3V9nX8cDxAMOHDx85efKyOWvRokUMHTq0lrA6Xi/1BXqrP9X6cv+8lznxmEMAmHjZtey4ybBWh9aQXjo20Fv9aXZf9t5773siYueKGyOiZQ/gTeDkCuXzgO/XuI+NgbeAr9VQdwjwOHBtLfseOXJkFE2fPn25sm7VS32J6K3+VOvLZmOnREAEpO+7RC8dm4je6k+z+wLMiirvqa0eIlsArF2hfBjw5xr38UlAwJUDVYyIJcANwAdqDdDMzJqj1QnmYQpzLZI2BdagMDfTjyOBOyLiqTpet3XjgGZmBrT+MuUbga9LWjMiXsnKRgNLgJkDNZY0AtgN+GItLyZpCOnKtXsaCdasE4wYO6XdIZg1pNVnMBcCrwPXSNo3m2AfB5wTuUuXJc2R9LMK7Y8ElgJXFTdIGibpdkknSNpH0mhgOrAJML6EvpiZWT9aegYTEQsk7QNcAFxHmnc5l5RkinFVWj7mSOCWiHihwrbXgRdIKwJsCLwG3AnsGRGzmtIBMzOrWcsXu4yIB4EPD1BnRJXynfpp8xpw2KCCM+tA1006GYCPjTm/zZGY1cerKZt1uB3nP9buEMwa4g8cMzOzUjjBmJlZKZxgzMysFE4wZmZWCicYMzMrha8iM+twl79//3aHYNYQJxizDnfaASe2OwSzhniIzMzMSlFXgpFUafkWMyvRDs/NYYfn5rQ7DLO61XsGM0/SWZL+upRozGw5Uy49hSmXntLuMMzqVm+CuQg4HHhA0m8kHS9prRLiMjOzLldXgomI70TEFsB+wCPAOcCzkn4pad8yAjQzs+7U0CR/RNwaEZ8CNgJOBN4HTJM0V9I4Se9pZpBmZtZ9BnsV2c7Ah0gfg7wAuB04Dpgj6ZhB7tvMzLpY3QlG0maSviPpMeAWYGPgs8B7IuKfgM1IczU/bGqkZmbWVeq60VLSraQzlqeBScAlEfFEvk5EvCXpcuDkZgVpZmbdp947+V8EDgJuiojop95sYPOGozKzd4z69HntDsGsIfUmmAuA31VKLpKGAh+IiNsi4k3gieVam1ndHthoq3aHYNaQeudgpgPbVdn2vmy7mZlZ3QlG/WwbCiweRCxmVsH4qRMZP3Viu8Mwq9uAQ2SSPgTslSs6TtIBhWqrAR8F7m9eaGYGcPR90wCvqmzdp5Y5mA+SbqYECOAIYGmhzhvAw8DXmxeamZl1swETTET8kOyeFkmPA4dGxOyyAzMzs+5W11VkEeFLj83MrCa1zMEcBNwREQuz7/sVETc0JTIzM+tqtZzBTAF2A+7Ovg+qX00WgD+UzMzMakowmwPP5r43sxa6f/iW7Q7BrCG1TPI/Uel7M2uNj405v90hmDWkljmY1evZYUT4ZkszM6tpiGwRaW6lVp6DMTOzmhLMZ6kvwZhZE82dMAqAEWOntDkSs/rUMgczqQVxmJlZjxnsRyabmZlVVMsk/93AmIh4UNJvGWC4LCJ2bVZwZmbWvWqZg/k9sCT3vedjzMxsQLXMwXwm9/2YUqMxM7Oe0fAcjJINJPX3IWRmZvYuVddqyvDO4penAyOz9ksl3QN8PyKub3J8Zu96p+7/5XaHYNaQuhKMpBOAnwC3ACcDzwMbAocB/yXpixFxUdOjNHsXu2Kn4gfImnWHes9gTgMujogvFMovlHQh8E3ACcbMzOqeg1kPuKbKtquBdQfagaTtJN0iabGkZySdKanf5WUkjZAUFR6TK9Q9WNL9kl6T9KCk0TX1zKxDHTV7KkfNntruMMzqVu8ZzHRgT+CmCtv2BG7rr7GkdYCbgQeBg4EtgbNJie70Gl7/a8Cvc89fLOx/D1Ki+wlwEnAQcIWkBRHxqxr2b9ZxfjDtAsBDZdZ9arnRcrvc0x8DP5W0HnAtf5mDORQ4EDhugN19HhgCHBYRC4GbJK0FjJN0VlbWn0ci4q5+tn8LuC0iTsqeT5e0PfBtwAnGzKyFajmDeYBlb64UcEL2KH665VT6X035QGBaIZFMBiaQzoCuqyGeiiStCuxNOnPJmwxcImlYRLzc6P7NzKw+tSSYvZv4etsCt+YLIuJJSYuzbQMlmEskrUs6c7oC+GZE9K0ysCWwMvBwoc1DpCG4bYDfDi58MzOrVS138s9s4uutA/y5QvmCbFs1rwP/ShrmWgjsBYwlJZWDc/umwv4XFLYvQ9LxwPEAw4cPZ8aMGctsX7Ro0XJl3aqX+gK91Z9qffnqjkuX+b5b+ttLxwZ6qz8t7UtENPQgnRWsXnwM0OZN4OQK5fNIN2rW8/pfIA3R7ZQ9//vs+fsL9bbOyvcbaJ8jR46MounTpy9X1q16qS8RvdWfan3ZbOyUCIiA9H2X6KVjE9Fb/Wl2X4BZUeU9ta7LlLPlYcZKmpMli1cqPPqzAFi7QvkwKp/Z9Oeq7OsHcvumwv77nte7fzMzG4R6L1M+CfgGcBbwfeB7wFvAkcAqwPgB2j9Mmmt5h6RNgTVYfu5kIFH4+hgp6W0L5If1tgXeBh6tc/9mHcGfZGndqt4bLT8HfIeUYACujYgzgO1JCWLrAdrfCOwvac1c2WjSxwHUO9dzePb1HoCIeJ10n84RhXqjgTvDV5CZmbVUvWcwmwOzI+ItSW+SDT9FxNuSfgL8lHSGU82FpLOgayRNALYAxgHnRO7S5WwIbmZEHJs9HwesSbrJciHwIeDrwDUR8T+5/X8XmCHpPNJ9OgdlD9+hZmbWYvWewbwEDM2+fxL429y2dUg3UVYVEQuAfUj3ylwHnAGcSzoryluJZe+neZh0n8wlwA3A0cAPs6/5/d9BOrPZF5gGfBw4OnwXv3Wx6yadzHWTTm53GGZ1q/cM5tfALqQ3+ctJd+CvC7wBfIm0ynK/IuJB4MMD1BlReD6ZdMPkgCLiWtLZi1lP2HH+Y+0Owawh9SaYccAm2ffjSUNkY0hnLjcBJzYrMDMz6251JZiIeAR4JPv+ddJnwvjc3czMllP3J1r2kfRXwMbAMxExr3khmZlZL6h3kh9JX5D0FPAE8BvgSUlPS/pi06MzM7OuVe+d/N8GLiDdz/JRYOfs643Aj7PtZmZmdQ+RfQkYHxHfKpRPlTQ/235mUyIzMwAuf//+7Q7BrCH1JpghVP/Uypn4KjKzpjvtAP9ZWXeqdw7mWuCwKts+AXjRJDMzA2r7yOSDck9vBM6SNILlPzJ5e+Cfmx+i2bvbDs/NAeCBjbZqcyRm9alliGwKy3808iZApYHhy0ifNGlmTTLl0lMAr6ps3aeWBLN56VGYmVnPqeUjk59oRSBmZtZb6r6TX9JKpAn9PYB1gT8Bt5OWzl/aX1szM3v3qCvBSNoQ+BXwN8BcYD6wO+n+l/skfSQiXmh2kGZm1n3qvUz5HGA94IMRsUVE7B4RWwAfzMrPaXaAZmbWnepNMAcBYyPit/nC7PmppGVjzMzM6p6DWRV4pcq2V4BVBheOmRWN+vR57Q7BrCH1Jpi7gLGSbo2IV/sKJa0BjM22m1kT+QZL61b1JpivAtOBpyT9ijTJvyHppksBezU1OjMz61p1zcFExGxga+BiYANgP1KCuRDYOiLua3qEZu9y46dOZPzUie0Ow6xuNZ/BSFoZ2BV4PCK+UV5IZpZ39H3TAK+qbN2nnjOYt4Bbgb8uKRYzM+shNSeYiHgb+AMwvLxwzMysV9R7H8w3gW9L2rGMYMzMrHfUexXZ6aQ79mdLmke6iizyFSJi1ybFZmZmXazeBPNA9jAzM+tXTQlG0hDSMjEPAM8BN0fE/DIDM7Pk/uFbtjsEs4bU8pHJWwA3AyNyxQslfTIiflVWYGaWfGzM+e0OwawhtUzynwW8DfwDsDqwPXAvcFGJcZmZWZerJcHsDpweEb+OiNci4iHgBOC9kjYuNzwzM+tWtSSYjYE/FsoeI609tlHTIzKzZcydMIq5E0a1OwyzutV6H0wMXMXMzOwvar1MeZqkpRXKbymWR8SGgw/LzMy6XS0J5ozSozAzs54zYIKJCCcYMzOrW71rkZmZmdXECcbMzEpR71pkZtZip+7/5XaHYNYQJxizDnfFTge0OwSzhniIzMzMSuEEY9bhjpo9laNmT213GGZ1a3mCkbSdpFskLZb0jKQzJa04QJtdJF0iaU7W7hFJ35G0WqHeOElR4eExButaP5h2AT+YdkG7wzCrW0vnYCStQ1r6/0HgYGBL4GxSoju9n6ajs7oTgD8AfwN8N/v6iULdl4FiQnlosLGbmVl9Wj3J/3lgCHBYRCwEbpK0FjBO0llZWSUTIuKF3PMZkl4DLpK0WUQ8kdu2NCLuKid8MzOrVauHyA4EphUSyWRS0tmzWqNCculzb/bVa5+ZmXWgVieYbYGH8wUR8SSwONtWj78jfRDaI4XytSW9KOlNSfdKOqzhaM3MrGGKaN1K/JLeBL4eEecVyp8GfhERp9W4n42A/wFuiIgxufJjSGc0s4GhpA9GOwj4RERcU2VfxwPHAwwfPnzk5MmTl9m+aNEihg4dWlP/Ol0v9QV6qz/V+nL/vJc58ZhDAJh42bXsuMmwVofWkF46NtBb/Wl2X/bee+97ImLnihsjomUP4E3g5Arl84Dv17iPVYDbSB+Cts4AdQXcCcyuZd8jR46MounTpy9X1q16qS8RvdWfan3ZbOyUCIiA9H2X6KVjE9Fb/Wl2X4BZUeU9tdWT/AuAtSuUDwP+PFBjSQJ+AWwP/H1ELOivfkSEpGuACZJWjIi3GojZrK1GjJ3S7hDMGtLqBPMwhbkWSZsCa1CYm6niXNLlzftFRC31+/gTOc3MWqzVk/w3AvtLWjNXNhpYAszsr6GkU4ETgWMi4o5aXiw74zkUuM9nL2ZmrdXqM5gLgZOAayRNALYAxgHnRO7SZUlzgJkRcWz2/GhgPDAJmCdpt9w+H4vsMmZJM4GrSWdDawCfA3YDDim3W2bluW7SyQB8bMz5bY7ErD4tTTARsUDSPsAFwHWkeZdzSUmmGFd++ZiPZF/HZI+8z5ASD8Ac4BRgY9IlzL8DPhoRNzYjfrN22HH+Y+0OwawhLV+uPyIeBD48QJ0RhedjWD6xVGp37CBCMzOzJvJqymZmVgonGDMzK4UTjJmZlcIJxszMStHySX4zq8/l79+/3SGYNcQJxqzDnXbAie0OwawhHiIzM7NSOMGYdbgdnpvDDs/NaXcYZnXzEJlZh5ty6SmAV1W27uMzGDMzK4UTjJmZlcIJxszMSuEEY2ZmpXCCMTOzUjjBmJlZKXyZslmHG/Xp89odgllDnGDMOtwDG23V7hDMGuIhMjMzK4UTjFmHGz91IuOnTmx3GGZ1c4Ix63BH3zeNo++b1u4wzOrmBGNmZqVwgjEzs1I4wZiZWSmcYMzMrBROMGZmVgrfaGnW4e4fvmW7QzBriBOMWYf72Jjz2x2CWUM8RGZmZqVwgjEzs1I4wZh1uLkTRjF3wqh2h2FWNycYMzMrhROMmZmVwgnGzMxK4QRjZmalcIIxM7NSOMGYmVkpfCe/WYc7df8vtzsEs4Y4wZh1uCt2OqDdIZg1xENkZmZWCicYsw531OypHDV7arvDMKubh8jMOtwPpl0AeKjMuo/PYMzMrBQtTzCStpN0i6TFkp6RdKakFWtoN0zSJZIWSHpZ0i8lrVeh3sGS7pf0mqQHJY0upydmZtafliYYSesANwMBHAycCXwVOKOG5lcCewHHAWOAXYBrC/vfA7gamA4cCFwPXCHpI03pgJmZ1azVczCfB4YAh0XEQuAmSWsB4ySdlZUtR9LuwP7AnhFxW1Y2D/iNpH0j4uas6reA2yLipOz5dEnbA98GflVet8zMrKjVQ2QHAtMKiWQyKensOUC7+X3JBSAi7gYez7YhaVVgb+DfCm0nA7tLGjb48M3MrFatTjDbAg/nCyLiSWBxtq3mdpmHcu22BFauUO8hUj+3aSBeMzNrUKuHyNYB/lyhfEG2rZF2W+TqUKHegsL2ZUg6Hjg+e7pI0iOFKusDL/YTWzfppb5Ab/Wnal/U982EUWhCy+IZrF46NtBb/Wl2XzartqEd98FEhTJVKW+kXfG5qpSnwoiLgYurvaikWRGx8wCxdYVe6gv0Vn96qS/g/nSyVval1UNkC4C1K5QPo/IZykDt1s61W5ArK9ZhgP2bmVmTtTrBPExhrkXSpsAaVJ5jqdouk5+beQx4s0K9bYG3gUcbiNfMzBrU6gRzI7C/pDVzZaOBJcDMAdptlN3nAoCknUnzLzcCRMTrpPtfjii0HQ3cGREvNxhz1eGzLtRLfYHe6k8v9QXcn07Wsr4oYqCpjya+WLrR8kHgAWACKUGcA5wXEafn6s0BZkbEsbmyqaQrwb5GOiOZADwfEf+Qq7MHMAO4gHQT5kFZ/QMiwvfBmJm1UEvPYCJiAbAPsCJwHekO/nOB7xSqrpTVyTuSdJbzc+AXwD3AoYX93wEcDuwLTAM+DsDoCtMAAAXhSURBVBzt5GJm1notPYMxM7N3D6+mnCNptKRrJD0rKSSNqaPt30v6jaQlkh6XdNLArcon6XOS/pAt/nmPpH1qaDMu63/x0ZL14steELXVGumPpBFVjsHkVsVdJa6tJF0k6T5Jb0maUWO7jjs2jfSlg4/LEZL+S9I8SYuyv/Wjami3qqSzJT0v6VVJ10sa0ay4/HkwyzocGAFMIS2qWRNJW5GG5KYApwK7AudIWhwRPy0hzlrjOhK4EBgH3AF8BpgiaZeIeGCA5i8DxYTyUNODLMgtiPogaUHULYGzSf8Mnd5PU0gLor6PdOz65umuBf6hv0ZlGmR/IM0h/jr3vN03+21Pmtu8C1iljnYdd2xovC/Qecfl/5CWzvpKFstBwOWS1o+Iif20+zHpfe8rwAuk94qbJO0YEa8NOqqI8CN7ACtkX4eSbswcU2O7i0iXQa+UK/sJ8BTZMGSb+vMI8PN8/4D7gcsGaDcOeLFNMZ9KuqdprVzZP5OWE1qrn3a7Z8fsQ7myXbOyfdt4DBrtz4gs9lHtir1KXCvkvr8KmFFDm049No30pVOPy/oVyi4HHu+nzV8BS4FP5co2Ad4AjmtGXB4iy4mItxtseiBwTUQszZVNJh3AHQYdWAMkbUG66u6dxT+z/v072QKhHaq0BVHbpNH+dKQG/0Y68tgM4u+940REpTOoe4EN+2nW9zEm1+T2M4802tGU4+IEM0iS1gA2pfIim9D/Ip5l6nvdSnGtK2mDAdqvLelFSW9KulfSYc0PsaIyF0Rth0b70+eSbH7gWUnnSBpSRpAl69RjMxjdcFz+jjQ0W822wNMRsahQ3rTj4jmYwau2FE2/i2y2QC2Lf75Qpe0c0jDObNJw4QnA1ZI+ERHXVGnTLGUuiNoOjfbndeBfSZ9jtJD0YXtjSXM4Bzc3xNJ16rFpRFccl+xinoOBz/ZTrdHfzZr1dILJPgNm44HqRUR/y9TUqtr13k27DrzB/tS1+GfW/rLC614H/Dfpg9vKTjBQ/oKorVZ3XBHxLPDlXNEMSfOBn0jaKSJmNznGsnXqsalLNxyX7Cqwy4H/jIhJA1Qv9bj0dIIhLRvz/2qop4GrVNX3H0Bxkc1qZxCDUU9/8ot/5pfJqXvxz4gISdcAEyStGBFv1dq2AYNZELXSsF9+QdR2aLQ/lVxFunjkA6Szy27RqcemWTrmuEhal7R81pPAMQNUr2UR4UHp6TmYiPhpRGigxyBf41XS1WKVFtmE/hfxrPe16ulP3+tWiutPEVFteKzfEBoOvnZlLojaDo32p5IofO0WnXpsmqUjjouk1Um3SqwCfDR7b+rPw8Cm2TxyXtOOS08nmBa6ETi0cPPcaFLiGeh+k1JExB9Jl06/s/inpBWy5zfWsy9JIi3Lc1/JZy9Q4oKobdJofyo5PPt6TzMCa6FOPTbN0vbjImkl0hWiWwMHRsTzNTTrW0LrnSW3JL2HdG9Sc45Lu6/f7qQHsB3pl+UY0n8jF2TP98zV2ZN07Xi+bCtgEWncc2/SBPmbNOla8kH05yjgLdINfXsDk0hvbDsM0J+ZwEmkyxgPBW4g3Rz38RbEvA7wLHATaU2547Of7fcK9eYAPyuUTQX+CBwGHEK6D+j2Nh+DhvpDuhfp7Kwv+wJnZsfu6jb3Z/Xsb+Jw4E7g97nnq3fZsam7Lx18XC7O3rNOAnYrPFbN6twC3FJodxHpxsx/It1YfRfwB2C1psTVzh9Kpz2yX56o8JiRq7NXVrZXoe0ewN3Aa8Bc4KR29yeL63PZH8nrwO+AfQrbl+sP8LPszWAJ8CpwO+m/olbFvB1wa/b6zwLfBVYs1JkLTCqUrQ1cQho/XkhK+MvdgNaGY1B3f0iLu84izZ+9kR3DM/veLNrYlxFV/kYCGNFNx6aRvnTwcZlbQ19mULiZFFiVtKL9C9nf+g3A5s2Ky4tdmplZKTwHY2ZmpXCCMTOzUjjBmJlZKZxgzMysFE4wZmZWCicYMzMrhROMmZmVwgnGzMxK8b/J3kg3KaxcNAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for option price (after re-scaling and reversing the c_approx-transformation)\n", + "plt.bar(result['mapped_values'], result['probabilities'], width=1/len(result['probabilities']))\n", + "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Price', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Delta\n", + "\n", + "The Delta is a bit simplier to evaluate than the expected payoff.\n", + "Similarly to the expected payoff, we use comparator circuits and ancilla qubits to identify the cases where $K_1 \\leq S_T \\leq K_2$.\n", + "However, since we are only interested in the probability of this condition being true, we can directly use an ancilla qubit as the objective qubit in amplitude estimation without any futher approximation." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [uncertainty_model.low, strike_price_1, strike_price_2]\n", + "slopes = [0, 0, 0]\n", + "offsets = [0, 1, 0]\n", + "f_min = 0\n", + "f_max = 1\n", + "c_approx = 1 # no approximation necessary\n", + "bull_spread_delta_objective = PwlObjective(\n", + " uncertainty_model.num_target_qubits, \n", + " uncertainty_model.low, \n", + " uncertainty_model.high,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# construct circuit factory for payoff function\n", + "bull_spread_delta = UnivariateProblem(\n", + " uncertainty_model,\n", + " bull_spread_delta_objective\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 6\n", + "\n", + "# construct amplitude estimation \n", + "ae_delta = AmplitudeEstimation(m, bull_spread_delta)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# result_delta = ae_delta.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result_delta = ae_delta.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact delta: \t0.9291\n", + "Esimated value:\t0.9410\n", + "Probability: \t0.4189\n" + ] + } + ], + "source": [ + "print('Exact delta: \\t%.4f' % exact_delta)\n", + "print('Esimated value:\\t%.4f' % result_delta['estimation'])\n", + "print('Probability: \\t%.4f' % result_delta['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZgAAAEPCAYAAAB/WNKuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de7xcVX338c+XixIJJEFIoBSIoJhC9akk3KyVRG4SfBoFNIhWY4FEq2J9CXIRIYD6CMjlKdaSoEJ5VGKLmJY7BHKCWFCSiCKQYJBwFwMcCCEBA/yeP9Y+Zmdn5pyZObPncvi+X6/9mpm1196z1kwyv7NueysiMDMza7aN2l0AMzMbmhxgzMysFA4wZmZWCgcYMzMrhQOMmZmVwgHGzMxK4QBjTSNppqSosn28xnPsmp1nZCF9Wnae4eWUvrZyDPKcV0rqqSHfJpL+WdKvJa2R1CvpOknvafB9O+UznZb79/CapOcl/UbShZJ2afCcPZKuzL0+SNI/N6/UNhgOMNZszwP7VthuqPH4XYHTgeIP+7XZeVY3p5gNl6NUkjYG5gLfAP4bmAxMA14FeiQd1cBpO+Uz7fM+4N3A4cD3gIOA30g6pAnnPghwgOkQm7S7ADbkvBIRdzb7pBGxAljR7PN2oM8DhwKHREQ+KP+XpDnAbEkLIuLxwb5RGz/TuyJiVfZ8nqSLgWuAH0kaGxHPt6FMVgK3YKzlJJ0saZmklyQ9JekGSdtKmghcnWV7KOtKWZ4ds153jqSx2esjJV0qaaWkx/q64iR9WdITklZIOlvSRrn3HydpjqRHJa2WdG/WJbVRtr9qObL9O2bHP5sdf6OktxfquEPWrbVG0nJJx9T48XwBmF8ILn2+AmwGHJ17n+WSviXpq5L+IGmVpB9KGjFQXSp1kUnaWtK/S3omq1uPpAmFuvW95xezz7w3+zwaau1FxMukwDoS+GjufTaSdFL2b+VlSQ9I+mS180iaCXwJ2CnXFXdZtm9fSf+d/Zt4UdLdkj7WSHmtdm7BWNNJ2uDfVUS8ku37BHAKcCJwL/BmUpfJ5sBi4HjgW8BhwJPAywO83dnAD0ndLf8I/LukdwE7Za/HA18DfgXMyY7ZHliaHfcC8DfAGcAw4P/0Vw5JWwG3A88AnyZ1L51E+kt814hYI0nAfwFbk4LBS9n5twJ+18/ntgMwFrig0v6IeFDSPcB7C7s+CiwDjgW2A84Bvgt8uL+6VDEXeGt2zNPACcB8Se+KiGW5fB8BfgNMB/4SOJ/UrfdP/Zy7qohYIukxYB/g4iz5IuCTwJlZPQ4Evi/pmYi4psJpvgu8jfTv6UNZWl8LbSfg59m5XwL+FrhU0msRcUUjZbYaRIQ3b03ZgJlAVNnGZnm+Dfykn3N8IJ8/lz4tSx+evR6bvb40l2dLYC3pR3zjXPovgR9XeT+R/tA6Bfh9DeU4ixRctsqljSKNPX02ez05O3bvXJ6dgFeAnn7qvk923JR+8swF7s+9Xg482/e5ZGkfA14D/qrOz/T92ev9cnk2J/1Izyq854PAJrm0C4E/DPDvY733q7D/DuD67Plbszp8spDnclIXW9/rHuDK3OtvAcsHKEffdz4LuLXd/2+G8uYWjDXb88ABFdKfyB7vBo6WdAZpkHlRRLw6iPe7pe9JRKyUtAJYUDjnMmDHvheSNgNOJv0Q7whsmtu3SWStrSoOAG4GVuZaai8Ai4C+rqS9gKci4he5sj0saVED9avFzbFuTAPgKuAHwJ7A/XWcZy9gRUQs6EuIiBclXQMUZ7DNL3xO9wGjJb0hIv5UX/H/TLnn+5MCzE8LLeJbgI9K2riefzeSRpFakVNILdiNs12DHsuy6hxgrNleiYiF/ez/PrAFqWvlNOAZSf8GzGww0DxXeP2nKmmb5V6fDRxD+sFZnOWfApya5VtFdVuTWhpTK+zrC3bbAn+ssP+PpLpX0/djt1M/eXZiwx/F9d4rUjfdKlJ3WT22A56qkP4UqXsvr9JnLOAN2fNGbA8syZ5vTQoC1Qb8twMeq+Pcl5G+t7NIwXAl8BnS924lcYCxloqI10hjDBdkYw4fA75O+tG8uL9jm+jDwEURcU5fgqRDazz2WdL04bMq7Hshe/wDMLrC/tHAmmonjohHswH4vwf+pbhf0luAv67w3qML+YYBw0njLfV4sniuzBhSvUsj6a9IYzl3ZEnPkroU/5bUkimqFMCrnXsz0sy8z0XExbl0T3IqmT9ga5uIeDQivknqwtotS+7763ezykc1xTByA91Ka0+OLOSpVo5bgN2BeyNiYWFbmuW5Cxgjae/ce+wI7FFD2f4vsL+kgyrs+1pW7u8V0g/U+oslDyONdfS1JGv9TH9B6ub68yQCSW8i/TjfXkPZGyLpjaSA+hzrJmLcSmrBjKjwOS/spxuu2FoFeGN2rvx3vgUpkFuJ3IKxZttE0j4V0h+NiMclzSL9dXonqftjEmnmz4lZvr4f6RlK6z5WR8Q9TS7jzcBnJS3LyvJZ0o9QXrVynA98HLhV0kWkltcYYD/g9kgzkq4Dfg38p6QTSbOWzqS2v7ovIo3z/FTSt0iD2FuQZqN9APiH2HANzBrgWknnkrqOzgV+GhH3DVCX9UTEjZJ+DvxY0kmkyQzHkwLyuTWUvVZ7SloDvInUIptBmrRxRGRrYCJiqdL6mDmSziEFy81IwX3XiKg27XsJKbhPA34LPB0RyyXdBZwmaSWpRXQS6d/flk2slxW1e5aBt6Gz0f8sslOzPNNI00WfJU3x/Q1wdOE8XwIeJnWRLM8dV2kW2QcKxy4HvlVIuwxYmHs9BvgpqR/+KdK03mMpzHCqVI4s/S+AS7NjX87e8wfA7rk8O5KuXrAmO8cM4Er6mUWWO3YT4IvZZ7MG6AWuB95TIe9y4Lzss38KeBG4AhhZ72eapW1DmqnVm733AmDPGj7jDc5Voax9efq2F4B7SK22XSrkF2lV/r3Z57wiK88ncnl6WH8W2WbZd/PH7D0uy9LfSmoVvQg8Anw5+8yebvf/m6G8KfvwW0bSW0lz6/ch/fXys4iYWMNxI0hTIT9I6tq7BjguIp4p5JtC6kp4G/B74IyI+HEz62DWKbIxmysj4vh2l8WsqB1jMLuT1gk8kG21+jEwkTT7ZxppCubcfAaliwH+BJgPHEKaBntFlf5sMzMrUTtaMBtFmkmE0lVQtx6oBSNpX+B/SAvAbsvS9iINSh4YEfOytBuBTSPifbljrwO2jIiGrkRr1sncgrFO1vIWTF9wqdMhpIVrt+XO80vgoWxf30yUScB/FI6dA+zbd20ms6EkIsY6uFin6pZpyuNYtwAr7/5sH8AupBXZxXz3k+q5a2mlMzOzDXTLNOVRbLhyGNJMl51zeaiQr7ewfz2SppNWlTNs2LDxO+yww6AK+tprr7HRRt0StwfP9R3aXN/OsMUDabj6hV2b+3dyM+r7wAMPPB0R21Ta1y0BBtKUwyJVSC++VpX0lBgxG5gNMGHChFi4sL+rnAysp6eHiRMnDuoc3cT1Hdpc3w6h7Gds6dL+89WpGfWV9HC1fZ0XqivrpfKdBUeyrsXSm0sr5oHKLSAzMytJtwSYJawba8nLj808SLpUezHfONLK3XqmRJuZ2SB1S4C5Htg2W+cCQHaXvZ2zfUS6K9580oUM86YCd4Rvw2pm1lItH4PJLp43OXu5PbClpCOy19dFxOrsGlELIuJogIi4I1vjcrmk40ktkrNJ136alzv9WUCPpAtJizAnZ9v7S6+YmZmtpx2D/KOB/yyk9b1+C+k6R5uw7oZAfY4kXeb9++QuFZPPEBG3Z8Hqa6R7PTwEHBURNzWx/GZmrdXiBfHN0vIAExHLWf/OdZXyjK2Q9hzwqWzr79i5FC4hY2ZmrdctYzBmZtZlHGDMzDrd+PFp6zLdtNDSzOz1afHidpegIW7BmJlZKRxgzMysFA4wZmZWCgcYMzMrhQOMmZmVwrPIzMw63bHHtrsEDXGAMTPrdLNnt7sEDXEXmZmZlcIBxsys0y1alLYu4y4yM7NON2FCeuyyqyq7BWNmZqVwgDEzs1I4wJiZWSkcYMzMrBQOMGZmVgoHGDMzK4WnKZuZdbqFC9tdgoY4wJiZdbouvF0yuIvMzMxK4gBjZtbppk9PW5dxgDEz63SXXJK2LuMAY2ZmpXCAMTOzUjjAmJlZKRxgzMysFA4wZmZWCi+0NDPrdHvs0e4SNMQBxsys03Xh7ZLBXWRmZlYSBxgzMyuFA4yZWaeT0tZlHGDMzKwUDjBmZlYKBxgzMyuFA4yZmZXCAcbMzErhAGNmZqXwSn4zs043a1a7S9AQBxgzs07XhbdLhjZ0kUnaTdItklZLekLSmZI2HuCYmZKiynZyLt9lVfKMK79mZmaW19IWjKRRwDzgPmAKsAtwHinQndrPod8FbiikfRA4Ebi+kL4E+FQhbXljJTYz6wCzZ6fHLmvJtLqL7NPAMOCwiFgJ3CxpS2CmpHOytA1ExGPAY/k0SV8FlkTE3YXsL0bEnSWU3cysPWbMSI9dFmBa3UV2CHBjIZDMIQWd/Wo9iaStgAOBK5pbPDMza5ZWB5hxpC6sP4uIR4DV2b5aHQFsSgpORbtJWinpZUm3S6o5cJmZWfMoIlr3ZtJa4ISIuLCQ/hhweUScUuN5bgVGRMT4QvoXgD+Rxni2Ab4EjAfeExG/rHKu6cB0gDFjxoyfM6dSzKrdqlWrGD58+KDO0U1c36HN9e0MEydNAqBn/vymnrcZ9Z00adKiiJhQcWdEtGwD1gJfqJD+OPD1Gs+xHfAqcHwNeYcBDwFzazn3+PHjY7Dmz58/6HN0E9d3aHN9OwSkrcmaUV9gYVT5TW11F1kvMLJC+gjguRrP8RFAwI8HyhgRa4DrgO68obWZWRdrdYBZQmGsRdIOwOYUxmb6cSRwe0Q8Wsf7tq4f0MzMgNYHmOuBgyVtkUubCqwBFgx0sKSxwD7UOHtM0jDSzLVF9RbUzKxj9HWSdZlWB5iLgZeBqyQdkA2wzwTOj9zUZUnLJH2vwvFHAq8AVxZ3SBoh6WeSZkjaX9JUYD6wPfCNEupiZmb9aOlCy4jolbQ/8G3gatK4ywWkIFMsV6XLxxwJ3BIRKyrsexlYQboiwGjgJeAOYL+IWNiUCpiZWc1afrHLiLgPeN8AecZWSf+bfo55CThsUIUzM+tE47MVGYu6q7ffV1M2M+t0ixe3uwQN8Q3HzMysFA4wZmZWCgcYMzMrhQOMmZmVwgHGzMxK4VlkZmad7thj212ChjjAmJl1ur5bJncZd5GZmVkp6gowkipdvsXMzMq0aFHXreKH+rvIHpd0OXBpRNxfRoHMzKxgQnbDyC67onK9XWSzgCOA30r6haTpkrYsoVxmZtbl6gowEXF6ROwMHAgsBc4HnpT0Q0kHlFFAMzPrTg0N8kfErRHxCWBb4PPA24EbJS2XNFPSXzSzkGZm1n0GO4tsAvBe0m2Qe4GfAccAyyR9fJDnNjOzLlZ3gJG0k6TTJT0I3AJsB/wj8BcR8Q/ATqSxmnObWlIzM+sqdc0ik3QrqcXyGHAZaTbZw/k8EfGqpB8BX2hWIc3MrPvUO035aWAycHNEv/Pl7gbe0nCpzMxsnYXdedf3egPMt4HFlYKLpOHAHhFxW0SsBR7e4GgzM6tf3y2Tu0y9YzDzgd2q7Ht7tt/MzKzuAKN+9g0HVg+iLGZmVsn06WnrMgN2kUl6LzAxl3SMpPcXsm0GHArc07yimZkZAJdckh677KrKtYzB7E1aTAkQwIeBVwp5/gQsAU5oXtHMzKybDRhgIuJcsjUtkh4CPhQRd5ddMDMz6251zSKLCE89NjOzmtQyBjMZuD0iVmbP+xUR1zWlZGZm1tVqacFcA+wD/DJ7HlSfTRaAb0pmZmY1BZi3AE/mnpuZWSvtsUe7S9CQWgb5H6703MzMWqQLb5cMtY3BvKmeE0aEF1uamVlNXWSrSGMrtfIYjJmZ1RRg/pH6AoyZmTWTsnlV/V7EvvPUMgZzWQvKYWZmQ8xgb5lsZmZWUS2D/L8EpkXEfZLuYoDusojYq1mFMzOz7lXLGMy9wJrc8+7qBDQzs7aoZQzmU7nn00otjZmZDRkNj8Eo2UZSfzchMzOz16m6rqYMf7745anA+Oz4VyQtAr4eEdc2uXxmZjZrVrtL0JC6AoykGcB3gFuALwB/BEYDhwH/LemfIqI7Pwkzs07VhbdLhvpbMKcAsyPiM4X0iyVdDHwFcIAxM7O6x2DeDFxVZd9PgK0GOoGk3STdImm1pCcknSmp38vLSBorKSpscyrknSLpHkkvSbpP0tSaamZm1qlmz05bl6m3BTMf2A+4ucK+/YDb+jtY0ihgHnAfMAXYBTiPFOhOreH9jwd+nnv9dOH87yEFuu8AxwGTgSsk9UbETTWc38ys88yYkR67rKusloWWu+Ve/gvwXUlvBuaybgzmQ8AhwDEDnO7TwDDgsIhYCdwsaUtgpqRzsrT+LI2IO/vZ/1Xgtog4Lns9X9LuwGmAA4yZWQvV0oL5LesvrhQwI9uKd7e8gf6vpnwIcGMhkMwBzia1gK6uoTwVSXojMInUcsmbA1wqaUREPN/o+c3MrD61BJhJTXy/ccCt+YSIeETS6mzfQAHmUklbkVpOVwBfiYi+qwzsAmwKLCkccz+pC25X4K7BFd/MzGpVy0r+BU18v1HAcxXSe7N91bwM/Cupm2slMBE4kRRUpuTOTYXz9xb2r0fSdGA6wJgxY+jp6emv/ANatWrVoM/RTVzfoc317QwTs8dml63s+ta90LKPpI2AzYrpNdzRstK1zFQlve+cTwKfyyX1SHoK+I6kv4mIu/s5v6qk9517NjAbYMKECTFx4sT+Sz+Anp4eBnuObuL6Dm2ub2dpdtnKrm9d05Szy8OcKGkZsBZ4ocLWn15gZIX0EVRu2fTnyuxxj9y5qXD+vtf1nt/MzAah3nUwxwEnAd8jtQy+DpwJPAAsJ+tq6scS0ljLn0naAdicDcdOBhKFxwdJQW9cId844LWsjGZm3Sei6+5mCfUHmGOB04FzstdzI+IMYHdSgHjbAMdfDxwsaYtc2lTS7QDqHes5IntcBBARL5PW6Xy4kG8qcIdnkJmZtVa9YzBvAe6OiFclrSXrfoqI1yR9B/guqYVTzcWkVtBVks4GdgZmAufnpy5nXXALIuLo7PVMYAvSIsuVwHuBE4CrIuI3ufOfRRqfuZC0Tmdytr2/znqamdkg1duCeQYYnj1/BHhXbt8o0iLKqiKiF9iftFbmauAM4AJSqyhvE9ZfT7OEtE7mUuA64Cjg3Owxf/7bSS2bA4Abgb8HjvIqfjPrauPHp63L1NuC+TmwJ+lH/kekFfhbAX8CPku6ynK/IuI+4H0D5BlbeD2HtGByQBExl9R6MTMbGhYvbncJGlJvgJkJbJ89/wapi2waqeVyM/D5ZhXMzMy6W10BJiKWAkuz5y+T7gnzhRLKZWZmXW4wCy3/EtgOeCIiHm9ekczMbCiod5AfSZ+R9CjwMPAL4BFJj0n6p6aXzszMula9K/lPA75NWs9yKDAhe7we+Jdsv5mZWd1dZJ8FvhERXy2k35BdG+yzpJX9ZmbWLMce2+4SNKTeADOM6netXIBnkZmZNV8X3i4Z6h+DmQscVmXf4cA1gyuOmZkNFbXcMnly7uX1wDmSxrLhLZN3B77c/CKamb3OLVqUHrtsNX8tXWTXsOGtkbcHDq6Q9wekO02amVmzTJiQHrvsisq1BJi3lF4KMzMb0NiTrl3v9fJvHtqmktSmllsmP9yKgpiZ2dBS90p+SZuQBvTfA2wFPAv8jHTp/FeaWzwzM+tWdQUYSaOBm4B3ku5g+RSwL2n9y68lHRQRK5pdSDMz6z71TlM+H3gzsHdE7BwR+0bEzsDeWfr5zS6gmZl1p3q7yCYDn4uIu/KJEXGXpJOBi5pWMjOz15niID50/kB+f+ptwbwReKHKvheANwyuOGZmtoGFC9PWZeoNMHcCJ0raPJ+YvT4x229mZs30Orll8peA+cCjkm4iDfKPJi26FDCxqaUzM7OuVe8dLe+W9DbgeGBP0myyJ4GLgfMj4unmF9HM7HVu+vT0uNWU9pajTjUHGEmbAnsBD0XESeUVyczM1nPJJenxxO4KMPWMwbwK3Ar8VUllMTOzIaTmABMRrwG/A8aUVxwzMxsq6p1F9hXgNEnvKKMwZmY2dNQ7i+xU0or9uyU9TppFtt71oyNiryaVzczMuli9Aea32WZmZtavmgKMpGGky8T8FvgDMC8iniqzYGZmltljj3aXoCG13DJ5Z2AeMDaXvFLSRyLiprIKZmZmmb5bJle4Vlknq2WQ/xzgNeDvgDcBuwO/AmaVWC4zM+tytQSYfYFTI+LnEfFSRNwPzAB2lLRducUzM7NuVUuA2Q74fSHtQdK1x7ZteonMzGx9Utq6TK3rYGLgLGZmZuvUOk35RkmvVEi/pZgeEaMHXywzM+t2tQSYM0ovhZmZDTkDBpiIcIAxM7O61XstMjMzs5o4wJiZWSnqvRaZmZm12qxsXXtxwUiHc4AxM+t0fbdMHoKXijEzM6ubWzBmZp1u9uzsyfZtLUa9Wt6CkbSbpFskrZb0hKQzJW08wDF7SrpU0rLsuKWSTpe0WSHfTElRYXt/ubUyMyvRjBlp6zItbcFIGkW69P99wBRgF+A8UqA7tZ9Dp2Z5zwZ+B7wTOCt7PLyQ93mgGFDuH2zZzcysPq3uIvs0MAw4LCJWAjdL2hKYKemcLK2SsyNiRe51j6SXgFmSdoqIh3P7XomIO8spvpmZ1arVXWSHADcWAskcUtDZr9pBheDS51fZo699ZmbWgVodYMYBS/IJEfEIsDrbV493k26EtrSQPlLS05LWSvqVpMMaLq2ZmTVMEa27Er+ktcAJEXFhIf0x4PKIOKXG82wL/Aa4LiKm5dI/TmrR3A0MJ90YbTJweERcVeVc04HpAGPGjBk/Z86cequ1nlWrVjF8+PBBnaObuL5Dm+vbWvc8/vwGae/YfgQTJ00C4KIfzN1g32A0o76TJk1aFBETKu1rxzTlShFNVdI3zCi9AfgPYBXwxfVOHPGDQt6rgf8BTgMqBpiImA3MBpgwYUJMnDixlmJU1dPTw2DP0U1c36HN9W2taRUWUi7/2MQ/Pz/vnk2q7mtE2fVtdRdZLzCyQvoI4LmBDpYk4HJgd2ByRPT2lz9S8+wq4J0DTYU2M+tYEWnrMq1uwSyhMNYiaQdgcwpjM1VcQJrefGBE1JK/T/d9M2ZmXa7VLZjrgYMlbZFLmwqsARb0d6Ckk4HPAx+PiNtrebOsxfMh4NcR8WpjRTYzs0a0OsBcDLwMXCXpgGyAfSZwfn7qcrZi/3u510cB3yB1jz0uaZ/ctk0u3wJJx0k6SNKHgGuBfbL3MDPrTuPHp63LtLSLLCJ6Je0PfBu4mjTucgEbBoBNgPyYyUHZ47Rsy/sUcFn2fBnwz8B2pCnMi4FDI+L6ZpTfzKwtFi9Ojwe2txj1avkssoi4D3jfAHnGFl5PY8PAUum4owdRNDMzayJfrt/MzErhAGNmZqVwgDEzs1I4wJiZWSl8R0szs0537LHtLkFDHGDMzDpd3y2TK1yrrJO5i8zMzErhFoyZWadbtKjdJWiIWzBmZp1uwoS0dRkHGDMzK4UDjJmZlcIBxszMSuEAY2ZmpXCAMTOzUjjAmJlZKRxgzMw63cKFaesyDjBmZp2uS2+Z7ABjZmal8KVizMw63fTp6XGrKe0tR50cYMzMOt0ll6THE7srwLiLzMzMSuEAY2ZmpXCAMTOzUjjAmJlZKRxgzMysFJ5FZmbW6fbYo90laIhbMGZmnW7Roq68bbIDjJmZlcIBxszMSuEAY2bW6aS0dRkHGDMzK4UDjJmZlcIBxszMSuEAY2ZmpXCAMTOzUjjAmJlZKXypGDOzTjdrVnr8fXuLUS8HGDOzFhl70rXrvV7+zUNrO7DvlsmF46udt65zl8hdZGZmVgq3YMzMOt3s2dmT7dtajHo5wJiZdboZM9Ljide0txx1cheZmZmVouUBRtJukm6RtFrSE5LOlLRxDceNkHSppF5Jz0v6oaQ3V8g3RdI9kl6SdJ+kqeXUxMzM+tPSLjJJo4B5wH3AFGAX4DxSoDt1gMN/DLwdOAZ4DTgbmAv8Xe787wF+AnwHOA6YDFwhqTcibmpqZczMMg3PDitRJ8wsa/UYzKeBYcBhEbESuFnSlsBMSedkaRuQtC9wMLBfRNyWpT0O/ELSARExL8v6VeC2iDguez1f0u7AaYADjJlZC7U6wBwC3FgIJHNIrZH9gKv7Oe6pvuACEBG/lPRQtm+epDcCk0gtl7w5wKWSRkTE802qh5kNcZ3YKhmsYp2+9I5XmFji+7U6wIwDbs0nRMQjklZn+6oFmHHAkgrp92f7IHW3bVoh3/2kLrhdgbsaK7ZZdxlM90j+2Hp+gBp9z0aOa9UxrwdjT7q2tM9BEVHKiSu+mbQWOCEiLiykPwZcHhGnVDnuZuDFiPhgIf0HwM4R8W5JfwvcDrwrIu7O5Xkr8Dvg4ErjMJKmA9kyWd4OLG24gsnWwNODPEc3cX2HNtd3aGtGfXeKiG0q7WjHOphKEU1V0hs5rvhaVdJTYsRsYHalfY2QtDAiJjTrfJ3O9R3aXN+hrez6tnqaci8wskL6COC5Bo4bmTuuN5dWzMMA5zczsyZrdYBZwroxEwAk7QBsTuUxlqrHZfJjMw8CayvkG0ea1vxAA+U1M7MGtTrAXA8cLGmLXNpUYA2wYIDjts3WuQAgaQKwc7aPiHgZmA98uHDsVOCOFs4ga1p3W5dwfYc213doK7W+rR7kH0VaZPlb0tTknYHzgQsj4tRcvmXAgog4Opd2A2km2PGsW2j5x4goLrTsAb5NWoQ5Ocv/fi+0NDNrrZa2YCKiF9gf2Jg0JfkM4ALg9ELWTbI8eUeSWjnfBy4HFgEfKpz/duAI4ADgRuDvgaMcXMzMWq+lLRgzM3v98NWUa1T2RTo7TSP1lbRnVtdl2XFLJZ0uabNWlbtRjX6/ueM3krRIUkj6QJllbYbB1FfSYZLukrRG0jOSbpC0edllHoxB/P+dIOmmrJ7PSponae9WlHkwJJ16vfQAAAR9SURBVL1V0ixJv5b0qqSeGo9r6u+V7wdTg7Iv0tlpBlHfqVnes0mLW98JnJU9Hl5ikQdlkN9vn2PokrtBDaa+ko4hjXGeA5wAjALeRwf/ljRa32yG6zxgMfCJLPkE4CZJ74yIh8ss9yDtThqDvhN4Qx3HNff3KiK8DbABJ5PW2WyZS/sysDqfVuG4fUkLPN+bS9srSzug3fUqob7bVEibntV3p3bXq9n1zeUdBawAjs7q+oF216mk73dr4AXg2HbXoUX1/TTwKjCy8F2/Cnym3fUaoM4b5Z5fCfTUcEzTf6/cRVabahfpHEa6SGd/x21wkU6g7yKdnaqh+kbEigrJv8oeRzeveE3X6Pfb5yzg58AtJZStDI3W9yPZ47+XVbCSNFrfTYFXgFW5tFVZmioe0SEi4rUGDmv675UDTG02uNhmRDxC+guo0gLQqsdl8hfp7ESN1reSd5Oa2oO9xluZGq6vpHcCnyJNh+8WjdZ3b9L3eLSkxyStlfQLSe8ur6hN0Wh9f5LlOU/SaEmjSbNee4H/LKms7dT03ysHmNqMovKlZnqzfc0+rt2aUm5J2wJfAf5fVLnXT4cYTH0vAv41IpY1vVTlabS+25L6508FTgT+N/AicIOkMc0uZBM1VN+IeIJ0C5DDgaey7TDShXMrtda7XdN/rxxgalf2RTo7zaDKLekNwH+QuhS+2MRylaXu+ko6kvSD+7WyClWiRr7fjYDhwNER8cOIuAH4IGlM4nPNL2JTNfL9bkcav1hE6iI6JHt+raQdyyhkB2jq75UDTG3KvEhnJ2q0vgBIEmkx7O7A5EgLbDtZ3fWVtClwLmmWzUaSRgJbZrs3L1wOqdM0+v0+mz329CVkLdNFwG7NKlwJGq3vCaTZcUdExA1ZQD2cFFC7qUu0Vk3/vXKAqU2ZF+nsRI3Wt88FpOmgUyKik+vZp5H6bg78JelSR73Z9uts3xzWTW7oRI1+v/eT/pItDnCLNM7WqRqt7zjg3ohY25cQEX8C7iVNdR5qmv575QBTm9Iu0tmhGq0vkk4GPg98PNKle7pBI/VdReqfz28fzfadAnysnKI2RaPf7zWkYDKpL0HSCGA864JrJ2q0vg8Df5119wKgdGv2vwaWl1DOdmv+71W752t3w0Ya4HoSuJl0nbPppB+YrxXyLQO+V0i7Afg9aXDwg6RZOD9rd53KqC9wFOkv3EuBfQrbBmtkOmUbzPdb2D+W7lgHM5h/z3OzYz8JHEr6gV4BjGp3vZpdX1LgXAtcm9X1A6Qf2rXA/2p3vQao85tI12U8AriD1Orqe/2mfr7fpv5etf2D6JaN1Md8K+mvnidJax82LuRZDlxWSBuZ/eA+B6wEfgRs3e76lFFf4LLsB7bSNq3ddSrj+y3s74oAM5j6kgb5/w14Jjt2HvCOdtenxPruD9xGGn96lhRQJ7a7PjXUt+/fYqVtbD/1bervlS92aWZmpfAYjJmZlcIBxszMSuEAY2ZmpXCAMTOzUjjAmJlZKRxgzMysFA4wZmZWCgcYMzMrxf8HHnvykp4UK7MAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for delta\n", + "plt.bar(result_delta['values'], result_delta['probabilities'], width=0.5/len(result_delta['probabilities']))\n", + "plt.plot([exact_delta, exact_delta], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Delta', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:52.763931Z", + "start_time": "2019-08-22T01:55:52.753702Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:52 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/credit_risk_analysis-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/credit_risk_analysis-checkpoint.ipynb new file mode 100644 index 000000000..9c2485029 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/credit_risk_analysis-checkpoint.ipynb @@ -0,0 +1,1469 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Credit Risk Analysis*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1]\n", + "\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "This tutorial shows how quantum algorithms can be used for credit risk analysis.\n", + "More precisecly, how Quantum Amplitude Estimation (QAE) can be used to estimate risk measures with a quadratic speed-up over classical Monte Carlo simulation.\n", + "The tutorial is based on the following papers:\n", + "- Quantum Risk Analysis. Stefan Woerner, Daniel J. Egger. [Woerner2019]\n", + "- Credit Risk Analysis using Quantum Computers. Egger et al. (2019) [Egger2019]\n", + "\n", + "A general introduction to QAE can be found in the following paper and tutorial:\n", + "- Quantum Amplitude Amplification and Estimation. Gilles Brassard et al.\n", + "- Qiskit Tutorial on Quantum Amplitude Estimation\n", + "\n", + "The structure of the tutorial is as follows:\n", + "1. [Problem Definition](#Problem-Definition)\n", + "2. [Uncertainty Model](#Uncertainty-Model)\n", + "3. [Expected Loss](#Expected-Loss)\n", + "4. [Cumulative Distribution Function](#Cumulative-Distribution-Function)\n", + "5. [Value at Risk](#Value-at-Risk)\n", + "6. [Conditional Value at Risk](#Conditional-Value-at-Risk)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import QuantumRegister, QuantumCircuit, BasicAer, execute\n", + "\n", + "from qiskit.aqua.components.uncertainty_models import GaussianConditionalIndependenceModel as GCI\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariatePiecewiseLinearObjective as PwlObjective\n", + "from qiskit.aqua.components.uncertainty_problems import MultivariateProblem\n", + "from qiskit.aqua.circuits import WeightedSumOperator\n", + "from qiskit.aqua.circuits import FixedValueComparator as Comparator\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# define backend to be used\n", + "backend = BasicAer.get_backend('statevector_simulator')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Problem Definition\n", + "\n", + "In this tutorial we want to analyze the credit risk of a portfolio of $K$ assets.\n", + "The default probability of every asset $k$ follows a *Gaussian Conditional Independence* model, i.e., given a value $z$ sampled from a latent random variable $Z$ following a standard normal distribution, the default probability of asset $k$ is given by\n", + "\n", + "$$p_k(z) = F\\left( \\frac{F^{-1}(p_k^0) - \\sqrt{\\rho_k}z}{\\sqrt{1 - \\rho_k}} \\right) $$\n", + "\n", + "where $F$ denotes the cummulative distribution function of $Z$, $p_k^0$ is the default probability of asset $k$ for $z=0$ and $\\rho_k$ is the sensitivity of the default probability of asset $k$ with respect to $Z$. Thus, given a concrete realization of $Z$ the individual default events are assumed to be independent from each other.\n", + "\n", + "We are interested in analyzing risk measures of the total loss\n", + "\n", + "$$ L = \\sum_{k=1}^K \\lambda_k X_k(Z) $$\n", + "\n", + "where $\\lambda_k$ denotes the \\emph{loss given default} of asset $k$, and given $Z$, $X_k(Z)$ denotes a Bernoulli variable representing the default event of asset $k$. More precisely, we are interested in the expected value $\\mathbb{E}[L]$, the Value at Risk (VaR) of $L$ and the Conditional Value at Risk of $L$ (also called Expected Shortfall). Where VaR and CVaR are defined as\n", + "\n", + "$$ \\text{VaR}_{\\alpha}(L) = \\inf \\{ x \\mid \\mathbb{P}[L <= x] \\geq 1 - \\alpha \\}$$\n", + "\n", + "with confidence level $\\alpha \\in [0, 1]$, and\n", + "\n", + "$$ \\text{CVaR}_{\\alpha}(L) = \\mathbb{E}[ L \\mid L \\geq \\text{VaR}_{\\alpha}(L) ].$$\n", + "\n", + "For more details on the considered model, see, e.g.,
\n", + "Regulatory Capital Modelling for Credit Risk. Marek Rutkowski, Silvio Tarca\n", + "\n", + "\n", + "\n", + "The problem is defined by the following parameters:\n", + "- number of qubits used to represent $Z$, denoted by $n_z$\n", + "- trunaction value for $Z$, denoted by $z_{\\text{max}}$, i.e., Z is assumed to take $2^{n_z}$ equidistant values in $\\{-z_{max}, ..., +z_{max}\\}$ \n", + "- the base default probabilities for each asset $p_0^k \\in (0, 1)$, $k=1, ..., K$\n", + "- sensitivities of the default probabilities with respect to $Z$, denoted by $\\rho_k \\in [0, 1)$\n", + "- loss given default for asset $k$, denoted by $\\lambda_k$\n", + "- confidence level for VaR / CVaR $\\alpha \\in [0, 1]$." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# set problem parameters\n", + "n_z = 2\n", + "z_max = 2\n", + "z_values = np.linspace(-z_max, z_max, 2**n_z)\n", + "p_zeros = [0.15, 0.25]\n", + "rhos = [0.1, 0.05]\n", + "lgd = [1, 2]\n", + "K = len(p_zeros)\n", + "alpha = 0.05" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We now construct a circuit that loads the uncertainty model. This can be achieved by creating a quantum state in a register of $n_z$ qubits that represents $Z$ following a standard normal distribution. This state is then used to control single qubit Y-rotations on a second qubit register of $K$ qubits, where a $|1\\rangle$ state of qubit $k$ represent the default event of asset $k$. The resulting quantum state can be written as\n", + "\n", + "$$ |\\Psi\\rangle = \\sum_{i=0}^{2^{n_z}-1} \\sqrt{p_z^i} |z_i \\rangle \\bigotimes_{k=1}^K \n", + "\\left( \\sqrt{1 - p_k(z_i)}|0\\rangle + \\sqrt{p_k(z_i)}|1\\rangle\\right),$$\n", + "\n", + "where we denote by $z_i$ the $i$-th value of the discretized and trucated $Z$ [Egger2019]." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# construct circuit factory for uncertainty model (Gaussian Conditional Independence model)\n", + "u = GCI(n_z, z_max, p_zeros, rhos)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# determine the number of qubits required to represent the uncertainty model\n", + "num_qubits = u.num_target_qubits\n", + "\n", + "# initialize quantum register and circuit\n", + "q = QuantumRegister(num_qubits, name='q')\n", + "qc = QuantumCircuit(q)\n", + "\n", + "# construct circuit\n", + "u.build(qc, q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now use the simulator to validate the circuit that constructs $|\\Psi\\rangle$ and compute the corresponding exact values for\n", + "- expected loss $\\mathbb{E}[L]$\n", + "- PDF and CDF of $L$ \n", + "- value at risk $VaR(L)$ and corresponding probability\n", + "- conditional value at risk $CVaR(L)$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# run the circuit and analyze the results\n", + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# analyze uncertainty circuit and determine exact solutions\n", + "p_z = np.zeros(2**n_z)\n", + "p_default = np.zeros(K)\n", + "values = []\n", + "probabilities = []\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " \n", + " # get binary representation\n", + " b = ('{0:0%sb}' % num_qubits).format(i)\n", + " prob = np.abs(a)**2\n", + "\n", + " # extract value of Z and corresponding probability \n", + " i_normal = int(b[-n_z:], 2)\n", + " p_z[i_normal] += prob\n", + "\n", + " # determine overall default probability for k \n", + " loss = 0\n", + " for k in range(K):\n", + " if b[K - k - 1] == '1':\n", + " p_default[k] += prob\n", + " loss += lgd[k]\n", + " values += [loss]\n", + " probabilities += [prob] \n", + "\n", + "values = np.array(values)\n", + "probabilities = np.array(probabilities)\n", + " \n", + "expected_loss = np.dot(values, probabilities)\n", + "\n", + "losses = np.sort(np.unique(values))\n", + "pdf = np.zeros(len(losses))\n", + "for i, v in enumerate(losses):\n", + " pdf[i] += sum(probabilities[values == v])\n", + "cdf = np.cumsum(pdf)\n", + "\n", + "i_var = np.argmax(cdf >= 1-alpha)\n", + "exact_var = losses[i_var]\n", + "exact_cvar = np.dot(pdf[(i_var+1):], losses[(i_var+1):])/sum(pdf[(i_var+1):])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expected Loss E[L]: 0.6409\n", + "Value at Risk VaR[L]: 2.0000\n", + "P[L <= VaR[L]]: 0.9591\n", + "Conditional Value at Risk CVaR[L]: 3.0000\n" + ] + }, + { + "data": { + "image/png": "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84AXgSdE5AIR+SXwErALeDjID2CMMaasQAsTVd0A9ALycI8Bj8Z1Rrw1atPq3jaRzgNeAO4DnsMVJD29fRpjjAlR4E9zqernuGFQ4m1TECNtC3CZtxhjjKlEbD4TY4wxabNBEk1gnj776bBDMMnqYtcsLa1bhx1BYKwwMYFpUT93JgqqMvaza5aWmjXDjiAwdpvLBGbyp5OZ/OnksMMwyfh2sltMar7/3i05wAoTE5hH5z3Ko/MeDTsMk4wvH3VLFdOvXz+OOuqoctdfccUVNGzYkJ07dybc1+7duxGR0qVOnTp06NCBe+65h90rV8Latftsv2XLFpo2bcrs2bNL0w455BBuuOGGco9xySWXcMkll/j4ZOGxwsQYk3OGDx/Op59+ymeffVZm3Z49e3juuecYMGAAtWrV8r3P6667jrlz5/Lqq69y2mmncd1113Hv3/5WZru//OUvtGvXjm7duiW176eeeiozUwlXECtMjDE558wzzyQ/P5/i4uIy6/71r3+xevVqhg8fntQ+W7duTefOnenZsyf3338/vXr14u8vvrjPNnv27OGRRx7hoosuSmrfhx56KJ07d+axxx5LKl+QrDAxxuScunXr0q9fPyZPLtseVFxczIEHHsgpp5zCihUruPDCC2ndujV16tShbdu23HrrrezatSvhMY455hiWRU3b+9Zbb7F69WrOPvvspGMeOHAgTz/9dMLRisNiT3MZYzJnRo+yaS2HQNvLYfc2mNm37Po2hW7ZsQ7+Pajs+sMug1ZDYesymHt+2fXtr05p7LDhw4czZcoU5s+fz3HHHQfArl27eP755zn33HPJy8tj7dq1NGnShPvvv58GDRqwaNEiRo8ezbp163j44fgjOS1dupTWhxyyT9rbb7/N4YcfToMGsQZPj69r166sXLmSzz//nCOOOCLp/BXNChMTmOeGPBd2CCZZv6i616xPnz40aNCA4uLi0sLkjTfe4Pvvvy+9xdWxY0c6duxYmqdbt27UqVOHSy+9lL/85S/7jCS8d+9edu/ezbZt23jppZd48cUXmfTUU9CmTek28+fP58gURxA+6qijEBE++OADK0xMbmuS3yTsEEyyaid5zXrPLH9d9fz462s3ib9+vxbx1yepVq1anH322UyZMoW7774bEWHy5Mm0atWKzp07A66AGDduHBMmTGDJkiX7TNG7fPly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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "print('Expected Loss E[L]: %.4f' % expected_loss)\n", + "print('Value at Risk VaR[L]: %.4f' % exact_var)\n", + "print('P[L <= VaR[L]]: %.4f' % cdf[exact_var])\n", + "print('Conditional Value at Risk CVaR[L]: %.4f' % exact_cvar)\n", + "\n", + "# plot loss PDF, expected loss, var, and cvar\n", + "plt.bar(losses, pdf)\n", + "plt.axvline(expected_loss, color='green', linestyle='--', label='E[L]')\n", + "plt.axvline(exact_var, color='orange', linestyle='--', label='VaR(L)')\n", + "plt.axvline(exact_cvar, color='red', linestyle='--', label='CVaR(L)')\n", + "plt.legend(fontsize=15)\n", + "plt.xlabel('Loss L ($)', size=15)\n", + "plt.ylabel('probability (%)', size=15)\n", + "plt.title('Loss Distribution', size=20)\n", + "plt.xticks(size=15)\n", + "plt.yticks(size=15)\n", + "plt.show()\n", + "\n", + "# plot results for Z\n", + "plt.plot(z_values, p_z, 'o-', linewidth=3, markersize=8)\n", + "plt.grid()\n", + "plt.xlabel('Z value', size=15)\n", + "plt.ylabel('probability (%)', size=15)\n", + "plt.title('Z Distribution', size=20)\n", + "plt.xticks(size=15)\n", + "plt.yticks(size=15)\n", + "plt.show()\n", + "\n", + "# plot results for default probabilities\n", + "plt.bar(range(K), p_default)\n", + "plt.xlabel('Asset', size=15)\n", + "plt.ylabel('probability (%)', size=15)\n", + "plt.title('Individual Default Probabilities', size=20)\n", + "plt.xticks(range(K), size=15)\n", + "plt.yticks(size=15)\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Expected Loss\n", + "\n", + "To estimate the expected loss, we first apply a weighted sum operator to sum up individual losses to total loss:\n", + "\n", + "$$ \\mathcal{S}: |x_1, ..., x_K \\rangle_K |0\\rangle_{n_S} \\mapsto |x_1, ..., x_K \\rangle_K |\\lambda_1x_1 + ... + \\lambda_K x_K\\rangle_{n_S}. $$\n", + "\n", + "The required number of qubits to represent the result is given by\n", + "\n", + "$$ n_s = \\lfloor \\log_2( \\lambda_1 + ... + \\lambda_K ) \\rfloor + 1. $$\n", + "\n", + "Once we have the total loss distribution in a quantum register, we can use the techniques described in [Woerner2019] to map a total loss $L \\in \\{0, ..., 2^{n_s}-1\\}$ to the amplitude of an objective qubit by an operator\n", + "\n", + "$$ | L \\rangle_{n_s}|0\\rangle \\mapsto \n", + "| L \\rangle_{n_s} \\left( \\sqrt{1 - L/(2^{n_s}-1)}|0\\rangle + \\sqrt{L/(2^{n_s}-1)}|1\\rangle \\right), $$\n", + "\n", + "which allows to run amplitude estimation to evaluate the expected loss." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# determine number of qubits required to represent total loss\n", + "n_s = WeightedSumOperator.get_required_sum_qubits(lgd)\n", + "\n", + "# create circuit factory (add Z qubits with weight/loss 0)\n", + "agg = WeightedSumOperator(n_z + K, [0]*n_z + lgd)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# define linear objective function\n", + "breakpoints = [0]\n", + "slopes = [1]\n", + "offsets = [0]\n", + "f_min = 0\n", + "f_max = sum(lgd)\n", + "c_approx = 0.25\n", + "\n", + "objective = PwlObjective(\n", + " agg.num_sum_qubits,\n", + " 0,\n", + " 2**agg.num_sum_qubits-1, # max value that can be reached by the qubit register (will not always be reached)\n", + " breakpoints, \n", + " slopes, \n", + " offsets, \n", + " f_min, \n", + " f_max, \n", + " c_approx\n", + ")\n", + "\n", + "# define overall multivariate problem\n", + "multivariate = MultivariateProblem(u, agg, objective)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we use QAE to estimate the expected loss, we validate the quantum circuit representing the objective function by just simulating it directly and analyzing the probability of the objective qubit being in the $|1\\rangle$ state, i.e., the value QAE will eventually approximate." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "num_qubits = multivariate.num_target_qubits\n", + "num_ancillas = multivariate.required_ancillas()\n", + "\n", + "q = QuantumRegister(num_qubits, name='q')\n", + "q_a = QuantumRegister(num_ancillas, name='q_a')\n", + "qc = QuantumCircuit(q, q_a)\n", + "\n", + "multivariate.build(qc, q, q_a)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                              ┌───┐┌────────────────┐┌───┐»\n",
+       "  q_0: |0>────────────────────────────────────┤ X ├┤ U3(0.7907,0,0) ├┤ X ├»\n",
+       "          ┌──────────────┐     ┌───────┐      └─┬─┘└────────────────┘└─┬─┘»\n",
+       "  q_1: |0>┤ U3(pi/2,0,0) ├─────┤ U1(0) ├────────■──────────────────────■──»\n",
+       "          └┬────────────┬┘┌────┴───────┴─────┐                            »\n",
+       "  q_2: |0>─┤ Ry(1.1847) ├─┤ U3(-0.14182,0,0) ├────────────────────────────»\n",
+       "           ├────────────┤ ├──────────────────┤                            »\n",
+       "  q_3: |0>─┤ Ry(1.3696) ├─┤ U3(-0.11174,0,0) ├────────────────────────────»\n",
+       "           └────────────┘ └──────────────────┘                            »\n",
+       "  q_4: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_0: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_1: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_2: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "«       ┌──────────────┐┌───┐┌───────┐┌───┐┌───────┐                        »\n",
+       "«  q_0: ┤ U3(pi/2,0,0) ├┤ X ├┤ U1(0) ├┤ X ├┤ U1(0) ├──■─────────────────────»\n",
+       "«       └──────────────┘└─┬─┘└───────┘└─┬─┘└───────┘  │                     »\n",
+       "«  q_1: ──────────────────■─────────────■─────────────┼─────────────────────»\n",
+       "«                                                   ┌─┴─┐┌─────────────────┐»\n",
+       "«  q_2: ────────────────────────────────────────────┤ X ├┤ U3(0.14182,0,0) ├»\n",
+       "«                                                   └───┘└─────────────────┘»\n",
+       "«  q_3: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«  q_4: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_0: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_1: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_2: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«                                                             »\n",
+       "«  q_0: ──■────■───────────────────────────────────────────■──»\n",
+       "«         │    │                                           │  »\n",
+       "«  q_1: ──┼────┼───────────────────────────────■───────────┼──»\n",
+       "«       ┌─┴─┐  │  ┌──────────────────┐       ┌─┴─┐         │  »\n",
+       "«  q_2: ┤ X ├──┼──┤ U3(-0.28365,0,0) ├───────┤ X ├─────────┼──»\n",
+       "«       └───┘┌─┴─┐└──────────────────┘┌──────┴───┴──────┐┌─┴─┐»\n",
+       "«  q_3: ─────┤ X ├────────────────────┤ U3(0.11174,0,0) ├┤ X ├»\n",
+       "«            └───┘                    └─────────────────┘└───┘»\n",
+       "«  q_4: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_0: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_1: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_2: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«                                                                            ░ »\n",
+       "«  q_0: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«  q_1: ────────────────────────────■────────────■───────────────────────■───░─»\n",
+       "«       ┌─────────────────┐       ┌─┴─┐          │                       │   ░ »\n",
+       "«  q_2: ┤ U3(0.28365,0,0) ├───────┤ X ├──────────┼───────────────────────┼───░─»\n",
+       "«       └─────────────────┘┌──────┴───┴───────┐┌─┴─┐┌─────────────────┐┌─┴─┐ ░ »\n",
+       "«  q_3: ───────────────────┤ U3(-0.22349,0,0) ├┤ X ├┤ U3(0.22349,0,0) ├┤ X ├─░─»\n",
+       "«                          └──────────────────┘└───┘└─────────────────┘└───┘ ░ »\n",
+       "«  q_4: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_0: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_1: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_2: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«                                                ░              »\n",
+       "«  q_0: ─────────────────────────────────────────░──────────────»\n",
+       "«                                                ░              »\n",
+       "«  q_1: ─────────────────────────────────────────░──────────────»\n",
+       "«                                                ░              »\n",
+       "«  q_2: ──■────■────■─────────■──────────────────░──────────────»\n",
+       "«         │    │    │         │                  ░              »\n",
+       "«  q_3: ──┼────┼────┼─────────┼────■────■────────░──────────────»\n",
+       "«         │    │    │         │    │    │        ░ ┌───────────┐»\n",
+       "«  q_4: ──┼────┼────┼─────────┼────┼────┼────────░─┤ Ry(3pi/8) ├»\n",
+       "«         │  ┌─┴─┐  │  ┌───┐  │    │    │  ┌───┐ ░ └───────────┘»\n",
+       "«q_a_0: ──■──┤ X ├──┼──┤ X ├──■────┼────┼──┤ X ├─░──────────────»\n",
+       "«         │  └───┘┌─┴─┐└───┘  │  ┌─┴─┐┌─┴─┐└───┘ ░              »\n",
+       "«q_a_1: ──┼───────┤ X ├───────┼──┤ X ├┤ X ├──────░──────────────»\n",
+       "«       ┌─┴─┐     └─┬─┘     ┌─┴─┐└───┘└─┬─┘      ░              »\n",
+       "«q_a_2: ┤ X ├───────■───────┤ X ├───────■────────░──────────────»\n",
+       "«       └───┘               └───┘                ░              »\n",
+       "«                                                                          »\n",
+       "«  q_0: ───────────────────────────────────────────────────────────────────»\n",
+       "«                                                                          »\n",
+       "«  q_1: ───────────────────────────────────────────────────────────────────»\n",
+       "«                                                                          »\n",
+       "«  q_2: ───────────────────────────────────────────────────────────────────»\n",
+       "«                                                                          »\n",
+       "«  q_3: ───────────────────────────────────────────────────────────────────»\n",
+       "«       ┌───────────────┐┌───┐┌────────────────┐┌───┐┌───────────────┐┌───┐»\n",
+       "«  q_4: ┤ U3(pi/24,0,0) ├┤ X ├┤ U3(-pi/24,0,0) ├┤ X ├┤ U3(pi/12,0,0) ├┤ X ├»\n",
+       "«       └───────────────┘└─┬─┘└────────────────┘└─┬─┘└───────────────┘└─┬─┘»\n",
+       "«q_a_0: ───────────────────■──────────────────────■─────────────────────┼──»\n",
+       "«                                                                       │  »\n",
+       "«q_a_1: ────────────────────────────────────────────────────────────────■──»\n",
+       "«                                                                          »\n",
+       "«q_a_2: ───────────────────────────────────────────────────────────────────»\n",
+       "«                                                                          »\n",
+       "«                               ░                                          ░ \n",
+       "«  q_0: ────────────────────────░──────────────────────────────────────────░─\n",
+       "«                               ░                                          ░ \n",
+       "«  q_1: ────────────────────────░──────────────────────────────────────────░─\n",
+       "«                               ░                                          ░ \n",
+       "«  q_2: ────────────────────────░──────────────────■────■─────────■────■───░─\n",
+       "«                               ░                  │    │         │    │   ░ \n",
+       "«  q_3: ────────────────────────░───■─────────■────┼────┼─────────┼────┼───░─\n",
+       "«       ┌────────────────┐┌───┐ ░   │         │    │    │         │    │   ░ \n",
+       "«  q_4: ┤ U3(-pi/12,0,0) ├┤ X ├─░───┼─────────┼────┼────┼─────────┼────┼───░─\n",
+       "«       └────────────────┘└─┬─┘ ░   │  ┌───┐  │    │    │  ┌───┐┌─┴─┐  │   ░ \n",
+       "«q_a_0: ────────────────────┼───░───┼──┤ X ├──┼────■────┼──┤ X ├┤ X ├──■───░─\n",
+       "«                           │   ░ ┌─┴─┐└───┘┌─┴─┐  │  ┌─┴─┐└───┘└───┘  │   ░ \n",
+       "«q_a_1: ────────────────────■───░─┤ X ├─────┤ X ├──┼──┤ X ├────────────┼───░─\n",
+       "«                               ░ └─┬─┘     └───┘┌─┴─┐└─┬─┘          ┌─┴─┐ ░ \n",
+       "«q_a_2: ────────────────────────░───■────────────┤ X ├──■────────────┤ X ├─░─\n",
+       "«                               ░                └───┘               └───┘ ░ 
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qc.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact Expected Loss: 0.6409\n", + "Exact Operator Value: 0.3906\n", + "Mapped Operator value: 0.6640\n" + ] + } + ], + "source": [ + "# evaluate resulting statevector\n", + "value = 0\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " b = ('{0:0%sb}' % multivariate.num_target_qubits).format(i)[-multivariate.num_target_qubits:]\n", + " am = np.round(np.real(a), decimals=4)\n", + " if np.abs(am) > 1e-6 and b[0] == '1':\n", + " value += am**2\n", + "\n", + "print('Exact Expected Loss: %.4f' % expected_loss) \n", + "print('Exact Operator Value: %.4f' % value)\n", + "print('Mapped Operator value: %.4f' % multivariate.value_to_estimation(value))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we run QAE to estimate the expected loss with a quandratic speed-up over classical Monte Carlo simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.6409\n", + "Estimated value:\t0.7548\n", + "Probability: \t0.9507\n" + ] + } + ], + "source": [ + "# run amplitude estimation\n", + "num_eval_qubits = 5\n", + "ae = AmplitudeEstimation(num_eval_qubits, multivariate)\n", + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))\n", + "\n", + "# print results\n", + "print('Exact value: \\t%.4f' % expected_loss)\n", + "print('Estimated value:\\t%.4f' % result['estimation'])\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for expected loss (after re-scaling and reversing the c_approx-transformation)\n", + "plt.bar(result['mapped_values'], result['probabilities'], width=1/len(result['probabilities']))\n", + "plt.axvline(expected_loss, color='red', linestyle='--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Expected Loss', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cumulative Distribution Function\n", + "\n", + "Instead of the expected loss (which could also be estimated efficiently using classical techniques) we now estimate the cummulitave distribution function (CDF) of the loss.\n", + "Classically, this either involves evaluating all the possible combinations of defaulting assets, or many classical samples in a Monte Carlo simulation. Algoritms based on QAE have the potential to significantly speed up this analysis in the future.\n", + "\n", + "To estimate the CDF, i.e., in the probability $ \\mathbb{P}[L \\leq x] $, we again apply $\\mathcal{S}$ to compute the total loss, and then apply a comparator that for a given value $x$ acts as\n", + "\n", + "$$ \\mathcal{C}: |L\\rangle_n|0> \\mapsto \n", + "\\begin{cases} \n", + "|L\\rangle_n|1> & \\text{if}\\quad L \\leq x \\\\\n", + "|L\\rangle_n|0> & \\text{if}\\quad L > x.\n", + "\\end{cases} $$\n", + "\n", + "The resulting quantum state can be written as\n", + "\n", + "$$ \\sum_{L = 0}^{x} \\sqrt{p_{L}}|L\\rangle_{n_s}|1\\rangle + \n", + "\\sum_{L = x+1}^{2^{n_s}-1} \\sqrt{p_{L}}|L\\rangle_{n_s}|1\\rangle, $$\n", + "\n", + "where we directly assume the summed up loss values and corresponding probabilities instead of presenting the details of the uncertainty model.\n", + "\n", + "The CDF($x$) equals the probability of measuring $|1\\rangle$ in the objective qubit and QAE can be directly used to estimate it." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# define value x to evaluate the CDF(x)\n", + "def get_cdf_operator_factory(x_eval):\n", + "\n", + " # comparator as objective\n", + " cdf_objective = Comparator(agg.num_sum_qubits, x_eval+1, geq=False)\n", + " \n", + " # define overall uncertainty problem\n", + " multivariate_cdf = MultivariateProblem(u, agg, cdf_objective)\n", + " \n", + " return multivariate_cdf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, we first use quantum simulation to validate the quantum circuit." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# set x value to estimate the CDF\n", + "x_eval = 2" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# get operator\n", + "multivariate_cdf = get_cdf_operator_factory(x_eval)\n", + "\n", + "# get required number of qubits\n", + "num_qubits = multivariate_cdf.num_target_qubits\n", + "num_ancillas = multivariate_cdf.required_ancillas() # TODO: why do we need two more ancillas?\n", + "\n", + "# construct circuit\n", + "q = QuantumRegister(num_qubits, name='q')\n", + "q_a = QuantumRegister(num_ancillas, name='q_a')\n", + "qc = QuantumCircuit(q, q_a)\n", + "\n", + "multivariate_cdf.build(qc, q, q_a)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                              ┌───┐┌────────────────┐┌───┐»\n",
+       "  q_0: |0>────────────────────────────────────┤ X ├┤ U3(0.7907,0,0) ├┤ X ├»\n",
+       "          ┌──────────────┐     ┌───────┐      └─┬─┘└────────────────┘└─┬─┘»\n",
+       "  q_1: |0>┤ U3(pi/2,0,0) ├─────┤ U1(0) ├────────■──────────────────────■──»\n",
+       "          └┬────────────┬┘┌────┴───────┴─────┐                            »\n",
+       "  q_2: |0>─┤ Ry(1.1847) ├─┤ U3(-0.14182,0,0) ├────────────────────────────»\n",
+       "           ├────────────┤ ├──────────────────┤                            »\n",
+       "  q_3: |0>─┤ Ry(1.3696) ├─┤ U3(-0.11174,0,0) ├────────────────────────────»\n",
+       "           └────────────┘ └──────────────────┘                            »\n",
+       "  q_4: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_0: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_1: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "q_a_2: |0>────────────────────────────────────────────────────────────────»\n",
+       "                                                                          »\n",
+       "«       ┌──────────────┐┌───┐┌───────┐┌───┐┌───────┐                        »\n",
+       "«  q_0: ┤ U3(pi/2,0,0) ├┤ X ├┤ U1(0) ├┤ X ├┤ U1(0) ├──■─────────────────────»\n",
+       "«       └──────────────┘└─┬─┘└───────┘└─┬─┘└───────┘  │                     »\n",
+       "«  q_1: ──────────────────■─────────────■─────────────┼─────────────────────»\n",
+       "«                                                   ┌─┴─┐┌─────────────────┐»\n",
+       "«  q_2: ────────────────────────────────────────────┤ X ├┤ U3(0.14182,0,0) ├»\n",
+       "«                                                   └───┘└─────────────────┘»\n",
+       "«  q_3: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«  q_4: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_0: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_1: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«q_a_2: ────────────────────────────────────────────────────────────────────»\n",
+       "«                                                                           »\n",
+       "«                                                             »\n",
+       "«  q_0: ──■────■───────────────────────────────────────────■──»\n",
+       "«         │    │                                           │  »\n",
+       "«  q_1: ──┼────┼───────────────────────────────■───────────┼──»\n",
+       "«       ┌─┴─┐  │  ┌──────────────────┐       ┌─┴─┐         │  »\n",
+       "«  q_2: ┤ X ├──┼──┤ U3(-0.28365,0,0) ├───────┤ X ├─────────┼──»\n",
+       "«       └───┘┌─┴─┐└──────────────────┘┌──────┴───┴──────┐┌─┴─┐»\n",
+       "«  q_3: ─────┤ X ├────────────────────┤ U3(0.11174,0,0) ├┤ X ├»\n",
+       "«            └───┘                    └─────────────────┘└───┘»\n",
+       "«  q_4: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_0: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_1: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«q_a_2: ──────────────────────────────────────────────────────»\n",
+       "«                                                             »\n",
+       "«                                                                            ░ »\n",
+       "«  q_0: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«  q_1: ────────────────────────────■────────────■───────────────────────■───░─»\n",
+       "«       ┌─────────────────┐       ┌─┴─┐          │                       │   ░ »\n",
+       "«  q_2: ┤ U3(0.28365,0,0) ├───────┤ X ├──────────┼───────────────────────┼───░─»\n",
+       "«       └─────────────────┘┌──────┴───┴───────┐┌─┴─┐┌─────────────────┐┌─┴─┐ ░ »\n",
+       "«  q_3: ───────────────────┤ U3(-0.22349,0,0) ├┤ X ├┤ U3(0.22349,0,0) ├┤ X ├─░─»\n",
+       "«                          └──────────────────┘└───┘└─────────────────┘└───┘ ░ »\n",
+       "«  q_4: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_0: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_1: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«q_a_2: ─────────────────────────────────────────────────────────────────────░─»\n",
+       "«                                                                            ░ »\n",
+       "«                                                ░                 ░           »\n",
+       "«  q_0: ─────────────────────────────────────────░─────────────────░───────────»\n",
+       "«                                                ░                 ░           »\n",
+       "«  q_1: ─────────────────────────────────────────░─────────────────░───────────»\n",
+       "«                                                ░                 ░           »\n",
+       "«  q_2: ──■────■────■─────────■──────────────────░─────────────────░───────────»\n",
+       "«         │    │    │         │                  ░                 ░           »\n",
+       "«  q_3: ──┼────┼────┼─────────┼────■────■────────░─────────────────░───■───────»\n",
+       "«         │    │    │         │    │    │        ░      ┌───┐┌───┐ ░   │       »\n",
+       "«  q_4: ──┼────┼────┼─────────┼────┼────┼────────░──────┤ X ├┤ X ├─░───┼───────»\n",
+       "«         │  ┌─┴─┐  │  ┌───┐  │    │    │  ┌───┐ ░      └─┬─┘└───┘ ░   │  ┌───┐»\n",
+       "«q_a_0: ──■──┤ X ├──┼──┤ X ├──■────┼────┼──┤ X ├─░───■────┼────■───░───┼──┤ X ├»\n",
+       "«         │  └───┘┌─┴─┐└───┘  │  ┌─┴─┐┌─┴─┐└───┘ ░   │    │    │   ░ ┌─┴─┐└───┘»\n",
+       "«q_a_1: ──┼───────┤ X ├───────┼──┤ X ├┤ X ├──────░───┼────■────┼───░─┤ X ├─────»\n",
+       "«       ┌─┴─┐     └─┬─┘     ┌─┴─┐└───┘└─┬─┘      ░ ┌─┴─┐  │  ┌─┴─┐ ░ └─┬─┘     »\n",
+       "«q_a_2: ┤ X ├───────■───────┤ X ├───────■────────░─┤ X ├──■──┤ X ├─░───■───────»\n",
+       "«       └───┘               └───┘                ░ └───┘     └───┘ ░           »\n",
+       "«                                      ░ \n",
+       "«  q_0: ───────────────────────────────░─\n",
+       "«                                      ░ \n",
+       "«  q_1: ───────────────────────────────░─\n",
+       "«                                      ░ \n",
+       "«  q_2: ───────■────■─────────■────■───░─\n",
+       "«              │    │         │    │   ░ \n",
+       "«  q_3: ──■────┼────┼─────────┼────┼───░─\n",
+       "«         │    │    │         │    │   ░ \n",
+       "«  q_4: ──┼────┼────┼─────────┼────┼───░─\n",
+       "«         │    │    │  ┌───┐┌─┴─┐  │   ░ \n",
+       "«q_a_0: ──┼────■────┼──┤ X ├┤ X ├──■───░─\n",
+       "«       ┌─┴─┐  │  ┌─┴─┐└───┘└───┘  │   ░ \n",
+       "«q_a_1: ┤ X ├──┼──┤ X ├────────────┼───░─\n",
+       "«       └───┘┌─┴─┐└─┬─┘          ┌─┴─┐ ░ \n",
+       "«q_a_2: ─────┤ X ├──■────────────┤ X ├─░─\n",
+       "«            └───┘               └───┘ ░ 
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qc.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Operator CDF(2) = 0.9591\n", + "Exact CDF(2) = 0.9591\n" + ] + } + ], + "source": [ + "# evaluate resulting statevector\n", + "var_prob = 0\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " b = ('{0:0%sb}' % multivariate_cdf.num_target_qubits).format(i)[-multivariate_cdf.num_target_qubits:]\n", + " prob = np.abs(a)**2\n", + " if prob > 1e-6 and b[0] == '1':\n", + " var_prob += prob\n", + "print('Operator CDF(%s)' % x_eval + ' = %.4f' % var_prob)\n", + "print('Exact CDF(%s)' % x_eval + ' = %.4f' % cdf[x_eval])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we run QAE to estimate the CDF for a given $x$." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# run amplitude estimation\n", + "num_eval_qubits = 4\n", + "ae_cdf = AmplitudeEstimation(num_eval_qubits, multivariate_cdf)\n", + "# result_cdf = ae_cdf.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result_cdf = ae_cdf.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.9591\n", + "Estimated value:\t0.9619\n", + "Probability: \t0.9958\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# print results\n", + "print('Exact value: \\t%.4f' % cdf[x_eval])\n", + "print('Estimated value:\\t%.4f' % result_cdf['estimation'])\n", + "print('Probability: \\t%.4f' % result_cdf['max_probability'])\n", + "\n", + "# plot estimated values for \"a\"\n", + "plt.bar(result_cdf['values'], result_cdf['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.axvline(cdf[x_eval], color='red', linestyle='--', linewidth=2)\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('CDF(%s)' % x_eval, size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Value at Risk\n", + "\n", + "In the following we use a bisection search and QAE to efficiently evaluate the CDF to estimate the value at risk." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "def run_ae_for_cdf(x_eval, num_eval_qubits=3, simulator='statevector_simulator'):\n", + " \n", + " # run amplitude estimation\n", + " multivariate_var = get_cdf_operator_factory(x_eval)\n", + " ae_var = AmplitudeEstimation(num_eval_qubits, multivariate_var)\n", + " result_var = ae_var.run(BasicAer.get_backend(simulator))\n", + " \n", + " return result_var['estimation']" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "def bisection_search(objective, target_value, low_level, high_level, low_value=None, high_value=None):\n", + " \"\"\"\n", + " Determines the smallest level such that the objective value is still larger than the target\n", + " :param objective: objective function\n", + " :param target: target value\n", + " :param low_level: lowest level to be considered\n", + " :param high_level: highest level to be considered\n", + " :param low_value: value of lowest level (will be evaluated if set to None)\n", + " :param high_value: value of highest level (will be evaluated if set to None)\n", + " :return: dictionary with level, value, num_eval\n", + " \"\"\"\n", + "\n", + " # check whether low and high values are given and evaluated them otherwise\n", + " print('--------------------------------------------------------------------')\n", + " print('start bisection search for target value %.3f' % target_value)\n", + " print('--------------------------------------------------------------------')\n", + " num_eval = 0\n", + " if low_value is None:\n", + " low_value = objective(low_level)\n", + " num_eval += 1\n", + " if high_value is None:\n", + " high_value = objective(high_level)\n", + " num_eval += 1 \n", + " \n", + " # check if low_value already satisfies the condition\n", + " if low_value > target_value:\n", + " return {'level': low_level, 'value': low_value, 'num_eval': num_eval, 'comment': 'returned low value'}\n", + " elif low_value == target_value:\n", + " return {'level': low_level, 'value': low_value, 'num_eval': num_eval, 'comment': 'success'}\n", + "\n", + " # check if high_value is above target\n", + " if high_value < target_value:\n", + " return {'level': high_level, 'value': high_value, 'num_eval': num_eval, 'comment': 'returned low value'}\n", + " elif high_value == target_value:\n", + " return {'level': high_level, 'value': high_value, 'num_eval': num_eval, 'comment': 'success'}\n", + "\n", + " # perform bisection search until\n", + " print('low_level low_value level value high_level high_value')\n", + " print('--------------------------------------------------------------------')\n", + " while high_level - low_level > 1:\n", + "\n", + " level = int(np.round((high_level + low_level) / 2.0))\n", + " num_eval += 1\n", + " value = objective(level)\n", + "\n", + " print('%2d %.3f %2d %.3f %2d %.3f' \\\n", + " % (low_level, low_value, level, value, high_level, high_value))\n", + "\n", + " if value >= target_value:\n", + " high_level = level\n", + " high_value = value\n", + " else:\n", + " low_level = level\n", + " low_value = value\n", + "\n", + " # return high value after bisection search\n", + " print('--------------------------------------------------------------------')\n", + " print('finished bisection search')\n", + " print('--------------------------------------------------------------------')\n", + " return {'level': high_level, 'value': high_value, 'num_eval': num_eval, 'comment': 'success'}" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------\n", + "start bisection search for target value 0.950\n", + "--------------------------------------------------------------------\n", + "low_level low_value level value high_level high_value\n", + "--------------------------------------------------------------------\n", + "-1 0.000 1 0.691 3 1.000\n", + " 1 0.691 2 0.962 3 1.000\n", + "--------------------------------------------------------------------\n", + "finished bisection search\n", + "--------------------------------------------------------------------\n" + ] + } + ], + "source": [ + "# run bisection search to determine VaR\n", + "num_eval_qubits = 4\n", + "objective = lambda x: run_ae_for_cdf(x, num_eval_qubits=num_eval_qubits)\n", + "bisection_result = bisection_search(objective, 1-alpha, min(losses)-1, max(losses), low_value=0, high_value=1)\n", + "var = bisection_result['level']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estimated Value at Risk: 2\n", + "Exact Value at Risk: 2\n", + "Estimated Probability: 0.962\n", + "Exact Probability: 0.959\n" + ] + } + ], + "source": [ + "print('Estimated Value at Risk: %2d' % var)\n", + "print('Exact Value at Risk: %2d' % exact_var)\n", + "print('Estimated Probability: %.3f' % bisection_result['value'])\n", + "print('Exact Probability: %.3f' % cdf[exact_var])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conditional Value at Risk\n", + "\n", + "Last, we compute the CVaR, i.e. the expected value of the loss conditional to it being larger than or equal to the VaR.\n", + "To do so, we evaluate a piecewise linear objective function $f(L)$, dependent on the total loss $L$, that is given by\n", + "\n", + "$$ f(L) = \\begin{cases} \n", + "0 & \\text{if}\\quad L \\leq VaR \\\\\n", + "L & \\text{if}\\quad L > VaR.\n", + "\\end{cases} $$\n", + "\n", + "To normalize, we have to devide the resulting expected value by the VaR-probability, i.e. $\\mathbb{P}[L \\leq VaR]$." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "# define linear objective\n", + "breakpoints = [0, var]\n", + "slopes = [0, 1]\n", + "offsets = [0, 0] # subtract VaR and add it later to the estimate\n", + "f_min = 0\n", + "f_max = 3 - var\n", + "c_approx = 0.25\n", + "\n", + "cvar_objective = PwlObjective(\n", + " agg.num_sum_qubits,\n", + " 0,\n", + " 2**agg.num_sum_qubits-1, # max value that can be reached by the qubit register (will not always be reached)\n", + " breakpoints, \n", + " slopes, \n", + " offsets, \n", + " f_min, \n", + " f_max, \n", + " c_approx\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "var = 2" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "multivariate_cvar = MultivariateProblem(u, agg, cvar_objective)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "num_qubits = multivariate_cvar.num_target_qubits\n", + "num_ancillas = multivariate_cvar.required_ancillas()\n", + "\n", + "q = QuantumRegister(num_qubits, name='q')\n", + "q_a = QuantumRegister(num_ancillas, name='q_a')\n", + "qc = QuantumCircuit(q, q_a)\n", + "\n", + "multivariate_cvar.build(qc, q, q_a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, we first use quantum simulation to validate the quantum circuit." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "job = execute(qc, backend=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estimated CVaR: 3.3796\n", + "Exact CVaR: 3.0000\n" + ] + } + ], + "source": [ + "# evaluate resulting statevector\n", + "value = 0\n", + "for i, a in enumerate(job.result().get_statevector()):\n", + " b = ('{0:0%sb}' % multivariate_cvar.num_target_qubits).format(i)[-multivariate_cvar.num_target_qubits:]\n", + " am = np.round(np.real(a), decimals=4)\n", + " if np.abs(am) > 1e-6 and b[0] == '1':\n", + " value += am**2\n", + "\n", + "# normalize and add VaR to estimate\n", + "value = multivariate_cvar.value_to_estimation(value)\n", + "normalized_value = value / (1.0 - bisection_result['value']) + var\n", + "print('Estimated CVaR: %.4f' % normalized_value)\n", + "print('Exact CVaR: %.4f' % exact_cvar)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we run QAE to estimate the CVaR." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# run amplitude estimation\n", + "num_eval_qubits = 7\n", + "ae_cvar = AmplitudeEstimation(num_eval_qubits, multivariate_cvar)\n", + "# result_cvar = ae_cvar.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result_cvar = ae_cvar.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact CVaR: \t3.0000\n", + "Estimated CVaR:\t3.8670\n", + "Probability: \t0.7146\n" + ] + } + ], + "source": [ + "# print results\n", + "print('Exact CVaR: \\t%.4f' % exact_cvar)\n", + "print('Estimated CVaR:\\t%.4f' % (result_cvar['estimation'] / (1.0 - bisection_result['value']) + var))\n", + "print('Probability: \\t%.4f' % result_cvar['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result_cvar['values'], result_cvar['probabilities'], width=0.5/len(result_cvar['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for expected loss (after re-scaling and reversing the c_approx-transformation)\n", + "normalized_values = np.array(result_cvar['mapped_values']) / (1.0 - bisection_result['value']) + var\n", + "plt.bar(normalized_values, result_cvar['probabilities'])\n", + "plt.axvline(exact_cvar, color='red', linestyle='--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('CvaR', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:56:12.651056Z", + "start_time": "2019-08-22T01:56:12.640412Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:56:12 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/european_put_option_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/european_put_option_pricing-checkpoint.ipynb new file mode 100644 index 000000000..e968d4129 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/european_put_option_pricing-checkpoint.ipynb @@ -0,0 +1,588 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Pricing European Put Options*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1], Shaohan Hu[1], Stephen Wood[1], Marco Pistoia[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "
\n", + "Suppose a European put option with strike price $K$ and an underlying asset whose spot price at maturity $S_T$ follows a given random distribution.\n", + "The corresponding payoff function is defined as:\n", + "
\n", + "
\n", + "$$\\max\\{K - S_T, 0\\}$$\n", + "
\n", + "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option:\n", + "
\n", + "
\n", + "$$\\mathbb{E}\\left[ \\max\\{K - S_T, 0\\} \\right]$$\n", + "
\n", + "as well as the corresponding $\\Delta$, i.e., the derivative of the option price with respect to the spot price, defined as:\n", + "
\n", + "
\n", + "$$\n", + "\\Delta = -\\mathbb{P}\\left[S_T \\leq K\\right]\n", + "$$\n", + "
\n", + "The approximation of the objective function and a general introduction to option pricing and risk analysis on quantum computers are given in the following papers:\n", + "\n", + "- Quantum Risk Analysis. Woerner, Egger. 2018.\n", + "- Option Pricing using Quantum Computers. Stamatopoulos et al. 2019." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "\n", + "from qiskit import BasicAer\n", + "from qiskit.aqua.algorithms import AmplitudeEstimation\n", + "from qiskit.aqua.components.uncertainty_models import LogNormalDistribution\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariateProblem\n", + "from qiskit.aqua.components.uncertainty_problems import UnivariatePiecewiseLinearObjective as PwlObjective" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We construct a circuit factory to load a log-normal random distribution into a quantum state.\n", + "The distribution is truncated to a given interval $[low, high]$ and discretized using $2^n$ grid points, where $n$ denotes the number of qubits used.\n", + "The unitary operator corresponding to the circuit factory implements the following: \n", + "$$\\big|0\\rangle_{n} \\mapsto \\big|\\psi\\rangle_{n} = \\sum_{i=0}^{2^n-1} \\sqrt{p_i}\\big|i\\rangle_{n},$$\n", + "where $p_i$ denote the probabilities corresponding to the truncated and discretized distribution and where $i$ is mapped to the right interval using the affine map:\n", + "$$ \\{0, \\ldots, 2^n-1\\} \\ni i \\mapsto \\frac{high - low}{2^n - 1} * i + low \\in [low, high].$$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# number of qubits to represent the uncertainty\n", + "num_uncertainty_qubits = 3\n", + "\n", + "# parameters for considered random distribution\n", + "S = 2.0 # initial spot price\n", + "vol = 0.4 # volatility of 40%\n", + "r = 0.05 # annual interest rate of 4%\n", + "T = 40 / 365 # 40 days to maturity\n", + "\n", + "# resulting parameters for log-normal distribution\n", + "mu = ((r - 0.5 * vol**2) * T + np.log(S))\n", + "sigma = vol * np.sqrt(T)\n", + "mean = np.exp(mu + sigma**2/2)\n", + "variance = (np.exp(sigma**2) - 1) * np.exp(2*mu + sigma**2)\n", + "stddev = np.sqrt(variance)\n", + "\n", + "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n", + "low = np.maximum(0, mean - 3*stddev)\n", + "high = mean + 3*stddev\n", + "\n", + "# construct circuit factory for uncertainty model\n", + "uncertainty_model = LogNormalDistribution(num_uncertainty_qubits, mu=mu, sigma=sigma, low=low, high=high)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot probability distribution\n", + "x = uncertainty_model.values\n", + "y = uncertainty_model.probabilities\n", + "plt.bar(x, y, width=0.2)\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.grid()\n", + "plt.xlabel('Spot Price at Maturity $S_T$ (\\$)', size=15)\n", + "plt.ylabel('Probability ($\\%$)', size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Payoff Function\n", + "\n", + "The payoff function decreases linearly with an increasing spot price at maturity $S_T$ until it reaches zero for a spot price equal to the strike price $K$, it stays constant to zero for larger spot prices.\n", + "The implementation uses a comparator, that flips an ancilla qubit from $\\big|0\\rangle$ to $\\big|1\\rangle$ if $S_T \\leq K$, and this ancilla is used to control the linear part of the payoff function.\n", + "\n", + "The linear part itself is then approximated as follows.\n", + "We exploit the fact that $\\sin^2(y + \\pi/4) \\approx y + 1/2$ for small $|y|$.\n", + "Thus, for a given approximation scaling factor $c_{approx} \\in [0, 1]$ and $x \\in [0, 1]$ we consider\n", + "$$ \\sin^2( \\pi/2 * c_{approx} * ( x - 1/2 ) + \\pi/4) \\approx \\pi/2 * c_{approx} * ( x - 1/2 ) + 1/2 $$ for small $c_{approx}$.\n", + "\n", + "We can easily construct an operator that acts as \n", + "$$\\big|x\\rangle \\big|0\\rangle \\mapsto \\big|x\\rangle \\left( \\cos(a*x+b) \\big|0\\rangle + \\sin(a*x+b) \\big|1\\rangle \\right),$$\n", + "using controlled Y-rotations.\n", + "\n", + "Eventually, we are interested in the probability of measuring $\\big|1\\rangle$ in the last qubit, which corresponds to\n", + "$\\sin^2(a*x+b)$.\n", + "Together with the approximation above, this allows to approximate the values of interest.\n", + "The smaller we choose $c_{approx}$, the better the approximation.\n", + "However, since we are then estimating a property scaled by $c_{approx}$, the number of evaluation qubits $m$ needs to be adjusted accordingly.\n", + "\n", + "For more details on the approximation, we refer to:\n", + "Quantum Risk Analysis. Woerner, Egger. 2018." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# set the strike price (should be within the low and the high value of the uncertainty)\n", + "strike_price = 2.126\n", + "\n", + "# set the approximation scaling for the payoff function\n", + "c_approx = 0.25\n", + "\n", + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [uncertainty_model.low, strike_price]\n", + "slopes = [-1, 0]\n", + "offsets = [strike_price - uncertainty_model.low, 0]\n", + "f_min = 0\n", + "f_max = strike_price - uncertainty_model.low\n", + "european_put_objective = PwlObjective(\n", + " uncertainty_model.num_target_qubits, \n", + " uncertainty_model.low, \n", + " uncertainty_model.high,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# construct circuit factory for payoff function\n", + "european_put = UnivariateProblem(\n", + " uncertainty_model,\n", + " european_put_objective\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot exact payoff function (evaluated on the grid of the uncertainty model)\n", + "x = uncertainty_model.values\n", + "y = np.maximum(0, strike_price - x)\n", + "plt.plot(x, y, 'ro-')\n", + "plt.grid()\n", + "plt.title('Payoff Function', size=15)\n", + "plt.xlabel('Spot Price', size=15)\n", + "plt.ylabel('Payoff', size=15)\n", + "plt.xticks(x, size=15, rotation=90)\n", + "plt.yticks(size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "exact expected value:\t0.1709\n", + "exact delta value: \t-0.8193\n" + ] + } + ], + "source": [ + "# evaluate exact expected value (normalized to the [0, 1] interval)\n", + "exact_value = np.dot(uncertainty_model.probabilities, y)\n", + "exact_delta = -sum(uncertainty_model.probabilities[x <= strike_price])\n", + "print('exact expected value:\\t%.4f' % exact_value)\n", + "print('exact delta value: \\t%.4f' % exact_delta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Expected Payoff" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 6\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, european_put)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# result = ae.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t0.1709\n", + "Estimated value:\t0.2308\n", + "Probability: \t0.4343\n" + ] + } + ], + "source": [ + "print('Exact value: \\t%.4f' % exact_value)\n", + "print('Estimated value:\\t%.4f' % result['estimation'])\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\"\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for option price (after re-scaling and reversing the c_approx-transformation)\n", + "plt.bar(result['mapped_values'], result['probabilities'], width=1/len(result['probabilities']))\n", + "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Price', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Evaluate Delta\n", + "\n", + "The Delta is a bit simplier to evaluate than the expected payoff.\n", + "Similarly to the expected payoff, we use a comparator circuit and an ancilla qubit to identify the cases where $S_T \\leq K$.\n", + "However, since we are only interested in the (negative) probability of this condition being true, we can directly use this ancilla qubit as the objective qubit in amplitude estimation without any futher approximation." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# setup piecewise linear objective fcuntion\n", + "breakpoints = [uncertainty_model.low, strike_price]\n", + "slopes = [0, 0]\n", + "offsets = [1, 0]\n", + "f_min = 0\n", + "f_max = 1\n", + "c_approx = 1\n", + "european_delta_objective = PwlObjective(\n", + " uncertainty_model.num_target_qubits, \n", + " uncertainty_model.low, \n", + " uncertainty_model.high,\n", + " breakpoints,\n", + " slopes,\n", + " offsets,\n", + " f_min,\n", + " f_max,\n", + " c_approx\n", + ")\n", + "\n", + "# construct circuit factory for payoff function\n", + "european_call_delta = UnivariateProblem(\n", + " uncertainty_model,\n", + " european_delta_objective\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (=log(samples))\n", + "m = 6\n", + "\n", + "# construct amplitude estimation \n", + "ae_delta = AmplitudeEstimation(m, european_call_delta)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# result_delta = ae_delta.run(quantum_instance=BasicAer.get_backend('qasm_simulator'), shots=100)\n", + "result_delta = ae_delta.run(quantum_instance=BasicAer.get_backend('statevector_simulator'))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact delta: \t-0.8193\n", + "Esimated value:\t-0.8172\n", + "Probability: \t0.9895\n" + ] + } + ], + "source": [ + "print('Exact delta: \\t%.4f' % exact_delta)\n", + "print('Esimated value:\\t%.4f' % -result_delta['estimation'])\n", + "print('Probability: \\t%.4f' % result_delta['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for delta\n", + "plt.bar(-np.array(result_delta['values']), result_delta['probabilities'], width=0.5/len(result_delta['probabilities']))\n", + "plt.plot([exact_delta, exact_delta], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Delta', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:56:34.210824Z", + "start_time": "2019-08-22T01:56:34.200032Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:56:34 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/fixed_income_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/fixed_income_pricing-checkpoint.ipynb new file mode 100644 index 000000000..34058acf2 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/fixed_income_pricing-checkpoint.ipynb @@ -0,0 +1,422 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Pricing Fixed-Income Assets*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1], Shaohan Hu[1], Stephen Wood[1], Marco Pistoia[1]\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Introduction\n", + "\n", + "We seek to price a fixed-income asset knowing the distributions describing the relevant interest rates. The cash flows $c_t$ of the asset and the dates at which they occur are known. The total value $V$ of the asset is thus the expectation value of:\n", + "\n", + "$$V = \\sum_{t=1}^T \\frac{c_t}{(1+r_t)^t}$$\n", + "\n", + "Each cash flow is treated as a zero coupon bond with a corresponding interest rate $r_t$ that depends on its maturity. The user must specify the distribution modelling the uncertainty in each $r_t$ (possibly correlated) as well as the number of qubits he wishes to use to sample each distribution. In this example we expand the value of the asset to first order in the interest rates $r_t$. This corresponds to studying the asset in terms of its duration.\n", + "
\n", + "
\n", + "The approximation of the objective function follows the following paper:
\n", + "Quantum Risk Analysis. Woerner, Egger. 2018." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "from qiskit import BasicAer\n", + "from qiskit.aqua.algorithms.single_sample.amplitude_estimation.ae import AmplitudeEstimation\n", + "from qiskit.aqua.components.uncertainty_models import MultivariateNormalDistribution\n", + "from qiskit.aqua.components.uncertainty_problems import FixedIncomeExpectedValue" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "backend = BasicAer.get_backend('statevector_simulator')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uncertainty Model\n", + "\n", + "We construct a circuit factory to load a multivariate normal random distribution in $d$ dimensions into a quantum state.\n", + "The distribution is truncated to a given box $\\otimes_{i=1}^d [low_i, high_i]$ and discretized using $2^{n_i}$ grid points, where $n_i$ denotes the number of qubits used for dimension $i = 1,\\ldots, d$.\n", + "The unitary operator corresponding to the circuit factory implements the following: \n", + "$$\\big|0\\rangle_{n_1}\\ldots\\big|0\\rangle_{n_d} \\mapsto \\big|\\psi\\rangle = \\sum_{i_1=0}^{2^n_-1}\\ldots\\sum_{i_d=0}^{2^n_-1} \\sqrt{p_{i_1,...,i_d}}\\big|i_1\\rangle_{n_1}\\ldots\\big|i_d\\rangle_{n_d},$$\n", + "where $p_{i_1, ..., i_d}$ denote the probabilities corresponding to the truncated and discretized distribution and where $i_j$ is mapped to the right interval $[low_j, high_j]$ using the affine map:\n", + "$$ \\{0, \\ldots, 2^{n_{j}}-1\\} \\ni i_j \\mapsto \\frac{high_j - low_j}{2^{n_j} - 1} * i_j + low_j \\in [low_j, high_j].$$\n", + "\n", + "In addition the the uncertainty model, we can also apply an affine map, e.g. resulting from a principal componant analyis. The interest rates used are then given by:\n", + "$$ \\vec{r} = A * \\vec{x} + b,$$\n", + "where $\\vec{x} \\in \\otimes_{i=1}^d [low_i, high_i]$ follows the given random distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# can be used in case a principal component analysis has been done to derive the uncertainty model, ignored in this example.\n", + "A = np.eye(2)\n", + "b = np.zeros(2) \n", + "\n", + "# specify the number of qubits that are used to represent the different dimenions of the uncertainty model\n", + "num_qubits = [2, 2]\n", + "\n", + "# specify the lower and upper bounds for the different dimension\n", + "low = [0, 0]\n", + "high = [0.12, 0.24]\n", + "mu = [0.12, 0.24]\n", + "sigma = 0.01*np.eye(2)\n", + "\n", + "# construct corresponding distribution\n", + "u = MultivariateNormalDistribution(num_qubits, low, high, mu, sigma)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot contour of probability density function\n", + "x = np.linspace(low[0], high[0], 2**num_qubits[0])\n", + "y = np.linspace(low[1], high[1], 2**num_qubits[1])\n", + "z = u.probabilities.reshape(2**num_qubits[0], 2**num_qubits[1])\n", + "plt.contourf(x, y, z)\n", + "plt.xticks(x, size=15)\n", + "plt.yticks(y, size=15)\n", + "plt.grid()\n", + "plt.xlabel('$r_1$ (%)', size=15)\n", + "plt.ylabel('$r_2$ (%)', size=15)\n", + "plt.colorbar()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cash flow, payoff function, and exact expected value\n", + "\n", + "In the following we define the cash flow per period, the resulting payoff function and evaluate the exact expected value.\n", + "\n", + "For the payoff function we first use a first order approximation and then apply the same approximation technique as for the linear part of the payoff function of the [European Call Option](european_call_option_pricing.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# specify cash flow\n", + "cf = [1.0, 2.0]\n", + "periods = range(1, len(cf)+1)\n", + "\n", + "# plot cash flow\n", + "plt.bar(periods, cf)\n", + "plt.xticks(periods, size=15)\n", + "plt.yticks(size=15)\n", + "plt.grid()\n", + "plt.xlabel('periods', size=15)\n", + "plt.ylabel('cashflow ($)', size=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t2.1942\n" + ] + } + ], + "source": [ + "# estimate real value\n", + "cnt = 0\n", + "exact_value = 0.0\n", + "for x1 in np.linspace(low[0], high[0], pow(2, num_qubits[0])):\n", + " for x2 in np.linspace(low[1], high[1], pow(2, num_qubits[1])):\n", + " prob = u.probabilities[cnt]\n", + " for t in range(len(cf)):\n", + " # evaluate linear approximation of real value w.r.t. interest rates\n", + " exact_value += prob * (cf[t]/pow(1 + b[t], t+1) - (t+1)*cf[t]*np.dot(A[:, t], np.asarray([x1, x2]))/pow(1 + b[t], t+2))\n", + " cnt += 1\n", + "print('Exact value: \\t%.4f' % exact_value)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# specify approximation factor\n", + "c_approx = 0.125\n", + "\n", + "# get fixed income circuit appfactory\n", + "fixed_income = FixedIncomeExpectedValue(u, A, b, cf, c_approx)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# set number of evaluation qubits (samples)\n", + "m = 5\n", + "\n", + "# construct amplitude estimation \n", + "ae = AmplitudeEstimation(m, fixed_income)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# result = ae.run(quantum_instance=LegacySimulators.get_backend('qasm_simulator'), shots=100)\n", + "result = ae.run(quantum_instance=backend)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exact value: \t2.1942\n", + "Estimated value:\t2.4600\n", + "Probability: \t0.8487\n" + ] + } + ], + "source": [ + "print('Exact value: \\t%.4f' % exact_value)\n", + "print('Estimated value:\\t%.4f' % result['estimation'])\n", + "print('Probability: \\t%.4f' % result['max_probability'])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot estimated values for \"a\" (direct result of amplitude estimation, not rescaled yet)\n", + "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n", + "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('\"a\" Value', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.xlim((0,1))\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()\n", + "\n", + "# plot estimated values for fixed-income asset (after re-scaling and reversing the c_approx-transformation)\n", + "plt.bar(result['mapped_values'], result['probabilities'], width=3/len(result['probabilities']))\n", + "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n", + "plt.xticks(size=15)\n", + "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n", + "plt.title('Estimated Option Price', size=15)\n", + "plt.ylabel('Probability', size=15)\n", + "plt.ylim((0,1))\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:57:13.085732Z", + "start_time": "2019-08-22T01:57:13.075101Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:57:13 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/option_pricing-checkpoint.ipynb b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/option_pricing-checkpoint.ipynb new file mode 100644 index 000000000..a8e0d1b22 --- /dev/null +++ b/qiskit/advanced/aqua/finance/simulation/.ipynb_checkpoints/option_pricing-checkpoint.ipynb @@ -0,0 +1,165 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"middle\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Finance: Option Pricing*_ \n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorials.\n", + "\n", + "***\n", + "### Contributors\n", + "Stefan Woerner[1], Daniel Egger[1], Christa Zoufal[1], Shaohan Hu[1], Stephen Wood[1], Marco Pistoia[1]\n", + "\n", + "### Affliation\n", + "- [1]IBMQ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this notebook we provide an overview of the available Qiskit Finance tutorials on how to use Quantum Amplitude Estimation (QAE) for option pricing. We analyze different types of options with increasing complexity, featuring:\n", + "- single asset / multi asset (basket) options,\n", + "- piecewise linear payoff functions (arbitrary number of break points, possibly non-continuous), and\n", + "- path-dependency (sum/average, barrier, etc.).\n", + "\n", + "The basic ideas on using QAE for option pricing and risk analysis are provided here:
\n", + "- Quantum Risk Analysis. Stefan Woerner, Daniel J. Egger (2019)\n", + "- Option Pricing using Quantum Computers. Stamatopoulos et al. (2019)\n", + "\n", + "A Qiskit Aqua tutorial on QAE can be found here:
\n", + "Qiskit Tutorial on QAE\n", + "\n", + "We provide tutorials for the following types simple options:\n", + "\n", + "- European Call Option (univariate, payoff with 2 segments)\n", + "- European Put Option (univariate, payoff with 2 segments)\n", + "- Bull Spread (univariate, payoff with 3 segments)\n", + "\n", + "Note that the provided framework can cover all options of this type, i.e., options that are fully determined by a piecewise linear payoff with respect to the spot price at maturity of the underlying asset.\n", + "However, the framework also allows to price more complex options, for instance, options that depend on multiple assets or are path-dependent:\n", + "\n", + "- Basket Option (multivariate, payoff with 2 segments)\n", + "- Asian Barrier Spread (multivariate, path-dependent, payoff with 3 segments)\n", + "\n", + "More examples on option pricing with a quantum computer can be found in the [Qiskit Finance Community](https://github.com/Qiskit/qiskit-tutorials-community/tree/master/finance) section of the Qiskit Community Tutorials.\n", + "\n", + "All examples illustrate how to use the genereric Qiskit Finance framework to construct QAE-operators (uncertainty problems). The same framework can be easily adjusted to estimate risk as well, for instance, the Value at Risk (VaR) or the Conditional Value at Risk (CVaR, also known as Expected Shortfall). How to use Qiskit Finance for risk analysis is illustrated in the following tutorial:\n", + "Credit Risk Analysis\n", + "based on the paper\n", + "Credit Risk Analysis using Quantum Computers. Egger et al. (2019).\n", + "\n", + "An example of how quantum Generative Adversarial Networks (qGANs) can be used to learn and efficiently load generic random distributions for option pricing can be found here:\n", + "QGANs to learn and load random distributions for option pricing" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:57:32.797978Z", + "start_time": "2019-08-22T01:57:32.787666Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:57:32 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/advanced/aqua/finance/simulation/asian_barrier_spread_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/asian_barrier_spread_pricing.ipynb index e84bfbbd7..18246869f 100644 --- a/qiskit/advanced/aqua/finance/simulation/asian_barrier_spread_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/asian_barrier_spread_pricing.ipynb @@ -556,6 +556,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:10.230176Z", + "start_time": "2019-08-22T01:55:10.222004Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:10 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -580,7 +622,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/basket_option_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/basket_option_pricing.ipynb index 9a0d8fcd3..0a1731d50 100644 --- a/qiskit/advanced/aqua/finance/simulation/basket_option_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/basket_option_pricing.ipynb @@ -484,6 +484,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:31.656034Z", + "start_time": "2019-08-22T01:55:31.646368Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:31 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -508,7 +550,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/bull_spread_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/bull_spread_pricing.ipynb index 25129e783..72a113a53 100644 --- a/qiskit/advanced/aqua/finance/simulation/bull_spread_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/bull_spread_pricing.ipynb @@ -486,6 +486,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:55:52.763931Z", + "start_time": "2019-08-22T01:55:52.753702Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:55:52 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -510,7 +552,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/credit_risk_analysis.ipynb b/qiskit/advanced/aqua/finance/simulation/credit_risk_analysis.ipynb index 814b5eea7..9c2485029 100644 --- a/qiskit/advanced/aqua/finance/simulation/credit_risk_analysis.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/credit_risk_analysis.ipynb @@ -1366,6 +1366,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:56:12.651056Z", + "start_time": "2019-08-22T01:56:12.640412Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:56:12 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1390,7 +1432,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/european_put_option_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/european_put_option_pricing.ipynb index b30672fc5..e968d4129 100644 --- a/qiskit/advanced/aqua/finance/simulation/european_put_option_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/european_put_option_pricing.ipynb @@ -485,6 +485,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:56:34.210824Z", + "start_time": "2019-08-22T01:56:34.200032Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:56:34 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -509,7 +551,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/fixed_income_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/fixed_income_pricing.ipynb index ff8d2651a..34058acf2 100644 --- a/qiskit/advanced/aqua/finance/simulation/fixed_income_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/fixed_income_pricing.ipynb @@ -319,6 +319,48 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:57:13.085732Z", + "start_time": "2019-08-22T01:57:13.075101Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:57:13 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -343,7 +385,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/finance/simulation/option_pricing.ipynb b/qiskit/advanced/aqua/finance/simulation/option_pricing.ipynb index 34693a0bc..a8e0d1b22 100644 --- a/qiskit/advanced/aqua/finance/simulation/option_pricing.ipynb +++ b/qiskit/advanced/aqua/finance/simulation/option_pricing.ipynb @@ -62,6 +62,48 @@ "QGANs to learn and load random distributions for option pricing" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:57:32.797978Z", + "start_time": "2019-08-22T01:57:32.787666Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:57:32 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -86,7 +128,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/generating_random_variates.ipynb b/qiskit/advanced/aqua/generating_random_variates.ipynb index 34449b324..6c1a04007 100644 --- a/qiskit/advanced/aqua/generating_random_variates.ipynb +++ b/qiskit/advanced/aqua/generating_random_variates.ipynb @@ -54,7 +54,12 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:05.937968Z", + "start_time": "2019-08-22T01:39:03.521337Z" + } + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -81,13 +86,18 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:06.471867Z", + "start_time": "2019-08-22T01:39:05.946725Z" + } + }, "outputs": [ { "data": { - "image/png": "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GjNmjE9rByqn06n27dvX+c/G559/rp49e6pbt24mdQYA8BW3263t27dr9OjRCgtreh6ssXArSddff7369eun7du3G9UyUIdhAbd///6aP3++7rzzTkVHR6uoqEg33XSTkpOTPWOys7M1duxYpaamqkePHqqqqtK6des891933XXavn27nE6nZs6c2WCtpUuX1rmqvylN1ZakrVu3Kjk5WV26dGnWY1uV0+lUampqnR94O3bsCJgLzCTpqaeeMrsFAGixjhw5ojNnztS6ELshTYXbGikpKfriiy983SrQIEPfqnfx4sVavHix5+PY2FhNnz7d83FoaKiWL1+u5cuX1zn3woULatOmjSQpPDzcs262PvPmzdO8efOa1VtjtWts2bJF48ePb9bjWllDv7Zfs2aNnzu5MhMnTjS7BQBosS5evKiUlBT16dOn0XE//PCDV+FWunTtzaFDh3zdKtAgQwPu5Vwul44cOVJrBrcxu3fvVlZWlkJDQ/XPf/5Tq1atMrjDunr16uXZsxfW0bdvXx04cMDsNgCgRerTp4927tzZ5Li2bdvq7rvvVlJSUpP73M6ePduri4ABX/FbwN23b59sNpvi4uK8Gj9gwAB9+umnPqtvt9t1//33N+ucRYsW+aw+AABWk5WVZXYLQL38FnAHDhxYZ49Zf7Lb7bUucAMAAIA1Gf5WvUBL05yt0QAAQOAh4CLoBNpFcQAAoHkIuAg6Dz74oNktAAAAAxFwEXR41xwAAKyNgAsAAABLIeACAADAUvy2TRharuLiYr/uLFBcXGzqlm28yQMA1Obv14GammzfCaMwgxvkzNgf2Ow9iTds2GBabQBoaX7qz+TSshP13ja6LuANZnCDnBlvgWy2hQsXauLEiWa3AQAtwk99HcjOyZUjK7PObaAlYAYXAAAAlkLABQAAgKUQcBF0Vq9ebXYLAADAQARcBJ34+HizWwAAAAYi4CLopKWlmd0CAAAwEAEXAAAAlkLARdBJTU01uwUAAGAgAi6CjtPpNLsFAABgIAIuAAAALIWACwAAAEsh4CLobNq0yewWAACAgQi4AAAAsBQCLoLOXXfdZXYLAADAQGFmNwBzzZo1S8XFxX6va7fbtWrVKr/XBQDALGa95krB97rLDG6QKy4u9vs3mxk1AQAwm1mvf8H4ussMLmS327Vt2za/1Rs6dKjfatVnxowZ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RK1zIiMjPfetW7dOAwYM0IABA/TRRx81WCc7O7tZwdSb2oCVpCZd2jaMbcEAAFYT4na73f4s+P7772vKlCk6efJknRfUiooKderUSV988YXsdrvneEREhF577TUNGTJEw4YN044dO/T999/rlltu0RdffKHQ0NAr7qup2uPGjbviGo3Jzsk19PEBAACsxJGV2fCdbj9bu3at+/rrr2/w/piYGPdLL73k+fibb75xS3IfOnTIXVBQ4H744Yc9940dO9b99ddf+6y3xmoDVnXhwkWzWwgKWY7/U+9t+F7N88vzbCz+TfsPz3Xz+X2JQkpKig4dOqR33nlH1dXVqqio0NatWz33Z2ZmKicnR4cOHZLL5VJWVpbS09MVGxurU6dOqVOnTp6xnTp10qlTp3zWW2O1Aatq3foqs1sAAMCn/L5EQZLWrl2rpUuX6vjx47LZbJo6daqWLFki6dJetFlZWcrLy9OFCxc0fPhw5ebmqkuXLtq6davef/99Pfvss5KkcePGafny5erTp0+dGkuXLtXrr7+u/fv3e91XY7WNxhIFAAAA77WoJQpX4syZM+7k5GT3Dz/84D516pT7xhtvdP/zn/80uy0AaBK/YvQflij4B/+m/YfnuvkCatPLyMhIzZo1S0OHDpUkrVixwicXmAEAAMA6AirgStLkyZM1efJks9sAAABAC9Xi3qoXAAAAuBIEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYCkEXAAAAFgKARcAAACWQsAFAACApRBwAQAAYClhZjcAAFZTVPyVyr49Wef4xve31bkdaeuo4YP7+6kzAAgOBFwA8LEeUV319tbtcv/o+K4v/17n9j1jh/mxMwAIDixRAAAfi47qql8k9GlyXEz3a5TUN84PHQFAcCHgAoAB0of8Uq2vavyXZGNuHaiQkBA/dQQAwYOACwAGCO/YXrcMSG7w/uT4nymm+zV+7AgAgkeLC7hVVVWaO3euunbtKpvNpoyMDJWXl1u+NgDrGZSaoMjw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\n", + "image/png": "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M2Juev3q21P46ltp3eWBiMgYZL3ptWa3640bN/QuGxAQAAA4evRonceOHDmiswwREcmPyR7M4+bmhpycHBw9ehTDhw/XeezixYvo0aP63KXy8nL06NED169ff+IFBy5evIguXbo09UtoNP/acxS/XP0VkQumokUzuF4nEVFzZrJFGRcXh8mTJ8Pc3BxBQUFwc3PDjRs3kJaWBk9PT+zZs0e77PHjxzFy5EhYW1tjypQpaNmyJRITE3H16lWsX79eMretMQT3TRIRNYzJFiVQven03XffRXp6OkpLS+Hk5IR+/frh9ddfx+DBg3WW/eGHH7By5UqkpaWhrKwM3t7eiIiIwOTJk0VK3zgyL/4HySe+x2uzJnA2SURkAJMuSqpfZWWlpI4GJCISE4uSiIhIAKcVREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAliUREREAv4fIyW5TeXMdK4AAAAASUVORK5CYII=\n", "text/plain": [ - "
" + "
" ] }, "execution_count": 2, @@ -132,7 +142,12 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:08.718153Z", + "start_time": "2019-08-22T01:39:08.706634Z" + } + }, "outputs": [], "source": [ "def uniform_rand_float64(circuit: QuantumCircuit, num_target_qubits: int,\n", @@ -188,6 +203,10 @@ "cell_type": "code", "execution_count": 4, "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:15.167103Z", + "start_time": "2019-08-22T01:39:09.337402Z" + }, "scrolled": true }, "outputs": [ @@ -197,13 +216,13 @@ "text": [ "Uniform distribution over floating point numbers:\n", " sample type: , element type: float64 , shape: (54321,)\n", - " sample min: -7.6687, max: 19.5191\n", - " sampling time: 6.41 secs\n" + " sample min: -7.6685, max: 19.5196\n", + " sampling time: 5.48 secs\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -250,7 +269,12 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:21.029197Z", + "start_time": "2019-08-22T01:39:15.181257Z" + } + }, "outputs": [ { "name": "stdout", @@ -259,12 +283,12 @@ "Uniform distribution over bounded integer numbers:\n", " sample type: , element type: int64 , shape: (54321,)\n", " sample min: 37, max: 841\n", - " sampling time: 7.15 secs\n" + " sampling time: 5.53 secs\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -326,7 +350,12 @@ { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:21.059196Z", + "start_time": "2019-08-22T01:39:21.040829Z" + } + }, "outputs": [], "source": [ "def normal_rand_float64(circuit: QuantumCircuit, num_target_qubits: int,\n", @@ -378,7 +407,12 @@ { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:24.088003Z", + "start_time": "2019-08-22T01:39:22.505982Z" + } + }, "outputs": [ { "name": "stdout", @@ -386,13 +420,13 @@ "text": [ "Normal distribution (mu=2.400, sigma=5.100):\n", " sample type: , element type: float64 , shape: (4321,)\n", - " sample min: -18.0259, max: 21.2915\n", - " sampling time: 1.85 secs\n" + " sample min: -16.1580, max: 20.3295\n", + " sampling time: 1.32 secs\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEZCAYAAABmTgnDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3dd5wU9f3H8debowknHU6lCAoYMbGBkBjLHWpERbCAgopYEI0/1GiMNTGWFNHElkgSxK4UwUZsWOA0EQuggiKKgAgIKl2PXj6/P2bOrMvd7S63u7N393k+Hvu42Znv7rx3bm8/N9+Z/Y7MDOecc64itaIO4JxzLvd5sXDOOZeQFwvnnHMJebFwzjmXkBcL55xzCXmxcM45l5AXC5eQpBslPZZCe5PUMZz+p6TfpSlHO0klkvLC+8WShqTjucPne1HS4HQ9Xy6QNFtSYQXLr5M0qpLraB/+zmtX5nmiImmhpKN38rFpe3/nuir5y61uJC0EdgH2MrN14bwhwFlmVhhhtEozs4uSaRdugyFm9moFz7UIyE9HLkk3Ah3N7KyY5z8uHc+dS8xsvwTL/5StLFWdpHMI3qOHlc5L9v1dHfieRe6oDVxW2SdRoNr9Xqvqf625zLepS0W1+1Cpwm4HrpTUpKyFkg6VNE3S2vDnoTHLiiX9UdKbwHpgr3DeHyRNDbtu/i2puaTHJX0bPkf7mOe4W9LicNkMSYcnG1zSbyQtk7RU0nlxyx6S9IdwuoWk5yStkbRK0n8k1ZL0KNAO+HeY9aqYro3zJS0CJpfT3bG3pHfD7fKspGbhugolLYnLslDS0ZJ6AdcBp4frmxmzHYeE07Uk/VbSF5K+kfSIpMbhstIcgyUtkrRC0vUpbK96kv4SPvbrsCtjl9jc4Tb4JtyuJ0k6XtLccLtdF/NcN0qaIGmcpO8kvSfpgPjXHNf2MUnfAucorotR0mHhe2ZN+H44J5x/gqT3w/fH4nDPLJnXeo2kCXHz7pZ0Tzh9jqQFYfbPJZ1ZzvN0l/RWmGuZpL9Lqhuz3CRdJOkzSasl3StJ4bK9JU2WtDL8XT2uMv7OJO0mab2k5jHzukpaLuknwD+Bn4XvmTXh8u/f3+H9vpI+CLfT/PC9Vi14scgd04Fi4Mr4BeEH4PPAPUBz4A7g+dg3NTAIGArsCnwRzhsQzm8N7A28BTwINAPmAL+Pefw04MBw2WhgvKT6iUKHfwxXAscAnYCK+n5/DSwBWgIFBB/YZmaDgEXAiWaWb2a3xTzmSGBf4NhynvNs4DxgD2ArwTaqkJm9BPwJGBeu74Aymp0T3oqAvQi6v/4e1+YwYB/gKOAGSfvC9x+4ayqIMBzoTLC9OxL8fm6IWb4bUD9m/n3AWUBX4PBwXXvFtO8LjOd/v7tnJNUpZ919gQlAE+Dx2AWS2gEvAn8j+B0dCHwQLl5HsK2bACcAv5R0UgWvsdQY4HhJjcJ15AGnAaMlNST4fR1nZrsCh8asL9424HKgBfAzgm1+cVyb3sAhwAHhOkrfMwL+TPAe2RdoC9wYvwIz+4rgb/C0mNlnAWPN7EPgIuCt8D1TVrHpDjwC/IZgOx0BLCzn9VQ5Xixyyw3AJZJaxs0/AfjMzB41s61mNgb4BDgxps1DZjY7XL4lnPegmc03s7UEHwLzzexVM9tK8OFyUOmDzewxM1sZPv6vQD2CD8JETgvX81F4vOXGCtpuAXYH9jSzLWb2H0s8ONmNZrbOzDaUs/zRmHX/Djgt/ECqrDOBO8xsgZmVANcCA+L2am4ysw1mNhOYSfAhhZn9t6wPEwi6CYELgMvNbJWZfUdQuAbENNsC/DH8PY4l+IC828y+M7PZwGxg/5j2M8xsQtj+DoJC89NyXtdbZvaMmW0vY5ueCbxqZmPC389KM/sgfE3FZvZh+LhZBEXgyPI3X8DMvgDeA0oLS09gvZm9Hd7fDvxY0i5mtix8fWU9zwwzezt8fy4E/lXG+m81szXhsa0pBMUOM5tnZq+Y2SYzWx5uo/KyP0xQIEoL20Dg0USvM3Q+8EC4ru1m9qWZfZLkY3OeF4scYmYfAc8B18Qt2oP/7S2U+oLgP89Si8t4yq9jpjeUcf/7g8WSfi1pjoLunDVAY4IPqUT2iFt3fM5YtwPzgJfDrof411mWsl5Xecu/AOqQXO5E4rf5FwTHlQpi5n0VM72e5A6+twQaADPCLpU1wEvh/FIrzWxbOF36gV7u746YbWBm2wn23vYoZ/0Vbc+2wPyyFkjqIWlK2CWzluC/7GS382iCD12AM8L7hAX+9PC5lkl6XtKPyll/ZwVdmF+FXWh/KmP9Zf4+JLWSNFbSl+FjH6sg+7NAl3DP7RhgrZm9m+TrLHf7VQdeLHLP7wn+84wtBEuBPePatQO+jLm/08MHKzg+cTXBXkLT8L/itQS774ksI/gjic1VpvA/41+b2V4Ee0VXSDqqdHF5D0uw/vh1bwFWEHSbNChdEP6XGPuBnOh547d5O4Jurq/Lbp60FQQf9vuZWZPw1tjMKnOW1/fbQMHJDW0I8pelote9mKC7siyjgYlAWzNrTNB/n8z7A4K92EJJbYCTw+cKwphNMrNjCPY4PyHocivLP8LlncysEUEXZrLr/zPB694/fOxZ5T3WzDYCTxDsZQ3ih3sVid4zFW2/Ks+LRY4xs3nAOODSmNkvAJ0lnSGptqTTgS4EeyHpsCvBB+FyoLakG4BGST72CYIDpV0kNeCHx0F+QFJvSR3DrphvCfqhS/+D/prg2ECqzopZ983AhPC/8rlA/fDAbB3gtwRda6W+Btqr/DPHxgCXS+ogKZ//HePYuhMZvxf+538fcKekVgCSWksq75hMMrpKOiXsIvsVsAl4O8FjyvI4cLSk08L3WXNJB4bLdgVWmdnGsG/+jGSfNOz6KSY4Xva5mc0BkFQgqU947GITUML/3g/xdiV4z5SEex+/TOF17Ro+9xpJrQmOKVTkEYLjVX0I9kJKfQ20iT2wHud+4FxJRyk4QaJ1eXtKVZEXi9x0M9Cw9I6ZrSQ4ePdrYCVwFdDbzFakaX2TCI5pzCXobtlI4u6f0mwvAncBkwm6mCZX0LwT8CrBH+5bwAgzKw6X/Rn4bdg1s8NB/go8CjxE0AVRn7DIhsdpLgZGEeyBrSPonik1Pvy5UtJ7ZTzvA+FzvwF8TrBNLkkmkKTDJZVU0ORqgm31dtgt8irJHR8qz7ME3TmrCf4bPiXmuFXSwr7+4wneZ6sIDjaXHvy/GLhZ0ncEx9aeSPHpRxOc/DA6Zl6tcF1Lw/UdyY4HrUtdSVCgviMotuNSWPdNwMEEe8vPA09V1NjM3iQ4lvJeeHyk1GSC40VfSdrhby/srjoXuDNc1+vs2CNQZSnx8UXnXK5SGV8udJUnaTIw2swq9e326sS/lOOcczEkHUKwJ9I36iy5xLuhnHMuJOlhgm7BX4WnNbuQd0M555xLyPcsnHPOJVQtj1m0aNHCWrZsScOGDRM3zqJ169Z5piTlYi7PlJxczAS5mSvXMs2YMWOFmcWPIBEws2p369q1q02ZMsVyjWdKXi7m8kzJycVMZrmZK9cyAdOtnM9V74ZyzjmXkBcL55xzCXmxcM45l5AXC+eccwl5sXDOOZeQFwvnnHMJebFwzjmXkBcL55xzCXmxcM45l1C1HO7DuawrKvrh/SlTosnhXIb4noVzzrmEvFg455xLyIuFc865hLxYOOecS8iLhXPOuYS8WDjnnEsoa8VCUi9Jn0qaJ+maMpbXkzQuXP6OpPbh/DqSHpb0oaQ5kq7NVmbnnHOBrBQLSXnAvcBxQBdgoKQucc3OB1abWUfgTmB4OL8/UM/MfgJ0BS4sLSTOOeeyI1t7Ft2BeWa2wMw2A2OBvnFt+gIPh9MTgKMkCTCgoaTawC7AZuDb7MR2zjkHoOCyqxleidQP6GVmQ8L7g4AeZjYsps1HYZsl4f35QA9gLfAocBTQALjczEaWsY6hwFCAgoKCrqNGjSI/Pz+zLyxFJSUlnilJuZirwkxz5/7wfufOmQ9EFdxOEcrFXLmWqaioaIaZdStrWbaG+1AZ8+KrVHltugPbgD2ApsB/JL1qZgt+0DAoICMBunXrZvn5+RQWFlY2d1oVFxd7piTlYq4KM9100w/vJzPcRxqGCKly2ylCuZgrFzOVJ1vdUEuAtjH32wBLy2sTdjk1BlYBZwAvmdkWM/sGeBMos/I555zLjGwVi2lAJ0kdJNUFBgAT49pMBAaH0/2AyRb0kS0CeirQEPgp8EmWcjuXFmbw5ZcwYwbMng0bN0adyLnUZKUbysy2ShoGTALygAfMbLakm4HpZjYRuB94VNI8gj2KAeHD7wUeBD4i6Kp60MxmZSO3c5W1ZAnceSeMGwdbtkDr1rB+PSxaBEfUH85Fe0ykb4s3UVmdsM7lkKwNUW5mLwAvxM27IWZ6I8FpsvGPKylrvnORij/eEGfrVrj1VrjjDjjvPHjtNdhnn/8tX7cOJh4yiZu/OJvbFg/goR8NJzuHxJ3bOX49C+fSbMXmRpxUCA0awMyZ0Lbtjm0aNoSBBZM5vdUURnzZl0Pf+zv/GA/9/d8il6N8uA/n0mjRxlYc+v7fOeIIeOmlsgtFrFoyhrV5hlcP+DWXXw733JOdnM6lyouFc2myfHNjjpl5Oxft8W/+9CeolcJf14G7zmfq1OD4xn33ZS6jczvLu6GcS4N12+pz3KzhnNaqmCvajgcuTvk52rWDl1+GwkLYfXfo/Ve/VKvLHb5n4VwlmcEv517Ovg2/4Ob2D1bquTp1gvHjg4Pi89bvkaaEzlWeFwvnKmnUshN4v6Qj/+x8Z1pOgT30UPj97+GU2TezYVvdyj+hc2ng3VDOVcLc9W24dsEFvHnwJTTMq+CbdglOtY1vc7FBcYPfc8PCc7l973+lIalzleN7Fs7tpO0mzv/0N9zQ/hH2abA4rc8twYhOd/HY18cwde1+aX1u53aG71k4t5NGfNkXMzGs9dM7LkxmTyKBlnXXcm+nuzn3k6uYdcgQ6lX6GZ3beb5n4dxO+GZzE276YjD37fMXailzw/yf0vI/7NNgMXcu7pexdTiXDC8Wzu2E335+PmcVvMK+DRdlfF13dhzBXxafzpdfZnxVzpXLi4VzKfrgA3h2xaHcsOcjWVnf3rss5Zetn+Xqq7OyOufK5MXCuRSYwRVXwI3tH6ZpnZKsrffqtmN47bVgrCnnouDFwrkUTJ4cDDt+we7PZXW9+bU3cu218NvfZnW1zn3Pi4VzSTKDG24IvjBXu9b2rK//wgth1ix4882sr9q57BULSb0kfSppnqRrylheT9K4cPk7ktqH88+U9EHMbbukA7OV27lS06c3ZdUqGDAgcdtMqFcPbrzR9y5cNLJSLCTlEVzx7jigCzBQUpe4ZucDq82sI3AnMBzAzB43swPN7EBgELDQzD7IRm7nSpnBgw924Pe/h7y86HIMGgRffAFTp0aXwdVM2dqz6A7MM7MFZrYZGAv0jWvTF3g4nJ4AHCXtMNLOQGBMRpM6V4aXX4b16/MivzhR7drwm98EV+FzLpuyVSxaA7HjISwJ55XZxsy2AmuB5nFtTseLhYvA7bfDGWcsinSvotS558K0afDRR1EncTVJtob7KGsszvivvVbYRlIPYL2ZlfknImkoMBSgoKCAkpISiouLdy5thnim5OVSrs8+y2fmzJ/wf/+3gOLir4OZAwdmP0jM9jjxxHZccUUDLr00d7ZTqVz63cXKxVy5mKk82SoWS4DYC0y2AZaW02aJpNpAY2BVzPIBVLBXYWYjgZEA3bp1s/z8fAoLCyufPI2Ki4s9U5JyKdeoUXDVVdC0acP/ZbrppuwHibn40UEHwd57Q0lJC3r3/mn2s1Qgl353sXIxVy5mKk+2isU0oJOkDsCXBB/8Z8S1mQgMBt4C+gGTzcwAJNUC+gNHZCmvcwAsXgwvvgj33gvvvx9xmJjBCRsD5503haefbv2/s7PiBy/0K+u5NMpKsTCzrZKGAZOAPOABM5st6WZguplNBO4HHpU0j2CPIvYExSOAJWa2IBt5nSt1991wzjnQuHHUSXZ08cVwwAG7sW4dNGwYdRpX3WVtiHIzewF4IW7eDTHTGwn2Hsp6bDGQW/vartpbtw4efBBmzIg6Sdnat4f991/DY4+15MILo07jqjv/Brdz5Rg7Fn7+8+BDOVedfPKX3HNP8D0Q5zLJi4VzZTCDESPgl7+MOknFDjpoDVIwZpVzmeTFwrkyTJsGq1fDscdGnaQCRUXos7lcsuUO/j7gP1GncdWcFwvnyjBiBFx0EdSqAn8hZ7R6leI1B7JsU7Ooo7hqrAr8KTiXXStXwrPPwnnnxcwsKoK5c4Ofabi+djrtWnsD/Vq+zoNfHRd1FFeNebFwLs7DD0Pv3tCiRdRJknfB7s8zatnxbLeYgRBKC1sOFjhX9XixcC6GGTzwAAwZEnWS1Byy6yfsmreByasPijqKq6a8WDgXY/p02LABjqhiYwVIwdX7Ri07IeoorpryYuFcjAcfDL6xvcPg+FXAmQWv8tKq7qzY3CjqKK4a8mLhXGjjRhg3DgYPjjrJzmlap4Q+Laby6Ne/iDqKq4a8WDgXeuYZOPhgaNcu6iQ779zdXuQRLxYuA7I2NpRzue7BB4MLCwFV9uyhI5vMZOWWRswq2Yv9833cTZc+vmfhHMFQ5NOnw8knR52kcmrJOKvgVR79+pioo7hqxouFc8Ajj8Bpp8Euu0SdpPIGFbzM6K+PYpv5n7dLH383uRrPLPgi3jnnRJ0kPfZtuIjW9Vbw2uqDo47iqhEvFq7Gmz49KBjdu0edJH3OLniZR77yA90ufbJWLCT1kvSppHmSriljeT1J48Ll70hqH7Nsf0lvSZot6UNJ9bOV21V/o0fDmVseQj2rz9AYA1pN5rmVP+O7rdWgX83lhKwUC0l5wL3AcUAXYKCkLnHNzgdWm1lH4E5gePjY2sBjwEVmth9QCGzJRm5X/W3bFlzkaGBB9bogRIu633Jkk5k8ubyKfRXd5axs7Vl0B+aZ2QIz2wyMBfrGtekLPBxOTwCOkiTgF8AsM5sJYGYrzWxblnK7aq64GFq3hn0aLI46StqdvdvL/gU9lzayLFyPUVI/oJeZDQnvDwJ6mNmwmDYfhW2WhPfnAz2As4CuQCugJTDWzG4rYx1DgaEABQUFXUeNGkV+fn5mX1iKSkpKPFOSspXrttv2oX37dZx2YOI9i5JmzchftSrjmVJRUabNW/I49aqzeOjGJ2jeeAN07pydTDX8PZWKXMtUVFQ0w8y6lbUsW1/KK2uknfgqVV6b2sBhwCHAeuA1STPM7LUfNDQbCYwE6Natm+Xn51NYWFjZ3GlVXFzsmZKUjVwbN8Lbb8N990Hrsy5InGngQArHjMloplQlynTqrq35cuQaTm3zFEyZkp1MNfg9lapczFSebHVDLQHaxtxvAywtr014nKIxsCqc/7qZrTCz9cALgJ8T6CrthRfgoIOCbqjqakCryYz9puofsHfRy1axmAZ0ktRBUl1gADAxrs1EoHQIt37AZAv6yCYB+0tqEBaRI4GPs5TbVWOjR8MZZ0SdIrOOavoen21ow8INBVFHcVVcVoqFmW0FhhF88M8BnjCz2ZJultQnbHY/0FzSPOAK4JrwsauBOwgKzgfAe2b2fDZyu+pr7Vp45RU45ZSok2RWnVrbOLXFGzyx3PcuXOVkbSBBM3uBoAspdt4NMdMbgf7lPPYxgtNnnUuLp5+Gnj2hadOok2TegFaTuWL+xVwVdRBXpfk3uF2NVBO6oEod3uRDvtrcjE8/jTqJq8q8WLgaZ8UKePddOKGGXIE0T9s5rWUxY8dGncRVZV4sXI3zzDNwbN0pNDih+gzvkciAVpMZOzYYA8u5neHFwtU448dDv5avRx0jq3o0msPGjTBrVtRJXFWVdLGQ1DyTQZzLhpUrgy/iHd/8naijZJUEAwbgXVFup6WyZ7FY0rOS+oXflXCuynn2WTjmGGiYtzHqKFl3+ukwbpx3Rbmdk0qx2BN4Dbga+ErSSEmHZSaWc5kxYQL0L/ME7ervgAMgLw/efz/qJK4qSrpYmNlyM7vHzA4BfgZ8AzwqaUH45bo9M5bSuTRYvRrefBOOPz7qJNGQoF+/oGA6l6qdPcC9W3hrBMwHWgPvl3VRI+dyxcSJwRfxdt016iTR6dcvOMDvXVEuVakc4N5P0p8lLQL+AXwG7G9mx5jZ+QSD+12XoZzOVdr48TW3C6rUwQfD1q1+VpRLXSp7Fm8AuwL9zKyLmQ03sy9LF5rZQuCuNOdzLi3WroU33oDevaNOEi0pKJjjx0edxFU1qRSLk81smJm9GztT0veXuY8d68m5XDJxYvDdu0aNok4SPe+KcjsjlYEEnyM4RhHvJaBZeuI4lxkTJgQfkjVa+E31Qww2fjGG2bN348c/jjiTqzIS7llIqiUpL5iUwvult07A1szHdG7nffttcJG4Pn0St60JJOjX8g3vinIpSaYbaiuwGWgQTm+JuX0MjMhYOufS4Lnn4IgjoHHjqJPkjn4tX/dTaF1KkumG6kBwfezXgSNi5huw3Mw2ZCKYc+niZ0HtqEejOaydBx9/DF26RJ3GVQUJ9yzM7AszW2hme4bTpbdFqRQKSb0kfSppXlnfx5BUT9K4cPk7ktqH89tL2iDpg/D2z1ReoKvZvvsOJk/2Lqh4tWSceqp/Qc8lr8I9C0kjzWxoOP1Iee3M7OwEz5MH3AscAywBpkmaaGax19I+H1htZh0lDQCGA6eHy+ab2YEJX41zcZ5/Hn7+85pxRbxU9e8PF18MN/g5jC4JibqhPo+Znl+J9XQH5pnZAgBJY4G+BMc8SvUFbgynJwB/l6RKrNM5PwuqAoceGlwI6tNPYZ99ok7jcp0sCydbS+oH9DKzIeH9QUAPMxsW0+ajsM2S8P58oAeQD8wG5gLfAr81s/+UsY6hwFCAgoKCrqNGjSI/Pz+zLyxFJSUlnilJ6ci1YUMt+vc/lNG3PE6jhpsqn6lZM/JXrar086RTpTJ17szdd3eiefNNnHXWovRlqsbvqXTLtUxFRUUzzKxbWcsSdUP1TGYFZjY5QZOy9hDiq1R5bZYB7cxspaSuwDOS9jOzb+MyjARGAnTr1s3y8/MpLCxMJn7WFBcXe6YkpSPX+PFBF1SfiQ+lJ9PAgRSOGZOW50qXSmWaMgUJfvUrGDVqr/RlqsbvqXTLxUzlSdQNdX8Sz2FAonfaEqBtzP02wNJy2iyRVBtoDKyyYNdnE4CZzQj3ODoD05PI5mqw78+CejzqJLnrsMNg6VKYNw86dow6jctlFRYLM+uQpvVMAzpJ6gB8CQwAzohrMxEYDLwF9AMmm5lJaklQNLZJ2gvoBCxIUy5XHRUVsX5bPSZNncCIL88Ev1RXufLy4JRTgmM71/iY0a4CWbkGt5ltBYYBk4A5wBNmNju8DkbpSY33A80lzQOuAErfukcAsyTNJDjwfZGZ5VbHscs5L67qQfdGn9Ci7reJG9dwpWNFOVeRRMcs5pjZvuH0YnY8zgCAmbVLtCIzewF4IW7eDTHTG4EdvjplZk8CTyZ6fudiTVh+BP1avhF1jCrhyCNh0SJYsAD2St+hC1fNJDpmcUHM9FmZDOJcumzYVpcXV/bg7o5/jzpKlVC7Npx8ctAVddWLRT9cOGVKNKFczkl0zOK/MdOvZz6Oc5U3adUhHLzrXFrVXRN1lCqjf3+4/nq4qmHUSVyuSuVKeXXDYwyfSVoX/rxFUv1MBnQuVeOXF9K/pf9vk4rCwqAbauGGgqijuByVygHufwA9gUuBQ8KfR+KjzrocsnEjvLCqBye32OF7m64CderASSfBkyuOSNzY1UipFIuTgN5m9qKZfWxmL4bzTspMNOdS9/LLcEDD+exWb3XUUaqc/v1h/DeFUcdwOSqVYvEVwTUtYu1C8A1r53LChAnBtRpc6nr2hM82tGbRxlZRR3E5qMJiIaln6Q14FHhJ0gWSjgvHYnoBKHc0WueyadOm4EJHp/opszulTh3o22IqTy73rii3o50Z7uO6uPsXEgwn7lw0wmtLv7Lip/x4+wB2r+ff2UxKUdEOs/q17MEfvziLy9v6hS7cD2VruA/nMm788kL/Il4lHd10BmfNuY4lG1vQpv6KqOO4HJKV4T6cy7TN22vz75U/8y6oSqpbayt9mk/lKT8rysVJ5XsWjSTdIWmGpC8kLSq9ZTKgc8l4dXVXujT4gtb1/L/hyurX8nXGLz8y6hgux6SyZzECOBi4GWgGXAIsAu7MQC7nUjJ++ZF+FlSaHNNsBh+t68DSTc2jjuJySCrF4hfAqWb2LLAt/Hk6MCgjyZxL0ubttZm44lAvFmlSr9YWejd/i6eWHx51FJdDUikWtYC14XSJpCYE37HwS6a4SE1efRD7NFjsB2TTqH/L15ngXVEuRirFYibB8B4A/wHuJRgCZG66QzmXCh8LKv1+0XQaM9ftzVdfRZ3E5YpUisUFwMJw+lJgI9AEODuZB0vqJelTSfMk7XBNLkn1JI0Ll78jqX3c8naSSiRdmUJmV81t2QLPrvi5nwWVZvXztnB8s3d46qmok7hckXSxMLMFZjY/nF5uZueb2elm9nGix0rKI9gTOQ7oAgyU1CWu2fnAajPrSHDQPP6LfncCLyab19UMkydDx12+pF39b6KOUu30b1nMBP9ungul9D0LSedJekXS7PDn+ZKUxEO7A/PCgrMZGAv0jWvTF3g4nJ4AHFX63JJOIrju9uxU8rrqb8IE6N+qOOoY1dKxzabx3nvwjddhB8iszCul7thQuo3gA/0u4AtgT4LuqH+b2VUJHtsP6GVmQ8L7g4AeZjYsps1HYZsl4f35QA9gA/AqcAxwJVBiZn8pYx1DgaEABQUFXUeNGkV+fn5Sry1bSkpKPFOSksm1davo1+9n/PPqCezWvCTzmZo1I39Vbg0lkulMt4zrywEHrKFPn+THC63K76lsy7VMRUVFM8ysW1nLEo0NFesc4ODSD3MASc8B7wEVFgugrL2P+CpVXpubgDvNrKSinRgzGwmMBOjWrZvl5+dTWFiYIFZ2FRcXe6YkJZPrlVegc2cY8PJ92ck0cKioSRUAABzPSURBVCCFY8ZkZV3JynSmlcu/5B8P9uGO928KZiRxmdWq/J7KtlzMVJ5UuqG+C2/x875N4rFLgLYx99sAS8trI6k20BhYRbB3cZukhcCvgOskDcPVeOPHB9dgcJlzXLN3mPbdPizf3DjqKC5iiYYo36v0RtD99JSkYyTtK+kXwHiS+wb3NKCTpA6S6gIDgIlxbSYCg8PpfsBkCxxuZu3NrH2Y4U9m9vekX6GrlrZuhaefhn79ok5SvTXI20SvZtN4ZsVhUUdxEUvUDTWPoCsotv8nflzjnkCFH95mtjXcG5gE5AEPmNlsSTcD081sIsFw6I9KmkewRzEg+ZfhapriYthzT+jg4yJnXL+WrzNq2QlcsMfzOw5rnkS3lKseEg1RnrZRac3sBYKLJcXOuyFmeiNQYaeCmd2Yrjyuahs3Dk4/PeoUNcPxzd9hyKdXsnJLI5rXSabX2VVHKReD8MtxP5PUNnFr59Jv82Z46ikvFtnSMG8jxzSdwdPLvSuqJktliPLdJb1O0DX1FDBf0huS9shYOufK8HLXa+mybRbtBheVebU3l34DCyYz9pueUcdwEUplz+IfBONDNTWz3YGmwPvAPzMRzLnyjPnmKAa08r7ybDq+2dvMKOnMsk3Noo7iIpJKsTgM+LWZrQMIf14FHJqJYM6VZf16eH7lT+nfsjjqKDXKLnmb6dN8Kk8s9z25miqVYrGaYFynWPsAa9IXx7mKPfcc9Gg0h1Z1/W2XbWcUvMaYr70rqqZKpVjcBrwq6VZJv5R0K/BKON+5rBgzBga0mhx1jBrpqCYz+Hzjbszf4Icpa6JURp29j+DKeC2AE8OfA8NhNpzLuLVrg1FmT27xn6ij1Ei1a22nf8vXGfuNd0XVREkVC0l5kh4G3jSzIWZ2fPjT/8VzWfP008HJT03qrIs6So01sGAyo78+miTHH3XVSFIDCZrZtnB4j+0ZzuNcucaOhXPPxc+/i9DPGs1m3bb6fLhuL/bPX+Df6K5BUjlmcSdwk6Q6mQrjXHmWL4e334bevaNOUrPVkjGg1WRGf31U1FFclqVSLC4BfgN8J2mxpEWlPzOUzbnvTZgAxx8PDRtGncSVfkHPu6JqllSuZ3FWxlI4l8Bjj8G110adwgHs33A+DfM28ta3+3FoY794ZU2Ryp7FW8BRwCiCAQFHAUcD72Qgl3Pfmz8f5s2DY4+NOokDkGBgq9e8K6qGSXW4j54El1I9JPx5JDAiA7mc+96jj8LAgVDHj5bljIEFkxm//Ei2bM+LOorLklS6oU4C9jaz0q/OfizpHYKBBc9LezLnALOgWDzxRNRJXKy9d1lKx12W8tKq7pzY4q2o47gsSGXP4iugQdy8XYDkr+TuXIqmToX69eHgg6NO4uIN3m0SD3/lfYM1RSrF4lHgJUkXSDpO0lCCYxePSOpZeivvwZJ6SfpU0jxJ15SxvJ6kceHydyS1D+d3l/RBeJsp6eTUXqKryh55BM4+O+gnd7nltJZTeHV1V1Zt2TXqKC4LUumGujD8eV3c/IvCGwSXYN0r/oGS8oB7gWOAJcA0SRPN7OOYZucDq82so6QBwHCC4UU+ArqFl2bdHZgp6d9mtjWF7K4K2rgxOGV25syok7iyNKmzjl7N3mXsNz25uPWzUcdxGZbK2FAdkrjtUChC3YF5ZrbAzDYDY4G+cW36Ag+H0xOAoyTJzNbHFIb6BAXJVWdFRTB3Lv/ueiMHbZ9BmzZRB3Ll8a6omkOWhW/WSOoH9DKzIeH9QUAPMxsW0+ajsM2S8P78sM0KST2AB4A9gUFm9nQZ6xgKDAUoKCjoOmrUKPLz8zP90lJSUlLimZIxdy4lzZrx51sO4YiDF3DsYO2wPAolzZqRv2pVJOsuT9SZtm0Tp197Bndc8RztdlsLnTvn5nuK3Hyv51qmoqKiGWbWraxlqXRDVUZZPc7xVarcNmb2DrCfpH2BhyW9aGYbf9AwGP12JEC3bt0sPz+fwsLCSgdPp+LiYs+UjJtu4pne5zJ7dnMmNbqI/MIXd1geheKBAykcMyaSdZcnFzKd22hX5ty/jbP3GgNTpuTme4rcfK/nYqbyZKtYLAHaxtxvAywtp80SSbWBxsAP/mUyszmS1gE/BqZnLq6L2ivvdKJPi6nk197o19nOcYMLJtFr1m38ocMD+Lcuqq9UzoaqjGlAJ0kdJNUFBgAT49pMBAaH0/2AyWZm4WNqA0jak+DqfAuzE9tFwQye/+8+XLD7c1FHcUn4cf5Cdqu7itdW+/nN1VlW9izCM5mGAZOAPOABM5st6WZguplNBO4HHpU0j2CPYkD48MOAayRtIRgi/WIzW5GN3C4ab3/bhe3ba3FY4w+jjuKSNHi3STz4VS9+EXUQlzHZ6obCzF4g+F5G7LwbYqY3Av3LeNyjBN/xcDXEqGUncNzPP0W5dSzZVeDMglf53efnsXJl1ElcpmSrG8q5pHz3HTy14nCO/Wk0Zzy5ndOsznec2GIqjzwSdRKXKV4sXE4ZNw6KmrxPs8Yboo7iUjR09+cYORK/zkU15cXC5ZRRo+D83V9M3NDlnNJjTB9+2DjiJC4TvFi4nPHhh7BkCRzb9N2oo7idIMEFF8Bzz+0edRSXAV4sXM4YNQrOOQdq19oedRS3k84+G6ZObUGOfdHdpYEXC5cT1q0LLp06dGjUSVxltGgBPXqs5LHHok7i0s2LhcsJjz8Ohx8O7dpFncRV1oknLvMD3dWQFwsXOSss4t4r5vN/n1/pQ3tUAwccsIZt2+CNN6JO4tLJi4WL3Jtrf8zG7XU4qul7UUdxlVVUhD6byyXb7uKefl4tqhMvFi5y9y49iYtbT6SWvN+iuji7YBLFaw7giy+iTuLSxYuFi9RXX8FLq7ozuOClqKO4NMqvvZHBu73MP/4RdRKXLl4sXKTuuw/6t3ydJnXWRR3Fpdn/tX6G+++H9eujTuLSwYuFi8ymTTBiBFzS+qmoo7gM2HuXpfz0pzB6dNRJXDp4sXCRGT0a9t8ffpL/edRRXIZceincc4+fRlsdeLFwkTCDO+6AK6+MOonLpKP/WMTW+QspPuhyPy26istasZDUS9KnkuZJuqaM5fUkjQuXvyOpfTj/GEkzJH0Y/uyZrcwuQ4qKePnAq6j1+XyO/qN/gFRnElzeZgK3Lz496iiukrJSLCTlAfcCxwFdgIGSusQ1Ox9YbWYdgTuB4eH8FcCJZvYTgsuu+oWQqoG/Lu7PFW3HI0WdxGXaoIKX+aCkI7NK9oo6iquEbO1ZdAfmmdkCM9sMjAX6xrXpCzwcTk8AjpIkM3vfzJaG82cD9SXVy0pqlxEzS/Zm9rr2DGz1WtRRXBbUz9vCZW2eZPiigVFHcZWQrWLRGlgcc39JOK/MNma2FVgLNI9rcyrwvpltylBOlwV/XXwaw1o/Q91aW6OO4rLkoj3+zUurDmHhwqiTuJ0ly8JpCpL6A8ea2ZDw/iCgu5ldEtNmdthmSXh/fthmZXh/P2Ai8Aszm1/GOoYCQwEKCgq6jho1ivz8/Ay/stSUlJTU+ExLl9bnl0MP5PE/jCW/webyczVrRn6OjXPtmZJTXqZ/PdmdTQ1bcOml8yJI5X9/ySgqKpphZt3KWlY7SxmWAG1j7rcBlpbTZomk2kBjYBWApDbA08DZZRUKADMbCYwE6Natm+Xn51NYWJjO11BpxcXFNT7T0KFwaYtH6P3swxW2Kx44kMIxY7KUKjmeKTnlZdpn0yS6vPsk//pXG1q2jCCX//1VSra6oaYBnSR1kFQXGECwlxBrIsEBbIB+wGQzM0lNgOeBa83szSzldRmwaBFMmACXtX4y6iguArvXW0X//nDnnVEncTsjK8UiPAYxDJgEzAGeMLPZkm6W1Cdsdj/QXNI84Aqg9PTaYUBH4HeSPghvrbKR26XXbbfBkCHQou63UUdxEbnuOvjXv2DFiqiTuFRlqxsKM3sBeCFu3g0x0xuB/mU87g/AHzIe0GXUsmXBN7bnzCHYr3Q1Uvv2cNppcPvtMHx4wuYuh/g3uF1W3HprcH3mgoKok7ioXXddMIDk119HncSlwouFy6yiIhb+dACPjVjLddNO9iEfHG3bwplnBt2SrurwYuEy7saF5/B/rZ+lVd01UUdxOeLaa+HBB4PuSVc1ZO2YhauZZq9rz4urujO3x9lRR3G5INyz3AMY3PBibr65v18gqYrwPQuXUb/9/DyuajeWxrX94kbuh36752NMmBCe9OBynhcLlzFTp8L07/bh4j2ejTqKy0HN63zLNdfA1VdHncQlw4uFy4jt24ML39y6133sklf+sB6uZhs2DD76CKZMiTqJS8SLhcuIhx6CevXgjFavRh3F5bB6vYq4dZeb+HWfuWwv7Olny+UwLxYu7dauheuvh7vvxq9X4RLq37KYXWpt5oFlx0UdxVXAi4VLuz/8AY47DrqVOXalcz8kwYjOd3H95+ezYnOjqOO4cvipsy6tPvww6IL68MOok7iq5ID8+ZxR8BpXL7iQ+6MO48rkxcKlzbZtcMEFwZ7FbrtFncZVNTe1f4gu7z7Emwdfws8bf/S/BX70Oyd4N5RLmxEjoO4nM7lgTHig0g9WuhQ0qr2eOzqO4KK5l7N5u/8fm2u8WLi0WLwYbroJRnb+K7WU+asvuuqpf8tiOtRfxi1fDIo6iovjxcJVmllwBbzLLoMfNVyc+AHOlUMK/uEYubQ3077dJ+o4LoYXC1dpI0bAypVwzTWJ2zqXyG71VnNXx3s555Nr2LitTtRxXChrxUJSL0mfSponaYePFUn1JI0Ll78jqX04v7mkKZJKJP09W3ldcj7+GG68ER57DOr437VLkwGtJrNvgy/47efnRx3FhbJSLCTlAfcCxwFdgIGSusQ1Ox9YbWYdgTuB0utobQR+B1yZjawueZs2Bdcl+NOfoHPnqNO46kSCf3a+gyeWF/L881GncZC9PYvuwDwzW2Bmm4GxQN+4Nn2Bh8PpCcBRkmRm68zsvwRFw+WQq66C9kv+w5DHi/zsJ5d2Lep+y+h9/8B55wUnULhoySzzZ65I6gf0MrMh4f1BQA8zGxbT5qOwzZLw/vywzYrw/jlAt9jHxK1jKDAUoKCgoOuoUaPIz8/P4KtKXUlJSbXJ9MorrXjooQ786zfjyG+Q/oECS5o1I3/VqrQ/b2V4puSkO9Po6UczdWpz7rrrA2rX3vnPq+r095cpRUVFM8yszLEXsnUyc1kjBMX/1pNpUy4zGwmMBOjWrZvl5+dTWFiYdMBsKC4urvqZioqYWbI3I2f+hdcOGMb+zy7ITK6BAykcMyYjz72zPFNy0p3piNeG0rs3PPvskfztb5XIVR3+/iKUrW6oJUDbmPttgKXltZFUG2gM5Na/TI6VWxpx6kc3cU/Hv7F/fmYKhXOxatWC0aPh1Vfxq+pFKFt7FtOATpI6AF8CA4Az4tpMBAYDbwH9gMmWjT4yl7QNG6DPh3/k1JZvMLBgctRxXE1RVEQT4N+N9uCwy/5Gp07NOProqEPVPFnZszCzrcAwYBIwB3jCzGZLullSn7DZ/UBzSfOAK4DvT6+VtBC4AzhH0pIyzqRyGbZtW3Dm0571v+bPe90XdRxXA3VssJRx+93MmWf6QJVRyNoALGb2AvBC3LwbYqY3Av3LeWz7jIZzFTKDX/0K1qyBF3803IfzcJE5sslM7r4aevWC4mLo1CnqRDWHf4PbVcgsOEX2zTfhqaegXq0tUUdyNdyAfxVxU/7tHPOTr1j8s9OijlNj+NCOrlylheK114KDi02aRJ3IucCQPV7gu20N6DnzDl5bBO3aRZ2o+vNi4cq0fTtccQW88UZQKJo1izqRcz90edsJ1JJxeOd+TNr/qv8NYunXv8gILxZuBxs3wtlnw7JlXihcbruszZM0qV1C0cw7ee4n19F117lRR6q2vFi4H1i5Ek46CfbYA155BerXjzqRcxUbvNskGueV0GvWcO7tdDd+FCMzvFi4702fDv37w2mnwZ//HHwZysd7clXBSS3fZM/6X3PSR7cw67dw883h+9eljW9Ohxn8859w3HHwl7/A8OH+h+aqnoN2nce0rr/kjTfg2GNhafwYEa5SfM+ihluxoi59+sCiRcHpsZ0vLAK/aoirolrVXcPkV+CPf4SDDw6GBzn55KhTVQ9eLGqasFvJDB79+hdc9tWvueQSePJJqFs34mzOpUHtY4r4PfCLPbow6IzrGNunNXfeGXWqqs87G2qg6d925rD3/8Y9S05h+PBZ3HyzFwpX/fys8cd8eMh5dO4MBxwAEya0YdOmqFNVXV4sapBPP4VBc66lz0d/ZMjuz/Nu11/SuXNJ1LGcy5hd8jZzyy3wn//A9OlN+dGP4OGHg7HOXGq8WNQAs2bBwIFw+OHwowaL+KT7YM7d/SUf48nVDEVF/OiXRdx63pM80uRSRl02i/12XcTIff7KhiOOjTpdleHFopratAkefxwOOwyOPx4OPBDmz4fr93ycRrXXRx3PuUgc3uRD3jjwMkZ0vot/r/wZe749luuvh88+izpZ7vMD3NXI1q0weTKMGwfPPBOcDXLFFXDiiVCnTjkPmjsXbropqzmdi5IEPZu+T8+m7zN3fRtGrHuUww6DvfeGQYPglFOgoCDqlLnH9yyquCVL4MEH4YwzYPfd4Xe/g/32gw8+CL6BfcopFRQK52q4zg2WcNddwd/R9dcHY6H96EfQowfccgu8+y5s8YGWAd+zqFI2bgyOP7z7bnB7Z8IiVm5pzFFN3+OYptO5dcZvfjj6pn/72rmk1KkDJ5wQ3DZvhv/+F557DoYMgc8/h+7dgy7dbt2CM6vatg32UGqSrBULSb2Au4E8YJSZ3Rq3vB7wCNAVWAmcbmYLw2XXAucD24BLzWxStnJn2/r1wX85ixfDwoXwySf/uy1eHPzX0707HHEEXDnnJvZruJA8bQ8ePPiFCp/bOZdY3brQs2dwA1i9GqYeeS3/fejH3Pu3TsxctzcbGzRn//1h332hQwfYa6/gZ4cOwcCb1bGQZKVYSMoD7gWOAZYA0yRNNLOPY5qdD6w2s46SBgDDgdPDS6gOAPYD9gBeldTZzHLu5Lft24P//tevh/Unns6G7fVYv60e67fXZ/22erzTfzALF8KqVT+8rVwJ33wTFIP166FNm+A/l3btguJw3nnBm3KvC4+hbq2t8BnBLT/iF+xcdZBgD7wpcEJzOKH529/P+2bcFGbNCk5H//xzeOed4OeCBcGeSUHBD28tW0LjxtCoUfjzz9fSqPZ65vU+gtZXn0X9CY9Rr14wcGe9ekHByrWCk609i+7APDNbACBpLNAXiC0WfYEbw+kJwN8lKZw/1sw2AZ+H1+juDryViaBHHw0lJcHB4q1bg/Oxy5reYdmGzWy22tSrtYUGtTbSIO9v4c9N7FJrEw1qbWLDi7uz997QvHnw38d++wU/mzcP3kxt2wbT379JiopgEfByeN+PMDmXE1qdXsTRwNGxM5sAB8O6bfX5enPT4LagKd982pRvNjdh5baGfL61Ad9ua8i3W/vw7bYGLH2oNbeu+CmbDg3+0dy0Kbht3hwUjdICUqcO5OUld7vqqmDk6HSTWebPtZfUD+hlZkPC+4OAHmY2LKbNR2GbJeH9+UAPggLytpk9Fs6/H3jRzCbErWMoMDS8uw9BV9aKTL6undACz5SsXMzlmZKTi5kgN3PlWqY9zaxlWQuytWdR1g5VfJUqr00yj8XMRgIjv38yabqZdUslZKZ5puTlYi7PlJxczAS5mSsXM5UnWx0bS4C2MffbAPEDCH/fRlJtoDGwKsnHOuecy6BsFYtpQCdJHSTVJThgPTGuzURgcDjdD5hsQR/ZRGCApHqSOgCdgHezlNs55xxZ6oYys62ShgGTCE6dfcDMZku6GZhuZhOB+4FHwwPYqwgKCmG7JwgOhm8F/i/JM6FGJm6SdZ4pebmYyzMlJxczQW7mysVMZcrKAW7nnHNVm5+M6ZxzLiEvFs455xKqVsVC0u2SPpE0S9LTkprELLtW0jxJn0rK2iD2kvpLmi1pu6RuMfPbS9og6YPw9s9sZaooV7gskm0Vl+FGSV/GbJ/jo8gRZukVbot5kq6JKkc8SQslfRhun+kRZXhA0jfh96RK5zWT9Iqkz8KfTXMgU6TvJ0ltJU2RNCf8u7ssnB/ptkqJmVWbG/ALoHY4PRwYHk53AWYC9YAOwHwgL0uZ9iX4kmAx0C1mfnvgowi3VXm5IttWcfluBK7MgfdUXrgN9gLqhtumS9S5wmwLgRYRZzgCODj2vQzcBlwTTl9T+ncYcaZI30/A7sDB4fSuwNzwby3SbZXKrVrtWZjZy2a2Nbz7NsF3MiBmyBAz+xwoHTIkG5nmmNmn2VhXKirIFdm2ylHfD1VjZpuB0qFqHGBmbxCcvRirL/BwOP0wkIHBJ1LOFCkzW2Zm74XT3wFzgNZEvK1SUa2KRZzzgBfD6dbA4phlS8J5Uesg6X1Jr0s6POowoVzaVsPCLsUHItw9z6XtEc+AlyXNCIe7yRUFZrYMgg9JoFXEeUrlwvsJSe2Bg4B3yN1ttYMqdz0LSa8Cu5Wx6HozezZscz3BdzIeL31YGe3Tds5wMpnKsAxoZ2YrJXUFnpG0n5l9G3GujG6rH6yognzAP4BbwnXfAvyV4B+AbMva9tgJPzezpZJaAa9I+iT8r9rtKCfeT5LygSeBX5nZt8q1oWUrUOWKhZkdXdFySYOB3sBRFnYEkuEhQxJlKucxm4BN4fSMcODEzkDaDlTuTC6yOLxKsvkk3Qc8l4kMScjZ4WbMbGn48xtJTxN0meVCsfha0u5mtkzS7sA3UQcys69Lp6N6P0mqQ1AoHjezp8LZObetylOtuqEUXGDpaqCPma2PWZRzQ4ZIaqngOh9I2ivMtCDKTKGc2FbhH06pk4GPymubYckMVZN1khpK2rV0muDkjqi2UbzYoXsGA+XtxWZN1O8nBbsQ9wNzzOyOmEU5t63KFfUR9nTeCA7GLgY+CG//jFl2PcFZLZ8Cx2Ux08kE/51uAr4GJoXzTwVmE5xd8x5wYpa3VZm5otxWcfkeBT4EZhH8Qe0e4fvqeIKzV+YTdOFFkiMu017he2dm+D6KJBcwhqBLdUv4fjofaA68RnCJrteAZjmQKdL3E3AYQRfYrJjPp+Oj3lap3Hy4D+eccwlVq24o55xzmeHFwjnnXEJeLJxzziXkxcI551xCXiycc84l5MXCuSyRVChpSdQ5nNsZXiycc84l5MXCOedcQl4snEuRpGskTYibd7ekeySdG17g5jtJCyRdWMHzmKSOMfcfkvSHmPu9wwv1rJE0VdL+mXlFziXmxcK51I0BjpfUCCAc4+s0YDTBQHC9gUbAucCdkg5OdQXhYx4ALiQYEuJfwERJ9dLyCpxLkRcL51JkZl8QjOdVeqGansB6M3vbzJ43s/kWeB14GdiZa5VcAPzLzN4xs21m9jDBOF4/TcdrcC5VXiyc2zmjgYHh9BnhfSQdJ+ltSaskrSEYLK7FTjz/nsCvwy6oNeFztQX2SEN251LmxcK5nTMeKJTUhmAE39FhF9GTwF8IroDWBHiBsi+gBLAeaBBzP/ZCUIuBP5pZk5hbAzMbk/ZX4lwSvFg4txPMbDlQDDwIfG5mc4C6QD1gObBV0nEE15kozwfAGZLywmuxHBmz7D7gIkk9FGgo6YTSa1g4l21eLJzbeaOBo8OfmNl3wKXAE8Bqgu6pii6UdBlwIrAGOBN4pnSBmU0nOG7x9/C55gHnpPsFOJcsv56Fc865hHzPwjnnXEJeLJxzziXkxcI551xCXiycc84l5MXCOedcQl4snHPOJeTFwjnnXEJeLJxzziX0/zaVsiv5E5JXAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -441,6 +475,48 @@ "There is a substantial amount of further work needed to either certify the quality of the source of random numbers (cf. NIST SP 800-90B, Recommendation for the Entropy Sources Used for Random Bit Generation) or to use random variates within quantum algorithms (cf. uncertainty_models within Qiskit Aqua)." ] }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:36.760562Z", + "start_time": "2019-08-22T01:39:36.752562Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:39:36 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -465,7 +541,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/linear_systems_of_equations.ipynb b/qiskit/advanced/aqua/linear_systems_of_equations.ipynb index fde92bb6c..211efac2a 100644 --- a/qiskit/advanced/aqua/linear_systems_of_equations.ipynb +++ b/qiskit/advanced/aqua/linear_systems_of_equations.ipynb @@ -44,16 +44,13 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "qiskit.providers.ibmq.ibmqprovider\n" - ] + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:51.130989Z", + "start_time": "2019-08-22T01:39:48.567368Z" } - ], + }, + "outputs": [], "source": [ "from qiskit.aqua import run_algorithm\n", "from qiskit.aqua.input import LinearSystemInput\n", @@ -65,7 +62,12 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:51.149609Z", + "start_time": "2019-08-22T01:39:51.144479Z" + } + }, "outputs": [], "source": [ "params = {\n", @@ -122,7 +124,12 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:39:51.435207Z", + "start_time": "2019-08-22T01:39:51.431997Z" + } + }, "outputs": [], "source": [ "matrix = [[1, 0], [0, 2]]\n", @@ -137,13 +144,26 @@ { "cell_type": "code", "execution_count": 4, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:40:22.904918Z", + "start_time": "2019-08-22T01:39:51.718509Z" + } + }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Numpy 1.16 has memory leak bug https://github.com/numpy/numpy/issues/13808\n", + "It is recommended to downgrade to numpy 1.15 or older\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "solution [1.05859+0.j 1.99245+0.j]\n", + "solution [1.05859-0.j 1.99245-0.j]\n", "classical solution [1. 2.]\n", "probability 0.024630\n", "fidelity 0.999389\n" @@ -171,13 +191,18 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:40:50.874643Z", + "start_time": "2019-08-22T01:40:22.925404Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "solution [0.84664+0.j 2.01762+0.j]\n", + "solution [0.84664-0.j 2.01762-0.j]\n", "classical solution [1. 2.]\n", "probability 0.361437\n", "fidelity 0.995605\n" @@ -210,14 +235,19 @@ { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:40:50.892442Z", + "start_time": "2019-08-22T01:40:50.888521Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "circuit_width 7\n", - "circuit_depth 12256\n" + "circuit_depth 129\n" ] } ], @@ -249,7 +279,12 @@ { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:40:50.912216Z", + "start_time": "2019-08-22T01:40:50.908085Z" + } + }, "outputs": [], "source": [ "matrix = [[1, 3], [3, 2]]\n", @@ -270,20 +305,13 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "solution [0.14223-5.e-05j 0.28622+7.e-05j]\n", - "classical solution [0.14286 0.28571]\n", - "probability 0.000316\n", - "fidelity 0.999994\n" - ] + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:04.769Z" } - ], + }, + "outputs": [], "source": [ "result = run_algorithm(params3)\n", "print(\"solution \", np.round(result['solution'], 5))\n", @@ -304,18 +332,13 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "circuit_width 11\n", - "circuit_depth 73313\n" - ] + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:07.544Z" } - ], + }, + "outputs": [], "source": [ "print(\"circuit_width\", result['circuit_info']['width'])\n", "print(\"circuit_depth\", result['circuit_info']['depth'])" @@ -349,8 +372,12 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:08.096Z" + } + }, "outputs": [], "source": [ "matrix = [[4, 0, 0, 0, 0, 0, 0, 1],\n", @@ -372,21 +399,13 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "solution [ 0.18195-0.j 0. -0.j 0. -0.j -0. +0.j 0. +0.j\n", - " -0. +0.j -0. -0.j 0.18041+0.j]\n", - "classical solution [0.21053 0. 0. 0. 0. 0. 0. 0.15789]\n", - "probability 0.935566\n", - "fidelity 0.981173\n" - ] + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:08.599Z" } - ], + }, + "outputs": [], "source": [ "result = run_algorithm(params4)\n", "print(\"solution \", np.round(result['solution'], 5))\n", @@ -407,18 +426,13 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "circuit_width 9\n", - "circuit_depth 315281\n" - ] + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:09.363Z" } - ], + }, + "outputs": [], "source": [ "print(\"circuit_width\", result['circuit_info']['width'])\n", "print(\"circuit_depth\", result['circuit_info']['depth'])" @@ -440,8 +454,12 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:10.519Z" + } + }, "outputs": [], "source": [ "from qiskit import BasicAer\n", @@ -459,8 +477,12 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:11.498Z" + } + }, "outputs": [], "source": [ "params5 = params\n", @@ -500,27 +522,13 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "random matrix:\n", - "[[ 0.284-0.j -0.257-0.051j -0.124+0.033j 0.038+0.023j]\n", - " [-0.257+0.051j 0.404+0.j 0.067-0.079j 0.054+0.055j]\n", - " [-0.124-0.033j 0.067+0.079j 0.282-0.j 0.043+0.004j]\n", - " [ 0.038-0.023j 0.054-0.055j 0.043-0.004j 0.206-0.j ]]\n", - "solution [ 79.9768 +4.52073j 60.28272 +3.09211j 37.51853 -9.5858j\n", - " -35.02324+26.46894j]\n", - "classical solution [ 76.1399 +1.92451j 57.30622 +1.20141j 35.96381-10.07775j\n", - " -32.03837+25.90593j]\n", - "probability 0.256771\n", - "fidelity 0.999946\n" - ] + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:12.367Z" } - ], + }, + "outputs": [], "source": [ "# set the random seed to get the same pseudo-random matrix for every run\n", "np.random.seed(1)\n", @@ -554,21 +562,58 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, + "execution_count": null, + "metadata": { + "ExecuteTime": { + "start_time": "2019-08-22T01:40:13.243Z" + } + }, + "outputs": [], + "source": [ + "print(\"circuit_width\", result['circuit_info']['width'])\n", + "print(\"circuit_depth\", result['circuit_info']['depth'])" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:53:14.511056Z", + "start_time": "2019-08-22T01:53:14.501261Z" + } + }, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "circuit_width 12\n", - "circuit_depth 973537\n" - ] + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:53:14 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "print(\"circuit_width\", result['circuit_info']['width'])\n", - "print(\"circuit_depth\", result['circuit_info']['depth'])" + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" ] }, { @@ -595,7 +640,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/aqua/optimization/docplex.ipynb b/qiskit/advanced/aqua/optimization/docplex.ipynb index 11c884880..015c9ef8a 100644 --- a/qiskit/advanced/aqua/optimization/docplex.ipynb +++ b/qiskit/advanced/aqua/optimization/docplex.ipynb @@ -268,13 +268,62 @@ "print('solution objective:', result['energy'] + offset)\n", "print('solution:', x)" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:57:59.094207Z", + "start_time": "2019-08-22T01:57:59.085241Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:57:59 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Quantum (Dev)", + "display_name": "Python 3", "language": "python", - "name": "quantum-dev" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -286,7 +335,36 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false } }, "nbformat": 4, diff --git a/qiskit/advanced/aqua/optimization/max_cut_and_tsp.ipynb b/qiskit/advanced/aqua/optimization/max_cut_and_tsp.ipynb index d8f02909b..db3d1b604 100644 --- a/qiskit/advanced/aqua/optimization/max_cut_and_tsp.ipynb +++ b/qiskit/advanced/aqua/optimization/max_cut_and_tsp.ipynb @@ -1049,6 +1049,48 @@ "draw_tsp_solution(G, z, colors, pos)" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:58:30.581695Z", + "start_time": "2019-08-22T01:58:30.574381Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:58:30 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1060,9 +1102,9 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Quantum (Dev)", + "display_name": "Python 3", "language": "python", - "name": "quantum-dev" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -1074,7 +1116,36 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false } }, "nbformat": 4, diff --git a/qiskit/advanced/aqua/optimization/vehicle_routing.ipynb b/qiskit/advanced/aqua/optimization/vehicle_routing.ipynb index 030de05ff..811e2ed26 100644 --- a/qiskit/advanced/aqua/optimization/vehicle_routing.ipynb +++ b/qiskit/advanced/aqua/optimization/vehicle_routing.ipynb @@ -925,13 +925,62 @@ "quantum_cost2 = get_vehiclerouting_cost(instance, n, K, x_quantum2)\n", "print(quantum_cost2)" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:59:00.675931Z", + "start_time": "2019-08-22T01:59:00.666845Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:59:00 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Quantum (Dev)", + "display_name": "Python 3", "language": "python", - "name": "quantum-dev" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -943,7 +992,36 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false } }, "nbformat": 4, diff --git a/qiskit/advanced/ignis/1_calibrating_a_qubit.ipynb b/qiskit/advanced/ignis/1_calibrating_a_qubit.ipynb index 9bdf8eac2..b420938e0 100644 --- a/qiskit/advanced/ignis/1_calibrating_a_qubit.ipynb +++ b/qiskit/advanced/ignis/1_calibrating_a_qubit.ipynb @@ -877,6 +877,55 @@ "plt.xlabel('Frequency detuning, MHz', fontsize=20)\n", "plt.ylabel('Pulse amplitude, a.u.', fontsize=20)" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:29:36.602627Z", + "start_time": "2019-08-22T01:29:36.594016Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:29:36 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -895,7 +944,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb b/qiskit/advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb index b6c757f2f..6970649a3 100644 --- a/qiskit/advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb +++ b/qiskit/advanced/ignis/2_hamiltonian_and_gate_characterization.ipynb @@ -736,6 +736,55 @@ "print(\"Rotation Error on CX: %f rads\"%(fit.angle_err()[0]))\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:30:24.349385Z", + "start_time": "2019-08-22T01:30:24.340068Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:30:24 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -756,7 +805,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/3_relaxation_and_decoherence.ipynb b/qiskit/advanced/ignis/3_relaxation_and_decoherence.ipynb index fd6fd3754..623e22c91 100644 --- a/qiskit/advanced/ignis/3_relaxation_and_decoherence.ipynb +++ b/qiskit/advanced/ignis/3_relaxation_and_decoherence.ipynb @@ -337,6 +337,55 @@ " t2cpmg_fit.plot(i, ax=ax)\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:30:54.922391Z", + "start_time": "2019-08-22T01:30:54.914268Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:30:54 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -357,7 +406,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/4_measurement_error_mitigation.ipynb b/qiskit/advanced/ignis/4_measurement_error_mitigation.ipynb index 220336f69..bc669381d 100644 --- a/qiskit/advanced/ignis/4_measurement_error_mitigation.ipynb +++ b/qiskit/advanced/ignis/4_measurement_error_mitigation.ipynb @@ -885,6 +885,48 @@ "plot_histogram([raw_counts, mitigated_counts2], legend=['raw', 'mitigated'])" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:32:09.434744Z", + "start_time": "2019-08-22T01:32:09.423495Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:32:09 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -909,7 +951,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/5a_randomized_benchmarking.ipynb b/qiskit/advanced/ignis/5a_randomized_benchmarking.ipynb index bc295da77..a6f30b2bd 100644 --- a/qiskit/advanced/ignis/5a_randomized_benchmarking.ipynb +++ b/qiskit/advanced/ignis/5a_randomized_benchmarking.ipynb @@ -767,6 +767,48 @@ "print(\"Predicted 2Q Error per Clifford: %e\"%pred_epc)" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:32:39.556334Z", + "start_time": "2019-08-22T01:32:39.548437Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:32:39 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -791,7 +833,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/5b_interleaved_rb.ipynb b/qiskit/advanced/ignis/5b_interleaved_rb.ipynb index ec5c899c5..387253097 100644 --- a/qiskit/advanced/ignis/5b_interleaved_rb.ipynb +++ b/qiskit/advanced/ignis/5b_interleaved_rb.ipynb @@ -453,10 +453,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { - "collapsed": true + "ExecuteTime": { + "end_time": "2019-08-22T01:33:15.440972Z", + "start_time": "2019-08-22T01:33:15.431512Z" + } }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:33:15 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [] } @@ -477,7 +517,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/5c_purity_rb.ipynb b/qiskit/advanced/ignis/5c_purity_rb.ipynb index 0c2b62e2b..c59794f77 100644 --- a/qiskit/advanced/ignis/5c_purity_rb.ipynb +++ b/qiskit/advanced/ignis/5c_purity_rb.ipynb @@ -898,10 +898,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { - "collapsed": true + "ExecuteTime": { + "end_time": "2019-08-22T01:33:45.996796Z", + "start_time": "2019-08-22T01:33:45.987900Z" + } }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:33:45 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [] } @@ -922,7 +962,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/6a_state_tomography.ipynb b/qiskit/advanced/ignis/6a_state_tomography.ipynb index 2335502e6..82cfd2d42 100644 --- a/qiskit/advanced/ignis/6a_state_tomography.ipynb +++ b/qiskit/advanced/ignis/6a_state_tomography.ipynb @@ -594,10 +594,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { - "collapsed": true + "ExecuteTime": { + "end_time": "2019-08-22T01:34:07.657483Z", + "start_time": "2019-08-22T01:34:07.647575Z" + } }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:34:07 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [] } @@ -618,7 +658,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/6b_process_tomography.ipynb b/qiskit/advanced/ignis/6b_process_tomography.ipynb index f89bb7d51..c968b290c 100644 --- a/qiskit/advanced/ignis/6b_process_tomography.ipynb +++ b/qiskit/advanced/ignis/6b_process_tomography.ipynb @@ -391,6 +391,55 @@ "print('fit fidelity (state):', state_fidelity(choi_ideal / 2, choi_cvx.data / 2))\n", "print('fit fidelity (process):', np.real(process_fidelity(choi_ideal, choi_cvx.data, require_cptp=False)))" ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:34:32.448531Z", + "start_time": "2019-08-22T01:34:32.438036Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:34:32 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -409,7 +458,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/7_quantum_volume.ipynb b/qiskit/advanced/ignis/7_quantum_volume.ipynb index 570ad276c..48d9bdfc0 100644 --- a/qiskit/advanced/ignis/7_quantum_volume.ipynb +++ b/qiskit/advanced/ignis/7_quantum_volume.ipynb @@ -482,6 +482,48 @@ " print(\"Width/depth %d less than 2/3 (unsuccessful).\"%len(qubit_list))" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:35:08.040110Z", + "start_time": "2019-08-22T01:35:08.030947Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:35:08 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -506,7 +548,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/8_repetition_code.ipynb b/qiskit/advanced/ignis/8_repetition_code.ipynb index e8857e580..cd37c81a5 100755 --- a/qiskit/advanced/ignis/8_repetition_code.ipynb +++ b/qiskit/advanced/ignis/8_repetition_code.ipynb @@ -1332,6 +1332,48 @@ " print('')" ] }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:35:28.117843Z", + "start_time": "2019-08-22T01:35:28.108586Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:35:28 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1356,7 +1398,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/ignis/9_ignis_logging.ipynb b/qiskit/advanced/ignis/9_ignis_logging.ipynb index 2b31e2195..55415d5af 100644 --- a/qiskit/advanced/ignis/9_ignis_logging.ipynb +++ b/qiskit/advanced/ignis/9_ignis_logging.ipynb @@ -381,6 +381,55 @@ "source": [ "Once retrieved you can convert the data into a csv object, pandas or any other format for further processing and visualiztion. " ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2019-08-22T01:35:49.347861Z", + "start_time": "2019-08-22T01:35:49.338811Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.3
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", + "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 21:35:49 2019 EDT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2019.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -399,7 +448,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/qiskit/advanced/terra/1_advanced_circuits.ipynb b/qiskit/advanced/terra/1_advanced_circuits.ipynb index b52eb8840..c193d1847 100644 --- a/qiskit/advanced/terra/1_advanced_circuits.ipynb +++ b/qiskit/advanced/terra/1_advanced_circuits.ipynb @@ -30,8 +30,8 @@ "execution_count": 1, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.649701Z", - "start_time": "2019-08-21T09:00:45.301727Z" + "end_time": "2019-08-22T14:45:17.074270Z", + "start_time": "2019-08-22T14:45:14.490351Z" } }, "outputs": [], @@ -70,8 +70,8 @@ "execution_count": 2, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.654546Z", - "start_time": "2019-08-21T09:00:47.651707Z" + "end_time": "2019-08-22T14:45:17.080122Z", + "start_time": "2019-08-22T14:45:17.076254Z" } }, "outputs": [], @@ -91,8 +91,8 @@ "execution_count": 3, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.661925Z", - "start_time": "2019-08-21T09:00:47.656456Z" + "end_time": "2019-08-22T14:45:17.085841Z", + "start_time": "2019-08-22T14:45:17.082402Z" } }, "outputs": [], @@ -114,8 +114,8 @@ "execution_count": 4, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.667125Z", - "start_time": "2019-08-21T09:00:47.663431Z" + "end_time": "2019-08-22T14:45:17.091163Z", + "start_time": "2019-08-22T14:45:17.087876Z" } }, "outputs": [ @@ -153,8 +153,8 @@ "execution_count": 5, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.677660Z", - "start_time": "2019-08-21T09:00:47.668843Z" + "end_time": "2019-08-22T14:45:17.109351Z", + "start_time": "2019-08-22T14:45:17.093211Z" }, "scrolled": true }, @@ -173,7 +173,7 @@ " " ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -210,8 +210,8 @@ "execution_count": 6, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.687967Z", - "start_time": "2019-08-21T09:00:47.679066Z" + "end_time": "2019-08-22T14:45:17.121482Z", + "start_time": "2019-08-22T14:45:17.111498Z" } }, "outputs": [ @@ -237,7 +237,7 @@ " " ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -301,8 +301,8 @@ "execution_count": 7, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.692387Z", - "start_time": "2019-08-21T09:00:47.689669Z" + "end_time": "2019-08-22T14:45:17.126508Z", + "start_time": "2019-08-22T14:45:17.123059Z" } }, "outputs": [], @@ -329,8 +329,8 @@ "execution_count": 8, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.703901Z", - "start_time": "2019-08-21T09:00:47.695307Z" + "end_time": "2019-08-22T14:45:17.137276Z", + "start_time": "2019-08-22T14:45:17.129509Z" } }, "outputs": [ @@ -346,7 +346,7 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -382,8 +382,8 @@ "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.723859Z", - "start_time": "2019-08-21T09:00:47.710085Z" + "end_time": "2019-08-22T14:45:17.152693Z", + "start_time": "2019-08-22T14:45:17.139151Z" } }, "outputs": [ @@ -399,7 +399,7 @@ " └───┘└───────────┘" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -443,8 +443,8 @@ "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.735653Z", - "start_time": "2019-08-21T09:00:47.725627Z" + "end_time": "2019-08-22T14:45:17.178354Z", + "start_time": "2019-08-22T14:45:17.154448Z" } }, "outputs": [ @@ -460,7 +460,7 @@ " └───┘ └───────┘ ░ └────┘ " ], "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -501,8 +501,8 @@ "execution_count": 11, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.758523Z", - "start_time": "2019-08-21T09:00:47.737455Z" + "end_time": "2019-08-22T14:45:17.201634Z", + "start_time": "2019-08-22T14:45:17.180844Z" } }, "outputs": [ @@ -524,7 +524,7 @@ " " ], "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -574,8 +574,8 @@ "execution_count": 12, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:47.765375Z", - "start_time": "2019-08-21T09:00:47.761262Z" + "end_time": "2019-08-22T14:45:17.206387Z", + "start_time": "2019-08-22T14:45:17.203148Z" } }, "outputs": [ @@ -611,25 +611,29 @@ "execution_count": 13, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:48.067047Z", - "start_time": "2019-08-21T09:00:47.767619Z" + "end_time": "2019-08-22T14:45:17.572833Z", + "start_time": "2019-08-22T14:45:17.209134Z" } }, "outputs": [ { - "ename": "QiskitError", - "evalue": "\"Cannot bind Parameters (['θ']) not present in expression.\"", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mQiskitError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m circuits = [qc.bind_parameters({theta: theta_val})\n\u001b[0;32m----> 6\u001b[0;31m for theta_val in theta_range]\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcircuits\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline_length\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m120\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m circuits = [qc.bind_parameters({theta: theta_val})\n\u001b[0;32m----> 6\u001b[0;31m for theta_val in theta_range]\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcircuits\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline_length\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m120\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/miniconda3/lib/python3.7/site-packages/qiskit_terra-0.9.0-py3.7-macosx-10.7-x86_64.egg/qiskit/circuit/quantumcircuit.py\u001b[0m in \u001b[0;36mbind_parameters\u001b[0;34m(self, value_dict)\u001b[0m\n\u001b[1;32m 857\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 858\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mparameter\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;32min\u001b[0m \u001b[0munrolled_value_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 859\u001b[0;31m \u001b[0mnew_circuit\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_bind_parameter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparameter\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 860\u001b[0m \u001b[0;31m# clear evaluated expressions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 861\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mparameter\u001b[0m \u001b[0;32min\u001b[0m \u001b[0munrolled_value_dict\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/miniconda3/lib/python3.7/site-packages/qiskit_terra-0.9.0-py3.7-macosx-10.7-x86_64.egg/qiskit/circuit/quantumcircuit.py\u001b[0m in \u001b[0;36m_bind_parameter\u001b[0;34m(self, parameter, value)\u001b[0m\n\u001b[1;32m 879\u001b[0m \u001b[0;34m\"\"\"Assigns a parameter value to matching instructions in-place.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 880\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0minstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparam_index\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_parameter_table\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mparameter\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 881\u001b[0;31m \u001b[0minstr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mparam_index\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minstr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mparam_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0mparameter\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 882\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 883\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_substitute_parameters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparameter_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/miniconda3/lib/python3.7/site-packages/qiskit_terra-0.9.0-py3.7-macosx-10.7-x86_64.egg/qiskit/circuit/parameterexpression.py\u001b[0m in \u001b[0;36mbind\u001b[0;34m(self, parameter_values)\u001b[0m\n\u001b[1;32m 66\u001b[0m \"\"\"\n\u001b[1;32m 67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 68\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_raise_if_passed_unknown_parameters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparameter_values\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 69\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_raise_if_passed_non_real_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparameter_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/miniconda3/lib/python3.7/site-packages/qiskit_terra-0.9.0-py3.7-macosx-10.7-x86_64.egg/qiskit/circuit/parameterexpression.py\u001b[0m in \u001b[0;36m_raise_if_passed_unknown_parameters\u001b[0;34m(self, parameters)\u001b[0m\n\u001b[1;32m 134\u001b[0m raise QiskitError('Cannot bind Parameters ({}) not present in '\n\u001b[1;32m 135\u001b[0m 'expression.'.format(\n\u001b[0;32m--> 136\u001b[0;31m [str(p) for p in unknown_parameters]))\n\u001b[0m\u001b[1;32m 137\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_raise_if_passed_non_real_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparameter_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mQiskitError\u001b[0m: \"Cannot bind Parameters (['θ']) not present in expression.\"" + "name": "stdout", + "output_type": "stream", + "text": [ + " ┌───┐ ░ ┌──────────────────────┐ ░ ┌───┐┌─┐\n", + "q_0: |0>┤ H ├──■──────────────────░─┤ Rz(6.28318530717959) ├─░──────────────────■──┤ H ├┤M├\n", + " └───┘┌─┴─┐ ░ ├──────────────────────┤ ░ ┌─┴─┐└───┘└╥┘\n", + "q_1: |0>─────┤ X ├──■─────────────░─┤ Rz(6.28318530717959) ├─░─────────────■──┤ X ├──────╫─\n", + " └───┘┌─┴─┐ ░ ├──────────────────────┤ ░ ┌─┴─┐└───┘ ║ \n", + "q_2: |0>──────────┤ X ├──■────────░─┤ Rz(6.28318530717959) ├─░────────■──┤ X ├───────────╫─\n", + " └───┘┌─┴─┐ ░ ├──────────────────────┤ ░ ┌─┴─┐└───┘ ║ \n", + "q_3: |0>───────────────┤ X ├──■───░─┤ Rz(6.28318530717959) ├─░───■──┤ X ├────────────────╫─\n", + " └───┘┌─┴─┐ ░ ├──────────────────────┤ ░ ┌─┴─┐└───┘ ║ \n", + "q_4: |0>────────────────────┤ X ├─░─┤ Rz(6.28318530717959) ├─░─┤ X ├─────────────────────╫─\n", + " └───┘ ░ └──────────────────────┘ ░ └───┘ ║ \n", + " c_0: 0 ═════════════════════════════════════════════════════════════════════════════════╩═\n", + " \n", + "set()\n" ] } ], @@ -657,8 +661,8 @@ "execution_count": 14, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:53.482684Z", - "start_time": "2019-08-21T09:00:52.013988Z" + "end_time": "2019-08-22T14:45:19.165130Z", + "start_time": "2019-08-22T14:45:17.583101Z" } }, "outputs": [], @@ -685,15 +689,15 @@ "execution_count": 15, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:00:59.559042Z", - "start_time": "2019-08-21T09:00:59.216868Z" + "end_time": "2019-08-22T14:45:19.578574Z", + "start_time": "2019-08-22T14:45:19.166876Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -702,7 +706,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAewAAAGBCAYAAACkQILkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOy9eXwkV3ku/JzepV60dGuXRrMv9nidsTw22NjGxsYEbPguO8EEgvPdcJObkFyykHsJud8vl3tDQnYSwIAhxglx+LAJsY1tjD1exvLIu2fVaKTRrm4tvUm9n/vHqdPdknqrqlPLeOr5/eZXPa1Sq1Sqque87/u8z0sopbBgwYIFCxYsmBs2ow/AggULFixYsFAfFmFbsGDBggUL5wEswrZgwYIFCxbOA1iEbcGCBQsWLJwHsAjbggULFixYOA/gMPoAaiEUCtGtW7cafRgWLFiwYMGCbhgZGYlQSjs2vm9qwt66dSuOHj1q9GFYsGDBggULuoEQMlHpfSslbsGCBQsWLJwHsAjbggULFixYOA9gEbYFCxYsWLBwHsDUNWwLFixYsGBBLrLZLKamppBKpYw+lJrweDzo7++H0+lsaH+LsC1YsGDBwlsKU1NT8Pv92Lp1KwghRh9ORVBKsbi4iKmpKWzbtq2h77FS4hYsWLBg4S2FVCqFYDBoWrIGAEIIgsGgrCyARdgWLFiwYOEtBzOTNYfcY7QI24IFCxYsWDgPYBG2BQsWLFiwoAEeeeQR7NmzBzt37sRXvvIV1Z9nEbYFCxYsWLAgGPl8Hp/73Ofw8MMP49ixY7j//vtx7NgxVZ9pEbYFCxYsWLjgMTKxjL97chQjE8tCPm94eBg7d+7E9u3b4XK58JGPfAQPPvigqs+8oNq6RiaWcWRsEYe2B3FgsM3ow7GgBSaHgfHDwNbrgIEho4+mKqxrUTnOm3NnXYumwJd/8iaOzcRq7hNPZXFiLo4CBWwE2Nvth99TvTf6ot4AvvTei5FM55BM5+B1O+B1r6fT6elpDAwMFP/f39+PF154QdXvcsEQ9uPH5nH399kgEZfDhvt+9ZA5L85zL7CbfNv1prvJTX9jTw4D370dyOcAhwe46yHTnUMAODq+hI998wXkCgXzXYsTzwMTz5ry+gPYNfixbx5BJsfO3Q8+a6JzV45zLwDffQ9QMPe1+PyZCO769osmvhafA7Zpv+CJpXIoUPa6QNn/axE2ACTTOZyNJFGgFDZCsC3kXUfalNJN36NWuX7BEPbIueXiHySbK+DI2KJ5LszJYeDMk8DiaeD1BwBQwNFkqpv8sTfn8Wv/dBSUAk67DX94+14kM3lzkffzfwfks+x1LsUWPiY5fxyUUnzl4RPI5AsATHYt8gUPLQDEBuz/ANA6COy+zTTn8cjYItI5du7SuQJ++vqMOc5dOQoF4LH/DhSkazGfMdW1ODKxjOfPRJDJFfDd58bNeS1OPAd853awZ6EHuOsnis/fl957cd19RiaW8fFvHUE2V4DTYcNffeSKuudhIZZCQSJlSmkx0ubo7+/H5ORk8f9TU1Po7e1V9DtwXDCEffO+LtxzeAyZPAUIwaHtQaMPiaEYFWbXv59Pm+om//azY8UFTyZfwB//5BhsxETZipOPAMceYkRDCwAokDWfLeHXnzqDo2U1MqfdZp5r8Y0fSecObPv6A+z1839vmsVjW/P6qOeHL05iV6cfS8mMORaP488CD38BmH8DIHaA5gFCWFrcBOAZCr7o6W1xI57KgQJwOkx0LT771wCkB04uBZz8D02vvwODbbjvVw/JyiBmC6UImhCyKSV+1VVX4fTp0zh79iz6+vrwz//8z/jBD36g6jgvGMI+MNiG++++Bl95+DheHF/GC2MRc6R3zx4uI2sC2OwsjQbz3OT5AsXp+QRsBGAJHYI8pShQk6zKX7yHPSRDO4F3/xkwNQyc+Cnw9FeB6CRw8NOGk83IxDK+8fQZPPrmPO64vBfX7gji9/7tdbz/ij7jSYZjTVpIEDsjmUIeADVNhFgoUPzzi5Noa3birmu2YneXH3/y72/iD370ujkWj5PDwL2/xBY7Ngdw+1eBo98BwsdZpsIEODK2iIxE1jYCfOzqQTjsNnzl4RP4f9+xwxzXYirKyjJE0kTTAnD0u0AuDVz8fs2uwwODbQ3//mvZPJaSGXjdDvil+vVGwnY4HPjbv/1b3Hrrrcjn8/j0pz+Niy+uH+3XwgWlEuerqJ0dXvyfR0/hz392Eh//1hFhqkBFCO2SXhCW+rn9z4H+q9jFWvyasXjuTASRZAa/dfNufP5de/A/79wPh41Rt8PoCHFyGPjp77BFzso5wNUMvOMLwM1fBkCBV+8H7n0v288gjEws46PfPIJH35xnD8mhLfjwVVtw875O/PT1WcRS2fofojUKBZaG7DsI3PRFdh06XOxrxGaKxeMDI1N4bSqKL733YvzWLbtx+6U9+MCV/QCwbvFoGE7/rCxDQYG1JeCD32ELn2f/0rjjKkP5vepy2HDNjhDuvm47dnR48bM35yvWXXXHM18D0jHgfX8D3PRHwHW/A6SWgSN/D9z7PkPvZQBISLVrGwEG25vRGfBsImuO22+/HadOncKZM2fwxS9+UfXPrkvYhJBvE0IWCCFvlL3XTgh5jBByWtq2Se8TQshfE0JGCSGvEUKuLPueu6T9TxNC7lJ95Arhcthw094uACa5yfMZth36LEs7HvwU8J4/Z/UvnpI0GD88OoWWJifuvn47PnfjTnzs6i34iw9fBgD46NCAsavy0z9DMXWWz7JIEABmRsDzAcUI0SAcGVtEVopqCFBMif/WzbsRS+Xw3WfHDTu2IiZfAKLngKG72QPy4KeAT/4EcPmBwWsNj64Pnw7jj3/yJvZ0+3HH5aU64Dv3dUFaOxqf0nW3sC2xAXYXW+QEdwCXfQR48VvA4182nGw6/W5QADfu7SxmI2w2gl+7fgeOzcbwzGjE0OPD8X8HnvsbYMc7gSs+wa5Flxelezlt6L2cTOdwNpxELl9AgaJYWtALjUTY3wVw24b3fh/AE5TSXQCekP4PAO8GsEv6dzeArwOM4AF8CcDVAIYAfImTvBG4dX+3eW7yyWHA6QVu/V+lh2LPZUDXJcDL/2TccUmIrmbx6JtzuPPyXnic9uL777usD5f0tWBkYsXAowMQkB7e5Q9JgG1NEiGWX1/l19v+vhbcvK8L//DUGfzFYyeNzfS89i+AsxnY+57Se1uuBvbeDiwcYxGjQRiZWMavfOdFrGbyOBtJ4qVzpWvuwGAbfvOdLBP1pfdebOziMR0FYAPe8Xvra/67bmGLxme+ZniE+IuTCwCA//6efevO1R1X9KLT78ZXHz0ptBdZFiaHgR9+kmXLJp4tnaet1wEON3tt8L2cTOdAeYAgCc30RF3CppQ+DWBpw9t3ALhXen0vgDvL3v8eZTgCoJUQ0gPgVgCPUUqXKKXLAB7D5kWAbjgw2Ibb9nfDaSf4p89cbexNPvkC0H8AsG9IqVzxCWD2FWDujcrfpxMeenUamVwBHzw4sOlrd17Rh9enoxhdSBhwZBJ4neua/7L+ITkwxJSl7TsAX5ehEeJAexMogOt3hTbVWG+9uAurmTz+5olR48ozuQxw7MfAntsBt2/917ZeByTDQPiE/scl4cjYInKSwCef35wR+5Vrt8FuI5hcWjXi8EqYHAa69wM3/P76621pTHpBDc/2PHkyjMFgM7aFvOvedzvseNdF3Xh1KmpcqfDkw0ykB6zPlvF7uXUQCPQZei+Xp74rCc20htIadheldBYApG2n9H4fgMmy/aak96q9vwmEkLsJIUcJIUfD4bDCw6uPG/Z0IpunCPrcmv2MusgkgbnXgf4KF+AlH2Tin59+3rAVOXf+GWxvxsW9gU1ff+9lPbAR4MFXpg04OgnhU6wF7uYvb76RB4ZYqSE2DSydNeb4ADx/hhHM7966Z9PicCGeBsCS+oaVZ0YfZ4KzSz+0+Wvbrmfbs0/re0xlOLQ9CFIjI9bS7MTV29rx+PF5A45OQiEPTL9UmUy2XseyPwAToxkUIaayeTx3JoIb93RW7Adu9zIFvmGlQn5MG7NlADuv13wOWJkAIqf1Pa4yuByMMgMe56a+az0gWnRWqSuc1nh/85uUfoNSepBSerCjo0PowZXjoh5GQPUccDTFzMtsRTlw9eavLZ0BQFkEboBoird/zMXSmF5ZW5eG5Oj0e/C2nSE8+MqMcWKV8AkmzrNVuZR33sK2o4/rd0wb8OxoBAGPAxf3tmz62qHtQePLMy98naXD3f7NX2sbZJGNgYR9xUArXHYbrtzSWlUFfvO+LpyaT2BiMWnAEYJdh5k4E4xuxMAQ8EEpIXnwVwyLEJ8fW0QqW8CNezsrfv0dezqLD2pDrsWlMaA5CNz4R5XbCPe9l22PqbP3VIO1DMsAdPjdupM1oJyw56VUN6TtgvT+FIDy3Gk/gJka7xuGXV0+OGwEx2ajxh3EpGRT139w89fGD5fqhgak0crbPyilVVfbd1zeh3NLq/ijH79hTDo3cgro2Fv968EdjHBGn9DvmMpAKcWzo4u4ZkcQdtvmdeuBwTZ8/GrW8vP1TxzQvzwz/gwj4+wa8P0PVF4Ybrue7VfI63tsEmZjKaRzBXzgyv6q5+eWi5iQ9LFjBkXZUy+ybSXCBpgWoHULEDPusfeLEwtoctpx9bb2il8/MNiG63eH4HM79G+Py+eAMz8H9rwbuP53Ki9qAr3s/B5/SL/j2oDVTB4EWKfn0RNKCfshAFzpfReAB8ve/6SkFj8EICqlzB8F8C5CSJskNnuX9J5hcDvs2NnpMzbCnhwGQruB5go30DrRlF33NFq9NCRHV4CVFO574Zz+da90gvVZd+yuvg8hTPRz9mnWx6kzJhZXMb2yhrfvDFXd57b93QBQbJXTFcf4w69GfXXb9UBqhZVvDADXSOzs9FXdZ6C9GXu7/cYR9uSLLDps3159n4FDbJFuQDaKUoonT4bxtp3BmmRz7Y4QEukctm+ocWuO6RHWf73z5tr77XsfMPsqsDyuy2FtxFo2D7fTXnHxvRGf/vSn0dnZif379wv7+Y20dd0P4HkAewghU4SQzwD4CoBbCCGnAdwi/R8A/gPAGIBRAN8E8OsAQCldAvA/Abwo/fsT6T1DcVFPAMdmDSJsShlhV0uPDQyxthq7G9h9q+5ptAODbWj3urC3219ztf3aVClDoXvdK3KKbWtF2AB7CGSTwLnntT+mDXj2DGuTubYGYXN9wJtGLB6bpMVipbohB3/PoLR4I4QNsCj7xfElfPVRAxT3Uy9K/gk1HuRbrgYS86wOqzN+8uoMzi2tYntH7XO4VyoVnpiL63FYJYw+zq7B7TfU3u+i97HtT39X9zIhpRRrmTyaGoyuP/WpT+GRRx4RegyNqMQ/SintoZQ6KaX9lNJ7KKWLlNJ3Ukp3SdslaV9KKf0cpXQHpfQSSunRss/5NqV0p/TvO0J/C4W4qDeA+Vgaiwn9Iy8snmHGCpUEZxxbrmYPgficfsclYTmZQSSRwZ11nLgObQ/CLj2kdK97hU+ybWhP7f246Of0Y9of0wY8N7qI7oCnZsTS2uxCX2sT3pg2oDyTT7MMzg1/UN1+NNADtAwAL91riADyTDiB1mYngl5Xzf3625pQoMDfPamz4n5tGYicrFzaKsfAIbY9p25ik1yMTCzj8z98FQBw73PjNc/Lvm6mYzg5p/PicfQx9ixsqpOGTywAIGx/0S1yk8PA4T+v+pnZfAG5QgHNrsYI+/rrr0d7e+Xyg1JcMNaklcCFZ8dn43j7Lp3V4rx+XUlwVo6ey4Cj32Y1no2tXxqCZx4qqcPLcWCwDR840Id/PTqFe39lSN+6V+QkYHMC7dtq7+f2AZ0XsV7ji+7QLVtRKFA8dyaCm/Z21Z3Ss78vYEx5ZuE4K8u84wvV95kcZrVXmmcCSBWDGJRgdCGBnR2+uucwXEFxr8v1OD3CtrUW3wDQuQ9wB4DJI8BlH9b+uCSUt8Xl8rXPS4ffjbZmp74RdiLMBLg3/lH9fctLNo1a5j78+/XLOekY83/ng2+69rO/VRlshQK2ZwtoctmBnkuBd3+lyodphwvKmnQj9nGluBHCsxP/zswA1uoYj/RcCuTW2CQvHcGjvUrK5o04tI1F1Z0Bj6bHtAnhk0xUZq89Bg+Tw8D8m6yfWEfF/b+9NIXl1Sz6Wuufl4t7WzAWSSKhsxEDFt5kRFIL44dLlpsGCCDPLCTqpsMB4JodIWMU95MvAiBA35W197PZWRSuc4R9aHuwYfU3IQR7uwP6EvaZn7Ptrjr1a0DKlkn3u02gticVXT/4JrWZE/KUsnEPBkhNOC7oCLvN60Jvi0f/yGZymJkEgALfv7P2JKQeZgGK2dfqP1gF4s2ZGPpam9BeJw0JAFuCzQCAicXkJkMGTRE+yYwq6mH8cJkhgz6DLEYmlvEHP2Kr+n98egzv2NNZM9rb38ezPTFctVVsGq0q0nHmv37lJ2vvx52mcindBZDLyQwWkxnsqFN7BVi2532X9eGhV6fxvU/rmO0ZfQzwdrBsRb3rauAQ8Iv/xRbqTa26HN6VW1rhtNtwSX8L/vD2fXXPy55uP354dBKFAoVND3YafRxoDgHdl9Xfd2AI+Ni/AN9/P3DZxxq7jxuJhCeHWYo9n2Hls//nW5s+ezqcQL5AsaurQvujTrigI2yA1bF1F56NPoGS/3WdiCW4iw0FmX1Vl0PjeGMmiovqpMM5trQzwtbVaSqbApbP1q9fA+uNK3QinEppyFrgmQxd69hcA9B5Ue39uNOUuwXYco2+6fBwY4Izjhv2dKBAgZam+gtNIZg4wlLiyYXGaqpbrgZAgamjtfcTiLlYCpl8oa4ehWNfjx+rmTwml3W4nwsF4NQjTCcx3eA52XETK+MkBHYEDAyxwOmmL1YMoCilWMvmWTrcQFiE3RPAmXASqayOPaZ+1sZTU5nLYXewesrca/ocGySD+0gS+xtIhwNsoIDbYcPEoo6EvXSGpa46GiDsgSHgkw+xc73ndl0Ip9G2OI5OvxshnxtvTOu4eFw4Jv3wBjI3A0OsPW7xtK5tSY0qxDn29rDo54ReoqnjZSYejZQL+g6yRePkEW2Pqwxnw8xMptFWrT3dJW2P5nj1B6x+PPeGPBFZ75XAzEtir8WBITZspMLzIZMrIF+gDQvOAOCjH/0orrnmGpw8eRL9/f245557VB/iBU/Y+3oCyBcoTs3rWLMpSHXKa3+zdjqco+dSlhLX6UF5fDYGSusLzjgIIdjS3oxzekbY3Nu6EcIGWGTTeRGQ0cf3/MotrWhy2nH5QHV3rnIQQnBxbwBvzugYYS8cZ7aurVsb23/LISA+y9LoOmF0IQGP04a+1qaG9t8eYoZIutVgXdJCopHFN8AEkO3bgNf/VTctxVhEIuyOxgh7d5cPhAAn9TiHZ56UXsj0We+7kkXYOhnRrKzxEbiNlwjuv/9+zM7OIpvNYmpqCp/5zGdUH8cFT9g87atrHXv2Vdb/evMfNxbt9VzGJgHpZBbA07L7+xqLsAFgMKg3YZ9iD8ngzsa/J7hDsnzVHkvJDFYzebzvst6Ga6n7+wI4vZDQL9uzcAzo3Fvd1nUjeEfDpH6iqdGFBLaHfA3XUl0OG3Z2+vQhG4BFh3Y3cGPlVOomTA6zUs7yuG6Tu85Gkmhy2tHlb0wU2uxyYGvQq0+Wwiv5ExB7Ywsejr4DbMsV+hoimc5hIcY6EGZW1nSf0FWOC56wB9qa0eS041+OTurXtzn3Goua67SpFFEUnulTx35zJoag11V0MWsEA1KErZunePgEsxx1NhZ5AWCTu1bOselUGuOsFNXIEeHt723RN9uzcLx+/bocXRez+djn9EvnjjaoEC/Hnm4/TuilS5l+iUV71/9uY4vv8cOsbgvoNtv5bCSJrSGvLAHZni6/Poseu5O1Zja64OHo2s8Gqcy8pO3xYf1ITWrASM1yXPCE/fLkClK5PF4+t6KP2UI+yx6U3Zc2/j2dF7GLU6c69hszMVzc11K377Ucg+3NWM3ksZjUngwBsNGjdqe8CCW4g9W9dchUKCFsLjz725/rMI84uchSinIIm7cl6RRhr2ZymF5Zk03Ye7sDmImmEC2mMTVCPsfuyd4rGv8eAyZ3nY0kZVuN7u3x4+xisjjsQjPEZoGWvur+4dXg9LAF5HR1whYVPGg5UlPuMV7whH1kbLFYGtbFWjN8ktVq5BC2ww107NMlwk7n8jg9H8f+BuvXHKXWLh3S4hPPM9KNnJaXVmzfwbY6pMXPRpJw2Aj62xrPAITjKQDAz47Na794lCM4K8fA1aynvUKfqmiMSWIp2YTdw926NI4QwydYq1tvnf7rcgwMAR/6Hnt91Wc1F0Bm8wWcW1qV3W65t9sPSoHTCxqfw/gs4O9V9r19B4CZV0oZizJ4PB4sLi4KIW2XXZuRmpRSLC4uwuNp3L/igu7DBpia12knyOYpHHYdzBZ4lNwjg7D5/qd/xoRnMiJfuTg1l0CuQBsyTCnHlnb2QJhcWtW+/7U4Xo/K66sOSoS9qA9hb2lvhsPe+Jr4yNmSvb7mTl0Lx9lWToQNrG9L2vlO4YdVjjMyW7o49pbZaw5VmUwlBDwdKyfCBthsAIence2ACpxbWkW+QBUQNluw//2TZ/DZ67drdx3GZuobzlRD75XMBXLpDBuxW4b+/n5MTU0hHA6rPsRUNo9IIoOC34W1sNi2Lo/Hg/7+/ob3v+AJ+8BgG/70zkvw3/7tNfzmTTu1J5u515kyV45YCmB17FfuA574sqatSf/xOlddyluZ9rc1gRCdImw3V+bKFKo0tzOvYp0ibLkPSe7LnqdUe6euhWOAp7XUYtgo+q9iYr/JFzQn7MOnwyCEmafIQXfAg5YmJ45rHWHPvMzsK2tN6KoEQpg3uw5q+2JLV4MKcY6INF/h0Tfn8ItTC9qM26RUirB7lH0/J/rplzYRttPpxLZtdSyLG8Q/PHUGX3l4Aq/8j1vQ2qxTf38VXPApcQB47+W9sNsIUrnNqRXhmH2N1V5sMldq3I7vmb/STF06MrGMbxw+CwD4nX99VVZK1uO0ozvg0UcpnoqyRc+NfyhPqAKwtLjGEXahQDGuwPXtwGAbPnwVW21/+66rtF08csGZ3GyN28+uX42FZyMTy/jRS9OgFLjrO8OyrkVCCPZ06yCamnkZ6L1cWaTcqhNhK9BSAMALUran3JddOFIrrKQQUJgSD+0BnM2aC89OzsXRHfAYTtaARdgAGNns7NBhNjalLMKWmw4HpCk1AFDQzM/5yNgi8pI7l5KblCnFk8KPaxNmXpanzC1HUHvCnoulkMoWsFWBTeuhHazNJejTcBgNvw7zGWULv4FDzA/7qT/TrC3p+TMRFFRoS/ZJhF0oaNS1kEszsw+56XCO1i3AyqTYY6qAsUgS7V6XbLI5tD2ovS97bJZt5WZ5OOwOoOdyzVu7js/GiroIo2ERtoR9PX7tLUqXx1k/tRzBGceOm1Bs2peTBpYBOUMCKkEX85R8lpGN0gdl+w4gNgVk18QeVxnGI/Kcpcox2F7yZdcMJ37K5oNPjyjL1nhDQD4F/OJPNcv2dEmDZGxE2bW4pzuARJqpzDXB/JtAIauOsFcjQEbbBe7ZSEKRv/+BwTbccXkfbAT4/meu1ibbE5fKb0pFZwCzNJ15GZh4TswxbUA2X8CZcKJY0zcaFmFLuKg3gNloCktatiXxEW9KIuyBIWD3bUwx/skHNalhX9wbAAXwth0hRTWrwfZmzMfS2hp/LByXlLkKH5RceLZ0VtwxbQB3ltoms24IMAMaANoufE4+LL2Q6S7FsSalp6l22Z6VVdaS9Wvv2KHoWixZlGqUFp95mW2VXoctW9hW4yhbiZaCY2hbOwoU6G3QZU42eIQdUFjDnhwGjj/EnCO/d6cmC8excBLZPC0KGY2GRdgSLuphqujjWkbZc68xoZRcZS7H3ttZKo67AwkGH97xoav6Fa2oeWuXpkNA1D4ouUBIQ+HZ2UgSHqetYWepcrQ2uxDwOLQV73k72FauaI9j923SC6JZtue5MxFs7/Di927bq+ha3CNNVLr3uXFt2uNmXmJuha2Dyr6/lRO2dnXsZDqH+VhaMWEPtGl8P8d5SlwhYY8fBgpScFDIarJw5G5vVkrcZNgn/UE0rWPPvsamzMhx5yoHt+PTaNLPuEQSg0FlNzif2qVpdDjzEuBpka/M5dChtWs8ksTWoDxnqXJsCTZjQstzaLMBsAE3/IF80R4A7LgRcHnZ9ajk++sgmy9g+OwSrt2hvG56Yi4OAuCZ0Yg2Pe0zr7BFo9IWS07YUe0ImwvOdijI9AA63M+xGaA5yLKGSqDDFL4Tc3E4bATbQ/JaC7WCRdgSgj43ugMebevY0yNMKKE0ddOxF3B6NRNZ8LrpVilSlost7TqYp8y8rO5B6WlhEabGEbbcNppyDLZ7cU7LGvbKOaC1H3jHf1NOtm3bWaZHg9LM69NRJDN5XLtDeSbpyNhisTFRuMp57GlWw/Z1Kf8MXxcjGw0j7GJpRiHZ9LR6YLcRbSNsNfXrgSHgl3/MXl/6YU2uxZNzcezs9MHlMAdVmuMoTIKLegPaRdinfsZEJnLHyJXDZmdkpRFhjy8m0dLkVNy+0O51wed2aLciz6aA+WPK0+EcGrZ25SRnqa0KsxQAi7CnlteQy2vUZrg8oTyVy9E6oFn99fkzjFzVKJMPbQ/CLmU4hKqcJ4eB+/4TAAq88YDyxbfNBrT0a0rYZ8NJEFLSRciF025DT4tHO8KOzSivX3MMXsMWPxqZ0JyYjZmmfg1YhL0OF/UEMBrWaFrSyZ9KLxQKfTj6rmS18Fxa2KFxjEdWFbUicRBCEPS58PTpsDZ1w6IyV6EzEoeGrV1Ty2vIKXCWKsdgezNyBYrZaErgkZVh5Zx6wm4ZAKLaEPZzZyLY2+1Hu1d53yvraR8AILinffwwu38BVj9VUzdt3aIpYY9MLMHvduBNFUGIpp0fakxTyuHrAuLz6j9nA6JrWcxEU8X54GaARdhluKiXzcYeXdBgZjK/MJUKfTj6DrAHxvwb4o5NwvhiUnE6HGBmF5NLq8iJtVcAACAASURBVBgLJzWqGyq0gtyI9u1AYg5Ii/87n5U5e7gStmipFM+m2O/eppaw+9loybUVMcclIZ3L4+j4sqp0OMeBLYyke0SqnLdeVzI9sjvV1U017MUemVjG4dEIYqmcqntxoK0Z55Y0aI3LZYBkWLlpSjn83SUBm0Bw4x2zCM4Ai7DXYV+PhrOxHZJi+PrfVSfU6T/ItjWm1ChBOpfHzMqaYsEZoMMglZlXgOYQIws14MKzJ74svBWE1w3VpMT530ATLQCPirnoSSlaB6TPm1L3ORvw8rkVpHMFVYIzjp4Wds/NicxUDAwB229klqR3/URd3bRlC5Bc0MQT4MhYRMi9uCXYjEgiLX5qV2KObZWappTD380mzwnGSa4Qt1Li5sRgezOaXXZthGexacDdwuw01dzkgT6WAhKsFJ9aXkOBKhecAaxu6LCzuqFdi0EqM9LsYbXDT7LSA3z4m8KNP148uwS3w1Y0T1GC7oAHLrsNE1q4xq1MsK3qlDhXOYuNEP/tpSkQAG6n+kdTFyfsmGBCzK6x1ky1IqdW7Xqxd3YykiFQV8MfkISkk8uCF49xTtgCImxfN3OCzIudU/306QjcDhtmlrUzWZILi7DLYLMRDLQ34/Fj8+LTudFpNvdVLQhhaXHBwrOiQlxF7fXAYBv+8sOXAwA++/ZtYt2Rxp5ipineTvWfVZyHrVJPsAEjE8v42bE5pHMFfPyeFxRfQ3YbQX97E85pEWEvc8JWGWHzLIdAshmZWMYDI1OgAD77vaOq78HuAI+wBes9oudKGQY10LAXu8nJ0vYfumpA1eCOAWk8rHDhWUxyOVMrOgOkKJ2yFLsgjEws4/Hj86rvZdGwCLsMIxPLGF1IYGplTXwNNjbFomMR6DsALJ4WWj88G2E3pJpULgC8e38Pmpx2rIoU7k0OA/d9EAAFXv+h+oi4OGVKrPHHkbFFVf7X5Rhsb9YmJb5yDrA51Yt9vB2A3S00whZdUvG6HfB7HJiPCUyJF/KMbFoEErYGvdhch/O779qjauGsWS920TRFUA27/DMFQPPynkJYhF2GI2OLxWEBwv9I0SkxETZQMlB59IvC0rkTi0n4PQ60NTtVfY7NxiYlnZgVaAkpUpkLsFRmxz4mvBJo/HHlllYA6tOQQEmdS6ng4RUrEyw6VNsGw9uSBBK2yPPH0R3wYDYqMKUZn2VWmCIibH83YHNoEmGPhhNoaXIi5FM3Yard64LXZRdP2LEZtuBrFjCvnBO2wDr2gUHx16IIWIRdBs1qsNk1YHURCKgUS3FQqT/3lfuE1WDHF1nvMFFbHwYT7x2fi4kjG5HKXI7uS4BCQajZQruXOTa959Ie1fODtwS9SKRz4r3tRbR0cQjuxe5rZdHcbfu7hc1f7m7xYC4mMCXOf98WlSUFgF3TGvVin1lIYGenT/X9TAgrE06KVorHZxnRCnjewCc+wt7SzjKN77q4S5tZ4AphEXYZDgy24f+7cz8A4Ldv3iXuj8TrNaIi7NlXpBfiarATi0lV9ety7OvxY2U1i3lRD8qBIWDnzYDLp16Zy9G2lZUpcuII8WyEpSF/7fodqq+dQa1SkcsT6uvXHC39QlXic1Lq+qNDW4Tde90BD+ZERthFlb2ACBvQrLXrTDiBnR1i7DQZYYuOsGfFtHQBgK8TABHaix2Os2fXhw4OmIasAYuwN+Hmfcxu0COJNoSAP9RE1bC3XgeRozaz+QKmltdUKcTLwUfRHZ8TqLbPpZg1q6iIuH0by1QITOkWW7pC6s+jJlO7Mknmtqe2B5ujZQtrzxFk4sNrzd0t8oemVENPiwfheFqcaxyPhtW2FnK0iDdPWVnNIJLIYGenIMJu06A8E58RY5oCsKybN1RqFRMATtgdfg3n0iuARdgb0O51weO0YUqklD82zbaibvKBIaDrYqB1q5Aa7NTyGvIFqqoHuxx7pL5FoZPPolPiohqARdgAsCxuzOZ4JImQzw2/R50OACi10wgVnvFITmRKHBAWZXPC5rOwRaCrxYMCBcIJQdme6CQbWOESc6+gVVr0ZMUJ47jgTBRhb2lvwlo2j0VR5RlKxUbYAEuLxwUSdsIi7PMChBD0tTZhWiRhRyXCFhVhAyxCdDYJiTjHVQ792IiWJif6WpvECc8olUR7ghY8ANC2jW2LLV7qcTaSxHZBZQWP047ugEcwYQtq6eLgfw9BWYq5aAoepw0Bj0PI5wEamKesTIpRiHPwv8UTfyJMQCqcsEVne1IrQG5NXIQNSG5n4gh7QSrnBb0WYZsefW3NmF4RGWFPMYcup7jIAd4OYX2HE1IqV1SEDbA69glRKfFkhKXERT4ofV3MfW5JXIR9NpJU5SG+EW1eJ46MRcS1F/LUq6gIu0VwhB1PozvgESJ85ODRurDWruik2ExPRjLHOfJ1YQLS0YUE3A4begVZsgqfix3jLV0CXM44/F2CI+wU2pqdppnSxWGuozEJ+lqbxBK2yJYuDm8nU54LcPcZHl+Cy24TOtJxb3cAZ8JJpHMC+rF5BCeSsG02lhYXFGHHUllEEhlhwr2RiWWcmktgeiUlzhNgeZwtUnwCzGcAKWNEhImm5qMpdApMhwMl8xQhg1QolSJsQRkKoJT1QEGYgHQ0nMD2Dl9xWpla9Ism7LFfsG0qKubzABatJxdY26cAhONpdPrFXosiYBF2BfS3NWEpmcFqRpDVXXRaXEsXhzcEgAJrS6o+ZmRiGY+8MYdMXqyjz74eNkjl9LyAARtFwhZ8DgUS9nhx9rAYwmYmLII9AVbOsRSsqAjW4WIPSlEp8ViqSLCi0O51wWW3FRXoqpCMsFSuqJICAOy+TXohzsRnVGrpEoUmlx2dfreYlPjkMPDY/2CvH/0DcbbAvi4mIhWUdQzH06arXwMWYVdEn5RKmhEVZccE2ZKWw9vBtiovUJHuXOXgE25OzAmoY/OUq1aELUD9KmJKVznKPQEcojwBVgS2dHEIMk+hlGI+lhKqEAeYJqWrxS2mhs0dyUSmxLe+DWhqA3ouEyIgXcvkMb2yJqyli6PN68KRM0vqF/Tjh5nxDMCyg4JsgYv1cEFp8XDCIuzzBn2Sf64QpXgqxsYQihScAcIImxOBaEefrUEvPE4bTohQikenWA92k+B+yLZtQCbBIieVOBtJgpCSlaNaHBhswxdu2wsA+NJ7LxbTCyrSNIVDkHlKdC2LdK6ATg0ekj2BJjGEvaJBaQZgC8fmoBAB6ZlwApSKE5wBLAt3ej6Oc8ur6sszW68DiEQ7Am2BS/ak6gmbUmpF2OcTeIQtpI4tuqWLgxN2Qh1hX9zLeqbfvisk1NHHbiPob23CYyIGqaycY+dPoBgJQFlr17jqjzobSaK3pUlo//51u9hM6JYm9W1iSMWAtWUNIuwBdo0X1PU5z2nQg83R1eIRkxIXbZrCEegrPSdU4kxYrEIcEOyrPTAE9F7JCFagLXDJnlQ9YSfSOaSyBXT4LMI+L9AV8MBhI2Jau6IaEbZPTIQdkfoN33tpr1BHn5GJZZyNrGJiScCqXHRLF0c7b+1SrxQ/G0kKS4dzlARTAq7DE//BtoWs+s8qR+sAE0up9HHmrniia9gAa+2ai6bUG3+sTAIuP+BpFXNgHIG+khuiSowuJGAjYsx7OA5tDxYFbELKM9lVRtoCbYGLU/wERNgLJjVNASzCrgi7jaC7xSMowhbscsbhaWWDA1QStlaOPkJFU9Ep8WlIoBRtqoywKaU4G0mqnnS2ES1NTnicNvXp3Mlh4Ce/wV4/9WdC53+Lau2aj4o3TeHoCniQzhWwsqpyscJbukRnegK9rGyWUl8+Gl1IYDDohdshLtNzYLANv33zLgDAn77/EvULe5GTCzkcLtY6K4CwzepyBliEXRXCzFOi06xmI9IkAGAPDQG92PziDAlO/wgTTWVWmZ2mFhG2s4mN91PZi72YzCCeygntwQaYYKqnpUl9Onf8MJCXyKogUOgDlAj7ha+rWgjw37EzIP4hWZyLrfY8ijZN4eDkJWB4xevTUdgIET6/+dAOVp5pVzn9C+kEa+cSLcIFWFpcwMQu/kzUQk+hFhZhV0Ffm6Be7OgUs82zi3NvKsIbUk/YGlnwHRhsw+8VRVMXKV+VFzUAGjwoASGtXVwhvk1wShzgwytUEs26aWcChT4AkFhg2zd+pMr4Yz6WQrvXJTQy5OB1cdWEHT0nvn4NlCw6VdaxXxxfwtTyGsbCCXG9+xL4OZxXey3y1L/oCBtgrV0CFj1WhH0eor+1CfOxFLJqhwbENDBN4fB2qq9hx5k/cFDtyrkCrt7GompV0fuKBq005RBJ2IJT4gB7UKo2/RgYAgavZSp7kUIfAJgZkV6omxw3H0tpFtF0i7AnTcWkyFCD65A/H6LqCPvJE2zxRCG2RRNAUYClegKfViVCgGUxBUzsCifScNqJGLGnYFiEXQV9bU0oUAEexNFpbS5OQExKPMEiG6dd/KXA02eqZjpr1YPN0b6NTQ7KKs+mnI0k4bAR9LeJsYIsR3eLBwvxFAoFlYKpbIrNABdJ1oCwyXFzGvRgc3T63SBE5b2slUIcKJXLVArPuOe3jYht0QQAl8OGoNeF+bioCFvg4A8OfxdLiat0OwvH0+jwuYVa5IqCRdhV0NfKLn5VvdiUSqYpGpGNN6S6hzgcTyOkQXQNAEEv+1xVU36iU9poADh4a5eKEYcvTSzD3+TAq1MCrRYl9LR4kM1T9ZOSYhq47QFsAdB/FSv7qIje52NpTRTiAOC02xDyqTRPGX2CbVMCnPs2wuFmi2+VKfFWKSL8xKFBoS2aHJ0BDxZUlxX4ICQtCLsHoHlm2awCCybtwQYswq4Kbp6iqo69usSGVmgZYWdXmZBDIbQ0CPA47fC67FhMqCHsSSYMs2uUnuJTuxQKz0YmljF8dgnLyazwuiFQUk2rIpt8jtX2tCrNdO9n7WIKyTqbLyCSSAv3ES9Hd0BFL/bkMJumBQCPfEGsyp4j0Ks6wualk//6zl3CyRoAugNu9TqA2DR7bjk0eOb4uthWZR3brKYpgEXYVcHH8qlSip96hG1VpFtrgg9xUJEWjyQymhoEtPtcWEqqqHtp1YPNwSPso99R9CA+MhYBT1aLrhsCZeMh1TwoE3PMZ1mrhWOgj0U1GWVe0+F4GpRq04PN4XHa8OZMVNmCap2dZlasyp4j0K86wp6NpuBy2NDu1SZj1hXwCKhha1gi5Fm4I/+galFlEfZ5CI/Tjg6/G9MrCg3vJ4eBf/8t9vqp/63NqrxoT6osLa6HBV+7160yJT6pLWEvjbHt6UcVqZwv7WcmGqKtXTlKgikViz6tzHs4+OcqjBD56MsuDVq6AJYFeencCiKJjLIsiFZ2muUI9Aoh7J4WseNJy9EZ8CCSSCOnRogbm9GOsHlk/er9ijsW8gWKpWTalC5ngEXYNaFqzKaWva8cXtYbqTTCTmbyWMvmhfdglyPodSlPiRcKjGy0UogDwMQz0gtlKmc+evDd+7s1qRuGvG44bESdUlxLZS5QImyFQ0BKhK1NhH1kbLEo2lOUBRkYAvoPspSraJU9R6CXqdBVlLdmV9Y0zVJ0BzygtNQKqghRDQYhcYRPSC+UdywsJtMoUKBDw/OoBqoImxDy24SQNwkhbxBC7ieEeAgh2wghLxBCThNC/oUQ4pL2dUv/H5W+vlXEL6Al+tpUmKdo2fvKUYywFxR9ux79hu1el3KVeGKe1Ua1jLBVRk/8HH5kaIsmdUObjaBLbS92UWmvYUocUBwh8t9NK5W4EBOfQh7ovEgbsgaEmKfMRlPobRXfqcDBMyCK0+LpOJCOardw3H6D9EL5qNLiM/GtFmETQvoA/CaAg5TS/QDsAD4C4H8D+BqldBeAZQCfkb7lMwCWKaU7AXxN2s/UcNgIJpfWcHRcwczpgSFgx03Me1irVbnKiV0RjUxTyhH0McJW5ONcJBrBAyvKMTAEDFytOHrS4xx2qx1eEZ0G3AHA0yLuoMoR6AVAFPcRz8VY32t7sza11wODbfjCrczE54/fp3Dy2WqkdL9pgWIvtjKL10JBm/Gk5eAZkHml16KWpikAu3dDu1mrpsJnrpl9xAH1KXEHgCZCiANAM4BZADcBeED6+r0A7pRe3yH9H9LX30nM2OgmYWRiGT99bRZ5SvHxb72gTKxSyAEdu7VblTvcgLtFcQ1bjwg76HUhky8gkc7J/+axn7Ptmljl9SaEmE+ykr+TVtau5ehuURlhayn0Adh16OtUnBJfiKXQ6ffAZtPuccCj6qBSQVYyUipBaYGi25kyHUAkkUauQNGrIWFz21jFrV1F10INr8WOPYDNqfiZa2ZbUkAFYVNKpwF8FcA5MKKOAhgBsEIp5U/nKQD8r9MHYFL63py0/6bcFCHkbkLIUULI0XBYnSmIGhwZW0Se173yCtW/sVnt+oc5VNiT6kE27V722bLT4pPDwFP/h73+yW9qI9rjaA4xlbOCEZGRRBo2As2UuQCrHc6qmTYV1dBtj6NFucp5LpbSTHDGwReliuqv2RSbm94sVlC4Dn51hD1bLCtolxIPed2w24jybI+WPdgcfFSpwntFj2eiGqhJibeBRc3bAPQC8AJ4d4Vd+ZmrtHzedFYppd+glB6klB7s6NAwBVUHh7YH4XSw0+OwEWV1r/hsaU6rVvB2lPycZSIcT8NuI2jTKBUJlCKaiFzh2fjhkmORVq00HN4Olg1Jrcj+1nA8jXbpQaYVelo8WMvmEUspyFIA2kfYAPt8helcRtjainy49S634pWFVSmDpWWE7fSwBYHCRQ8fwdqjYYRtsxF0+t3Ka9j8d/NrTNgZacCIAoTjafjdDjS5xHvai4CalPjNAM5SSsOU0iyAHwG4FkCrlCIHgH4AfMk4BWAAAKSvtwBQUBzWBwcG2/CXH7ocAPDZ67fLr3tl1xgBaB1h+zoUp8QjiTSCXpemZBNUak+qRysNB38QK3BIiiS079lU5YWdS7MMjJbCPYB9flRZZDO7ksJ8LCXcdKYcTrsNbc1OhBMKziG/v5o1JGygFB0qAI+wtSRsgLV2Ka9hT7P5Bw7tAoRiJklhpiKsw/2sBmoI+xyAQ4SQZqkW/U4AxwA8CeA/SfvcBeBB6fVD0v8hff3nVPVEeW1xw14W4fvcCly2uNpT85S4cj9xPQwCeKpYtnnKwBDQezlLn2kl2uPgqU4FCx8trV05eKvOrJJebE4AWkfYLf1ANilbb/DsaARr2TxePreiiVNcOTr87mLKUxb4daGl6AyQCFsZ0cxpbJrC0eV3KydsLVu6OLj9rsKFj5lNUwB1NewXwMRjLwF4XfqsbwD4PQCfJ4SMgtWo75G+5R4AQen9zwP4fRXHrQuaXQ40u+xFJbAs8EHqAR0Ie3VRkeF9OJHWvFYTlGrYisxT8hmg+1JtyRpQpbaPJDK6RdiKHpRat3RxKGzteuokO+daTJjaCMWErUdKHFBlnjKjsWkKR3eLCrczLU1TOFSq7SNvVcIGAErplyileyml+ymlv0wpTVNKxyilQ5TSnZTSD1JK09K+Ken/O6Wvj4n5FbRF0OfCohLC5itlPSJsUEXpXD1Wk00uO5qcCv3EtVbmchRT4vIi7KJTnMaLnk6/B4RAmXlK0eVMQ/OZ8s+X2drFZ4hrMWFqIzp8bvlaCqAsJa6h6AxghL22rMjidS6qrWkKR1fAg+haFqmsgolYemgpfN2slKaitDAbXdM006MGltNZHYSU3uQ8wtZDdAbIjg4ppbrUX4FSL7YsUMp+J63TkECpNikzJR5L5ZDJFzQ/h2y0ocJpU0WXMw2FPkBZZCOvtYu3z3xsaIsmTnHlCPnckm+5zErcaoS1CmnVx86hwuKV25JqDf73WpAbZadiQDqmfabH7mCkrcAT4DmpPPPShPblGaWwCLsOGGErSYnPAo4mwNMq/qDKoZCwo2tZZPNUF0efoNclPyWeWmHKbT0I2+FS1M+uRx87R49S85ToNIsMndq1+wBgYiKbU3Zkwxdyd1+/Q1OyBtjfaS2bRzIjMzpMhlkWRmvbiGIvtrxzyE1TejR0OePoVjqMRmvTlHK09JUWqjLw5EnWbaNHeUYpLMKug5DPpZyw/d3a3+QKB4AU+w11IBtmTyrzHOol9OHwBmWnxPl1oUfPpmLzFD3SkABgszHCkVk75ITd5tVofGoZir3YcuvYyUXtFeJA6e909NuyfAciyTSyeapLhK3Y7Uwv8SP/GQqyFHwugB7lGaWwCLsOQj43lpKZoolKw4jPaZ+GBEr1V5m92Hp65rZ73fJr2EmdhD4cCtT2ekbYDhvB2UhSfpouOq19SxcHb+2SgaXVDFx2G3xuR/2dVYL/nWQvwFcjbEGnNfi5O/agrGlTsyuSaYoeNWy/WsLW4ZmosMUw0MSuwV952zbNyzNKYRF2HYR8bhQosLwqk3BiM9rXrwGgqQ0gduDET2WtysM6eGBzhHwsJS6rdsjJU68IuznEIikZ0CvCHplYxmPH5pHOFfDxb8qsrcWm9IlqAOlBKTPCTmTQ7nVprm4GSn8n+RF2RJ8Ie/pF6YW8aVNcjKjl4A+OQJMDbodNPmHzZ5PKEaINIdAH5NZktxjy8/g779ptSrIGLMKui6JDkpxVOaUswtZaIQ4AUy8CNM/GRMpYlesZHbZ7XcjkCvJqh3oTtjckOyUejqfhsBG0Nmmbzi23yc3IsclNx5njk9ZCH45AHxCfkdViuJTMoE3j3mEO5SlxjQd/cGy9DkVDSBlmQXxWupaDPzgIIfJbuyaHgVd+wF5//wPa2gwDilu7ZldSaGlyotmlfbZHKSzCrgO+KpeV0k1F2QpPD8IuX4XLWJWHE2m47DYEPNpfnEXzFDnnUK9WGg5viP1MGX7ikUQaQZ9L06EVwHqbXLscm1y9Wro4WvqZUFBGeWZpNaN8IIdMtDUzVz9ZhJ1LA5m4PinxgSGgf0j25LjZaAouu02389jll+l2Nn6YBRWA4jnVsqDQE0Avpb0aWIRdB5ywZUXYRZczHVLiCi08eQ+2HqnIYpZCjvAsGWbpfrv2YiQALOVJ87L8xPVyRTow2IZ//OUDAIBPHBpsPF1XbOnSMSUOyIpslpIZzd25OOw2gqBXpohUL1tSju6L2aJHhlnQbJSN1dRr+GFnwF0cQ9kQFGYOFCOgLMKei63pkqVQA4uw66BDSd2LE7YeAouBIWDnLbLnbkcSGV0U4kDZxC5ZEXZYv4ckoEhtH05ob5rCccPuDvjdDhTkiB/PPsO2Cq1rZaMY2cgg7IR+hA2UerEbhl4uZxyBXmaClG3chnY2qj/RTC6tYmS8wVEQ/Vcxoh44pL3NMMBGvdocspXic9EUejScdiYCFmHXQaDJAaedyOsjjukYYQNA936Wgu872PC36OHQxRH0KhgAolfdkIOnPGXUsSPxjG5j+AghGAw1Y3yxQResyWHg+b9hr3/0We3rhkApwn75voZ+XiZXQDyd05WwO/xueSM29W4vDMgfXjEbTWk6B7scIxPLeOSNOeQKFB//1guNCSDXloF8GrjoDu3JGgBsdjYRTEZKPJ3LI5LIWCnx8x2EEAS9bkSURNh61LABVvMq5IC1xoefzaysYSGu7YQkDp4Sl7Xo4WYVekFmhF0o6OcUxzEY9GJiMdnYzuOH2TUBaD+elCN8km1HH29IAMk7L/QSnQGMsGXdy3qnxIvmKY0RNjdN0XIOdjkUCSCLfvY6tRcCTHgmo8VwPsquCSsl/hZAyC+z7hWfYw5nWrtLcfi6Sj+3Abw4voToWhavT0V1seBrdjngcdrkebLrZUvKUbQnbSx9HF3LIlegug663xpsxtTyGnL5BoRxeo4n5ZiQUvANtiXxjIteYimgFGE33GJYTInrJH4MyLMn5aYpowtxXRbfh7YH4bSz68pha9BcRK8BNOUIyHM702OeuAhYhN0Agl63vOgwPqtfdA2UCDsx39DuT57Q34Iv6HU3nhLPS9kCXQmbp8QbOxd69rFzDLZ7kStQzKw0oNAdGAKCu4G27frUDQHZiwR+Pehdw87mKaJr2ca+IRlh9VCtLYY5+HS/BsnmF9K9/MTxBV0W3wcG2/C1D18GAPi1d2xvTABZJGyduhUAafLZTMNdH9xq1aphvwUQ8ilIiWs9VrMcfnmEvS2k34QkjqBPhp84J009U+IOFxvu0GCEza8HPSPswSCzThxvNC2eWwP6D+pD1gD7OXt/CXC4G1okLBpA2LJ7sVcl0xSdFNhwednioMEI+7kz7F7Rc/F9495OAGwSX0OITgJ2t74i0pZ+luVpcAHOF8FWSvwtAJYSl+HUFTN3hM1rynpMSOJgfuINErbepikczaGGa9hGRNhbpYVWw3Xs1UV9Fz0AUwTn0kBod91dl40gbN710Wh5Rq8Rr+WQ4YXNywl2HRffzS4H/B5H4xO7YtMsHW7TkW5kdizMRdfg9zh0schVA3MfnUkQ8rqRyTNFa8BTpy+4kGfEqSdhu7ysrSveGGHzG+0/37gTfTrYGQLsoXxqLt7Yzqs6K3M5vB0Nq8T19GLn6PS74XHaMNGIUjy7BmQS+pNN2yDbrpwDmmqnkReTGRACzZ3iyiE7wk5G9DPv4Wjpa1jh7HDY4LAR/NbNu3DNjpBulppdARnDaKI62uNyFN3OpoHeK+rufj6YpgBWhN0QQn7J+KORmzwZYQYcerV0cfi7Go6wua2gnmTDR2w2lKXQu5WGwysvwnbZbcWBAXqAEILBdm9jrV16q5s5Wrew7cpE3V2Xkxm0NDnhsOv3GJLtq7BqRITd23CEPbuSQm9rE/7LTbt09b/uDngwH5dB2HrWr4GSeO/l7zfUYjgXM38PNmARdkMouZ01kNKNSzeanhE2wNLiDRL2QjyFtmYnXA79/vxBnxvpXAGrjfiJF1PiOj8oZRB2JJ7RzSmuHIPB5sZS4nobfnC0lkXYdaCnyxlHoMkBl90mxMmFWAAAIABJREFUIyW+qP/CMdDH7oFc/WOck1zO9EZnwN1YSjyfY5oePVu6AGBpjG1PPdpQi+HMihVhv2UQ9MqwJ+WtVXqKzgBG2A22dS3E08W5tnohnmKq3KdPNSDqSobZBDK9lLkczSFW921AWRpOpBHy6Us2AKtjTyyt1nc845PH9CabpjZWnlmuH2EvJtNob9b3HBJCpF7sBhbfuTSQjuqfpZDRiz0TXTOEaLoCzE+87nUYnwVoQd+WLkBWi2EmV0AkkTa94AywCLsh8JR4Q33EE8+xbYPkKQy+roaHLizo5IHNMTKxjG88zVa8//VfXqnfesJNU/QUqQDsZzboJx7R+RxyDAabkckV6qcjeZZC7/orIayO3UCEvZzM6h5hA0CoUbezYreCzuewQbczbppiRCq3y+9GrkCxVG/ssBGmKYDUYtiYf/l8saXLIuy3BNqbXSAECNdLiU8OA0f+nr1+4DP62EFy+LvYVKFM/XTpQiyFTr9+F2e5O1KuEXckvW1JOWS4nbEI2wDCbmdK8fFInTq2UcI9gNWxG6hhLyYzxY4FPdHhczVWwzZKB9AgYS8mM8jmqSFEw6PRulO7jOjBBlhL4cA1gLezbovh+dKDDViE3RAcdhvamxtwO1tnB6nDGLlyNNjaVShQhONpdAb0I5tyd6SGxkPqbUvKwaPROr3Y+QLFYiKNicWkLu5S5eC92HXr2Mkwiyzcfh2OagNapQi7hsCwUKBYXs2gTeeUOCC5nTVC2EYteho0T5nVcQ72RnRKJbW6dezoJNvqrRIHgNAutq3jBzCzcn64nAEWYTeMoM9VPyVuhB0kR9GetDZhL69mkCtQdOmYzj0w2Ibvf4bdNO+/oq++mlVvW1IO/jPrtHY9dWoBBQocGVvSxV2qHL2tTXDaSX2leHJRX8OPcrRuYS1lq9W97eOpHPIFakhKvMPnxlIyXcz6VEXSIOGe2w+4W+pG2LNSW1WvESlxibDn6kXYsWmmRXH7dDiqDfB1snu5UFvoytvTrBr2Wwghn7u+SnxgCGjfAbTv1M8OkqPBCJvPse3UWXQ2tC2Idq+rsRYew1LijfmJHz7FHuR6uktx2G0EA23NOLdUJ8I2oh2Jo4HWrkVpNroRKfG1bB4FCvziZB3NRzElrnMNG5B6sWsTtpFEw9vjGkqJ650O5/B2MMHbWu0F9Ww0BZ/bAX89jw0TwCLsBsEIu4E0WiYJbDmkL1kDpb7vRgnbAMFURyOziDOrxhh+AGUp8doEPBhiaWk9rV3X/fxgc/0atlFlBaDMPKU6YRcndemcEh+ZWMZ3nxsHAPzn+16qnR1ZjRjTrQBIvdi1zVNmomtw2W26Dk/hcDlsCPlcRU+HqohO6S844+CL/jpi3LnzxDQFsAi7YbCUeJ0Iu1AAkgslb2890dTOhhTUUafzFbGeojOOzoC7uGCoCiPFUnYnezjXSYl3+Ni5u+uarbpZu5aDj9msaUJjVJYCKIuwqyvF+b3EWyb1giwB5PwxNnFv+qhOR1eGQG/d8ZBz0RS6Wtyw2Qwoe4A9Q+pH2JPGE3adjNlsdO28SIcDFmE3jJDPjUQ6h1S2Rj1kbYmJznwGELbNxhSRdVaT4WJK3JgIu65bnFE+4hwuLzD+TE2F/5KUzv31G3fqTtYAG7OZzOTx1Z+drB4hJiP6q5s5PC1s4VOjF5v7yrd59U1DNiyAnBwGTj/Ksj0NGG8IR6CPLf5z1YOE2ZUUegLGKZu7Au7ahJ2OA6mo/j3YHD42pKQ+YVsR9lsODVka8nQ0v1D0hr8LSNSOsBdiKQQ8DnicDU7aEYiOAEuJ140MAWMIe3KYGT0sHKv5kF5KMhOY1mZjal7ZPDt/X//Fmcqit+wakE3q3z9cjtYtNSNs3r+rd4R9YLAN93zqKgDAR67aUn3BNX6Y1T8B/Ts+gJKqOj5bdZfZ2Bp6Wo0jmu4WT+2UOM8QGFnDBmoSdjZfQDiRRvd50NIFWITdMLg45h+fHqse1RQJ24AIm//cBmrYegvOODp8bIhKzVnERilzgYYf0kvJNAIeRzFS0xu8DaVAq4jejFz0cLQN1qxhLyUyaHLaGx/RKBBv2xGEx2mDx1nj77f1OgCE/dO74wOo63ZWKFDMR4115+r0e7CYTCObr+IMaJRpCoenlZUJa2Qdf35iAZQC2VwDlskmgEXYDYILzu47MlG9lYdfGEYSdp22roV42hDBGVDWu1krS1F06DKAsLdex0RGQM2H9NJqFkEDTFM43raTnRuCKqI3I88hR51e7KVV/X3EOQgh9bs++q8CbHZg8Br9Oz6AMvOUynXsxWQGmXzBkJYujq6AB5TWyDoa2YMNsDJhc6hqhD0ysYzf+MHLAIB7njmru6eCEliE3SDGIqyNpmYrDxd8GUnYdfoO52Mpwwi7obLC3GtsVTz/pk5HVYaBIeCKX2avP/FA1Yf0UjKNNoPS4QDw9l2h4rai6G3VIB/xcrQOArlU1ejGiMEf5ajb9bG2zPQo+96nP1kDZRF2ZcI2Q+9wV6BOa1dsmvlS6D0IqRy+jqqEfWRssZgdyBWoru2ZSmERdoO4YTd7+FWNagD2cHJ6jTEJAFgNmxaqXqCUUkMGf3BwoVtVwp4cBt78MXtQfu8O/YU+ANB3JdvyqVMVsJTMol3n2ms5PE47PE4b9vUEKtdgi8I9g2vYQNU69lIygzaDCbvmwtHoxbcnADibgeP/XvE+mIka787FnyNV69gzrwAuHzDzko5HtQHe6oR9aHsQdklh77Tr356pBBZhN4hrdoTQ7LTjii2t1Vt5EvPGCc4AwCf1Yldp7Yqt5ZDJFQwZWgGg+HMXqg2uGD/Mhm8Axgh9gLJ+9up1r6VkGu06q5s3oqXJiehqFS2AUR7Y5ahjnrKUzBjSP8zR4XfVTolz8abec+05JoeZeHBquKIAkkfYRvpflwi7wv08OQyceQJIx4xR2XN4O4FEZcI+MNiG913WCxsB7vvVqw3p+JALi7BloKvFg97Wpup/2MS8cTc4UOZ2VplsOFEaJTrzux3wOG3VI5ui0AfGCH2A0oKriniPUipNmTIuwgaA1iYXVtaqEM5qBLC7jfER52iAsI1Mide1JzU6wh4/DFaAQ8XF62w0BaedGLroCXpdsNtIZcI2WmXP4ZVq2FW0FHYbQaffg4Nb23U+MGWwCFsGQr46A0CMjrC5YUuV1i6eujKqhs1nEVcVnQ0MsXnKPZcbI/QB6lq8JjN5ZPIF4yPsZidWakXYXoN8xDncPuYcV6EXO5XNYzWTN7aG7XejQEv94JsQNzjCriOA5GYfRpmmAIDNRtDpd1dOiReP1yCVPYevE8itsX76CljQeRCSWliELQNBr7u221li3rgVOcDSP/w4KqAYYRtE2Oxne6pH2IUCM1rYcZMxZA3UtTNckv7+RkfYLU3O6u1xSQN9xMvRHATOHt6UDn3qFEtRxlM12vs0Bh+NWnUBnpgH3AFmpGMEBoaAi+9kAsxPPrjpfpiNGmuawtEVqOJ21itpQbZdZ9ziG6jbix2Op4ti2PMBFmHLQMhfI8LOphjZGBlhOz2s97BKa5dRgz/K0eGrEWGvLbMatpHn0O5kRFMlS8ENP4yOsFtrEnbY2Po1wEh6cRRYHltXwxyZWMZv3G98K01dwo7PGbv4BlimqZADOvdt+pJZ7DSrup2lVth27y8ZR9ZAWRBThbATacM0PUpgEbYMhHxuLK9mKxsFJHkPtoE1bKCmecpCLA2vyw6f26HzQZVQcxYxP4dGtiMB0jms1o7Ejt3oCLu1VkrcyEldHOOHS3XDshrmkbFF5KT7J29gK01IMkKqGWEbqUcBqlprctMUI13OOKpG2Hy0apPBteEaE/j4XHsjM45yYRG2DHCzjOVKda+4wS5nHM4m1kZRQZW5EE8ZGl0DLB0fXctW9mTnN5WRETb/+VUWPdyWtF3nKVMb0dLkxFo2j3Qlh6bkovGLnq3XMeMRYF0N0yytNCHpIR2JV6thzxp/L1cRQC6tMtOUHoPvZYARdiyVw1pmw3XIvQCaDSbs4qJn8wJ8MZlGgcKKsN+q6JBW5eFKq3KjfcQBRtJzrzNLwAqtFAsx49M//OdXjGx4VOs1mrCrZymKEbYBc5zL0SItGDalxTOrzEfciBnO5RgYAq76Vfb6w/9UTIseGGzDx69mCvJvfvKgYa00frcDLoet8nVIKVuAGx5hVxZAPnmc3SertQYR6QTe2vUXj20YRLMmRdhGEzYvDSU3T+DjmT6jn4lyYBG2DJTqXhVW5Ub7iAN1WykW4inDTFM4uCKzYh3b6EldHDwlXqEVZCmZhctug9cAD+xytDaxGvqmXmwjx5NuRO8VbNu2dd3bHqcDTjvBdbuMS9sTQqrPZ0/HmLLYaMKuUH8dmVjGH/74dQDAXz5+2nA7zZjUWnjPM2fXWzYXI2yDF44OF9P1VChxLRQJ2/hMRaOwCFsGeEp8sWp0SIx9UK5LQzo3tVIY6SPOwWdJV3xQJhZYK0uTwQYGvi5mq5mObfoSM01xgRjZMgWWEgcqRNjFRY8JVOK8fsmjLQlmOYchv7tytqxY3jKYsJvb2f1QFmEzDUCD87x1wLmlKoNozFLDBqq6nRVHDVsR9lsTNYUqiTn2kLQbJ+jCwBDw9t9mr9//D+vUmYl0DquZPEYXEoauymvakyYX2M1lM/iyrGFAs5TMGmqpycFHe24SniVN4CPOwdOhq+sJezGR0X2sZiV0+Kq4nfGRln6Da9g2u2T8UboOyzUALhPYab692iCa1UVm3mNUW1w5fJ01CdtKib9F4XM74HbYqqTEF4wXqQDAwCG29feue/vnJ9gq/elT4erTxnRA0OsCIdVS4hFm1m80uA6hgsXrUjJtqLsUR2sTO4aVjRE2T4kbnYoESpmSDRF2JJkpjqs1ElUHgPCI1sihFRy+znULxwODbXjPpT2w2wju+2wVi2Qd8Y497H69ZkdwvWXz2pKUITA2iwKg5Ha2AeF4Gn6PAx6nseUtObAIWwZKY/mq3ORGq5uBqsrS50ZZ5FVz2pgOcNhtCHpd1VPiZogMa7idLa+aI8I+L1LiVSPsdFEPYiRCPjeWkhkUNtqTGm1LWg5v56ZMj9thQ8jnMpysAab0b2lyYkeHb/3xrC6ZY9EIVDyHgGSach5F14BF2LIRqpZGSywYX/MCqrYx9LYyVyQbqTFtTCewSUkVejeTYeMV4kDZoqdCK0gijXYDR2ty+D0OEAJEVzdci8kI4PCwKUlGw93CxituqmEb6yPOEfK5kC9QLG88h4l5NinLSC92jgqeACur2WKGxQwIel2bLV5Xl4zXonB4O5iRS279MZ5vLmeARdiyEfK5EdkYHVJqngi7OQSAbHL28XtYbf3Xb9hZfdqYTugMVLAnpVRa9Jggwm5qY73DGyLsbL6AWCpnuGkKwHycW5qcm1PiyQi7BsyQirTZ2Lksi7BXM0xLYYaUOFcHbxKecZczM5xDXwdbfJd1LETXsmgxwaKRo93rwmJywzlcXTS+pYuDP1NW17d2mcGXQi4swpaJkM+9+eJcW2ZtVGZIodkd7EbZEGFHEmnYbQSfv2W34am0ivak6RiQT5sjwiakYmSzbBJbUo6WpgpuZ4ujzN7VqHGGG9HUvi7C5l78IRMseooi0o3mKfE541u6OHxd7NnCrT7BCJu39ZkBQV+FCHvNTCnxyn7iVoR9ASDoc2ExsaHuxR/sZoiwgYo1m0iczR82croPR4ef6QDWnUNubGCWc1jB7WyZu5yZgGyACn7ik8PA1ItM5WzkDOJyNLevi7D5g90MEXaomolPwmSEDay7n1dWs8UuATOgfeNQpEKBBTFmaOkCKvazJ9M5JDP582pSF6CSsAkhrYSQBwghJwghxwkh1xBC2gkhjxFCTkvbNmlfQgj5a0LIKCHkNULIlWJ+BX0R8rmRK9D1D8qiqtQsN/nmvsOISYQ+AOt7zObp+nRu0eXMBGIpoKLbGc+stJklwm52rT+HdWYoG4KmdmCtFB0uFr3YTUDY1QaAxOfNoUcBKk6PW1nLoNVga9xyBL0uLK+WBTGpFWbgZJoIe7OfeLGlyyTPxEahNsL+KwCPUEr3ArgMwHEAvw/gCUrpLgBPSP8HgHcD2CX9uxvA11X+bENQcVVuBpezcng3R4eRRLp47EaDKzPX1bGTJrEl5agRYZuhhxiQRmyWC6a2XCu9MHgGcTma16fEuWDTDIvHgMcBl922voadTgCZuPE92BwbOhZS2TxS2UKxS8AMaPe6UKBlLYarJrEl5aggxOV/8wtGJU4ICQC4HsA9AEApzVBKVwDcAeBeabd7Adwpvb4DwPcowxEArYQQEzQ6ykPIy81Tyh6UZvARL4eva5PoLJLIFGt2RoM7C33rmbFSP7jZygq+Lpamz+eKby2ZLMLelBIP7mDb3bcZO4O4HBtEZzx1aoaUOGvTdK2vYSdM4nLGsWFiF/97m4mw+d+S3x8lH3GTRNguH+ucqBBhX0gp8e0AwgC+Qwh5mRDyLUKIF0AXpXQWAKQtfwL3AZgs+/4p6b11IITcTQg5Sgg5Gg5XnmFqJCpG2LOvsEHzCycMOqoN8HWwARCZJACAUmoqgcWC1NL1wNGpkokLr2EbPceZw9cJgK5TlvJJXW0mSUe2NjPCLqYiuUPXFZ8wB1kDLMrKrQFZZmG5lEzD47Sh2WWgI2AZNtmT8h5ss5S3PK2AzVlcSHCRoZlq2DzjVKxjm8mWFGAiUncLMPZUUdexII0ENcszsVGoIWwHgCsBfJ1SegWAJErp70qopHbaNF2BUvoNSulBSunBjg4TtPhswKa61+Qw8Mb/zwbNf+8Ocwh9vOv7iGOpHDL5gmnSP6ML0kICZSYuyQV2gxtp7VqOCuYpy6sZBDwOOO3m0Gq2NDlRoEA8LWUBimRjosRV03rzFLPYknJ0bGzTTJiMsG02VseWMmYrUgnETH3YXI+wyJXiZhmtyTE5DKwuAHOvFcWY4UQaDhsxzeK7Uah58kwBmKKUviD9/wEwAp/nqW5pu1C2/0DZ9/cDmFHx8w1Ba5MTdhsprSbHD7M2GsA8Qp8NaTS+uDBD3RAArt9VwX84sWCedDhQSomWiX0Wk5niABgzgKdFYzwtbhYP7HI0rx8AEkmapzQDVLAnNctc+3KU6Sl4StxUEbZvA2GbZbQmx/jhUh+79IwOx5kI1wxdM3KgmLAppXMAJgkhe6S33gngGICHANwlvXcXgAel1w8B+KSkFj8EIMpT5+cTbDaCdq+rdJNvvQ7F5IFZhD4blKU8gjALYR/Y2o7ugBt7u/0lE5dk2By2pBwVLF6Xkxm0mehByZXCxV5sM1lqcmyKsNOmWvSE/C4sltuTxmfZ0AqzuHQB6wh7xYQ1bB6lLiXKImybA3AHDDyqMmy9jk09A4rP6IXz0JYUUK8S/w0A9xFCXgNwOYA/BfAVALcQQk4DuEX6PwD8B4AxAKMAvgng11X+bMOwblU+MMREDX0HzSP02aCKLCpz/eaJbPrbmtHS7CyZuJguwt48AGQxmTFNDzZQemivSDOJEZ9lix67eR7mGyNss9iScoR8buQLZS2GiXnzuJxxlE2bipqwhu1y2BDwOEqis9UltlAzyzkcGAIu+SCzyf3lHwMDQ+eljzjA6tCKQSl9BcDBCl96Z4V9KYDPqfl5ZsE6P/FchrWB7L7VHGQNbI6wTZYSB5g68+RcvPRGMmKeli4AcDYxoUpZSnw5mcElfSaJGlB6aBeV4mZy6OIoi7AppayGbbKUOMDukXavCwifZD3Ek8Mmup8lI6RCAStrGdhtBD63SbQeEoI+NyLlNWyzKMQ5ei8HXvtnoGM3ADYt8JK+FoMPSj7MoZ45z7Auwk6arB0JYBFWU3uRbMLxNGzEPOpmYIM9aXaNLXrMYprCUZaKpJRK0aF5Fj3cnrKUEp81l+AMWDdiM55m4kcz2JJyFAk7nmYkPfsqEJsyj1McwCJ+msf/Ze/NoyPJrvPOX+S+L0gsBRRQW1fv7G6SxS62SLak5qaRZJv0JsqWJWosjXxGlGxZPmOb1rHnjPdlZmzZx+OhLFmmLFmWtdiiRY1NcRHZJNWs7iLZ7H2rAgqFwpZA7vsS88eLl5lAJYDMyFhesfM7p08GEkBWdCDife/e+93vUsuRr7ZIhv1oqkSvBmaigX5KvJZTp34tMWBP2unq7JXvzAh7StgmICLsBroc+gFq1Q3BSKP1I+xMLNgbfK8C5hMhSvU29VZHvR5siQE/8UqzQ7PTVcZHHCBxeMSmihG2PyQmX1VzSvVgS8hF+z9eucHGNz+Dck5xcEBPkVfMR1ziwMQulQZ/SAwQ9n6lSVe/80xTYErYpjAbC1Jvdak2FSabgVYQlWxJJWT/426pMTDDWbFr6PHC7suwfqUXPaiUpQj5vYT8HkHYnba4F1WLsKE3AGRfIVtSiVs50R/+6W9t8jeuRIx3FXKKgwOalEJVrUldEplYYKCta1+dHmyJgTKh9IGYnxL2mwOZwV5s1ZyRJAYi7F2FXM4k5O52p9QY2PQopBJfvwJrXxFiqU/+CV65+lmA22cnu4xUOCB6cys7gK5ehA0QEW5nKtmSSjx3S/ic68D1tlGSue/71BGQwoEBIPlaU8kIe0b6iXe6ak3qkuhterJ9H/EpYb850BvLV270+zZVakkCQ6hiRNgKuZxJ9P3E6wMRtkLXcPVJ6Ir+er3T5Nknfw+A//Mzr/btVBVAb8SmiqYpEkaErWJK/LELfd3Eoq8oDt76Q+qQNRyIDgu1llKDPyRmokJtXyjsCxMp1VLi4bRQiVd2eHpVdCzsFBsn/JJ6mBK2CfSVpU0RYYdnwKfYQxSbg2YJvVlRavCHxPzgABDVBn+ASIcarmsdvHy1fT8A7Y7hzKYIkoY9qZI92BLGiE0VU+KXzqa5MBvl/GyUf/Q9xmZHtWsYSore8PJ2T3SmGmQQU9gz7kPVImyPFyKz7G7d5BNfvAbAX/2Nbyq1+R4FU8I2AUnYv331Jrmdm+o94NA7p8r+Jo12V7mUeCYWxKPJlPiuMFnwh9w+rT5WLsP3CAuBW5c/zrcMf6CAdGZTBEk5AKTncqZuhJ0tN4kHfQR9XrfP6ADOZiJEg17ujlTFGyplekD0M8fm6Za2KdXbSvVgS8hNWCVnbL5Vq2EDROco7d2iY5jktBTbfI+CKWGbwI194YX9By9us7p2jaJfnQW8ByNaLexuAOrVa7wejZlosB9hq7ZIAlx8LwBnTi3wxL3zRALevjObIkgNpsQ1j5rXMSJmYu+Xa0qlwyVmY8GDmR7VBKQAsXk6RvlN1Ro2QC1vXEPVImyA2BzznlLPz8Wv2OZ7FEwJ2wSeXhVpFB3IkGezrY6ZRg+GgKuyLyIvlYQ+EvNxY6Hcuwadljp9rxLxJfFaukVH1zk/G1WKrKE/sUu4nM2rMzxlEOEZQKde3FfKllRiLh5kr9xEL+9AIC5Mc1SDx4+28wJv115VsoYtB7o0SnLqnpoRdqy9z4NLCZZSIeU236NgStgm8NiFjOEerjNPnuT8sstnNARGhN3Ii5qSioQ9Fw+S3v+mmKJTuKGWWQWIFH14Boq32CzUOZVQKGVvIBn2U2t16BQ31VSIQ2/x7lT2lKpfS8zGgrS7Oq3CtlqdChLrV+Dm03iru/xa4B+yUnne7TO6DfLv2qmoTNjzUMnSbOu8ZSl5x5E1TAnbFC6dTfOW0wnuTnQJaS1OLZ1x+5Ruh5EabRtpNBUJez4e5ELlGyhpViGRWILiJtvFOqeSChK2EW11iwq6nEkY9cxudV85LQX0Z9y3i9tqCR8lVp8EvSum29HmVO5pt8/oNgR8HuIhn+jB1jzC1lc1RGehWaZcKionwh0VU8I2ibvmYsx5CuIL1XqwQajWQym08g4eTS1lrsRcPMiT9QvGV4qZVUgklugWNtivNJWMsGU9U1PR5UzCiLa89X2lZmFL9DYRFcUG0Eice1yonIEWXjj3HpdPaDgy0QCemmGa4lGQWoy/rVbLMqvgejgKFLyqdwbmEyG8KotUAGILeGtZZqIBpWxJJebjQW50pFnF96tlViERX0QvirHtSkbYYT9+2vjqewpH2CL1mNDLSorOpEeBr7qr5rO8chne9ZcB+CvNjxG+8C6XT2g4ZqIB/I28mulw6GUdZylMI+w3G+ZiQVIdY1C7im1dALF5gvWskulwgLl4iDnNyFK87YfVI2uAxGm8taxIRSpI2KmInzmEW5fqEXZaKyuZ6ZmNBfHRJtAqqJkSBzh9CYAN5kmEFBQWIlo1Q+28mgpx6BF2RisomekZBVPCNom5eLBPNiruygGic0Tb+8q1dEnMxYPMa4ZxQVzRTU9CRK0LWo5FFQk7HGDBuIav1WIun80RCCbRNQ8prazk5jEZ9nPKa4x6VVF0Br0sxWKwhs+r5rKdiQaItAtq9mBDP8LWikpqKUaBmn/5OwCCsPN0PYH+CEHVoHeZ7exyyfOa22cyFPMHNj2qErZo7VpgnwUFa9ir2Upv0/PX/8e2ms5NHg91b4I0JbaLdbfP5jZ4PBp3haVpiqKb73AKgMVAzeUTORoz0QAZfR+9uKFWt4eEjLApKNleOAqmhG0SkmzqwQwoNpsWgPUr6C//HkFafOzGzyr5AMlNj46mpuEH9Hqxz/nzxEPqGVZ8ayPPvCZS4hvtlJLOTVfXctxqRUhpZT7+O88puak4FxZmSMpmy4yg4JRfvQ2PxH2tF0lTFjPFVWvRBPCHaHpjzGkF5WYrjIopYZvEXDzIPDkqKrqcwYHhFV69pV67FBAN+ljyFqj6kuBVjwyBXkr8Yrjk8okMx3fcNcuClqOteyj5kko6Nz11bY+cHiNNWTkvdomVgPH3VXXjaBD2rLfq8okcjbtLT6NpoKGr2aIJlP1p5jxFEmE1dQAnYUrYJpEM+5nzFMh7FE2Hn3scPIIEdY9PvXbvww85AAAgAElEQVQpA0u+EjmPojUvgFCKOkHO+vNun8lQXDqb5mKoxL4nza/++LuUNIN47EKGPDHSWllZO8jFXg1b0QjbH6ZBgBlvxe0zORL6vBiQo6vaogkUPClOeUtoKmZFR8CUsE1C0zQWtAK7mnoLJAArl1n9jr8HwOrDP6OmAhs45cmTJeX2aRwNTWNHm2HJo14aV2LZX2Tfk1GSrEFsKgKxWWY8ZWXtIOc9Rcp6CN0fcftUjkSBGGlNXcIOzqwA8HTig7z8Pb+q5JqzR5I5T9Ht0zCNKWGbRadNiiLbHQUdfQx8qfUgAPmuuovQjJ5nu6vuNex0dTY6aWZ19dK4EoudW/g7VfVqhgPw0WKWvLICyBk9T1ZPCl92BaHrOrlulARlt0/lSBT3xNyCf7j7bj78qZaSWoXdboK0XnD7NExjSthmUdnFg87NdtztMxmKq2s5/smXRZ/4k994UcmHB10n2dnnZkvB4SkG9soNNvUZUq2s26cyHOtXmGne4rx+E11FoQ/A+hUuV7+Ejw588o8reY6JTo4sSbLlhtunMhTlRps8UWJdNbUUAHs7wmAoS5JWW02twq1WnFi3CJ2226diClPCNouy8OheravZ+/rUtT1qXR8FPcIMeSUfHmo5vHqbjXaCWrPj9tkMxVaxzpY+Q6S5C92u26dzO659EQ3waCgr9GH1STwY166jqACytU9WT7Jbarp9KkORr7bI6zEiHXXTufclxLXb1+NKahV0XWe9GcWDDlUF18MRMCVssygLW9Jr9RjtjnoL+WMXMng8Glk9yZxWVO7hAcQMZ2BHT4kxmwpis1BnS0/j6bagqmCUvfgwAB1dQ/f4lRT6cO5x2rrwwkZRAWSgsUdWTygbYRdqLQp6lFBbXcJeDlSoE+D84rySWoVyo81Wx8jmVXbdPRmTmBK2WRgR9k43yX5FvV35pbNpLp1Jkfekec9iV7mHB+hdw109xU5Jzf7SbSPCBsDwFFcK6fMA/H7nnXzt8V9WUujTWnoHf6f1o+KL9/5t9c6x08JX32dXTylL2Plqizwx/E2F66+VLEVPkrlEUMn1JltusqdLwt5x92RMYkrYZlEW0WGWJDuKRoftrk4rPEu8ve/2qQyH3PSgdoSd9RjZidKmuyczDHXRbvZb3e/iFf/9Lp/McOSrLb6qCwEkUQUzPcYM5z1N3Rp2vtYkr0fxdurQUnNzSzVL2ZcmV1VTuLdXbpDFELhWFMyWjYApYZtFeYd2IEGDgLJks1tu0AjNQlnR9E8vwlZ307NdqNOJGlOwihvunsww1ISYsKzFlL2G+epgZKPgvWhEW83grLLPcr7aooChl6mr6QlAJUvdnyanYMYRIFtu9O/D8jTCfnOhvI0eFf7Xqj7k2VKTbngOGgU1d+XlHXR/hAph/r/nN5VUsm8W6gSSC6B5oahghG0QtjeSZruo5n2Yq7aoEKLjDapJ2MaGthuZI1tWk2xe3CyS1w3Crqn3nABQ3aMZnCFXVfMaZstNikTQvYFpSvxNh/IOnoQYZ7irYBqt0mhTa3XQ4oZzk4oLZWmLZmgWHY2nru3zQ7/4lHKkvV2sM5+MitGVKtawayLaCiZmldUBiAVcoxOeVTMVaSzeWmxeyZT41bUcv/H0OnmiALxy/YbLZzQEug6VXTrhDKV6m5aCQlzxt9Ugquh9OAKmhG0WuVW89RzvCV1TMsKWC48/YUzBUnFHWd5mb8ApTrXeTV3X2SrWxRzsxBKUVCRsscGJJmeUnIQFIiUOiDnJKi6URnrUl1wgq+Cz/NS1PTpdvRdhv3Fj3eUzGoJmBdp1QYaIFL5q2Cs3SUf8aNH5aUr8TYX1K0KAtP0Cv8jfJbpz1e0zug2SsENpkQVQso5d3iacXhI9xKBc72ax3qba7HAqEYL4orop8WCS+WRU6ZQ4gCc2r2amp7wD/giJZIpsuYmu626f0QE8diGDR6NXw34graBngdHy6DXmiauYFs+WG2KsZnROzftwBEwJ2wze+LxxoOOnzVJePcKWBhCxzGnxhiHwUgrlbdILKzx+9yyJkE+53k0ZsYoI+7SaKfF6HsIpFhIhCrUW9ZZ6i3mu2sTv1fDG59SMsCs7EJtnLhak2elSrKvlgnXpbJqVmQgzGUGG5yLqkSEVkRnzGyU4FYVne+Ums7GAGIe8f01Jx72TMCVsM5i7zzjw0NH8fKV937E/7gZkXT01J+Y5K5cSb9WgXoDYPPeeSlBvd3n7GbWGgGwWBgi724JmCd74gstndQi1HITTzMfFfN8dBaPsfKVFKhJAi86JSEyxCJbyDkTnmTVmJKtYx640Ojx4flmIH1UUnRkRazhtELaiEfY7vK+LgKtRVHNm9wmYErYZJIyo9ZEf5Ffv/Vd8sXre3fMZgmypgabBTDIBwaR6KXFZQ4otMBsL0Gx3KTXUimyuGPX09upT8PVPijd//SNqPeS1XC/CBthWUHiWq4raIdFZUedsKjbAorIrImxj06OaJqXT1dmvNJiNhyCcUpOwjZR41CjBqdiLnS03eGvneegaWShVrXyPwZSwzUBGq+/8CZqL76DS7FBRjGyy5QbpSAC/1wOxOfUibJmij53qRzYKLZRX13J84kvXAPijz/8uekc+5Ip5YdfyEE73CVtB4Vm+JiJsoiKlq1z9sLABxU2Wy88D6kXY+5UmXR2xoQin1SRso9SRyAjPAtXcHxvtDsV6m9zcZfD6xJteNW1yj8OUsM1ARodRUfcC9Xbl2XJD1GsAovMKRtiSsPupyD2FHvKnru3R7orU7Vfb99HRjIdcNS/sOyEl3ouwJWErVMde+yPhU3Dr65z5vY/wdu1V/svXN5RqL5Rry2xMEraCxinVLPhChKMJQn5PvzNAEcgNRPv0o/DBfyje/MDfV88m9wRMCdsM5IITneun0RTblWfLzR4RKhlhG4M/iJ8iY2wsVIqwpTIX4Hnvfaw+8a+Nb/yv6jzkui4IO5QiFfET8HoUTYm3SEcCoq0L1CLs1z5jHOjQafGY5yU+//KOUp4AMuJXPsKOzIKmMRMJsF9RKyWeNUS4mWgALny3eDOsjsB1VEwJ2wwqOxBKgi/AfELlCNsg7Oi8eirx8g6gQWS2l6VQKRV56Wyai/Mxzs5E+LUff4yL7/qQ+EZQodndzTLoHQin0TSN+URQuQhb13Xy1aa6KfHM3eJV89DWfDzVvR8dtTwBbo+wFSVswyc+FQkoF2FnK8Y1jAchZphJqbYmjgCf2ydwR8JQlQI9stlRrHaYLQ0QdmxBKLLbDfAF3T0xifK2WMC9PmaiHjQNdhWzhaw2O1w+N9NvNQvE1ZqjKxduI1JYSISUq2FXmh1aHb0vOgO1CFs6Ab79o7xx6o/xjd8xDIcU8gS4PcJWNCVubMhmogH2VSNsuemJBiEUBl/ojiTsaYRtBpVsb5eWjgTwejSlUuLVZptKs8Ns3KhhxxSMbMrbYiMB+Lwe0pGAUhG2ruvslhq9kgcAkRlFCVu0wy0kgsoRtuzHTUcC4A+LTY9KKXGp7XjXT3Pfo+/n7WeEHkAlT4DdUoOw30s04IVQStTcO2qJXKnsiZQ4kIr4lXM6k/qY2bjRhx1TMOs4AqaEbQaVnV604PFoJEI+vvTqrjo1L6NeMzeYEge17PjK2xBf6H2ZiQbYU4iwi/U2jXb3EGErZq0pIy0jwp6Ph5RLicuFOxXxizeimV4LkBKQ2g5jA373fAwdlCFrMMpb8QCapvXrrnXF5mJXdntr4kw0oJxK/IWNAj6PxkubJfFGbGFK2G8aDKTEr67lyNdaPLdRVEaoIqP9WUk2MQUHgJT6ETaI+pxKk5Jk3fAAYUdnFY2w+ynxUqOtVIuhNNBIR2XHgmK2kOUd8IUhIGw/5+NBsuUGbYWGV+yWG/3NtyRslerYzQq0az1RYSoSoFhvKXMNr67l+P3ntmh39f4aHVsQa9Adhilhj4t2U9hBGiT41LW9nnGTKkKVXs2rF2EbKXFVIuxuV+xuc2s9E5JZY6FUBT3Cjh2KsFUk7FA/JQ4oNRe7R9i9CFsxe9LKrigZaaIlYD4RQtfVajHMlgY6PlQk7IGuGYCZiB9dh0JNjbT4U9f26BiLdG+NnkbYbxLIdJ6R/nnsQgav8bCrIlSRxNcXnckIWxHCfv2zQt289pWePeBsLKBUW9dueUiErRph1w+mxFU0T+mnxGWEPatYhH0w06NiP/tueUBL0UuJKyQ8O7QmymyKKm5nj13IYHRo9tfo2ALU9kUAdgdhStjjYsA0BUSt68NvW0LT4D/82DuVqH31eg6lcYo/LNqRVImw3/iccaD37AFnY0EqzQ61phrDK2SEPR8P9d+MZKBVhWbVpbM6hFoOvEHx90XtCDsVNiLsiFFW6KqRLqW829d4ICJsQJnZ4q1Ol/3KHRJhG6KzdEQSthpkeOlsmmTEz8Onk30xYVzhscPHYErY40JGB7H+Q/7ISgpdh/OzUZdO6iB2y3VSEb+wJZWIzqlD2Kmz4lXzgDcA5x7vubKpkhbfLTUIeD0kwgOdj7ItSZUo2/ARH0znglothvlqi3jIh0/ei9E56LbViRArO/0uCvoRtiqjSqV467YIW0XCNvqwe4StSFmh29Up1dt85z1z/YBKZlXusLT4lLDHhSRsuXgz2IutxkOeLTUP1l5BbDBUSUXKReexn4SPfgpWLis3KUm2dGma1n9TOnWponI2fMQl4kEfAa/G/3hhSwnxI4goq6cQB7XsSbsdsfkaiLDlfahKhH2b+DGUFK8qEXb1YA07HRV/b1Ui7HytRaer9zOOMGCeokgQMyKmhD0uDqXEAeXsSQ+4nEmoFGGXDVvS7/54z+azT9hqPOQ7pXpfZS8RUTHC7hP212/kaXV0nl7NKdOx0LMllYgqtOmp7oHePZAtC/g8ZKIBZcoKu4f1KF6fKG+pRNiVrCjNGEr7fkpcjRr23uFrCBATU8V6Fsl3CKaEPS4qu+CPQDDWe0u1sXyib3NYhK0KYe+AP3rgGsrzVSrCPrzp6UXY+86f0DDU8j2FOBgdC8axKh0LPVtSCZXsSXub77kDb8/F1bF47WspBu5F1UZsVrIi42hkoyIBLwGvR5mUuNz0HIiwVeucGRETE7amaV5N076hadrvGV+f1zTta5qmvaZp2m9omhYw3g8aX79ufP/cpP+2K6jsDn3AQSXCbvYndUlE58VDroIqsrR1wDQFDFN+UMY8JVs+5HIG/ehQhXQuiDrwQIQ9OLBElY6F3ixsCZUI+5BpisR8IsSuIinx2zo+QD0/8Wq2v5kFNE0jHfUrkxKXWbsDG3BfAMIzb8oa9l8BXhr4+p8A/1zX9buBHPBjxvs/BuR0Xb8I/HPj5+48lHduI+xIwEcs6FOi7lVvdSg32renxKWw5gv/oNf77BrKOwdaaQBCfi/xoE+JlHi702Wv0rydsINJ0LzKpsQvnU3zvvsWiAS8ylhr5iuHUuIqTeyS0dWhe3E+HlRGdLZbahAL+ggHvP03VSNsGWEPIK3QxK69XoR96HmOn3pzEbamacvA9wO/aHytAe8Ffsv4kU8CHzaOP2R8jfH992kHFD13CCq7t+3IQUTZKkTYQw0/oG9l+NV/2et9dg2Hel8lZuNBJXQA+5Umun4oDQng8Ri92AqQTaclpnWFUwfevvdUnEa7y9tWUkf8onNodbqUGu2DojOvX6TxVSLsQxvwhYQw8el29SG/5CyGZstUI+yBwR8SaYUmdmXLDbwerd9aKHEH+olPGmH/C+CvA7KpMgPkdV2X3og3gdPG8WlgHcD4fsH4+QPQNO0nNE17RtO0Z3Z3FUibHcaQCBsEQSpB2MMMPwDyN8Sr3u31PruGowhbEfOUnWG2pBKqmKcc8hGXyMQCdLq6Ei5T0jTlQIQN6tiTVnbE1KZg/MDb8/EQ7a6uxMSp3VL99vtQtYldchb2ANJRvxLXD2Cv3GQmGsDjORQfxt5EEbamaX8M2NF1/erg20N+VB/he/03dP0XdF1/h67r75ibu50YXUW3O3Q3CTCXUCM6zJaG1LwALjxhHPR7n11BswqN4m01bBDnrIIl5JGbHjCculQg7IM+4hIzUgtQcf9elBHWgQgb1LEnlaYphxJ9Krmd7ZaGdHzICFt3PwNAsyrMhKIHYy8RYbu/aYQjumZARNilbTWu44iYJMJ+N/AnNE1bBf4TIhX+L4CUpmnSbWIZuGUc3wRWAIzvJwFF5LYjorZ/WxuIxFwsyK4CD7isAfdGa0rc8z3i9cJ39nqfXYHc0Q6JsDMxNUZsyr/jbWUFUGfE5iEfcQm5MO0poAXIHRlhK2JPesg0RWLecIzbVkCTki0P0VI0SsLa99ofunJOByDLQxtfP1BmkylxZcsKINagTkO9yWfHwDRh67r+cV3Xl3VdPwf8IPB5Xdd/CPgC8GeMH/so8LvG8aeMrzG+/3ldv4O2NnBkzQtENFZqtF231vzWTZEqu7F3yD7TFxSqyJm73CNrGBD6nLrtW7OxIPlqi5bLU36OjbAjs2rUsOvDU+L9CFsFwh6YhT2IqCLX8JAtqYS0o3V7A95odyjUWgc3jutX4JlfFse//hH3BaTXviheX/79A9qYdDRAV4di3f0o+8gIO26sQXdQWtyOPuy/AfyspmmvI2rUv2S8/0tAxnj/Z4G/acO/bS96LmfDCRvc7SO+upbjN6/eBOCjv3zlduMMFVSR0jRlSJZClehwt9QgHvIR8ntv/2YkI6Lbrsue572U+MEIO6MQYR+bEq/uQ8flMaDl7SMFpOC+29leL1s2QDarT/bvvU7LXS0KwOqXjYOD2hjZyqfCXOy9crP3XBxAz+3sTUbYuq7/oa7rf8w4vqbr+mVd1y/quv5ndV1vGO/Xja8vGt+/ZsW/7SiG+IhL9OpeLoqmnrq2R6d7aIzcIGIL7jv7HNFKAyhjTyptSYciOivKIm6Lfo6oYctJSfsqpcQPL5bNCqAPDIFxAd2OiPKHPMshv5dk2O+629nQjo9zj4PP2AB5vO5pUSSkFkXzHtDGqDKxq9JoU2t1bjeSggE/8TvHPGXqdDYOTkiJA64aLjx2IdPTzww1zoifcp+wS1ti6Mehvk2AubgaA0B2S43bW7okem5nLtex5YZBeksb8Hs9JMN+JURnL20W8Wjwymax/+b6FbjyC+L4P/+weyndqqFHGZISB7EBd1t01jNNGbwXVy7Dn/sNcfy2j7pb3gJhSQrCZnhAGyPLIG63dsksxfAI2yBst9fEMTAl7HFQ2QWP7zahD6jhdnbpbJr5WJD7F+PDjTNkStxN6UB5W2x4PLenmzNRNfzExfzh0PBvRmbEq9s12FpOkPWw6xgLuJ4Sv7qW4/ee3aSrww/90tf65ZnVJ/upcDdTuj2Xs+GdKPOJoOuis9sGf0jc9YTwEx/yt3ccpU1BfN/1vx3YPMwYhO12Snx32KZHIpQUG443W0r8TYOK0YPtuf2yZaJBPJq7hK3rOoV6i/dcnB3uchU7Bd2Wu17YR/Rggzp+4kN9xCVUGQBSyw3dOIKIJty2eH3q2h4dfUh5RpWU7pAhPoNYiIeUibCHRoeJJShuOHxGQ1Da6ou3BpAyJna53drVG/wRHfI8a5pYi6Yp8W9TlG/3EZfwejQyMXd7scuNNvVW9+j6q6w3lV1MAR1D2NGAl5Df46p5SrXZptxoH30NVbHWPOQjPoiZaMD1yOaxC5me8cKB8szKZfiB/yCOL/8l91K6x+hRwPBVKDVws5Flt9QgcZT4MXFaIcJeuu3teNCHV4PPvrTt6tS4I9tcJeIL7q6HY2JK2ONgyOCPQczF3K177fQm+xyRzu2NlNt06IyGoLwz1DQFxNAAt81TjkxDSihTw84dSdiZWNB1wn77mRR+r4dLZ1O3l2fuep94DcSG/7ITOEaPAuIZana6rjrGvbpdwuvVhhNeYgmKt25/32mUbg2NsL9+I09Hh69d33d11KuMsGeGZSlgGmF/W+MIH3GJOZe9sE8kG0mUJZdqNt3O0MEfgwj5vXzjRs61B/zEa+gPCaJxe8RmLXdbS5dExoiw3TSt2K80aXa6fP9DS7eXZ7yGDsRNHUB5W9QvD4n2JKTo0K0hIFfXcjx1fZ9cpTWc8BKnxbPk5vS9dkNsXOOLt31rsEPFzVGv2bLIUgR9R9T77zA/8SlhjwpdP9JHXMLtASA7w2bnDkJG2G6lgKr7wqFpiGkKiEXq2m6Z1b2qa7vyofOHD0OFASC1o1PiGcO0Iu9idLieqwGwnA4P/4HorLtZCrn5PmL+0EJCZKnc6sV+6tpeTxs6lPCSpwHd5WyZQXRDImxVRr1mK83hpikSsVPiPlRh7PAImBL2qGgUhY3dzktHtqLMx92d8rNTrBvncURKPBARIyLdirCPMU0BsUh1j1ukHMCxLmcSbg8A0fVjU+IzPQMa9zaPN3PCaW9lJjL8ByKz7uoATth8u+0n/s7zohtB4wjCSxh1YzfT4rIdKnF7DfvS2TTvu3+BsN/dUa/ZYV7sg2hVxOtrf+DMCU2IKWGPitcNk4fXP3vkeMq5eJBWR3ctstktNwj4PCTCvqN/yE2RxTE7chC7cp+xLXdrV75bEqP4brPTHETUZbJplkWm4hiVOLjrdnbzpAg7knG3rFDZOba8Jf3E3TJPOTcbBeC9988PJ7zEsnh1U3gmNwtHPM9vXUlRa3V4YDHh4EkdxF6lSWaYjziINfypfyOOf+t/dt/mdQRMCXtUXDc8c9GPHE/pdi/2blG0Ix07ZtxNtzMZ2R+xUF46m+aHv+MsAJ/4C5dc2ZW/tFkk5PPwzfVjnMzcJhvpcnbzytBFRi5QbgrP1verpCJ+4iH/8B+IulxWOKbjAyAS8BEL+lxLiW/mxb/7A+9YGf4c9CJsFwlbriNDatgASymR6btVqDl1RrfhSB9xMGxeDU+ArgI2ryNgStijIrkiXrWjx1PK3l3XCLt8jKWmRHzRPcI+ZlKXxFtXRNR4On1EKtVGXF3L8fmXd6g0O8fX0N2uYV//knh96dNDsz29ASCupsRrR0fX0C8ruNE21e2eKCAFSIR8fPX1PVe0FJsGyS0mjyhvhRIQiEPBTcLeBI+/3zlxCItJ8fe/lXeHsFudLvlq6+gI+9zjYi0HYa3qts3rCJgS9qiQitx3/8yR4ynnDaHKbtmdXflO8RhLTYn4gntuZ+VtscgEokf+iHQ7c4NsRq6hRzJiBnCzOvz7duONLxgH3aHZHuky5WZKfD1XZeW4TVdkVkQ3bow2rEnx49Ebx6trObaKdV7ZLrkigNwy9CiS9IYi6XIvdmlTBABHZPROp8S5y2yB05AZpiMj7JXL8COfEmT94J903+Z1BEwJe1SUdwENnvi5I/+wcy4LVUaKsGOnoF13Z6E8YjrSIORu2A2yOdLs4zCiLrudhYya4KGBCxI+r4dUxO/a1DNd19k4KcJ28xpKPcoxz4DbAsjNQh2/Vxvucibhdi92afPI+jUIpb2mwYZLEXbPi/2oCBvgzDshtSJ85e8ATAl7VFR2hI+092hBVzTgJez3upISb7a77FeaRyvEJeQD5kZavLR97AMOA4TtQoR96Wwav9fDO86mj1e2yhTgV37eHaFKpwWhNLz3547M9rjpdrZbatBod49WiIN7jnHrV+BTPyWOv/TPjvz7PXYhg9dFAeRmvsZCIoTHc4wexW23syNsSSUCPg/z8aBrKfGey9lxKnEwrqMCJjQjYErYo+IElzMQTl1umafI3aRUtx6JmIv2pCNE2DKd68YAkGqzTbPT5X33LxwveJPOSE//0pEdA7Zi/zrM3QuP/7Ujsz2z0aBrE7tO7MEG9xzjVp8UGx4QRj5HCI0unU3zZ94ulNi/8hcvOy6A3CzUj65fS7htnlLaGtrSNYjFZJjNgjspcbnpz5xI2Ir4so+AKWGPihNUpRLzLpmnDJ2dOwxS0elGL3Z5+0jTFAmf10M64s54yGNH8Q0i+5pxMLyGbDv2r8HMhWN/ZCYacC0l3uvBPq6G3UuJOxxhn3tcTNwD8PqPFRq9ZVm4oMkWKyexVawfX78Ggyx1dzbfjbLwpjghY3Y6FXYxwh4hJQ5i41PaFGJExTEl7FFxQt+mhM+r8fJWyXGRSs/l7KQI260BII2y6B8e4RpmYkFXyEamkI/0HZa4+/3GgXZkx4BtaNWEf/PM+WN/LBNzLyUue7BPqxhhr1yGBz8s6v8/MrycINHrZ3f4XtR1fbQIO3lavLqhFD+hpUtiKRViI19zZYjKXrlJwOchFjzGlwIEYXea7rsXjoApYY+KSvbECPvqWo6nV3PsV5qOK0tP9MCWCMbBH3U+wn7dcBJqnayszrgUHUqCO7INROLCE4Kozzx2ZA3ZNuRWxesJEXYmGmC/2qTjguve+n6V2ViASOCYhTIQBV/YHQMaj08s0mfeeeyPyY2b0xuf/UqTZrvLqVFS4uBOOldaop5I2GEahr7GaeyWR/ClADV62kfElLBHQasu0j8nEPZT1/Z6tqROK0ulwcOJAgsQUbaTHsTrV+B3/pI4HkGoNRsLknUhJd6fP3zCNdQ0kdpPnXW+FWT/mng9IcKeiQbQdchXnV8ob+Zqo/XRu2XxWt6G2MnlLbcc42TN9+QatotEM2KELdP6btSxr+1W6HS7JwdOKti8jogpYY+CiiEyOiGd+9iFDD6v2M35vM4qS3dLDWaiAfzeEf6k8UVnJ9QcEPq0T6z5upXOHTnCBvem/PQI+4QI29i4uXEdb+aqrByXDpeIukXYx0+Mk+hdQ4dFpFsGuZ06qYYdSgpfAzeIpnS8LamE7MV2urXr6lqOZ9fzbBUbJ2c7k9LmdUrY3x4oG8PuT4iwL51N8/HvvQ+Av/39DziqLN0pjWCaIuG0Pem5x8FjjLcboeabiQbJV1u0Os6KQPYqTYI+D5HAEaP4BhFbEJ0DTmP/uvAQP2Lwh4SMDp1W23e6OrMeBsUAACAASURBVBv5GssjRdguebKP0K0AkAr78WguRNiGacrSSRE2uKdwLm2J0lowfuyP9exJHSbsp67tIYtBJ2Y7I7PCsa1w05FzmwRTwh4FcmGOnvyQv+duQeqJyBEeyjZhtzSCaYpE/JSz0eHKZXjrnxfHf+G3T0wjzxgRbs7hhXKv3CQTDZxc8wKRUnUrwj4hugb3IuydUp1WR2dlZoQI2w2L125HRPUjRNgeYwiM44Sdr+HzaCe3I4EQnrkiOtuExNEuZxIz0QBBn8fxlPij58SG9shpZ4PweMT/yzTC/jZBLyV+ct2rN0e36OwNOhZhxxaEYrtRsvekBuELidGe595z4o/OuhQd7lcaoy2SIK5hdU8QgJMYkbB7fuIOawHW92UP9ggRdnTW+SEqlaxwtRqhRRMMAxqH78OtQp2FRKhn3HIs3HI7K26eWL8G4U2xlAo7nhJfMlLxH3xwYbTxnneIecqUsEeBNMoY4SFPhHyE/J5eHcoJ6LrObqlxssuZRM/tzMEIsbIrapYjQJKm02SzV2me3NIlEZ0TC7+TKd12EwrrIxF22sjwOK227/dgjxhhN8tC1OkURhhAMwg39BSbhfrJCnGJxGnx/+S0ecoJtqSDWEqFHE+Jy4j+z7/z7GilSbdd40bElLBHQSUrxB3+kxchTdM4lQix7aB5SqHWotnpjpcSB2d7satZUSsaAX17UhdS4qMIzqC/4MvsixMorItNwgkKcegb0DhNNjLClhHOsXCjF7uXLRuRsKPOdywI05QxCBsdPv/3nXPc03XDlvTkCBtgKem8eYr890bSAUA/U+HGUKQxMCXsUVDZGSkdLjGfCLHtYEq8Z5oyckrcIOynf8m5h7yy13e3OgGzRltV1mF17l6lcbLLmYQULTlZxx5RIS4xEw04nqV4dj1HLOjlhVvFk3/YDbez8mgdHxJOe7Lrus6tfG10wm6Uxesf/SvnbHJrOeg0RifsVJidUsNREWmvNW6UjSMY5ikN9wb6jIgpYY+C8s5IgjOJBYcJe2TTFImioYZ84b8495BXsyMTdiLsw+fRHBX7VJtt6q0uMyf1YEv0CNvBCHtMwg54PXzrZsExA5+razn+8NVdyo0T5olLuDEApJcSH52w89UWbYfIJl9t0Wh3T27pkiisi1fdQZvcnmnK6ClxXcfRMuFmvkY86DvZ5UziDjFPmRL2KKiMTjYApxJBtot1x+z4pGnKyBH2rWeNA92Zh7zbFTvXEVPimqaRiQUcndjV8xEfNSUedYOwr0MgNpKW4upajle2S9zM1Rxz3Rt7JKW8H5wUnpV3xDU8Zib7IKQPda7asvOsehjZNEXing8aBw7a5F77Q/Faz4/047I84mRafLNQZzE14jWEvs2r4sKzKWGPghF9xCUWEiHqrS7FWtvGk+pj7Aj7/OOIhgeHHvJ6XhimjLHpyUSd9ROX0fzIKfFgTPShOh1hp8+f2EoD7sxzfuf5GWDEVhpwLyU+xrMsMy5OlRa2ioLURibsC08Ii9flR52xyV2/An/wv4vj//43R8rOScJ2srVLeLGPmKWAvs2r4r3YU8I+CZ22iADGTIkDbJecuUF3ig3Cfu/o6Z+VyzB7jxAvOfGQy7rQiBE2iEjXyZT4fmXEUXyDiM05KzrbvzaS4AwM1z05z9kh170zxvzr990/P1orTSgFmsf5lPiIgjMY8BN3aPN4Ky8j7BHJRtMgdUbYDTthk7v6pNh8g1gbR8jOLSWddzvbLNR6pi0jITonPOanEfYdjuoeoI8VHfYI26E69stbJYJ+D1+/MVqKCoDMXeCPOPOQywV5jGs4G3N2nnN21NGag4gtOCc663bE4I8R69eXzqb52BMXAfinf+ZhR1z35IL85y6fGe3f83ggPOOs0Ke8M3IPNgx0LDi0edwq1PF6tNGzZeBsL/a5x8UmC0bOzoUDXtIRv2Mp8Ua7Q7bcHC/C9ngh7lJP+xiYEvZJGNFHfBALxohLJ0QWV9dyfPWNLPlqa7xaZWzeuXRudXzCdnpi18ijNQcRnevb1tqNlz8N3RYi4Twa3nWXiKrT4/w/TYB+/XWMhdJpt7MxI+yMwxO7Ngt15uPB0UxTJJx0O1u5DCvvFBnHMbJzqYifP3pjzxEtRd+LfYwIG9yzeR0DU8I+CT3TlPFT4jsO9GKbrlVG58VC6YRTl7R2HSslHqTa7FBtOqMD2Cs3CPlH9BGXcCrCXr8Cv/1j4vipfz2yqr9XO8w7k+mREdTpUVtpwFm3s3ZD6CnGIOxUJICm4ZgAcrMwRkuXhDRP6TgjjKNdh1MPjUzWV9dyrO1VuZatOCKAlBvHpXE2jjAl7G8LVEYb/DGIkN9LMux3JMKWtcmRhT4SsXnnnLoqxiZizAgbnDNP2as0yURHmJ07iNg81PbtXygPTDvrjKzqX0iE0DTnaoe38nUiAS+J8IhaChARtlM1bPksj+Gp4HXYT3w1W6HS6IxHaoklQHduZG5pNFtSCacFkJsFQ7g3Tg0b7gjzlClhnwQTDzkg3M4cqGE/spwE4Dvuyowm9JGQUYYTEWI1C8EE+EavyzldO9wfx5ZUQpZJ7J7adWDamX9kVX/A52EuFuwtYHZDCH3C4216nEyJj2lLKuGUecrV1X1uFeq8ul0aLxJNODgestsR1zExOmE7LYCUwr2xI+zkssge1JzxLTCDKWGfhPIOeIOCcMbAfCLoiD2pXEi+96HF8YRFTlprVrJ9k4wR0fMTdygVOZYtqUTUIbezlctw8X3CHvej/20soeBiKuxYO81YDl0S0VmxQDpRmhnT5UxCOMbZT9hffFVs/HTGjESdNP2o7IrM3IimKSAEkD/1XucEkJuFGqmIn/A45S3oX8c//MfOOUCOiSlhn4TKrkiHjxM1YLidObBQSnXz3LhkIzMGTgjPKrtjpcPB+ZS4uQhbZikcEJ51WjB799iq/qWkc4MXbhXq40c1kVlBALUxOhzMojyej7jErEMmPudmhZmLRxuzvCVNP5wQnvVczkaPsAHedZd4/p0QQG7mx+zBlpD34JV/65wD5JiYEvZJqOyOnQ4HkRLfLTfodO2th+yZ6R8G56JDGMvlTEJGu04MXtB1nWy5wey417C36XHgGhZv9SOAMbCYFBG23a57jXaH3VJjtKEfg+gNAHEgLT7G1L1BOJUST0fEPf/nLp8Zr7wVTAj3NidS4sXxbEklZObFCQHkrcIYw1MGkbtuHDho8zompoR9Esb0EZdYSATpdHXbd+Z7ZvqHQTh1BWIORdjjWbsCRAI+IgGvIxF2tdmh0e6OH2HL+8KJskJxs+/GNAaWUiGqzY7trnvbBXGfjy30iTo4sau8LcxaxtBSgHA7y9datm++ZeniY09cHC9trGnOKZx7EfZ4m0fZOeNEeWbLjNIe4G4XbF7HxJSwT4LJCLtvnmIvYcuJVmNH2OBML7aui8V4TMIGHPMTN9WDDRCIiOjG7mvYKEGjMJbQR0KmBm/ZLDzbMNPSBf0I+5l/Z38KcswebIlMNICuQ65q7+Zxq1DDo40xE2AQTs1zLm0J45QxsxQBn4dZBwSQtWaHXLU1fqYH4Oy7IJiEpbc74wBpAlPCPg663q9hjwlJ2Fs2K8Wz5SYBr4dEaIxWGgkn+ojrBWH4MWZKHAw/cQdSkXLTMzuuDgAM8xSbCVumIU1E2DLitbuO3WulGTeyyRvezc/9lv11w8ru2IIzcG4++61Cnfl4CJ/XxLKcOO1MSry0KTJL3vHXm6VUyPYI2/R9KJFcFul+BckapoR9PGo5Y2iFmZS4M/ake+UGmVhgvFYaCSfIxoQtqYQQ+9hP2P0I20yWYsH+a1gyFmITNWwZ8d6yfaE0WmnGjWx2XjAOHJgcV942Rdgy82K3Ve5WoT6+O5dE8rSIfu32BChtmsr0gND12B1hm3LbG0Rs3tkZ92NiStjHodeDPf5DPhsL4NFgx27CrphoR5JwIsI2YUsqoetwY79iuzOSaR0AODMApGiesGdjQXwejU2bI+yNfI2ZaICQf8xWmgvfbRw4UDcs75hMiYuNnN3CM1MuZxI985QtS8/pNpS2xlaISyw50GIoM0mmr6MTG/AJMCXs43Dti+LVhILV5xU1G/tT4o3egjI2YgvCqrFtY+QgI+wxU+JX13J88dVdyo2O7XaGvdGaZjY+Tmx6ZG3SxELp9WgsJBxIRZrpwQaRepy5AJmL9tYNmxVolieKsO0kbF3X2Zwkwk44NM+5tDm2QlziVDJEqd6m3LBPALlp1kdcIm48z4q6nU0J+yisX4HP/C1x/Ad/x1Rt7VQyZLvobK/cHL8dScIJpy6TEfZT1/Z6qly77Qz3K9JH3IQOIDov6vQtGwmxuCmmWvnNpfmWUvb3Yt/K180JfUCQtT9kb93QZA82QDriR9P6ngd2oFhvU212xu9jl+gRto3znNsNISA1GWH3W7vsuxc3C3UyZjI9ErEF6DTEM60gpoR9FFafFPNeYeS5r4cxH7fXnrTfP2w2Je5AL7aJwR9g2Bl6RV3ea7Od4V65OUGWwoFNT/GWKcGZhOzFthO3CjWWTEc1i/anck0M8ZHweT2kwv7ezHQ7YHrClETP7czGCFv+jUwTtjGMxsZ7cbNQG7+1cBBOWjabwJSwj8K5x8W8XjBdW1tIBG0l7IrRP2y+hi0J28aaTWVPWGr6x3uILp1N84//1MMA/OX3jtmXOiYm0wE4cA2LG6aFPiCU4luFOl2b+ohL9Ralett8hJ1YEhueto014p6P+PiEDfabp0ysbg4lha+CnW5nExO27MW2McI263Im4UQQMwGmhH0UVi7D6UfHnvs6iG5XJ1dt8dQ1e1ycsoZX+UQ1bLCXbKrZvjnGmHj//eL8TKe3RsT6foVyvW2uTh5zwDyltGlKcCaxlAzT7HRtc43rKXPNErasidq5SK5/TbyajEAz0aCtHQsTR9hOmKeUzLmcScjpcXZG2Ou5KnvlhnnNixNr4gSYEvZxaJbh9NtNkfXVtRy/9XVRT/rov3vaFtGUbDOZNWO0AP3+clsj7KypHmyARNhHLOjjZs6+HfnVtRzXshPM6pUp1m/8qj09xO2GiD4nSInbPRe7PwfbbErc2IzYNR5y/Qp87f8Vx7/5o6b+Th4PvLZTtk38eKtQR9P67aCmIMdD2gX59zG5eeyZp9h0H3759SzVZodv3MibF6p+u0bYmqataJr2BU3TXtI07QVN0/6K8f6Mpml/oGnaa8Zr2nhf0zTtX2qa9rqmad/SNO3tVv1P2Ib8OiRXTP3qAdFUxx7RVHaSdiQQFo2hlM017PFtSSU0TbNdMPXVN/rZD1PitvyaeH350/YYf5gctjAIu1ORcpyh6VSkTPfbRTarTwo/BTDV6311LcfTqzn2K03bOha2CjXmYkH8ZkxTJBLL9kfY3gCEzZenlpIhNm0qE37hZRF4jD3tbBChlJjO+O1G2EAb+Gu6rt8PPAZ8TNO0B4C/CXxO1/W7gc8ZXwN8L3C38d9PAP9mgn/bftQLwg4yZY6wH7uQ6T18Xo9mi2hKpuhMq8TB/rakqnnCBhEd2mmreXEuBoDGmBOSJGSq1S7jjwl6sCVkhH3LpshmcxJLTehvRuwSnp17XNhpgik9ylPX9nr1f7s6FjbNDqwYRGLJXvOU0pZIh5sxaTJwKhmyTSV+ZiYCmJh2NghNU7oX2zRh67q+qev6143jEvAScBr4EPBJ48c+CXzYOP4Q8Cu6wFNAStM082GD3civi1eTEfals2l++UcfBeDPvmPFFtGU9Nke2wN7ELF5+xTOuj5RShyEU9eGjSnxRNgPwA88ujzehCSJc4/3FzA7jD96hG0+JZ6O+An6PLZF2Bv5GqcSJi01QfiJewN9RzersXJZPMdz95nSowx2LPhs6liYyOVMwm7zlNLmRJkeEFmYLZtq2KmIeJZ/9N3nzD3LEgq7nVlSw9Y07RzwNuBrwIKu65sgSB2QsszTwPrAr9003jv8WT+hadozmqY9s7vrwJzho1AwTjV11vRHvOviLMmwH4/5DemxyJYbJMN+Ar4J/ox2RtiNovARnzDCzlVbVJv2mC3c2K8C8NPvvdvcA75yGe56v1DC22H8YUGELUoLYdvsSTfzdfOCMxAbnvipvme6Hajn4fx3mvr7XDqb5ue+734APv6999my+RYR9gTXEIQPNthXWihaQdghSo02pbr1WYAdw/PiZ95/z2R/o2/HCFtC07QY8NvAz+i6XjzuR4e8d1ufia7rv6Dr+jt0XX/H3Nz4Qzcsg4ywTabEJRaTIdtEFtlJ2pEk7JzYZdLlbBCnbU7nru1V8Xu1yRbLM++EZgkWHrTuxCSKt0S7Tigx0ccs2piKvJ4tU2mYVNlLxBftE501K6LENQHZPHGfiDsiQRPmOiegVG9RbrStSYkDXPmEPQLICWxJJeTGzg6l+HaxTsjvIT7p3yg2b78vgElMRNiapvkRZP1ruq7/jvH2tkx1G6+SDW4Cg+y3DDgwXsYk8mvgC5ma1DUIOyObvXKDWbMtXRKxeaGGb1asOalB9AZ/mL+Gp9PiAd+wiWzW96sspyN4J0mDZC6K1/1r1pzUIEq3JoquJQJeD69uW69yvrq6z1axwStbpckEWXYS9gTTziQWk2E0DVvKMxO3dElIknn+d6wXQDZKYlNqsqVLoi+AtH5N3Ck1jNaxCVOasQXh6Gb3IBUTmEQlrgG/BLyk6/r/PfCtTwEfNY4/CvzuwPs/YqjFHwMKMnWuJArrIsU04R9fjJSzh2z2ylZE2Db2Hd74qvHZ5nerfcGUPddwbb/SE6uYxsxd4nXv9clP6DCKkxP21bUcX349S7nRtlzl/DkrlLlgtCRt2uPhLJXTE5jPBHwe5uNBWzaOE0+Ykrj1TePABgGk3AxMeC/aaU+6U6qbFz4OIjYP6P2AQyFMEmG/G/hh4L2apn3T+O/7gH8MfEDTtNeADxhfA/w+cA14Hfi3wE9O8G/bjwlaugaxmAyTr7aoNTsWnNRBCFtSCyJssJ6w16/A5/+BOP70XzO921+IB/F6NNsI+8Ze1QLCviBe7SLs+GSL5GCLYdNilfOZjAXKXBCRW6siIjmrUZo8wgb7BJATu5xJnLdRADmhaYqEneYpO8UG8/EJryE4Y+RjEqaT/bquf5nhdWmA9w35eR34mNl/z3EU1uHUWyb+mCXDTOJWocZdRguRFWh3uuSqrckj7KhNRgEHel9b4msTgh+f18OpRMiWhbJQbVGstzmbmZCwgzFBqnsWp8S7HRHZTBjVyBbDZqeLz2OtyjkREsrcH37sHH/irUvmxT6D5ikT1utvwwTTzgZxOh3h2fW8BSd0EJK8JjJNAfF8XfwArH0Vfvi/WCuAnNCWVMLv9TAXC9qSddwpNfiue62IsNV1O5s6nQ1DqyZanZJnJv6onuG9xaKp/aocCTlphG2T2b2F7U5LqZAtqci1fVG3X5k0wgbI3GV9hF3eAb0zMWFfOpvmn3/kEQB+4rsuWKpylhupn/3ghMpcO81TipuG1/Zkf+fTqTCbhZrlnuxbhTqzseBk3R4SZ98tNCmz90z+WYOQfgMWeJUvJq0f91ppiLGdlkTYCrudTQl7GArGiLoJFeJAb1ye1SndnmnKJD3YYLRcafDSp6wVqaxcFrtxk72vgzhtk3mKbOmaOCUO9hC2BS1dEh944BSaBt5JBTmHsJGvEQ/6SBr97KZhp3lKaXPidDgIAWSro7NTstaT3RLTFIm5e8Vr9lVrPg/EunD134vjX//BidcJO6bHyb/JQsKCCNuurKMFmBL2MORviFcLatgLSXEDWU04WcM0ZeIIe+MqoMP1L1mrLG1WBeE8+CcnTs0tpcJs5uu9OqxVWNuzkrAvQm0fqvuTf5ZEyTrCDvhEacFqX/abuZr5KV2D6BG2HRH2xsSpXIDllOxYqE78WYPYLNQmV4hLyMjaSsKe0Nr1MDweWNurcHXVumdFTkW0JML2h0RGZpoSv0NQsKYHGyDo89pieN+3JZ0wwh58+KxUlu6+BOiW9CYvpcK0uzq7Fkc26/tVZmMBolb01kqluJWtXWt/JF5L1uz0l9Nh1nPWks2tfK3XejcRAhGxSNoRYRcnm3YmIf8/rd70bBbq5meJH0b6nChB7b5izeeBUc6yprx1dS3HZ17YptXR+aFf/JplHQuWRthgmKeo14s9JexhyK+D5p1YnSuxlAqpG2FP6LN8JLaeF68Lkwv37OrFXrNCIS4he7GtSouvXxEGGAD/+UcsyXyspCOWi/c28rWeuc3EiNswbarTEqlNKwg7Zf19WG60KdXbXM9WrSEvj1fci1ZG2MuPgj8My5cnLm8d6FiwcCjSjpURNijrdjYl7GEorIsH3GuNq9GSDTWbvUoTv1cjEZrwHFcuw0M/IEjbSmXp9gvCoWsCa1cJOxZKEDVsywg7fU5cw703rPk8i9OQICLszUKNVqc78WeBIJtCrWVNShxEO43V5inlbUC3hLCjQR+piN/STc/nXxLZkydf27WuR372Hmsj7FoOWlV48MMTrw+DQ5Gs7FjYKTUI+jwkwhY50dk9FMkkpoQ9DBb1YEsspoQtpG6hKUS21CATDU7u6gNw7j2gdyfusTyA7Rdg/gFRsJoQdpinNNtdNgs1zmSi1nygLwCpM9ZF2BamISWWZyJ0des6FnpzsK1IiUN/2pSVkC5nFmXLTqfClm4cv/SamJcwsfHMIObuFU6NLYuChNyqeE2fm/ijBjsW/pfvPG9Zx8JOsc58wqL1EKYR9h2Fwrol9WuJpWSYSrNDsW7dAIu9SpPZ+IT1awlp/GFV/VXXYfs5S/rYAWKGCtlKwt7I1+jqFgnOJDIXrSPslcuirnv6HZYNFVk2iNWqOraMNK1LiS8Kwu5aaDJkgcvZIKw2T5kxrIUnNp4ZxOw9YgNu1b1oIWEDvO9+0Uoa9nst+TyAbatMUySkZXOjbN1nWoApYR9Gpy3qaBZH2IClZgF7ZRFhW4KMxYKp4oYYtmDhMIwlixdK2dI1sWnKIDIXxTW0IpNS3Rf+7hao7CVW0uL/9aZFhH3T2EAtWxVhx0+JvnMrx71a5HImcTotImyrsmUeTcPrgZ/9wD2TjYQcRK+1y6K0eH5NvFpQ3gII+b2kIn62itaVCXdKdesEZ9D3p6ioFWVPCfswSrfEomFhhL1oQy/2Rr5GttywpuYVWwB/BPavT/5ZINLhYIngTMLqVOSNPWGaYmmEPXOX2JVbUfvKGX+LmfOTf5aBxWQIr0djfd+a67iRq+H3asxNKnyUSAy4nVmF4gZ4gxC2JvV6OhWm2uyQr1ozGGIjX2M5HeGnzI53HYbMRUCDXYuEZ7lVMXEvaJ1T40I8xFbBuq4Py2xJJeyybJ4QU8I+DDlW08IIu2dPalHt8OrqPtlykxdvFa0RqmiaSIvvWySY2npOvM4/YM3nAactdju7sV8laAx0sAwyU2GF8ExunixKQ0Lf5tWqCPtWvsZiMozHqoHvslfayrnYsqXLotrmssUdCzdzVetKChL+MKTPWhdh51bF51mIhWSInZI162G12abUaDNvR4St2JjNKWEfxrU/FK816zyD5+MisrEqJf6ZF0UEZ6lQZea8dSnx7RdE+sxCT+iuDqV6mydfsyZdKlu6LBOpgLWtXRbXDSVWZsKW9RFb2tIF9pinWDDtbBCnUxaXFXI160oKg5i918IIe83y+/BUItgbKzopdooiUrc0wpYC3Gf/kz2zxU1iStiDWL8CXzYmhf7uT1r2h/J6NBbi1pmnxAyjD0uFKjMXBElYIfjZfsHSdPjVtRz/6WnhPvfjn3zGkjLAjf2qtfVrEONYPT549tcnv3dy18UuP2CRit3AcjpiqejMspYuMNKQHnjhv1q3SFo0T1zCSvOUeqvDbqnBctri+xBg7h6xcZz0ee60hQjXcsIOkS03aFvQYmi5aQpA1th0v/rfrZ8tPgGmhD2IYROmLMKShX7YpUYbn1fjZ95voVBl5i7R71uc0Ny/VYO91ywVnFlttqDrOtezFXLVpqWzodm4KhbIG380+UO+vwpp6+rXEivpCNvFBo32ZAt5q9Nlu1S3rqUL+ja5q09as0jqukiJW2BLKpGO+An7vZakxG9ZLdobxOy90Gn0MzVmUdwQa6JFgjOJhWSIrg675cnr2Jbakkrc+IpxYMNs8QkwJexB2ND7KrGYss485Zs38jx0Oslffp+FQpXeTOcJ66+7L4uWEotaukCYLchJRh5Nmzij8IVXdmi0u3x9LW+dWQUYD7WhHp70Ic9dt1RwJtGrwU4YIW4V6uh631/bElh5/UAo7TsNSyNsTdOEUtyCCPum1W1xg7BqCIhUiNsQYQOWpMVtibDtcoCcEFPCHsSphwFN/HEs6n2VWDJGyk3aDtLudHluo8AjyymLzsyAVb3YL/038WphL+2ls2l+7ccf43QqxMX52MSblM++KJSflmoAQNw3HsNpaZKHvFUXtVc7IuwZWYOdjHB6ZGNldHjucfAYU7+8vskXSQuHpwzCqo4FeQ2XrexUkJBDQJ7+xckyFTZpKeTs720LWrt2SnUCPs/kE+MGsXIZ3vKnhUW11bPFJ8CUsAex+xLQhUd/3PI/0GIyRLPdZa/SnOhzXtspU2t1eOuKxYQdXwRfaDLCXr8CX/l5cfxfrdMAgCDt/+kti6ztVSaue6Wj4sG2VAMA4p75jp8Wx3/qF8zfQ/k1QLc1wp60ji0Jy9Ia9spl+PD/I44f+9jkz6D0JbfI5UxC9mJPio18FZ+hb7EcMrJ+/bOTlRdya4K0LOpjl5DTySyJsIsN5uMWupxJXPyAaPG1qCXQCkwJexCyHenUQ5Z/9KKxsP38Z1+bKAX7zXWhXrecsD0eEdFN0ottg//1IB5eTlJvdXltZ3L3Ia8Gf9VKswqJuz8gXicRi9nQ0iWxkAjh92oTR9iy/mrZHGeJh/4s7tJb3QAAIABJREFUROcm11KApfPEDyNfbfGV17MTfcbNXI3FVAif14Zl2KopfLlV4Ulh0VwFiZlIAL9XY6s4eQ17p1S3tj1TYsFoS915wfrPNokpYQ9i6zkxsMKGVGSxJowWfvWptYnqps+u50lF/NYrnEH0EU/Si22jBgDgodNJAJ67WZjoc1azVc5kovy0lWYVElb0YkvTFBvuQ69HYykVZn1/wgg7V2MuHiRkob0kIPqlz3+nmM8+qZvYzacBrT/f3gJcXcvxm88Ir4a/+O+fnmjzfTNncVvcIM49LiJjmOxZzK1aLjgD8Hg05uMhS1LiltuSSszeI0pc21PCVhNbz4l2JAsGVhyGjEgmrZt+cz3PI8sp69M/YPRiX4euyZTz6UtCqHH23ZZrAADOZaLEQz6evTlZj/z1bIVzdmx4wGjFik228dm/Lj4jOmvdeQ1gOT15L/ZG3uKWrkGce1y4nU3Sz75+RfTQosN/+JOWlWcOdCxMqH+4mava09IF4tl79MfF8Ud+dbLyjA2ZHhAiMWtS4hbbkkr4gpC5G7ZftP6zTWJK2BLdrpjhbEM6HOA9d8/J2NN03bTSaPPqdolHrE6HS8xcEKpas8YVhZui5vPwR2wRaXg8Gg+dTvLchvkIW9d1VvcqnJu1tr+5B00TUfYkZJNbFdG1HZsyRGvXpMYft/I1axXigzj/neL1+pfMf8bqk+JeBEvLMwc6FjzmOxYa7Q47pYY9LV0Sd71XvIaS5n6/URa+7jYR9qlkiO0J3c7qLTFUaT5hQ4QNoj11GmEriPwqNEu2Efals2nec/cs8aDPdN30+Y0CXR3eumLyATwJkyrFbVKUDuKh5SQvbRZN9xHvlBpUmx3O20XYIHraJyLs6zBzzrLTOYzldJhsuUmtae4a6rouXM7sIpuZC5BYnoywz77HONAsLc/IjoXldJgLs1HTJZXNvGiLsy0lDpM77/VauqxPiYPQU2xPGGF//iXR8VFtWjcJ8QAWHoDCDTHMSAFMCVvCRsGZxON3z1JqtE2ThUwFW97SJTFpL7YkbBvUzRKPLKdodXRe2SqZ+v3rWTH045xVc7CHIXNR1E3bJjoCul3DCtK+ayhbu/7ZZ142VYPNlps02l3e2ClbazwjIevYq0+aL89Ikrn7eywvz1w6m+Z733KKtf0qLZMdC72WLrtS4iCugeY1T9g5e3qwJU4lQlSaHUp1c4NUrq7l+Jnf+CYA//ZL1+25F6Vj485L1n+2CUwJW2LrOXFzz99v2z/x4JKIjF+4ZW639s31PCszYTJWTUc6jMSymGxkOsK+LvpoLW4BGYQUnn3LpPBs1SBsWyPszEVhHmPGZap0S5QlbNz0VBoisv7lL6+aEkB+9iXhZf/5l3esNZ4ZxPnHoboHOybrhzKN+a6fsqU889Byima7a3rjuJEXJQlbU+JevyDbvdfM/X4vY2bPvShbu8wKz566ttfbMLW7FvopDEIOMNp+3vrPNoEpYUtsPSdUgX77HqAHFsUwjBdvFU39/pXr+0QDPnsWSBBiu9gCvPYZcyKd3CqkzoDHYuXwAJbTYdIRP98yKTy7vlch4PXYJ5iCAaW4ichm3z6FuMRWYTIBpCRsy41nBiFT2J/7u+buxd6IV+sscgfxsOxYMKmnuJmr4fVo1rfFHcbs3eYzZutfE+WErEnCPwELPbczc61dj13I4DF0HgEr/RQGkVyGYFKZOvaUsCVsFJxJpKMBlpIhXjBB2J97aZtsuckrWyX7opr1K1C8KexFzZgt7F+3tX4Nwhry4eWU6Qj7+m6FM5kIXqtGQg5DTwtgYqHM2deDLfFd9873js0IIBstEdV4rTaeGURpE9Dgtf9h7l7ceVGYAUVmrD834GwmQiLkM30f3szVOJWwqQd7EJmLgrDHLS2sX4GXPiUEe7/yIVuGX/TsSU1G2JfOpjmdCnN+Nmq9n4KEpok6tiJK8Slhg/AcLt601P/6KDywlDSVEv/958SMYFujmtUn+72vZpS1uVVbU7kSDy8neXW7xM9/9tWxNy6rexV769cgSCKSMRdhr35FtMbZOIf30tk0b11JMR8PmlrormcrvOtChp/94L32LZST+opvP29bdA2DG0dzmZ6buap9or1BZO6Cdm38zo/VJ0VZB2wbfjFpSrzabHMzX+WPP7Jkzz0osfCg2ABO6gtgAaaEDY4IziQeXEpwLVsZW9XoN3bitkY15x4XdS8QhgHjKGtrOajnbY+wASIBL10dfv5zr42Vbeh2ddb2qpyftVHoIzFz1/ipyPUr8NxvioXSwt7hYXjn+RnytRaPLI/XcbBZqLGRr/H+Bxb42BMX7VsoD/iy+8e7Fztt2H2lX3+0CQ8tJ3llq0S9Nb7afsOuOdiHYVYpvizr/taq7AcR8ntJhv2me7Gf3yjS1Rn7Hh4b8w9AoyjGjLqMKWEDvPxp8doxp1YcBw8sJdB1eHlMsUqu2mQpGbI3qlm5LDywAR77yfHEOg60dEkUa2Kz09XHyzZsFus02l37erAHIVOR48Cm3uFhuGchTrPdZXVvvH7sZ1bF5ugd52z2V165DO/92+L4e//pePfi3uvi+lk4k30YHllO0u7qYz/LzXaXrWLdXoW4hFnCDsbF61v+tC0mSBKnEiHTKfFnDZvmh+3qmpGQ95ECdewpYa9fERNtAP7zR20fVP7gkhCejVvHfn6jyNvPpu2NagDu/xAEE2JHOQ4cEEtJvP9+UYPVGC/b4IhCXCJzl0hDNsbwPV95zDiwL6qRuPeUWJBf3R6PbK6u5Qj7vdxvCChtxf1/XLx6xvSxloreBbsjbEEU46bFP/viNl0dOhMOsRkJ8UXwRyA7JmFLcvruj9s6qWohGWLHLGHfzHM6FWbODh/xQcjOoa99wnZ+OAlTwnYwqgFhlJAM+8dSiuerTTbyNd5y2ubUDwil+KmHYetb4/1eL8K2x2RhEJfOzXDPQozldHisbMN1pwkbxmuRC8bE61v+lK1RDcDF+RiaxthtSc+s7fPWlVSvRGMrUmcNlfIr4/3ezouC5OWISZuwlAyRiQbGEp4d6B1+0qbe4UGYdd7beRF8Yds1KQvxoOkI+1s3CzxsdzochAgXDa59YbLJZxZgStgO1GoGoWkaDy4leHEM4ZmMxmV0bjsWHxaq+c4YdfbcdTFlSabSbMZbV1LUWp2xsg3XsxVCfg8LdgwKOAyZihxHKb75rHh94udsn78b8ns5l4mOFWFXGm1e2izZm+EZhNcnruPuq+P93vYLwgPaZ2/kJYRnybGG0TjSO3wYmbvHJ+zt52H+PltbNEEIz3ZLjbFH5u5XmtzYr9pn0zyISQWQFmJK2A7VagbxwGKCl7dKI9+kUlUujVdsx+IjQlk6juFCbtWR+rXExfkY2XKT3BjzxVezQiHusbOlS6LnGjfGQrn5LQjEHSkrANyzEOOVMQj72fU8na7OJbvr14OYvWf8CHv7RVsV4oN4aDnFq9sl/sWIHQuPXcj0LOJt6x0+jMxFYTM6jvPe9gswb/81XEiE6Orwf31mvI4PWYZwJMKeRABpMaaELRXiT/wtR8ga4MHTCRrtLv/g0y+NdJM+v1FkKRliJhpw4OwQKXEQBDIq5MAKh3D3vNhovb47eo34uhMtXRKBKMSXYG+MlPjms6JTwYZpccNw70Kc1WxlZJXzM2s5NA3efsZBwp67V9xbrRHTpvWC8H52iLCjAS868C9H7Fi4dDZNJhbgnoWYfeLRwxjXea+8I4Z+OHANKw2RxfvEl94Yq+PjWzcLaFrf+dBWrFyG9/8f4vgDf88xnhiGKWFvPw/+qKNkoxlzu/79V0ezhnzhVoEHnbgxJWbvAV+on6I9Ce2mmNTlcIQN8PrOaITd7nRZ3686oxCXiM6JARaj1Ly6HXEvLj5i/3kZuPdUgq4++jV8Zi3HPfNxkmG/zWc2gNl7BNmMWlqQns8OEXbBmHM/asfCdrHObqnJRx4941xpYVyleM8lzl7RHojUNozf8fHsep4Ls1HiIYfuxUd+ULy2JxtLOymmhL31nDBMcSiqAVg3RhuOYoJSabS5lq04V78GUTtceHB04VlhXSyqDhL26VSYkN/Da9ujkc1nXtim1dHxOpANBwRJbz8vDHlGEarsvQ6tqtAPOIR7T4lNzyh17E5X5xtrOWfT4SAibBB91aOgpxB3hrDfd//CWGNzZVucY2QNkJHlmRFLXNK/3ea2OIAPPnhq7LHDuq7z7M2CM/VriegsJM/ArW84928OwZubsHXdIGz7DVMG8a67ZpFl1JNu0pc2i+g6vMWp+rXE4iMiJT6Ku4+003TA5UzC49G4OB8bKSUulLniQXNEmQuHnKIaJwtVZDbDwQj7bCZKwOsZqY79u9/coNRoM+tUWUYicxHQIDui8OyNL4gBNoUNW09L4tLZNO+6OPrY3GfW9gn5Pc5uwMNpiMyOF2FH5wVJ2YxLZ9N8/8OLeD0a/+6jj460kfnMi9tkyw1mIg7fi6ffNiVsV5FfE/3GDuwkB3HpbJoPvfU0Hg1++UePv0mlQtyRlq5BLD4CjcJodS8HTVMGcXEuxusjkI1Q5oqNR8cpZe65x/sqZc17slBl81lBNDa3Ig3C7/VwYS7Kqye0dl1dy/HXf0tkWz7xpWvObHgk/GHRKjhKhL1+BV75fbFBssn/ehjed988pUabpdTJ3QdX13I8suxQW9wgYgtw7YujXZPtFxzLUAB85NEVOl2dRvtkEe7VtRw/9R+/DsCvPLXm7L249Dax1lX3nfs3D+HNTdg9S1Ln0pAS3/fQIl2dE83/n98okIkGWEjYbA5wGD3h2Qh17P3rouYdO2XvOR3C3QtxbhXqlBvHt58NZjBss3U9jJXL8NH/9v+3d+fBVVV5Ase/vySEEAISkrAFEraAgAohtIKiuKFoM+jY2l3dM1OtpW1N98x0jdXV1jDaPbY13WrVlD3UjNqjjoPjUj3t1qgNLiibgkICYQk7gQQCARPCErbw8s78ce5NXsJLgi255z7e71OVIm8pcuq9c+/vnN/Z7L7iQ4q7nqhyYL29SaYGOD6M3UClq7XYX1TWE4naBk+kOaAGT6zcMefXw971abfvfx3PZK/Bva668w1UTjZFqNh/rPt3iWtv72q7lvhIVdfDM80R+94AA/a3hvcno0cKy7Z/1eV72zS+g66LQ4rtvw572RqwJaVbz8DuyOQCO/7S9YSzY0zIvwSRoAZfPQPG26UM5zOOvX8dpGdBTWn3lyvGqDw7Bruri0lTQ/plYIAZY/KCm5kLNkhPuMv2WDpbUmOM/ZwDTIf7xniNnmOnO96W96oRrSdeBdbgiZU7xh7xGO1iNrt/NK6kBLKngm/84L6kp6Wwrrrza7ncWxY3pbB7ThDr0NcZnjlcCZHTgQbsjB6pTBuZw9Jth7p8r9O6OHiS/VcDtiO1G+2mAukB7OnbTk5WT0bk9mZtJwH7TKSZ7QePBzve5euRYSdZVPyx8xb53tVQtRJO1gW+C1DRwPObKb7ca7n/8+3jgp3sAzBiBpw9ATVlHb/nSJVdjhTghDPfpd4WpU8t2tph4zErw65Bve2yQcE2eHx5Y22gOVLV+fvqdthtOK+fG9ieCmDXU1+efwlru+hhl3kTzgJdFgfthmdSOm/IHOrec8Q7cv3YAeypP9myfXBXZl8xOPi62KufPdRHA7YjDiacxSou6Mfa6gZMBxO73i3fTyRqyOzRvbsNxbV3tb1BHt7VeSDe8h6udgEq7J9Jj1RhRxcBe+m2rxjUN4MxXoAP1PDpgMDuZR2/x1/v7qCH3eSNG77+ZXWHSwxX7rRpx0dnjw8+WAPk+jPFO0mLR6Ow/QMYexvMeDjwtbKTC/qxseZoy+cZT1l1A2MGZnFJZrDDHi3DM32H2oDT2WdzsMLOufA/84DMGJMH0GVafNGmWtJTU3jirsvd1MUhxbC/PPi/60negH3ysF2O5DBglxRmU9dot9hrr6yqgblv2zH2/1yyM9jJFXD+aTT/kBBJDTQNCXb8f0Ru70572Gebo3y2o47rx+YFP6wAdgx78ESoXNrxew6st59fADtLtbfLm2Xf2RLDlbvqKczJJL9fAMdBxpPnTcTrbMezmlK72cfY24MpUzvFBdk0RaJsPhD/jIBo1LC2qsFNkAEbpEvutXMBGjsJins+t7PKv+5ZAt/Q8NzeDM/J7DRgG2P4YFMt04tyg1t/3V7+ZLtUs7Hr9H13SN6A7W8O4DhgA6yNM/blfKLP+aTRjLHp8IGXw42PBJqG9I0ekMXOQx1PmlpXfYTjZyItLXgnRl4P+9Z0fHLX7uWQmRP4TRJg2qhcUr01hmmp544JNkcNX+6u5+pRAY9bx+qVbZcZddbD3rbQzrkYfXNw5Yrhp7k7GsdeUL6fY6cj5GQFPHk0VtFMwMDOxfFf37saqlc5Gd4C28v+bEcd8zrY5nVjzVFqjpzitsuCndzahuOJZ8kbsFtmiLsL2EUD+pDVMy1u5fR7M1/3CMkLxk+j5V1qd4LzK2qsA+tti/1b98O1P3OyZd/oAX2oPnyyw+01l20/RGqKcE1R968p7dDIGRCN2Jthe1WrYN9qOHHIyU2ypDCbJ++y18C9Vw8/pwdYsf8ox09HmDbK4ecH9pjIyiUdfz5bF0LhNXac0YFBl2Qw+JKMuOPYZVUNPPyWXW3xQtDL4mINnmhXcuz4KP7rFe/g8pCLodmZNDVHmdfBNq+LNtWSliLMHD8w0HK1MegK24HRgB2wXZ/amc3nu79uN0hNEYoL+lFWde5FXrH/KKkCP7lhlJuJPmAD8MzH7Xrs7R+e+/rGNyClB4y/I/iyeUYPyCJqWo/ObG/ptq8oKcimr6sUGthzrlPT46fFVz/f+rujk4DuLhnKqLzecZclrdxlMztTRwY8szlWy65xNfEbNfW7bLr80m+7KZ9nckF23B72F5V1LUuRnGTLfCJQdDPs+iT+SXz+UbAOhrfALnuD+NuU+unwaaNy6Bf0himxembBJcNg45tOjtlMzoC9d7VNCzU1Oj/fdHJBNttqj7VZS3y2Oco762q4efxAfn7rpe7GvQBG3WRb5etebft8tNlW2qJb7DitI0XenuLPxBnnX7zlIBX7jzHaxWSzWOmZkDfONnBi61q02abKEWc3SbDHRP5lcT6r9xxmX0Pb+RQrd9VTNCCLAUEcSdqR2PkUkTjzKbYttP+OvS3YcrVTXNCPfQ2nOHS87UElGd6kUWfZslhFt9gVCfva3fOO19pOzKWznQ1vTS/KI80bnklNafs5vbOuht11Jxg/2MGKmVh7V9tzE+p3wMt/EXjsSM6AveZFwnK+6eTCbKLGbmbvW7L1EHWNTXx3yjBn5WqRmmY3vt/xERw/2Pr8nhXQWAtX3OOubMCRk3Z98582HGiTRiurauDHr9qlVG+W7XOXhgR7UR+qgMaD8PLs1ou84h078fHGR5zdJH13TMoH7FirrykSpXTPYbfj1+DNp/AbDFEYMrnt6xv+z+7kdbw28KLFKvbGsX8TcwqfMYb3Nxwgt3c6D80c4y5b5ht5gx3rb58x+/J3dthm5uPOhrdKCrN55f4r6ZuRRn52BsXDWveq+Lm30978lXvcXst7VrRu1xyv8djNki9gH91nx7sc92p8k7xK+dzSXS0V8Q+l+8jr09PtRKlYxX8NptneGH2rnrWfXabbsU1/zNBgA4yfRltQXuNuR6T22vcQt7xne9fLnrIb1Ez/mbObpG9Y/0xKCrNZUF7TsszwjdK9nGxqDn6XvXMKd6VtzEx5wD6uXNL62spn7HyURjdzAGI1Rew8ij+W7+evXrCNx+U76lhXfYSHbhnDT28qchusATL62tUI5a+3flZnjsOal2DcHMgZ5bR400bl8vgdl7G77iQL1tv94P/jkx00u5yAG6tlMq4ABnoFe/9LC/SvASIyC5gHpAIvGmOeDOyPN0fgrQcAA3e/ZA+tGH6t0xvlzkONCPDZzjpWVdbz4HUj+GTrQeZMHNLltqWByS2CoVfa8dbaDfZgheqV9rXX7nHaM5w6MoeeaSmciUSJGhjQpye7606woLwGwQ7bOU9DDr/W7hPefMYG7o1v2cxO3Xa48ReBnhTXmTsnDeEXCyp47N0K+vRK49kl9kjLeZ/s5KqRuW6DzbAr7U/klG0sTv6h3Yzm40e9N5jWbJmjuri2+oh/G+d0JMqy7YdYsaOO/H69uKckBNky8LI9myF6Fl6aBXf/t534eOYojL7JdekAmDNxCC9+Vsmv39/Cq19UU1bVQIqEZEjBbzzuXAyl82Hlv8MVd0N6MMf2BhqwRSQVeAaYCewD1ojIu8aYzYEU4L1/sDN1Z/wTXHZXIH+yK19U1iNisyzNUcNzS+3Ejw821VLmct1me4XXwOe/hY172z7v+CZZUpjN6z+ayseba3mzdB//+qfNGGNvmvO+P4m9h08xdWSO+2Dzw3ft59SrPyx62KYgAZb/G4y4zmmj0Te0v93x7+VVbXcU83s1oaiLN/0LbHobXrgJTjfAoIl2wlnzWefZsqkjc+jZI4Umr/H48ud7OHo6wt9eN5L0tHA0ytpke0wzvHEfLcODCx+2q0Ic18WUFOHukqE89u5m6k40kZoi/GrOBI6eOuv+WobWxuOI62D+t21mZ9YTgXxuQfewrwR2GmMqAUTk98AdQPcH7HWv2jQQwOfzbGsyBDfJqSNzSE9L4WwkCiLnpH6cV05feiYtaSBSbK/QGOc3SbBBu6Qwm/GD+/LT39tdiNLTUsjvl8mciflOy9bCv8jB9nLWe3XRcYMn1ub9x1q+YYC0FMEY475XE+tIle0dnj5ll9fc+mubotyzwnm2rKQwm9cemMoXlfXUNZ7mfz63DZ/5q/Ywc8KgcFzLw6+112xzkz1opl9h64Y0IaqLJ840t9ZFYzh66ix/d8Nox6VqJzXdzgeoKYX5s+He97v9sws6YOcDsV20fcBVsW8QkQeBBwEKCgou3F8+XktLwAlRxYy9yLMz03n8/QrORqLhukmC3fxjxdPehZ4Os56EU/XOb5Kx9jacIkXsspDmsDV4Yk25z0448z9Lxw0en99D9OvfL2dPoOFkUzh6Nb7YST+Ine3sePw/lt94fGbJzpa66C9RCsVnGJvt8evdy3NCXxdDdS/0xdbFaCSQmBJ0wI63N2SbjbSNMc8DzwNMmTIl/ibbf44R19mZpiGrmNB6kYM97vCLyvpw3STh3As9JDfIWLHZitBe5BDazzK28Ri6+udr00MM13UcK9R1MTbbA1oX/1wO6qJ0dPBEt/wxkWnAY8aYW73HcwGMMU/Ee/+UKVNMaekFPLJx7+rQVUx1YZVVNYT7IlffXIJcx1oXk0A31UURKTPGTDnn+YADdhqwHbgJqAHWAD8wxlTEe/8FD9hKKaVUyHUUsANNiRtjIiLy98CH2GVdL3UUrJVSSinVKvB12MaYhcDCoP+uUkoplchCsjhQKaWUUp3RgK2UUkolAA3YSimlVALQgK2UUkolAA3YSimlVALQgK2UUkolAA3YSimlVALQgK2UUkolgEC3Jv26ROQroKrLN349uUDdBf4/1Tej30k46fcSPvqdhE93fCeFxpi89k+GOmB3BxEpjbdHq3JHv5Nw0u8lfPQ7CZ8gvxNNiSullFIJQAO2UkoplQCSMWA/77oA6hz6nYSTfi/ho99J+AT2nSTdGLZSSimViJKxh62UUkolHA3YSimlVALQgK2UUkolgKQJ2CLyExHZLSKnRaRMRK51XSallFLhJyJzRWSNiBwTka9E5D0RuSzociRFwBaR7wHzgN8AxcBKYJGIFDgtWBITkXEiUi8ilSJSLiLHRaTUdbmUCgsRWSki60Vkk4j80nV5ktz1wLPA1cCNQARYLCL9gyxEUswSF5EvgQ3GmB/FPLcDeNMYM9ddyZKbiCwEHjHGrBORLcA1xpjDrsuVrERkMzCug5d/ZYx5LMDiJD0R6WuMOSYiqcBnwI+NMeWuy6VARLKAo8Cdxpj3grp2LvoetoikAyXAR+1e+gjbWlLujAO2ikhPoLcGa+fu9P69HRgMDAFOAvcDT7kqVLIyxhzzfk33fjQzFR59sPGzwXscyLVz0Qds7MbsqcDBds8fBAYFXxwFICJ9gLPGmFPAeGCb4yIpGAgYYIUxphboDWQCn3nfkwqYlx08BCw2xpQbY7YAXwLfMcZMAvYBt7gsY5KaB5QDq7zHgVw7yRCwfe1z/xLnORWc8cBm7/dxaMAOg4lApTGm0Xs8CdtL2OmuSMnNGHMVkA9MipnkpJkph0TkaWA6ttHU7D0dyLWTDAG7Dmjm3N70AM7tdavgTAAqvN9PADeIiGY83LoC2BDzeBKwyRgTdVQeRUtq/FNglmam3BKR3wLfB240xlTGvBTItXPRB2xjTBNQBsxs99JM7Gxx5YAx5iVjzCPe7wuMMRO8VJJy5wpgfczjSe0eq4CISD8RyfV+z8CmvbeimSlnRGQe8ANssN7a7uVArp2LPmB7ngbuFZEHvEkb87CTAn7nuFxKhYKIpACX0baXMAqoclOipNcf+FBENgClwDJjzPtoZsoJEXkGuA/bu24QkUHeT1aQ105SLOsCu3EK8DB2Bt8m4CFjzHK3pUpeItJpxTPGSFBlUSAiRcB2YLQxZpf33B+AWcD3jDGLXJZPKZc6uV/9CniNgK6dpAnYKlxEZBjwCnYuwVnsWsW33ZZKKaXCSwO2ckJEBgMDjTHlIjIAO89grDHmpOOiKeVcVxmojmhm6uKWLGPYKmSMMQf8XZuMMYewGxDkui2VUuFgjBH/BygAlgFbsOOk34l9vd171UUszXUBlBKRKUAPYK/rsigVQhHgH2OzUSLygWajko/2sJVTIpID/C9wv9HxGaXOodko5dOArZzxdmp6B3jCGKNr4pXqgmajkpsGbOWEiAgwH/jUGPOK4+IoFXqajVI6S1zF00VCAAABZElEQVQ5ISLTgeW03Wzgb4wxGx0VSanQ8rJRHwMvaAM3eWnAVkqpEPOyUa8D2/RM8uSmAVsppUJMs1HKpwFbKaWUSgA66UwppZRKABqwlVJKqQSgAVsppZRKABqwlVJKqQSgAVsppZRKABqwlVJKqQSgAVsppZRKABqwlVJtiMh3RWSL93OP6/IopSzdOEUp1UJE+gBLgRmAAMuA64wxjS7LpZTSHrZSqq1ZwCJjTKMx5jiwGLjNcZmUUkCa6wIopUKlALhPRGZ7j/OAgw7Lo5TyaA9bKRVLgOeMMZOMMZOA/wJ03EypENCArZSKVQXkxzweBlQ7KotSKoZOOlNKtRCRLKAUuAbb214FFOukM6Xc0zFspVQLY0yjiDyKDdQCzNVgrVQ4aA9bKaWUSgA6hq2UUkolAA3YSimlVALQgK2UUkolAA3YSimlVALQgK2UUkolAA3YSimlVALQgK2UUkolgP8HzGpZnCbtyjMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -750,8 +754,8 @@ "execution_count": 16, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:01:22.016899Z", - "start_time": "2019-08-21T09:01:04.252823Z" + "end_time": "2019-08-22T14:45:41.843339Z", + "start_time": "2019-08-22T14:45:19.579877Z" } }, "outputs": [ @@ -759,7 +763,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Time compiling over set of bound circuits: 17.536379098892212\n" + "Time compiling over set of bound circuits: 22.251035928726196\n" ] } ], @@ -798,8 +802,8 @@ "execution_count": 17, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:01:24.863414Z", - "start_time": "2019-08-21T09:01:22.698533Z" + "end_time": "2019-08-22T14:45:46.361352Z", + "start_time": "2019-08-22T14:45:41.846044Z" } }, "outputs": [ @@ -807,7 +811,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Time compiling over parameterized circuit, then binding: 2.1587467193603516\n" + "Time compiling over parameterized circuit, then binding: 4.508707046508789\n" ] } ], @@ -865,8 +869,8 @@ "execution_count": 18, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:01:50.115060Z", - "start_time": "2019-08-21T09:01:50.103768Z" + "end_time": "2019-08-22T14:45:46.372951Z", + "start_time": "2019-08-22T14:45:46.362798Z" } }, "outputs": [ @@ -924,8 +928,8 @@ "execution_count": 19, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:01:52.116713Z", - "start_time": "2019-08-21T09:01:52.098869Z" + "end_time": "2019-08-22T14:45:46.401332Z", + "start_time": "2019-08-22T14:45:46.375034Z" } }, "outputs": [ @@ -999,11 +1003,11 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T09:02:11.062428Z", - "start_time": "2019-08-21T09:02:11.054317Z" + "end_time": "2019-08-22T14:45:46.489770Z", + "start_time": "2019-08-22T14:45:46.403279Z" } }, "outputs": [ @@ -1011,7 +1015,7 @@ "data": { "text/html": [ "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", - "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 05:02:11 2019 EDT
" + "[Clang 4.0.1 (tags/RELEASE_401/final)]OSDarwinCPUs4Memory (Gb)16.0Thu Aug 22 10:45:46 2019 EDT" ], "text/plain": [ "" diff --git a/qiskit/fundamentals/7_summary_of_quantum_operations.ipynb b/qiskit/fundamentals/7_summary_of_quantum_operations.ipynb index d7e8641ab..8142f45ff 100644 --- a/qiskit/fundamentals/7_summary_of_quantum_operations.ipynb +++ b/qiskit/fundamentals/7_summary_of_quantum_operations.ipynb @@ -37,8 +37,8 @@ "execution_count": 1, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:28.396755Z", - "start_time": "2019-08-21T08:54:27.713006Z" + "end_time": "2019-08-22T14:44:26.162937Z", + "start_time": "2019-08-22T14:44:25.781597Z" } }, "outputs": [], @@ -55,8 +55,8 @@ "execution_count": 2, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.622706Z", - "start_time": "2019-08-21T08:54:28.407651Z" + "end_time": "2019-08-22T14:44:28.452431Z", + "start_time": "2019-08-22T14:44:26.164272Z" } }, "outputs": [], @@ -145,8 +145,8 @@ "execution_count": 3, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.638412Z", - "start_time": "2019-08-21T08:54:32.635777Z" + "end_time": "2019-08-22T14:44:28.458223Z", + "start_time": "2019-08-22T14:44:28.455375Z" } }, "outputs": [], @@ -172,8 +172,8 @@ "execution_count": 4, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.658121Z", - "start_time": "2019-08-21T08:54:32.650725Z" + "end_time": "2019-08-22T14:44:28.469920Z", + "start_time": "2019-08-22T14:44:28.460521Z" } }, "outputs": [ @@ -185,7 +185,7 @@ " └────────────────────┘" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -204,8 +204,8 @@ "execution_count": 5, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.696192Z", - "start_time": "2019-08-21T08:54:32.672580Z" + "end_time": "2019-08-22T14:44:28.488360Z", + "start_time": "2019-08-22T14:44:28.471298Z" } }, "outputs": [ @@ -248,8 +248,8 @@ "execution_count": 6, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.721409Z", - "start_time": "2019-08-21T08:54:32.715443Z" + "end_time": "2019-08-22T14:44:28.496279Z", + "start_time": "2019-08-22T14:44:28.490188Z" } }, "outputs": [ @@ -261,7 +261,7 @@ " └───────────────┘" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -280,8 +280,8 @@ "execution_count": 7, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.757686Z", - "start_time": "2019-08-21T08:54:32.742747Z" + "end_time": "2019-08-22T14:44:28.509942Z", + "start_time": "2019-08-22T14:44:28.498543Z" } }, "outputs": [ @@ -324,8 +324,8 @@ "execution_count": 8, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:54:32.778776Z", - "start_time": "2019-08-21T08:54:32.772820Z" + "end_time": "2019-08-22T14:44:28.519085Z", + "start_time": "2019-08-22T14:44:28.513202Z" } }, "outputs": [ @@ -337,7 +337,7 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -353,11 +353,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:36.635190Z", - "start_time": "2019-08-21T08:55:36.623163Z" + "end_time": "2019-08-22T14:44:28.538308Z", + "start_time": "2019-08-22T14:44:28.521350Z" } }, "outputs": [ @@ -365,10 +365,10 @@ "data": { "text/plain": [ "array([[1.+0.j, 0.+0.j],\n", - " [0.+0.j, 1.+0.j]])" + " [0.+0.j, 0.+1.j]])" ] }, - "execution_count": 20, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -389,11 +389,11 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:36.992414Z", - "start_time": "2019-08-21T08:55:36.986898Z" + "end_time": "2019-08-22T14:44:28.549316Z", + "start_time": "2019-08-22T14:44:28.542395Z" } }, "outputs": [ @@ -405,10 +405,10 @@ " └────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 21, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -421,11 +421,11 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 11, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:37.181158Z", - "start_time": "2019-08-21T08:55:37.170249Z" + "end_time": "2019-08-22T14:44:28.565194Z", + "start_time": "2019-08-22T14:44:28.551185Z" } }, "outputs": [ @@ -436,7 +436,7 @@ " [0.+0.j, 1.+0.j]])" ] }, - "execution_count": 22, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -467,11 +467,11 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 12, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:37.492730Z", - "start_time": "2019-08-21T08:55:37.487214Z" + "end_time": "2019-08-22T14:44:28.573446Z", + "start_time": "2019-08-22T14:44:28.567063Z" } }, "outputs": [ @@ -483,10 +483,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 23, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -499,11 +499,11 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 13, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:37.771126Z", - "start_time": "2019-08-21T08:55:37.751176Z" + "end_time": "2019-08-22T14:44:28.588910Z", + "start_time": "2019-08-22T14:44:28.574884Z" } }, "outputs": [ @@ -514,7 +514,7 @@ " [1.+0.j, 0.+0.j]])" ] }, - "execution_count": 24, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -543,11 +543,11 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 14, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:38.139841Z", - "start_time": "2019-08-21T08:55:38.134360Z" + "end_time": "2019-08-22T14:44:28.597678Z", + "start_time": "2019-08-22T14:44:28.590865Z" } }, "outputs": [ @@ -559,10 +559,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 25, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -575,11 +575,11 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 15, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:38.338922Z", - "start_time": "2019-08-21T08:55:38.324715Z" + "end_time": "2019-08-22T14:44:28.622772Z", + "start_time": "2019-08-22T14:44:28.599982Z" } }, "outputs": [ @@ -590,7 +590,7 @@ " [0.+1.j, 0.+0.j]])" ] }, - "execution_count": 26, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -619,11 +619,11 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 16, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:38.680879Z", - "start_time": "2019-08-21T08:55:38.675275Z" + "end_time": "2019-08-22T14:44:28.631130Z", + "start_time": "2019-08-22T14:44:28.624441Z" } }, "outputs": [ @@ -635,10 +635,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 27, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -651,11 +651,11 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 17, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:38.896243Z", - "start_time": "2019-08-21T08:55:38.884073Z" + "end_time": "2019-08-22T14:44:28.656164Z", + "start_time": "2019-08-22T14:44:28.634114Z" } }, "outputs": [ @@ -666,7 +666,7 @@ " [ 0.+0.j, -1.+0.j]])" ] }, - "execution_count": 28, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -696,11 +696,11 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 18, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:39.291931Z", - "start_time": "2019-08-21T08:55:39.286455Z" + "end_time": "2019-08-22T14:44:28.664974Z", + "start_time": "2019-08-22T14:44:28.658178Z" } }, "outputs": [ @@ -712,10 +712,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 29, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -728,11 +728,11 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 19, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:39.490699Z", - "start_time": "2019-08-21T08:55:39.478536Z" + "end_time": "2019-08-22T14:44:28.680014Z", + "start_time": "2019-08-22T14:44:28.667060Z" } }, "outputs": [ @@ -743,7 +743,7 @@ " [ 0.707+0.j, -0.707+0.j]])" ] }, - "execution_count": 30, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -770,11 +770,11 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 20, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:40.054653Z", - "start_time": "2019-08-21T08:55:40.049332Z" + "end_time": "2019-08-22T14:44:28.695767Z", + "start_time": "2019-08-22T14:44:28.684020Z" } }, "outputs": [ @@ -786,10 +786,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 31, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -802,11 +802,11 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 21, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:40.340040Z", - "start_time": "2019-08-21T08:55:40.327313Z" + "end_time": "2019-08-22T14:44:28.715700Z", + "start_time": "2019-08-22T14:44:28.698009Z" } }, "outputs": [ @@ -817,7 +817,7 @@ " [0.+0.j, 0.+1.j]])" ] }, - "execution_count": 32, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -844,11 +844,11 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 22, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:40.893533Z", - "start_time": "2019-08-21T08:55:40.887218Z" + "end_time": "2019-08-22T14:44:28.728768Z", + "start_time": "2019-08-22T14:44:28.719810Z" } }, "outputs": [ @@ -860,10 +860,10 @@ " └─────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 33, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -876,11 +876,11 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 23, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:41.186813Z", - "start_time": "2019-08-21T08:55:41.173783Z" + "end_time": "2019-08-22T14:44:28.748039Z", + "start_time": "2019-08-22T14:44:28.734085Z" } }, "outputs": [ @@ -891,7 +891,7 @@ " [0.+0.j, 0.-1.j]])" ] }, - "execution_count": 34, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -919,11 +919,11 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 24, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:41.712311Z", - "start_time": "2019-08-21T08:55:41.706924Z" + "end_time": "2019-08-22T14:44:28.766851Z", + "start_time": "2019-08-22T14:44:28.751941Z" } }, "outputs": [ @@ -935,10 +935,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 35, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -951,11 +951,11 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 25, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:42.082078Z", - "start_time": "2019-08-21T08:55:42.068425Z" + "end_time": "2019-08-22T14:44:28.782655Z", + "start_time": "2019-08-22T14:44:28.768793Z" } }, "outputs": [ @@ -966,7 +966,7 @@ " [0. +0.j , 0.707+0.707j]])" ] }, - "execution_count": 36, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -995,11 +995,11 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 26, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:42.567878Z", - "start_time": "2019-08-21T08:55:42.562458Z" + "end_time": "2019-08-22T14:44:28.791278Z", + "start_time": "2019-08-22T14:44:28.784761Z" } }, "outputs": [ @@ -1011,10 +1011,10 @@ " └─────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 37, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1027,11 +1027,11 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 27, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:42.798583Z", - "start_time": "2019-08-21T08:55:42.785608Z" + "end_time": "2019-08-22T14:44:28.818132Z", + "start_time": "2019-08-22T14:44:28.793120Z" } }, "outputs": [ @@ -1042,7 +1042,7 @@ " [0. +0.j , 0.707-0.707j]])" ] }, - "execution_count": 38, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1075,11 +1075,11 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 28, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:43.240683Z", - "start_time": "2019-08-21T08:55:43.234929Z" + "end_time": "2019-08-22T14:44:28.826344Z", + "start_time": "2019-08-22T14:44:28.820278Z" } }, "outputs": [ @@ -1091,10 +1091,10 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 39, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1107,11 +1107,11 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 29, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:43.476371Z", - "start_time": "2019-08-21T08:55:43.463329Z" + "end_time": "2019-08-22T14:44:28.841420Z", + "start_time": "2019-08-22T14:44:28.828459Z" } }, "outputs": [ @@ -1122,7 +1122,7 @@ " [0. -0.707j, 0.707+0.j ]])" ] }, - "execution_count": 40, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1149,11 +1149,11 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 30, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:43.958486Z", - "start_time": "2019-08-21T08:55:43.952515Z" + "end_time": "2019-08-22T14:44:28.853141Z", + "start_time": "2019-08-22T14:44:28.843281Z" } }, "outputs": [ @@ -1165,10 +1165,10 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 41, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1181,11 +1181,11 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 31, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:44.185984Z", - "start_time": "2019-08-21T08:55:44.173535Z" + "end_time": "2019-08-22T14:44:28.874195Z", + "start_time": "2019-08-22T14:44:28.857971Z" } }, "outputs": [ @@ -1196,7 +1196,7 @@ " [ 0.707+0.j, 0.707+0.j]])" ] }, - "execution_count": 42, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1225,11 +1225,11 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 32, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:44.611839Z", - "start_time": "2019-08-21T08:55:44.606231Z" + "end_time": "2019-08-22T14:44:28.891314Z", + "start_time": "2019-08-22T14:44:28.880141Z" } }, "outputs": [ @@ -1241,10 +1241,10 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 43, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1257,11 +1257,11 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 33, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:44.847493Z", - "start_time": "2019-08-21T08:55:44.835188Z" + "end_time": "2019-08-22T14:44:28.906087Z", + "start_time": "2019-08-22T14:44:28.893516Z" } }, "outputs": [ @@ -1272,7 +1272,7 @@ " [0.+0.j, 0.+1.j]])" ] }, - "execution_count": 44, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1452,11 +1452,11 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 34, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:46.416973Z", - "start_time": "2019-08-21T08:55:46.414377Z" + "end_time": "2019-08-22T14:44:28.910884Z", + "start_time": "2019-08-22T14:44:28.907821Z" } }, "outputs": [], @@ -1499,11 +1499,11 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 35, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:46.841847Z", - "start_time": "2019-08-21T08:55:46.835972Z" + "end_time": "2019-08-22T14:44:28.926987Z", + "start_time": "2019-08-22T14:44:28.912992Z" } }, "outputs": [ @@ -1517,10 +1517,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 46, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1533,11 +1533,11 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 36, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:47.097437Z", - "start_time": "2019-08-21T08:55:47.085390Z" + "end_time": "2019-08-22T14:44:28.950520Z", + "start_time": "2019-08-22T14:44:28.929642Z" } }, "outputs": [ @@ -1550,7 +1550,7 @@ " [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j]])" ] }, - "execution_count": 47, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1593,11 +1593,11 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 37, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:47.616404Z", - "start_time": "2019-08-21T08:55:47.610576Z" + "end_time": "2019-08-22T14:44:28.959546Z", + "start_time": "2019-08-22T14:44:28.952967Z" } }, "outputs": [ @@ -1611,10 +1611,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 48, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1627,11 +1627,11 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 38, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:47.947599Z", - "start_time": "2019-08-21T08:55:47.857473Z" + "end_time": "2019-08-22T14:44:28.977853Z", + "start_time": "2019-08-22T14:44:28.961213Z" } }, "outputs": [ @@ -1644,7 +1644,7 @@ " [0.+0.j, 0.+1.j, 0.+0.j, 0.+0.j]])" ] }, - "execution_count": 49, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1675,11 +1675,11 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 39, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:48.328874Z", - "start_time": "2019-08-21T08:55:48.322865Z" + "end_time": "2019-08-22T14:44:28.986514Z", + "start_time": "2019-08-22T14:44:28.979296Z" } }, "outputs": [ @@ -1693,10 +1693,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 50, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1709,11 +1709,11 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 40, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:48.583091Z", - "start_time": "2019-08-21T08:55:48.566470Z" + "end_time": "2019-08-22T14:44:29.011687Z", + "start_time": "2019-08-22T14:44:28.989792Z" } }, "outputs": [ @@ -1726,7 +1726,7 @@ " [ 0.+0.j, 0.+0.j, 0.+0.j, -1.+0.j]])" ] }, - "execution_count": 51, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1757,28 +1757,28 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 41, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:49.041157Z", - "start_time": "2019-08-21T08:55:49.034254Z" + "end_time": "2019-08-22T14:44:29.031076Z", + "start_time": "2019-08-22T14:44:29.019750Z" } }, "outputs": [ { "data": { "text/html": [ - "
                                                 \n",
-       "q1_0: |0>────────────────────■───────────────────\n",
-       "         ┌────────────────┐┌─┴─┐┌───────────────┐\n",
-       "q1_1: |0>┤ U3(-7pi/4,0,0) ├┤ X ├┤ U3(7pi/4,0,0) ├\n",
-       "         └────────────────┘└───┘└───────────────┘
" + "
              \n",
+       "q1_0: |0>──■──\n",
+       "         ┌─┴─┐\n",
+       "q1_1: |0>┤ H ├\n",
+       "         └───┘
" ], "text/plain": [ - "" + "" ] }, - "execution_count": 52, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1791,11 +1791,11 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 42, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:49.531168Z", - "start_time": "2019-08-21T08:55:49.514875Z" + "end_time": "2019-08-22T14:44:29.065683Z", + "start_time": "2019-08-22T14:44:29.032833Z" } }, "outputs": [ @@ -1808,7 +1808,7 @@ " [ 0. +0.j, 0.707+0.j, 0. +0.j, -0.707+0.j]])" ] }, - "execution_count": 53, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1841,11 +1841,11 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 43, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:50.174677Z", - "start_time": "2019-08-21T08:55:50.168096Z" + "end_time": "2019-08-22T14:44:29.075270Z", + "start_time": "2019-08-22T14:44:29.068179Z" } }, "outputs": [ @@ -1859,10 +1859,10 @@ " └──────────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 54, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1875,11 +1875,11 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 44, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:50.390216Z", - "start_time": "2019-08-21T08:55:50.373691Z" + "end_time": "2019-08-22T14:44:29.097737Z", + "start_time": "2019-08-22T14:44:29.077144Z" } }, "outputs": [ @@ -1892,7 +1892,7 @@ " [0. +0.j , 0. +0.j , 0. +0.j , 0.707+0.707j]])" ] }, - "execution_count": 55, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1923,11 +1923,11 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 45, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:51.107598Z", - "start_time": "2019-08-21T08:55:51.100979Z" + "end_time": "2019-08-22T14:44:29.109452Z", + "start_time": "2019-08-22T14:44:29.101472Z" } }, "outputs": [ @@ -1941,10 +1941,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 56, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1957,11 +1957,11 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 46, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:51.376499Z", - "start_time": "2019-08-21T08:55:51.358089Z" + "end_time": "2019-08-22T14:44:29.137034Z", + "start_time": "2019-08-22T14:44:29.111045Z" } }, "outputs": [ @@ -1974,7 +1974,7 @@ " [0.+0.j, 0.+0.j, 0.+0.j, 0.+1.j]])" ] }, - "execution_count": 57, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -2005,11 +2005,11 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 47, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:52.429046Z", - "start_time": "2019-08-21T08:55:52.423018Z" + "end_time": "2019-08-22T14:44:29.151148Z", + "start_time": "2019-08-22T14:44:29.138921Z" } }, "outputs": [ @@ -2023,10 +2023,10 @@ " └────────────────────┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 58, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -2039,11 +2039,11 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 48, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:52.904237Z", - "start_time": "2019-08-21T08:55:52.885334Z" + "end_time": "2019-08-22T14:44:29.249713Z", + "start_time": "2019-08-22T14:44:29.153125Z" } }, "outputs": [ @@ -2056,7 +2056,7 @@ " [ 0. +0.j , 0. +0.707j, 0. +0.j , -0.707+0.j ]])" ] }, - "execution_count": 59, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -2091,11 +2091,11 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 49, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:53.541227Z", - "start_time": "2019-08-21T08:55:53.535015Z" + "end_time": "2019-08-22T14:44:29.269550Z", + "start_time": "2019-08-22T14:44:29.255532Z" } }, "outputs": [ @@ -2109,10 +2109,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 60, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -2125,11 +2125,11 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 50, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:54.100684Z", - "start_time": "2019-08-21T08:55:54.085594Z" + "end_time": "2019-08-22T14:44:29.287594Z", + "start_time": "2019-08-22T14:44:29.272220Z" } }, "outputs": [ @@ -2142,7 +2142,7 @@ " [0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j]])" ] }, - "execution_count": 61, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -2196,11 +2196,11 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 51, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:55.265436Z", - "start_time": "2019-08-21T08:55:55.262507Z" + "end_time": "2019-08-22T14:44:29.294641Z", + "start_time": "2019-08-22T14:44:29.289996Z" } }, "outputs": [], @@ -2210,11 +2210,11 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 52, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:55.629341Z", - "start_time": "2019-08-21T08:55:55.623307Z" + "end_time": "2019-08-22T14:44:29.306703Z", + "start_time": "2019-08-22T14:44:29.298815Z" } }, "outputs": [ @@ -2230,10 +2230,10 @@ " └───┘" ], "text/plain": [ - "" + "" ] }, - "execution_count": 63, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -2246,11 +2246,11 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 53, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:56.074910Z", - "start_time": "2019-08-21T08:55:56.041905Z" + "end_time": "2019-08-22T14:44:29.342102Z", + "start_time": "2019-08-22T14:44:29.308539Z" } }, "outputs": [ @@ -2267,7 +2267,7 @@ " [0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j]])" ] }, - "execution_count": 64, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -2306,11 +2306,11 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 54, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:56.892569Z", - "start_time": "2019-08-21T08:55:56.886767Z" + "end_time": "2019-08-22T14:44:29.351500Z", + "start_time": "2019-08-22T14:44:29.345440Z" } }, "outputs": [ @@ -2326,10 +2326,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 65, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -2342,11 +2342,11 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 55, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:57.357927Z", - "start_time": "2019-08-21T08:55:57.317429Z" + "end_time": "2019-08-22T14:44:29.393122Z", + "start_time": "2019-08-22T14:44:29.353155Z" } }, "outputs": [ @@ -2363,7 +2363,7 @@ " [0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j]])" ] }, - "execution_count": 66, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -2384,11 +2384,11 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 56, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:58.221448Z", - "start_time": "2019-08-21T08:55:58.218540Z" + "end_time": "2019-08-22T14:44:29.397469Z", + "start_time": "2019-08-22T14:44:29.394539Z" } }, "outputs": [], @@ -2408,11 +2408,11 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 57, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:55:59.196634Z", - "start_time": "2019-08-21T08:55:59.190848Z" + "end_time": "2019-08-22T14:44:29.404995Z", + "start_time": "2019-08-22T14:44:29.399074Z" } }, "outputs": [ @@ -2426,10 +2426,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 68, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -2442,11 +2442,11 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 58, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:01.694539Z", - "start_time": "2019-08-21T08:56:01.678634Z" + "end_time": "2019-08-22T14:44:29.422133Z", + "start_time": "2019-08-22T14:44:29.406611Z" } }, "outputs": [ @@ -2456,7 +2456,7 @@ "{'0': 1024}" ] }, - "execution_count": 69, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -2476,11 +2476,11 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 59, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:02.140792Z", - "start_time": "2019-08-21T08:56:02.134144Z" + "end_time": "2019-08-22T14:44:29.442096Z", + "start_time": "2019-08-22T14:44:29.428172Z" } }, "outputs": [ @@ -2494,10 +2494,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 70, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -2511,21 +2511,21 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 60, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:02.343572Z", - "start_time": "2019-08-21T08:56:02.322141Z" + "end_time": "2019-08-22T14:44:29.461444Z", + "start_time": "2019-08-22T14:44:29.443846Z" } }, "outputs": [ { "data": { "text/plain": [ - "{'0': 525, '1': 499}" + "{'1': 514, '0': 510}" ] }, - "execution_count": 71, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -2552,11 +2552,11 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 61, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:02.924205Z", - "start_time": "2019-08-21T08:56:02.917801Z" + "end_time": "2019-08-22T14:44:29.475665Z", + "start_time": "2019-08-22T14:44:29.467882Z" } }, "outputs": [ @@ -2570,10 +2570,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 72, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -2587,11 +2587,11 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 62, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:03.108038Z", - "start_time": "2019-08-21T08:56:03.094391Z" + "end_time": "2019-08-22T14:44:29.496294Z", + "start_time": "2019-08-22T14:44:29.481744Z" } }, "outputs": [ @@ -2601,7 +2601,7 @@ "{'0': 1024}" ] }, - "execution_count": 73, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -2613,11 +2613,11 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 63, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:03.280559Z", - "start_time": "2019-08-21T08:56:03.273731Z" + "end_time": "2019-08-22T14:44:29.505800Z", + "start_time": "2019-08-22T14:44:29.498121Z" } }, "outputs": [ @@ -2631,10 +2631,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 74, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -2649,11 +2649,11 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 64, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:03.605317Z", - "start_time": "2019-08-21T08:56:03.468396Z" + "end_time": "2019-08-22T14:44:29.644692Z", + "start_time": "2019-08-22T14:44:29.507910Z" } }, "outputs": [ @@ -2663,7 +2663,7 @@ "{'0': 1024}" ] }, - "execution_count": 75, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -2690,11 +2690,11 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 65, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:04.040524Z", - "start_time": "2019-08-21T08:56:04.034030Z" + "end_time": "2019-08-22T14:44:29.652425Z", + "start_time": "2019-08-22T14:44:29.645975Z" } }, "outputs": [ @@ -2709,10 +2709,10 @@ " └─────┘ " ], "text/plain": [ - "" + "" ] }, - "execution_count": 76, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -2733,11 +2733,11 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 66, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:04.727452Z", - "start_time": "2019-08-21T08:56:04.710715Z" + "end_time": "2019-08-22T14:44:29.669825Z", + "start_time": "2019-08-22T14:44:29.654115Z" } }, "outputs": [ @@ -2747,7 +2747,7 @@ "{'1': 1024}" ] }, - "execution_count": 77, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -2759,11 +2759,11 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 67, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:04.925588Z", - "start_time": "2019-08-21T08:56:04.918673Z" + "end_time": "2019-08-22T14:44:29.680594Z", + "start_time": "2019-08-22T14:44:29.672299Z" } }, "outputs": [ @@ -2778,10 +2778,10 @@ " └─────┘ " ], "text/plain": [ - "" + "" ] }, - "execution_count": 78, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -2797,11 +2797,11 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 68, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:05.290449Z", - "start_time": "2019-08-21T08:56:05.125650Z" + "end_time": "2019-08-22T14:44:29.848316Z", + "start_time": "2019-08-22T14:44:29.687494Z" } }, "outputs": [ @@ -2811,7 +2811,7 @@ "{'1': 1024}" ] }, - "execution_count": 79, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -2840,11 +2840,11 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 69, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:08.133147Z", - "start_time": "2019-08-21T08:56:05.919296Z" + "end_time": "2019-08-22T14:44:31.511369Z", + "start_time": "2019-08-22T14:44:29.851397Z" } }, "outputs": [ @@ -2852,10 +2852,10 @@ "data": { "image/png": "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\n", "text/plain": [ - "" + "" ] }, - "execution_count": 80, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -2884,11 +2884,11 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 70, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:08.227207Z", - "start_time": "2019-08-21T08:56:08.151498Z" + "end_time": "2019-08-22T14:44:31.591074Z", + "start_time": "2019-08-22T14:44:31.512957Z" } }, "outputs": [ @@ -2901,7 +2901,7 @@ " 0. -0.25j , 0. +0.j ])" ] }, - "execution_count": 81, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -2929,11 +2929,11 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 71, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:08.389811Z", - "start_time": "2019-08-21T08:56:08.378898Z" + "end_time": "2019-08-22T14:44:31.596558Z", + "start_time": "2019-08-22T14:44:31.592551Z" } }, "outputs": [ @@ -2943,7 +2943,7 @@ "1.0" ] }, - "execution_count": 82, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -2992,11 +2992,11 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 72, "metadata": { "ExecuteTime": { - "end_time": "2019-08-21T08:56:29.333291Z", - "start_time": "2019-08-21T08:56:29.326082Z" + "end_time": "2019-08-22T14:44:31.650499Z", + "start_time": "2019-08-22T14:44:31.598148Z" } }, "outputs": [ @@ -3004,7 +3004,7 @@ "data": { "text/html": [ "

Version Information

Qiskit SoftwareVersion
QiskitNone
Terra0.9.0
Aer0.3.0
Ignis0.2.0
Aqua0.5.6
IBM Q Provider0.3.2rc1
System information
Python3.7.4 (default, Aug 13 2019, 15:17:50) \n", - "[Clang 4.0.1 (tags/RELEASE_401/final)]
OSDarwin
CPUs4
Memory (Gb)16.0
Wed Aug 21 04:56:29 2019 EDT
" + "[Clang 4.0.1 (tags/RELEASE_401/final)]OSDarwinCPUs4Memory (Gb)16.0Thu Aug 22 10:44:31 2019 EDT" ], "text/plain": [ ""