From fbdc6f17f77b20fcf86cdb8df6bfe693215907d0 Mon Sep 17 00:00:00 2001 From: LSaldyt Date: Tue, 15 May 2018 15:36:45 -0600 Subject: [PATCH 1/3] Updates tutorial files and fixes typo --- jupyter_notebooks/FAQ.ipynb | 120 +--- .../Tutorials/00 Getting Started.ipynb | 50 +- jupyter_notebooks/Tutorials/01 GateSets.ipynb | 166 +---- .../Tutorials/02 Matrix Bases.ipynb | 106 +-- .../Tutorials/03 GateStrings.ipynb | 117 +-- jupyter_notebooks/Tutorials/04 DataSets.ipynb | 140 +--- ...iducials, Germs, and Maximum Lengths.ipynb | 61 +- .../07 Fiducial and Germ Selection.ipynb | 203 +----- .../Tutorials/08 Algorithms low-level.ipynb | 189 ++--- .../Tutorials/09 Algorithms high-level.ipynb | 133 +--- .../10 Fiducial Pair Reduction.ipynb | 88 +-- jupyter_notebooks/Tutorials/11 Results.ipynb | 143 +--- .../Tutorials/12 Report Generation.ipynb | 131 +--- .../Tutorials/17 Pure Data Analysis.ipynb | 489 ++++++------- .../Tutorials/18 Model Testing.ipynb | 93 +-- .../19 Basic drift characterization.ipynb | 678 +++--------------- .../20 Intermediate Measurements.ipynb | 140 +--- 17 files changed, 744 insertions(+), 2303 deletions(-) diff --git a/jupyter_notebooks/FAQ.ipynb b/jupyter_notebooks/FAQ.ipynb index 8f67c9cb0..d7bcab5be 100644 --- a/jupyter_notebooks/FAQ.ipynb +++ b/jupyter_notebooks/FAQ.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "# Frequently Asked Questions\n", @@ -26,30 +24,21 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## What is GST?\n", "\"Gate Set Tomography\" (GST) is a protocol that attempts to infer the quantum operations a device is performing by analyzing data generated by it. The device is viewed as a black box, so that physics-level details of its construction and operation are not needed. GST characterizes quantum gate operations, state preparations, and measurement operations simultaneously, avoiding the chicken-and-egg problem of state and process tomography, which has been shown to be problematic. For more information about the algorithms and theory of GST, please see [*Demonstration of qubit operations below a rigorous fault tolerance threshold with gate set tomography*, Nature Communications **8** (2017)](http://dx.doi.org/10.1038/ncomms14485)" @@ -57,20 +46,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## What is pyGSTi?\n", "PyGSTi is the name of (this) software, which implements the various parts of the GST protocol(s). It is written (almost) entirely in Python, and is released as an open-source software under the GPL license. \"pyGSTi\" stands for \"python GST implementation\"." @@ -78,20 +61,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## How do I run GST (1 or 2 qubits)?\n", "Using pyGSTi, running GST is fairly simple. Single-qubit GST is demonstrated in full in the [first tutorial](Tutorials/00 Getting Started.ipynb), and 2-qubit GST (though very similar to 1-qubit GST) is separately demonstrated in [this 2Q-GST example](Examples/2Q-GST: running it.ipynb). The core GST algorithm is run by calling `pygsti.do_long_sequence_gst` or `pygsti.do_stdpractice_gst`." @@ -99,20 +76,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## How do I constrain my gates to be Trace-Preserving (TP)?\n", "Constraint on the gates (and SPAM operations) in pyGSTi are imposed via the \"parameterization\" of `GateSet` objects. Each `GateSet` essentially knows how to map some vector of (real-valued) \"parameters\" to a full set of gate matrices and SPAM vectors - and whether a given set of matrices & vectors can be reached depends on whether there exists a set of parameters that maps onto it. The parameterization used by a `GateSet` object can be changed among commonly used parameterizations via the `set_all_parameterizations` member function. To constrain gates and SPAM operations to be trace preserving, simply call\n", @@ -124,11 +95,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "my_target_gateset.set_all_parameterizations(\"TP\")" @@ -136,30 +103,21 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "before calling `do_long_sequence_gst` or `do_stdpractice_gst` with `my_target_gateset`." ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## How do I constrain my gates to be CPTP?\n", "Similar to the above question, you simply set the parameterization of your target `GateSet` to \"CPTP\" before calling `do_long_sequence_gst` or `do_stdpractice_gst`. Note that currenlty this *only ensures that the gates are CPTP* - not the SPAM operations. (Attempts to parameterize the SPAM operations as such have resulted in poor performance and are considered an experimental feature.)" @@ -169,9 +127,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -180,20 +136,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## What is gauge optimization?\n", "A \"gauge transformation\" is a special type of mapping from one gate set to another which preserves all predicted physical outcomes (hence the name \"gauge\"). Thus, gauge transformations map between physically equivalent gate sets, and the set of all gauge transformations partitions the space of gate sets into physically-distinct equivalence classes. **Gauge optimization** refers to the process by which one finds the gate set within an equivalence class which optimizes some metric - typically the frobenius distance between the gate set and some \"target gate set\". In pyGSTi, gauge optimization is invoked using the `pygsti.gaugeopt_to_target` method (which minimizes the distance between a `GateSet` and a target `GateSet`) or the `pygsti.gaugeopt_custom` method (which accepts a user-defined objective function)." @@ -201,20 +151,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## How do I specify the details of gauge optimization?\n", "Specifying the \"details\" of gauge optimization is essentially specifying the objective function. The arguments of `gaugeopt_to_target` (detailed in its docstring and [pyGSTi's online docs](http://pygsti.readthedocs.io)) describe how to change which distance metric is used (the frobenius distance, process fidelity, or the Jamiolkowski trace distance) when comparing gates, and how to put different weighting factors on individual gates (via the `itemWeights` argument). In higher-level functions, gauge-optimization details are specified by simply creating a dictionary of `gauge_opt_to_target`'s arguments. Adding a new gauge-optimization to an existing `pygsti.objects.Results` object is demonstrated in the [\"adding new gauge optimizations\" example](Examples/GOpt: adding new gauge optimizations.ipynb). One particularly powerful way to control gauge optimization is by specifying an imperfect target `GateSet` which includes the errors you expect to see in the gates. This is simple to do, and outlined in the [\"non-ideal gauge optimization targets\" example](Examples/GOpt: non-ideal gauge optimization targets.ipynb)." @@ -222,20 +166,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## 2-qubit GST is running very slowly - how do I speed it up?\n", "There are two primary ways of speeding up the GST analysis within pyGSTi: 1) using more/multiple processors and 2) reducing the number of gate sequences being analyzed. The first option is achieved by passing the core pyGSTi routines (e.g. `do_long_sequence_gst`) a `mpi4py.MPI.Comm` object (and often a per-core memory limit too), and is demonstrated in an [example](Examples/MPI: running GST in parallel.ipynb). The second option involves more of a tradeoff, as decreasing the number of sequences with reduce the accuracy of GST and/or its robustness. Restricting GST to shorter sequences (reducing the \"max-lengths\" used) will result in less accurate estimates, i.e. larger error bars. The use of \"fiducial pair reduction\" techniques, outlined in [this tutorial](Tutorials/10 Fiducial Pair Reduction.ipynb), retains the accuracy of GST while eliminating sequences. This, however, results is less robustness and sensitivity to out-of-model errors." @@ -268,20 +206,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Generating reports takes a long time - can it go any faster?\n", "Currently there aren't many options for speeding up the core computation required to generate a report (using, e.g. `pygsti.report.create_standard_report`. One can, however, take advantage of the caching built into the pyGSTi `Results` and `Workspace` objects that can effectively speedup report-generation times. \n", @@ -293,9 +225,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -333,7 +263,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.15" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/00 Getting Started.ipynb b/jupyter_notebooks/Tutorials/00 Getting Started.ipynb index 371e3877a..e15fac368 100644 --- a/jupyter_notebooks/Tutorials/00 Getting Started.ipynb +++ b/jupyter_notebooks/Tutorials/00 Getting Started.ipynb @@ -2,20 +2,14 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Getting started with pyGSTi and Gate Set Tomography" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "The `pygsti` package provides multiple levels of abstraction over the core Gate Set Tomography (GST) algorithms. This initial tutorial will show you how to run Gate Set Tomography on some simulated (generated) data, hopefully giving you an overall sense of what it takes (and how easy it is!) to run GST. Subsequent tutorials will delve into the details of `pygsti` objects and algorithms, and how to use them in detail.\n", "\n", @@ -33,11 +27,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Make print statements compatible with Python 2 and 3\n", @@ -74,11 +64,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Now that we have all of the inputs, we can run GST in a standard way using the `do_stdpractice_gst` high-level driver function. This returns a `pygsti.report.Results` object, from which we can generate a report giving us a summary of the analysis. " ] @@ -86,11 +72,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -256,11 +238,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "You can now open the file [tutorial_files/gettingStartedReport/main.html](tutorial_files/gettingStartedReport/main.html) in your browser to view the report. **That's it! You've just run GST!**\n", "\n", @@ -271,9 +249,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -281,23 +257,23 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 2", "language": "python", - "name": "python3" + "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 3 + "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.5.2" + "pygments_lexer": "ipython2", + "version": "2.7.15" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/01 GateSets.ipynb b/jupyter_notebooks/Tutorials/01 GateSets.ipynb index 95250c5f4..e0f26ffdf 100644 --- a/jupyter_notebooks/Tutorials/01 GateSets.ipynb +++ b/jupyter_notebooks/Tutorials/01 GateSets.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Gate Sets Tutorial\n", "This tutorial will show you how to create and use `GateSet` objects. `GateSet` objects are fundamental to pyGSTi, as each represents a set of quantum gates along with state preparation and measurement (i.e. POVM) operations. In pyGSTi, a \"state space\" refers to a Hilbert space of *pure* quantum states (often thought of as length-$d$ vectors, where $d=2^N$ for $N$ qubits). A \"density matrix space\" refers to a Hilbert space of density matrices, which while often thought of as $d \\times d$ matrices can also be represented by length $d^2$ vectors. Mathematically, these vectors live in Hilbert-Schmidt space, the space of linear operators on the original $d\\times d$ density matrix space. pyGSTi uses this Hilbert-Schmidt \"Liouville\" vector-representation for density matrices and POVM effects, since this allows quantum gates to be represented by $d^2 \\times d^2$ matrices which act on Hilbert-Schmidt vectors.\n", @@ -15,11 +12,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -32,11 +27,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Creating gate sets\n", "There are more or less three ways to create `GateSet` objects in pyGSTi:\n", @@ -48,10 +39,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Creating a `GateSet` from scratch\n", "\n", @@ -68,12 +56,8 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "from math import sqrt\n", @@ -110,20 +94,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Check out the gate set file that was written [here](tutorial_files/Example_gatesetFromScratch.txt)." ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Creating a `GateSet` from scratch using `build_gate` and `build_vector`\n", "The `build_gate` and `build_vector` functions take a human-readable string representation of a gate or SPAM vector, and return a `Gate` or `SPAMVector` object that gets stored in a dictionary-like `GateSet` or `POVM` object. To use these functions, you must specify what state space you're working with, and the basis for that space. These elements are encapsulated by a `Basis` object, which is created a via two quantities:\n", @@ -143,11 +121,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Specify the state space\n", @@ -171,10 +145,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Create a `GateSet` in a single call to build_gateset\n", "The approach illustrated above using calls to `build_vector` and `build_gate` can be performed in a single call to `build_gateset`. You will notice that all of the arguments to `build_gateset` corrspond to those used to construct a gate set using `build_vector` and `build_gate`; the `build_gateset` function is merely a convenience function which allows you to specify everything at once. These arguments are:\n", @@ -189,11 +160,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gateset3 = pc.build_gateset( [2], [('Q0',)],\n", @@ -204,10 +171,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "In this case, the parameters to `build_gateset`, specify:\n", " - The state space is dimension 2 (i.e. the density matrix is 2x2)\n", @@ -226,11 +190,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gateset4 = pc.build_gateset( [2], [('Q0',)],\n", @@ -239,10 +199,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Load a `GateSet` from a file\n", "You can also construct a `GateSet` object from a file using `pygsti.io.load_gateset`. The format of the text file should be fairly self-evident given the above discussion. Note that vector and matrix elements need not be simple numbers, but can be any mathematical expression parseable by the Python interpreter, and in addition to numbers can include \"sqrt\" and \"pi\". " @@ -251,11 +208,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#3) Write a text-format gateset file and read it in.\n", @@ -312,11 +265,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#All four of the above gatesets are identical. See this by taking the frobenius differences between them:\n", @@ -328,10 +277,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Viewing gate sets\n", "In the cells below, we demonstrate how to print and access information within a `GateSet`." @@ -340,11 +286,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -403,11 +345,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -458,10 +396,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Basic Operations with Gatesets\n", "\n", @@ -476,11 +411,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Add 10% depolarization noise to the gates\n", @@ -493,11 +424,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Writing a gateset as a text file\n", @@ -507,11 +434,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -543,9 +466,6 @@ "cell_type": "code", "execution_count": 13, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": false }, "outputs": [ @@ -616,9 +536,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "## Gate Set Parameterizations\n", @@ -640,11 +558,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -684,10 +598,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "To alter an individual gate or SPAM vector's parameterization, one can simply construct a `Gate` or `SPAMVec` object with the desired parameterization and assign it to the `GateSet`." ] @@ -695,11 +606,7 @@ { "cell_type": "code", "execution_count": 15, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -722,10 +629,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "**NOTE:** When a `Gate` or `SPAMVec`-derived object is assigned as an element of a `GateSet` (as above), the object *replaces* any existing object with the given key. However, if any other type of object is assigned to a `GateSet` element, an attempt is made to initialize or update the existing existing gate using the assigned data (using its `set_matrix` function internally). For example:" ] @@ -733,11 +637,7 @@ { "cell_type": "code", "execution_count": 16, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -778,9 +678,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -806,5 +704,5 @@ } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/02 Matrix Bases.ipynb b/jupyter_notebooks/Tutorials/02 Matrix Bases.ipynb index 8d0f082b4..f71f463c2 100644 --- a/jupyter_notebooks/Tutorials/02 Matrix Bases.ipynb +++ b/jupyter_notebooks/Tutorials/02 Matrix Bases.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Matrix Basis Tutorial\n", "\n", @@ -22,9 +19,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "The most straightforward way to create a `Basis` object is to provide its short name and dimension:" @@ -32,12 +27,8 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "execution_count": 2, + "metadata": {}, "outputs": [], "source": [ "from pygsti import Basis\n", @@ -50,22 +41,15 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Each of the `pp`, `std`, and `gm` bases created will have $4$ $2x2$ matrices each. The `qt` basis has $9$ $3x3$ matrices instead:" ] }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -77,8 +61,8 @@ " [0. +0.j 0.70710678+0.j]]\n", "[[0. +0.j 0.70710678+0.j]\n", " [0.70710678+0.j 0. +0.j]]\n", - "[[0.+0. j 0.-0.70710678j]\n", - " [0.+0.70710678j 0.+0. j]]\n", + "[[0.+0.j 0.-0.70710678j]\n", + " [0.+0.70710678j 0.+0.j ]]\n", "[[ 0.70710678+0.j 0. +0.j]\n", " [ 0. +0.j -0.70710678+0.j]]\n", "std basis (dim 2):\n", @@ -97,8 +81,8 @@ " [0. +0.j 0.70710678+0.j]]\n", "[[0. +0.j 0.70710678+0.j]\n", " [0.70710678+0.j 0. +0.j]]\n", - "[[0.+0. j 0.-0.70710678j]\n", - " [0.+0.70710678j 0.+0. j]]\n", + "[[0.+0.j 0.-0.70710678j]\n", + " [0.+0.70710678j 0.+0.j ]]\n", "[[ 0.70710678+0.j 0. +0.j]\n", " [ 0. +0.j -0.70710678+0.j]]\n", "qt basis (dim 3):\n", @@ -112,21 +96,21 @@ "[[0. +0.j 0. +0.j 0.70710678+0.j]\n", " [0. +0.j 0. +0.j 0. +0.j]\n", " [0.70710678+0.j 0. +0.j 0. +0.j]]\n", - "[[0.+0. j 0.-0.5j 0.+0. j]\n", - " [0.+0.5j 0.+0. j 0.+0.5j]\n", - " [0.+0. j 0.-0.5j 0.+0. j]]\n", + "[[0.+0.j 0.-0.5j 0.+0.j ]\n", + " [0.+0.5j 0.+0.j 0.+0.5j]\n", + " [0.+0.j 0.-0.5j 0.+0.j ]]\n", "[[0. +0.j 0.5+0.j 0. +0.j]\n", " [0.5+0.j 0. +0.j 0.5+0.j]\n", " [0. +0.j 0.5+0.j 0. +0.j]]\n", - "[[0.+0. j 0.-0.5j 0.+0. j]\n", - " [0.+0.5j 0.+0. j 0.-0.5j]\n", - " [0.+0. j 0.+0.5j 0.+0. j]]\n", + "[[0.+0.j 0.-0.5j 0.+0.j ]\n", + " [0.+0.5j 0.+0.j 0.-0.5j]\n", + " [0.+0.j 0.+0.5j 0.+0.j ]]\n", "[[ 0.70710678+0.j 0. +0.j 0. +0.j]\n", " [ 0. +0.j 0. +0.j 0. +0.j]\n", " [ 0. +0.j 0. +0.j -0.70710678+0.j]]\n", - "[[0.+0. j 0.+0. j 0.-0.70710678j]\n", - " [0.+0. j 0.+0. j 0.+0. j]\n", - " [0.+0.70710678j 0.+0. j 0.+0. j]]\n", + "[[0.+0.j 0.+0.j 0.-0.70710678j]\n", + " [0.+0.j 0.+0.j 0.+0.j ]\n", + " [0.+0.70710678j 0.+0.j 0.+0.j ]]\n", "[[ 0. +0.j 0.5+0.j 0. +0.j]\n", " [ 0.5+0.j 0. +0.j -0.5+0.j]\n", " [ 0. +0.j -0.5+0.j 0. +0.j]]\n" @@ -143,10 +127,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "However, custom bases can be easily created by supplying matrices:" ] @@ -154,11 +135,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -188,10 +165,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "More complex bases can be created by chaining other bases together along the diagonal. For example, a composition of the $2x2$ `std` basis with the $1x1$ `std` basis leads to a basis with state vectors of length $5$, or $5x5$ matrices:" ] @@ -199,11 +173,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -240,10 +210,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Basis usage\n", "Once created, bases are used to manipulate matrices and vectors within pygsti:" @@ -252,11 +219,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -287,10 +250,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Composite bases can be converted between expanded and contracted forms:" ] @@ -298,11 +258,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -330,9 +286,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -354,7 +308,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/03 GateStrings.ipynb b/jupyter_notebooks/Tutorials/03 GateStrings.ipynb index 88410032a..7b672d24b 100644 --- a/jupyter_notebooks/Tutorials/03 GateStrings.ipynb +++ b/jupyter_notebooks/Tutorials/03 GateStrings.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Gate String Tutorial\n", "This tutorial will show you how to create and use `GateString` objects, which represent an ordered sequence (or \"string\") of gate set operations. In most cases, a `GateString` may optionally begin with a state-preparation label and end with a POVM label, and contains gate labels as all its other elements. In almost all cases, you'll be using a list (or even a list of lists!) of `GateString`s, so we'll often be talking about \"gate string lists\".\n", @@ -23,9 +20,7 @@ "cell_type": "code", "execution_count": 1, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -35,11 +30,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import pygsti # the main pyGSTi module\n", @@ -49,10 +40,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## A simple example: the single `GateString`\n", "The cell below show how to create a `GateString` object from a tuple, optionally with a corresponding string representation. It demonstrates how to access the tuple and string representations directly, and the tuple-like operations that can be performed on a `GateString`." @@ -61,11 +49,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -125,10 +109,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## List Construction Functions: `pygsti.construction` and `create_gatestring_list`\n", "Usually you'll be working with entire lists of `GateString` objects which define some part of the experiments utilized by Gate Set Tomography. pyGSTi provides several functions for constructing gate string lists, which we not demonstrate.\n", @@ -139,11 +120,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -173,10 +150,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Many of the gate sequences used by Gate Set Tomography are composed of three parts. A \"preparation fiducial\" sequence is followed by a \"repeated germ\" sequence, which is followed by a \"measurement fiducial\" sequence. We won't get into why this structure is used, but simply use this fact to motivate looking at gate strings of the form $f_1 + R(g) + f_2$, where the $f_1$ and $f_2$ fiducial sequences are simple short sequences are $R(g)$ is a possibly long sequence that is generated by repeating a short sequence $g$ called a \"germ\".\n", "\n", @@ -186,11 +160,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -212,10 +182,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We can combine a repeated germ sequence between two fiducial sequences using `create_gatestring_list`. This demonstrates the power of the `create_gatestring_list` to perform nested loops. We also introduce the \"bulk-conversion\" function `gatestring_list`, which creates a list of `GateString` objects from a list of tuples." ] @@ -223,11 +190,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -288,10 +251,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "In addition to `create_gatestring_list`, the **`pygsti.construction.list_`*xxx* ** functions provide ways of constructing common gate string lists. The example below shows how to construct all possible gate strings within a certain length range, as well as how to construct the set of gate strings needed to run Linear Gate Set Tomography given a set of fiducial strings. " ] @@ -299,11 +259,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -331,11 +287,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -370,10 +322,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Manipulating `GateStrings`\n", "Sometimes it is useful to manipulate a `GateString` (or a list of them) via find & replace operations. The `manipulate_gatestring` and `manipulate_gatestring_list` functions take as input a set of replacement \"rules\" and process one or more `GateString` objects accordingly. For example, the rules\n", @@ -389,11 +338,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "sequenceRules = [\n", @@ -405,10 +350,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Will produce the output:\n", "- BAB $\\rightarrow$ B''AB'\n", @@ -420,11 +362,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -450,11 +388,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -476,10 +410,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Gate Label \"Aliases\"\n", "A similar but simpler type of manipulation called \"gate label aliasing\" is used in pyGSTi to map a gate label into another gate label **only for `DataSet` lookups**. The mapping is similar to `manipulate_gatestring`'s find & replace functionality, except that (at least currently) the string to find can be only a single gate label (and so isn't even a string at all). The support for gate label aliasing within pyGSTi's algorithms aids in mapping many `GateSet` models onto the same data (often with simpler gate labelling). " @@ -489,9 +420,7 @@ "cell_type": "code", "execution_count": 12, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -515,9 +444,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/04 DataSets.ipynb b/jupyter_notebooks/Tutorials/04 DataSets.ipynb index b2d2a54f2..623086f01 100644 --- a/jupyter_notebooks/Tutorials/04 DataSets.ipynb +++ b/jupyter_notebooks/Tutorials/04 DataSets.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Data Sets Tutorial\n", "This tutorial demonstrates how to create and use `DataSet` objects. At its core Gate Set Tomography finds a gate set which best fits some experimental data, and in pyGSTi a `DataSet` is used to hold that data. When a `DataSet` is used to hold time-independent data, it essentially looks like a nested dictionary which associates gate strings with dictionaries of (outcome-label,count) pairs so that `dataset[gateString][outcomeLabel]` can be used to read & write the number of `outcomeLabel` outcomes of the experiment given by the sequence `gateString`.\n", @@ -21,11 +18,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function\n", @@ -34,11 +27,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Creating a `DataSet`\n", "There three basic ways to create `DataSet` objects in `pygsti`:\n", @@ -52,11 +41,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#1) Creating a data set from scratch\n", @@ -81,11 +66,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -117,11 +98,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#3) By generating fake data (using the std1Q_XYI standard gate set module)\n", @@ -150,9 +127,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "## Viewing `DataSets`" @@ -161,11 +136,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -201,20 +172,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "**Note that the outcome labels `'0'` and `'1'` appear as `('0',)` and `('1',)`**. This is because outcome labels in pyGSTi are tuples of time-ordered instrument element (allowing for intermediate measurements) and POVM effect labels. In the special but common case when there are no intermediate measurements, the outcome label is a 1-tuple of just the final POVM effect label. In this case, one may use the effect label itself (e.g. `'0'` or `'1'`) in place of the 1-tuple in almost all contexts, as it is automatically converted to the 1-tuple (e.g. `('0',)` or `('1',)`) internally. When printing, however, the 1-tuple is still displayed to remind the user of the more general structure contained in the `DataSet`." ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Iteration over data sets" ] @@ -222,11 +187,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -247,11 +208,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -278,9 +235,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "## Advanced features of data sets\n", @@ -292,11 +247,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -328,10 +279,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Time-dependent data\n", "When your data is time-stamped, either for each individual count or by groups of counts, there are additional (richer) options for analysis. The `DataSet` class is also capable of storing time-dependent data by holding *series* of count data rather than binned numbers-of-counts, which are added via its `add_series_data` method. Outcome counts are input by giving at least two parallel arrays of 1) outcome labels and 2) time stamps. Optionally, one can provide a third array of repetitions, specifying how many times the corresponding outcome occurred at the time stamp. While in reality no two outcomes are taken at exactly the same time, a `TDDataSet` allows for arbitrarily *coarse-grained* time-dependent data in which multiple outcomes are all tagged with the *same* time stamp. In fact, the \"time-independent\" case considered in this tutorial so far is actually a special case in which the all data is stamped at *time=0*.\n", @@ -342,11 +290,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Create an empty dataset \n", @@ -381,10 +325,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "When one is done populating the `DataSet` with data, one should still call `done_adding_data`:" ] @@ -392,11 +333,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "tdds.done_adding_data()" @@ -404,10 +341,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Access to the underlying time series data is done by indexing on the gate sequence (to get a `DataSetRow` object, just as in the time-independent case) which has various methods for retrieving its underlying data: " ] @@ -415,11 +349,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -505,10 +435,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Finally, it is possible to read text-formatted time-dependent data in the special case when\n", "1. the outcomes are all single-shot \n", @@ -518,10 +445,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## The `MultiDataSet` object: a dictionary of `DataSet`s\n", "Sometimes it is useful to deal with several sets of data all of which hold counts for the *same* set of gate sequences. For example, colleting data to perform GST on Monday and then again on Tuesday, or making an adjustment to an experimental system and re-taking data, could create two separate data sets with the same sequences. PyGSTi has a separate data type, `pygsti.objects.MultiDataSet`, for this purpose. A `MultiDataSet` looks and acts like a simple dictionary of `DataSet` objects, but underneath implements some certain optimizations that reduce the amount of space and memory required to store the data. Primarily, it holds just a *single* list of the gate sequences - as opposed to an actual dictionary of `DataSet`s in which each `DataSet` contains it's own copy of the gate sequences. In addition to being more space efficient, a `MultiDataSet` is able to aggregate all of its data into a single \"summed\" `DataSet` via `get_datasets_aggregate(...)`, which can be useful for combining several \"passes\" of experimental data. \n", @@ -537,11 +461,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -611,11 +531,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -658,9 +574,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -682,9 +596,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/06 Fiducials, Germs, and Maximum Lengths.ipynb b/jupyter_notebooks/Tutorials/06 Fiducials, Germs, and Maximum Lengths.ipynb index 561ae1cdc..ddd066df7 100644 --- a/jupyter_notebooks/Tutorials/06 Fiducials, Germs, and Maximum Lengths.ipynb +++ b/jupyter_notebooks/Tutorials/06 Fiducials, Germs, and Maximum Lengths.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Fiducials, Germs, and Max-Lengths (oh my!)\n", "While pyGSTi allows one to create arbitrary lists of gate strings, the GST algorithms have been designed to work well with gate sequences that have a particular structure. At the beginning and the end of each string are \"preparation fiducial\" and \"measurement fiducial\" sequences, respectively, whose purpose is to extend the native preparation and measurment operations to informationally complete sets. In between the fiducial sequences is a \"germ\" sequence, or just \"germ\", that is repeated some number of times. The purpose of the repeated-germ sequence is to amplify one or more particular types of errors. By considering an entire set of germs (called an \"amplificationally complete\" set), *all* possible types of errors are amplified, giving the GST algorithms high sensitivity to all errors. The longer the sequences, that is, the more repetitions of the germs, the higher the sensitivity. \n", @@ -26,11 +23,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -60,10 +53,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We can now construct a the lists of sequences used by a long-sequence GST algorithm by defining a list of maximum lenghts and calling `make_lsgst_lists`:" ] @@ -71,11 +61,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -444,10 +430,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Why settle for lists, when you can have structures?\n", "\n", @@ -457,11 +440,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -484,10 +463,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## List of experiments\n", "If you're taking data, not running a GST algorithm, then you just want a *single* list of all the sequences that the GST algorithm will need. Since most of the time the lists are *nested*, that is, all of the lower-$L$ sequences appear in the higher-$L$ sequences, the final element of `lsgst_lists` is often the list of required experiments. However, in advanced usages this is not always the case, and so there is a dedicated function, `make_lsgst_experiment_list` which performs this constrution: " @@ -496,11 +472,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -519,10 +491,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Example: generating LSGST sequences by hand\n", "As a final full-fledged example we demonstrate the use of pyGSTi's more generate `GateString` creation and processing functions to create the lists of LSGST sequences. The following example functions are very similar to `pygsti.construction.make_lsgst_lists` except we assume that the preparation and measurement fiducial sequences are the same." @@ -531,11 +500,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -579,9 +544,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -603,7 +566,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/07 Fiducial and Germ Selection.ipynb b/jupyter_notebooks/Tutorials/07 Fiducial and Germ Selection.ipynb index 0872b6acc..aee19d5a4 100644 --- a/jupyter_notebooks/Tutorials/07 Fiducial and Germ Selection.ipynb +++ b/jupyter_notebooks/Tutorials/07 Fiducial and Germ Selection.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Fiducial and Germ Selection\n", "\n", @@ -39,10 +36,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Fiducial and Germ selection in practice\n", "The selection of fiducial and germ sequences in pyGSTi is similar in that each uses a numerical optimization which considers different possible \"candidate\" sets, and tries to find the one which scores the best. The modules `pygsti.algorithms.fiducialselection` and `pygsti.algorithms.germselection` contain the algorithms relevant to each type of sequence selection." @@ -52,9 +46,7 @@ "cell_type": "code", "execution_count": 1, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -65,10 +57,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We'll begin by constructing a 1-qubit $X(\\pi/2)$, $Y(\\pi/2)$, $I$ gateset for which we will find germs and fiducials." ] @@ -76,11 +65,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gs_target = pygsti.construction.build_gateset(\n", @@ -90,20 +75,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Automated \"*laissez-faire*\" approach" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We begin by demonstrating the most autmoated and hands-off approach to computing fiducials and germs -- by just providing the target gate set and accepting the defaults for all remaining optinal arguments. Note that one may compute these in either order - fiducial selection is usually much faster, since the required computation is significantly less." ] @@ -112,9 +91,6 @@ "cell_type": "code", "execution_count": 3, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -139,11 +115,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -162,10 +134,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Now that we have germs and fiducials, we can construct the list of experiments we need to perform in\n", "order to do GST. The only new things to provide at this point are the sizes for the experiments we want\n", @@ -176,11 +145,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "maxLengths = [2**n for n in range(8 + 1)]\n", @@ -190,20 +155,14 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Less-automated, more control: useful optional arguments" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "There are many ways you can assume more control over the experiment design process. We'll only demonstrate\n", "a few here, but all options are discussed in the documentation for the various functions we've used." @@ -211,10 +170,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Different algorithms\n", "There are a number of different algorithms available for germ selection. You can choose a non-default\n", @@ -225,9 +181,6 @@ "cell_type": "code", "execution_count": 6, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -248,10 +201,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Fiducial selection can be controlled in much the same way, using the same algorithms (except for `'greedy'`)." ] @@ -259,11 +209,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -286,10 +232,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Germ and fiducial lengths\n", "We can also adjust some algorithm-independent parameters for germ and fiducial selection. For instance, all\n", @@ -304,9 +247,6 @@ "cell_type": "code", "execution_count": 8, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -327,10 +267,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We can try and set the maximum germ length to 5 and see what we get." ] @@ -338,11 +275,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -362,11 +295,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -385,10 +314,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Sure enough, we now have a germ set with a shorter longest germ. If we get too ambitious in shortening the maximum\n", "germ length, germ selection won't be able to find an amplificationally complete germ set. It will send a warning\n", @@ -398,11 +324,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -430,10 +352,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Fiducial selection defaults to a maximum fiducial length of 2. This allows us to construct an informationally\n", "complete set of states and measurements, but for this gateset we know that there is a uniformly\n", @@ -444,11 +363,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -472,10 +387,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As was the case with germ selection, if you are too aggressive in limiting fiducial length you may\n", "constrain the algorithm to the extent that it cannot even find a set of fiducials to generate an\n", @@ -486,11 +398,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -520,11 +428,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -540,10 +444,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Set requirements\n", "There are several natural things to require of the returned germ and fiducial sets. For germ sets, you will usually\n", @@ -554,11 +455,7 @@ { "cell_type": "code", "execution_count": 15, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -586,10 +483,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "In fiducial selection, it is likewise natural to require the empty gate string to be in the\n", "fiducial set. This requirement may be disabled by setting *forceEmpty* to `False`. It is also\n", @@ -611,11 +505,7 @@ { "cell_type": "code", "execution_count": 16, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -639,11 +529,7 @@ { "cell_type": "code", "execution_count": 17, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -663,11 +549,7 @@ { "cell_type": "code", "execution_count": 18, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -686,10 +568,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Verbosity\n", "The various algorithms can tell you something of what's going on with them while they're running. By default,\n", @@ -702,11 +581,7 @@ { "cell_type": "code", "execution_count": 19, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -795,11 +670,7 @@ { "cell_type": "code", "execution_count": 20, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "silentGerms = germsel.generate_germs(gs_target, algorithm='slack', algorithm_kwargs={'maxIter': 5},\n", @@ -824,9 +695,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/08 Algorithms low-level.ipynb b/jupyter_notebooks/Tutorials/08 Algorithms low-level.ipynb index 784419816..2b7125e24 100644 --- a/jupyter_notebooks/Tutorials/08 Algorithms low-level.ipynb +++ b/jupyter_notebooks/Tutorials/08 Algorithms low-level.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Algorithms: low-level interface\n", "Once we have data for GST, there are several *algorithms* we can run on it to produce tomographic estimates. Depending on the amount of data you have, and time available for running Gate Set Tomography, one algorithm may be preferable over the others. **What is typically thought of as \"standard GST\" is the iterative maximum-likelihood optimization implemented by `do_iterative_mlgst`** which uses a combination of minimum-$\\chi^2$ GST and maximum-likelihood GST.\n", @@ -27,10 +24,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Primary GST Algorithms\n", "The ingredients needed to as input to the \"primary\" GST algorithms are:\n", @@ -41,12 +35,8 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "execution_count": 2, + "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function" @@ -54,13 +44,18 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [], + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", + " _warnings.warn(\"Could not import Cython extension - falling back to slower pure-python routines\")\n" + ] + } + ], "source": [ "import pygsti\n", "import json" @@ -68,22 +63,33 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Loading tutorial_files/Example_Dataset_LowCnts.txt: 100%\n", - "Writing cache file (to speed future loads): tutorial_files/Example_Dataset_LowCnts.txt.cache\n", - "Loaded target gateset with gate labels: odict_keys(['Gi', 'Gx', 'Gy'])\n", - "Loaded fiducial lists of lengths: (6, 6)\n", - "Loaded dataset of length: 3382\n" + "Cache file not found or is tool old -- one willbe created after loading is completed\n" + ] + }, + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'tutorial_files/Example_Dataset.txt'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0mTraceback (most recent call last)", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/io/loaders.py\u001b[0m in \u001b[0;36mload_dataset\u001b[0;34m(filename, cache, collisionAction, verbosity)\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0;31m# a saved Dataset object is ok\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 50\u001b[0;31m \u001b[0mds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_objs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataSet\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileToLoadFrom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/objects/dataset.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, oliData, timeData, repData, gateStrings, gateStringIndices, outcomeLabels, outcomeLabelIndices, bStatic, fileToLoadFrom, collisionAction, comment)\u001b[0m\n\u001b[1;32m 487\u001b[0m and outcomeLabels is None and outcomeLabelIndices is None)\n\u001b[0;32m--> 488\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileToLoadFrom\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 489\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/objects/dataset.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(self, fileOrFilename)\u001b[0m\n\u001b[1;32m 1443\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1444\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileOrFilename\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"rb\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1445\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'tutorial_files/Example_Dataset.txt'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mFileNotFoundError\u001b[0mTraceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mmaxLengthList\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;31m#for use in iterative algorithms\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0mds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpygsti\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_dataset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"tutorial_files/Example_Dataset.txt\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0mdsLowCounts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpygsti\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_dataset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"tutorial_files/Example_Dataset_LowCnts.txt\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/io/loaders.py\u001b[0m in \u001b[0;36mload_dataset\u001b[0;34m(filename, cache, collisionAction, verbosity)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_stdinput\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mStdInputParser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 73\u001b[0m ds = parser.parse_datafile(filename, bToStdout,\n\u001b[0;32m---> 74\u001b[0;31m collisionAction=collisionAction)\n\u001b[0m\u001b[1;32m 75\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m printer.log(\"Writing cache file (to speed future loads): %s\"\n", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/io/stdinput.py\u001b[0m in \u001b[0;36mparse_datafile\u001b[0;34m(self, filename, showProgress, collisionAction)\u001b[0m\n\u001b[1;32m 245\u001b[0m \u001b[0mpreamble_directives\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[1;32m 246\u001b[0m \u001b[0mpreamble_comments\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--> 247\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mdatafile\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 248\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdatafile\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mline\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'tutorial_files/Example_Dataset.txt'" ] } ], @@ -110,10 +116,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Using LGST to get an initial estimate\n", "\n", @@ -122,21 +125,18 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "execution_count": 1, + "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "--- LGST ---\n", - "Gauge optimization completed in 0.025496s.\n", - "--- Contract to CPTP (direct) ---\n", - "The closest legal point found was distance: 0.00018252137590788687\n" + "ename": "NameError", + "evalue": "name 'pygsti' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0mTraceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m#run LGST\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mgs_lgst\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpygsti\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdo_lgst\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprep_fiducials\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeas_fiducials\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtargetGateset\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgs_target\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbosity\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m#Gauge optimize the result to match the target gateset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'pygsti' is not defined" ] } ], @@ -156,11 +156,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -216,10 +212,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Extended LGST (eLGST or EXLGST)\n", "EXLGST requires a list-of-lists of gate strings, one per iteration. The elements of these lists are typically repetitions of short \"germ\" strings such that the final strings does not exceed some maximum length. We created such lists in the gate string tutorial. Now, we just load these lists from the text files they were saved in." @@ -229,9 +222,6 @@ "cell_type": "code", "execution_count": 6, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": false }, "outputs": [ @@ -254,10 +244,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Minimum-$\\chi^2$ GST (MC2GST)\n", "MC2GST and MLGST also require a list-of-lists of gate strings, one per iteration. However, the elements of these lists are typically repetitions of short \"germ\" strings *sandwiched between fiducial strings* such that the repeated-germ part of the string does not exceed some maximum length. We created such lists in the gate string tutorial. Now, we just load these lists from the text files they were saved in." @@ -267,9 +254,6 @@ "cell_type": "code", "execution_count": 7, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -322,11 +306,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Write the resulting EXLGST and MC2GST results to gate set text files for later reference.\n", @@ -337,11 +317,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -388,10 +364,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Maximum Likelihood GST (MLGST)\n", "Executing MLGST is very similar to MC2GST: the same gate string lists can be used and calling syntax is nearly identitcal." @@ -401,9 +374,6 @@ "cell_type": "code", "execution_count": 10, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -467,9 +437,6 @@ "cell_type": "code", "execution_count": 11, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -532,9 +499,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "## Gauge Optimization\n", @@ -557,11 +522,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -602,10 +563,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Compare MLGST with MC2GST (after gauge optimization)\n", "\n", @@ -615,11 +573,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# We optimize over the gate set gauge\n", @@ -632,11 +586,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -666,10 +616,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Notice that, as expected, the MC2GST estimate has a *slightly* lower $\\chi^{2}$ score than the MLGST estimate, and the MLGST estimate has a *slightly* higher loglikelihood than the MC2GST estimate. In addition, _both_ are close (in terms of the Frobenius difference) to the depolarized gateset. Which is good - it means GST is giving us estimates which are close to the _true_ gateset used to generate the data. Performing the same analysis with the low-count data shows larger differences between the two, which is expected since the $\\chi^2$ and loglikelihood statistics are more similar at large $N$, that is, for large numbers of samples." ] @@ -677,11 +624,7 @@ { "cell_type": "code", "execution_count": 15, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -715,9 +658,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -739,9 +680,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/09 Algorithms high-level.ipynb b/jupyter_notebooks/Tutorials/09 Algorithms high-level.ipynb index 8f9dcfc38..4eabb2cf7 100644 --- a/jupyter_notebooks/Tutorials/09 Algorithms high-level.ipynb +++ b/jupyter_notebooks/Tutorials/09 Algorithms high-level.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Algorithms: high-level interface\n", "## (Running GST using Driver Routines)" @@ -13,10 +10,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "The `pygsti` package provides multiple levels of abstraction over the core Gate Set Tomography (GST) algorithms. This tutorial will show you how to work with `pygsti`'s highest level of abstraction, called \"driver functions\" to run GST algorithms with a minimial amount of effort. In order to run a GST algorithm there are 3 essential ingredients: 1) data specifing the experimental outcomes, 2) a desired, or \"target\", `GateSet`, and 3) multiple lists of gate sequences, specifying the gate sequences to use at each successive step in the GST optimization. There are currently only a few driver routines, which we'll cover in turn. Each driver function returns a single `pygsti.objects.Results` object, which contains the *single* input `DataSet` and one or more *estimates* (`pygsti.objects.Estimate` objects). \n", "\n", @@ -26,11 +20,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function\n", @@ -39,10 +29,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Setup\n", "First, we set our desired \"target gateset\" to be the standard I, X, Y gate set that we've been using throughout the tutorials, and pull in the fiducial and germ sequences needed to generate the GST gate sequences. We also specify a list of maximum lengths. We'll analyze the simulated data generated in the data sets tutorial." @@ -51,11 +38,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -79,10 +62,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## `do_long_sequence_gst`\n", "This driver function finds what is logically a **single GST estimate** given a `DataSet`, a target `GateSet`, and other parameters. We say \"logically\" because the returned `Results` object may actually contain multiple related estimates in certain cases. Most important among the other parameters are the fiducial and germ sequences and list of maximum lengths needed to define a *standard* set of GST gate sequence lists. " @@ -91,11 +71,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -183,11 +159,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -232,10 +204,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Beyond the minimum\n", "The above example supplies the minimal amount of information required to run the long-sequence GST algorithm. `do_long_sequence_gst` can be used in a variety of contexts and accepts additional (optional) arguments that affect the way the algorithm is run. Here we make several remarks regarding alternate or more advanced usage of `do_long_sequence_gst`.\n", @@ -252,11 +221,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -350,10 +315,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## `do_long_sequence_gst_base`\n", "This performs the same analysis as `do_long_sequence_gst` except it allows the user to fully specify the list of gate sequences as either a list of lists of `GateString` objects or a list of `GateStringStructure` objects (the latter allow the structured plotting of the sequences in report figures). In this example, we'll just generate a standard set of structures, but with some of the sequences randomly dropped (see later tutorials on gate string reduction). Note that like `do_long_sequence_gst`, `do_long_sequence_gst_base` is able to take filenames as arguments and accepts a `gaugeOptParams` argument for customizing the gauge optimization that is performed." @@ -362,11 +324,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -453,10 +411,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## `do_std_practice_gst`\n", "This driver function calls `do_long_sequence_gst` multiple times using typical variations in gauge optimization parameters and `GateSet` parameterization. This function provides a clean and simple interface to performing a \"usual\" set of GST analyses on a set of data. As such, it takes a single `DataSet`, similar gate-sequence-specifying parameters to `do_long_sequence_gst`, and a new `modes` argument which is a comma-separated list of \"canned\" GST analysis types (e.g. `\"TP,CPTP\"` will compute a Trace-Preserving estimate *and* a Completely-Positive & Trace-Preserving estimate). The currently available modes are:\n", @@ -473,11 +428,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -508,11 +459,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -530,10 +477,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Next, we'll perform the same analysis but with a **non-default standard suite of gauge optimizations** - this one toggles the SPAM penalty in addition to varying the spam weight (the default suite just varies the spam weight without any SPAM penalty)" ] @@ -541,11 +485,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -586,11 +526,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -608,10 +544,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Finally, we'll demonstrate how to specify a fully custom set of gauge optimization parameters and how to use a separately-specified target gate set for gauge optimization." ] @@ -619,11 +552,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -657,11 +586,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -679,10 +604,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "To finish up, we'll pickle the results for processing in subsequent tutorials." ] @@ -691,9 +613,6 @@ "cell_type": "code", "execution_count": 13, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [], @@ -709,9 +628,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -733,9 +650,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/10 Fiducial Pair Reduction.ipynb b/jupyter_notebooks/Tutorials/10 Fiducial Pair Reduction.ipynb index 936e1c039..42e14bd31 100644 --- a/jupyter_notebooks/Tutorials/10 Fiducial Pair Reduction.ipynb +++ b/jupyter_notebooks/Tutorials/10 Fiducial Pair Reduction.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Gate String Reduction Tutorial\n", "The gate sequences used in standard Long Sequence GST are more than what are needed to amplify every possible gate error. (Technically, this is due to the fact that the informationaly complete fiducial sub-sequences allow extraction of each germ's *entire* process matrix, when all that is needed is the part describing the amplified directions in gate set space.) Because of this over-completeness, fewer sequences, i.e. experiments, may be used whilst retaining the desired Heisenberg-like scaling ($\\sim 1/L$, where $L$ is the maximum length sequence). The over-completeness can still be desirable, however, as it makes the GST optimization more robust to model violation and so can serve to stabilize the GST parameter optimization in the presence of significant non-Markovian noise. Recall that the form of a GST gate sequence is\n", @@ -26,11 +23,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -60,10 +53,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Sequence Reduction\n", "\n", @@ -75,11 +65,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -116,10 +102,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Global Fiducial Pair Reduction (GFPR)" ] @@ -127,11 +110,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -183,10 +162,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Per-germ Fiducial Pair Reduction (PFPR)" ] @@ -194,11 +170,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -259,10 +231,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Random Fiducial Pair Reduction (RFPR)" ] @@ -270,11 +239,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -310,10 +275,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Running GST\n", "In each case above, we constructed (1) a list-of-lists giving the GST gate sequences for each maximum-length stage, and (2) a list of the experiments. In what follows, we'll use the experiment list to generate some simulated (\"fake\") data for each case, and then run GST on it. Since this is done in exactly the same way for all three cases, we'll put all of the logic in a function. Note that the use of fiducial pair redution requires the use of `do_long_sequence_gst_base`, since `do_long_sequence_gst` internally builds a *complete* list of gate sequences." @@ -322,11 +284,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -387,10 +345,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Finally, one can generate reports using GST with reduced-sequences:" ] @@ -398,11 +353,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -500,10 +451,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "If all has gone well, the [Standard GST](tutorial_files/example_stdstrs_report/main.html),\n", "[GFPR](tutorial_files/example_gfpr_report/main.html),\n", @@ -517,9 +465,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -541,7 +487,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/11 Results.ipynb b/jupyter_notebooks/Tutorials/11 Results.ipynb index 766bccdfb..249dd74da 100644 --- a/jupyter_notebooks/Tutorials/11 Results.ipynb +++ b/jupyter_notebooks/Tutorials/11 Results.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "# Results Object Tutorial\n", @@ -18,12 +16,17 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", + " _warnings.warn(\"Could not import Cython extension - falling back to slower pure-python routines\")\n" + ] + } + ], "source": [ "from __future__ import print_function\n", "import pygsti\n", @@ -33,44 +36,17 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "----------------------------------------------------------\n", - "---------------- pyGSTi Results Object -------------------\n", - "----------------------------------------------------------\n", - "\n", - "How to access my contents:\n", - "\n", - " .dataset -- the DataSet used to generate these results\n", - "\n", - " .gatestring_lists -- a dict of GateString lists w/keys:\n", - " ---------------------------------------------------------\n", - " iteration\n", - " final\n", - " all\n", - " iteration delta\n", - " prep fiducials\n", - " effect fiducials\n", - " germs\n", - "\n", - " .gatestring_structs -- a dict of GatestringStructures w/keys:\n", - " ---------------------------------------------------------\n", - " iteration\n", - " final\n", - "\n", - " .estimates -- a dictionary of Estimate objects:\n", - " ---------------------------------------------------------\n", - " default\n", - "\n", - "\n" + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'tutorial_files/exampleResults.pkl'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0mTraceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpickle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'tutorial_files/exampleResults.pkl'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'rb'\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 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresults\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'tutorial_files/exampleResults.pkl'" ] } ], @@ -81,10 +57,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As you can see, printing a `Results` object gives you a summary of its structure and what you can do with it. The *single* `DataSet` can be accessed via the `.dataset` member, and the estimated `GateSet` objects can be found within the `pygsti.report.Estimate` objects contained within the `.estimates` member. As the summary states, `.estimates` is a *dictionary* of `Estimate` objects, and **can contain as multiple estimates of the data *with the caveat* that all of these estimates must use the same gate sequences**, that is, the same `GateString` lists and/or `GateStringStructure`s for each algorithm iteration, and the same number of iterations. The reasoning behind this limitation is that when you alter the gate sequences which are used, this alters which data is used, which is similar to altering the data set itself - and we've already drawn the line that each `Results` object holds information for just a single data set.\n", "\n", @@ -95,11 +68,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -115,10 +84,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "`Estimate` objects do *not* store the gate sequences - rather, since these must be the same for all the estimates of a `Results` object, the `Results` object holds them separately in its `.gatestring_lists` and `.gatestring_structs` members (both of which are dictionaries like `.estimates`). Furthermore, since varying the gauge optimization parameters is such a common variation, a single `Estimate` may hold *multiple* dictionaries of gauge-optimization parameters as the elements of its `.goparameters` dictionary. **The keys of `goparameters` will and must correspond to keys within the `.gatesets` member** (the `GateSet` estimate of that gauge optimization). The `.confidence_regions` dictionary (empty in the above example and so not included in the summary) holds `ConfidenceRegion` objects, each associated with 1) one the `GateSet`s in `.gatesets`, 2) one of the `GateString` lists in the parent `Results` object's `.gatestring_lists`, and 3) a confidence level. The keys of `.confidence_regions` are complicated because they must include all three of these associations, and so the `.get_confidence_region(...)` method is preferred to directly accessing `.confidence_regions`. Different `Estimate` objects typically hold estimates for different gate set parameterizations and/or algorithm parameters.\n", "\n", @@ -137,11 +103,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -195,10 +157,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Creating a new gauge-optimized estimate\n", "In many circumstances, one may want to perform a new gauge optimization on an existing gauge-unfixed `Estimate`, `est`, creating a new gauge-optimized `GateSet` to be stored in `est`. This is accomplished using the `est.add_gaugeoptimized` which lightly wraps a call to `pygsti.gaugeopt_to_target`. You specify the arguments to `gaugeopt_to_target` as a dictionary to `add_gaugeoptimized`, but you're allowed to leave out the first two: the `GateSet` to be optimized, (`gateset`, taken to be the `est.gatesets['final iteration estimate']`) and the gate set to optimize toward (`targetGateset`, taken to be the `est.gatesets['target']`). Note that these arguments *can* still be specified to override their defaults. In particular, **setting `targetGateset` in the dictionary of parameters allows one to independently specify the gate set to optimize toward** (*and this need not be a perfect, ideal gate set!*).\n", @@ -213,11 +172,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -291,10 +246,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Confidence Region Factories\n", "In order to compute confidence regions and intervals within reports (see later tutorials), an `Estimate` object must be equipped with one or more \"confidence region factory\" objects. These factories are instances of `pygsti.objects.ConfidenceRegionFactory` (suprise, suprise). Their purpose is to generate confidence regions and intervals (for *any* confidence level) for quantities computed from a particular `GateSet` that in turn resulted from optimizaing the likelihood function corresponding to a particular set of gate sequences. Thus, a confidence region factory has associated with it three things: 1) a `GateSet`, 2) a list of `GateString`s, and 3) a `DataSet`. A dictionary of factories is held as the `.confidence_region_factories` member of an `Estimate` object. Each factory within this dictionary is associated with the one-and-only `DataSet` of the `Estimate`'s parent `Results` object, and the associated `GateSet` and `GateString` list are given by the keys of `.confidence_region_factories` (*gateset-key*, *gatestring-list-key* tuples). Here *gateset-key* is the key of a `GateSet` within the `Estimate`'s `.gatesets` member and *gatestring-list key* is the key of a list within the parent `Results` object's `.gatestring_lists` member.\n", @@ -305,11 +257,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gateset_label = \"go0\"\n", @@ -319,10 +267,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Note that there are different ways of projecting the Hessian which have different strengths and weakenesses. The \"optimal gate CIs\" method is the most robust method for giving the smallest error bars possible, but it takes significant computation time. The \"intrinsic error\" method is fast and usually reliable, but may not always give the smallest possible error bars." ] @@ -330,11 +275,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -355,10 +296,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "**Alternate way**: In the special case of constructing factories for `GateSet`s which are gauge-equivalent to one another, one can skip the `compute_hessian` step for all but the first `GateSet`, so long as the gauge optimization parameters *and* the final gauge-tranformation element are stored in the `Estimate`s `.goparameters` dictionary (automatically populated when adding a gauge optimization via `add_gaugeoptimized`). Instead, one must *gauge-propagate* the Hessian from the first `GateSet` to the others using the `gauge_propagate_confidence_region_factory` method of the `Estimate` object.\n", "\n", @@ -368,11 +306,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -400,10 +334,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Summary\n", "\n", @@ -417,9 +348,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -441,7 +370,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/12 Report Generation.ipynb b/jupyter_notebooks/Tutorials/12 Report Generation.ipynb index 8b744be9d..fddf3b7d6 100644 --- a/jupyter_notebooks/Tutorials/12 Report Generation.ipynb +++ b/jupyter_notebooks/Tutorials/12 Report Generation.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Report Generation Tutorial\n", "\n", @@ -13,7 +10,7 @@ "\n", "PyGSTi's \"general\" report creates a stand-alone HTML document which cannot run Python. Thus, all the results displayed in the report must be pre-computed (in Python). If you find yourself wanting to fiddle with things and feel that the general report is too static, please consider using a `Workspace` object (see following tutorials) within a Jupyter notebook, where you can intermix report tables/plots and Python. Internally, `create_general_report` is just a canned routine which uses a `WorkSpace` object to generate various tables and plots and then inserts them into a HTML template. \n", "\n", - "**Note to veteran users:** PyGSTi has recently transitioned to producing HTML (rather than LaTeX/PDF) reports. The way to generate such report is largely unchanged, with one important exception. Previously, the `Results` object had various report-generation methods included within it. We've found this is too restrictive, as we'd sometimes like to generate a report which utilizes the results from multiple runs of GST (to compare the, for instance). Thus, the `Results` class is now just a container for a `DataSet` and its related `GateSet`s, `GatestringStructure`s, etc. All of the report-generation capability is now housed in within separate report functions, which we now demonstrate.\n", + "**Note to veteran users:** PyGSTi has recently transitioned to producing HTML (rather than LaTeX/PDF) reports. The way to generate such report is largely unchanged, with one important exception. Previously, the `Results` object had various report-generation methods included within it. We've found this is too restrictive, as we'd sometimes like to generate a report which utilizes the results from multiple runs of GST (to compare them, for instance). Thus, the `Results` class is now just a container for a `DataSet` and its related `GateSet`s, `GatestringStructure`s, etc. All of the report-generation capability is now housed in within separate report functions, which we now demonstrate.\n", "\n", "\n", "### Get some `Results`\n", @@ -23,11 +20,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -206,10 +199,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Make a report\n", "Now that we have `results`, we use the `create_standard_report` method within `pygsti.report.factory` to generate a report. If the given filename ends in \"`.pdf`\" then a PDF-format report is generated; otherwise the file name specifies a folder that will be filled with HTML pages. To open a HTML-format report, you open the `main.html` file directly inside the report's folder. Setting `auto_open=True` makes the finished report open in your web browser automatically. " @@ -218,11 +208,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -277,10 +263,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "There are several remarks about these reports worth noting:\n", "1. The **HTML reports are the primary report type in pyGSTi**, and are much more flexible. The PDF reports are more limited (they can only display a *single* estimate and gauge optimization), and essentially contain a subset of the information and descriptive text of a HTML report. So, if you can, use the HTML reports. The PDF report's strength is its portability: PDFs are easily displayed by many devices, and they embed all that they need neatly into a single file. **If you need to generate a PDF report** from `Results` objects that have multiple estimates and/or gauge optimizations, consider using the `Results` object's `view` method to single out the estimate and gauge optimization you're after.\n", @@ -291,10 +274,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Multiple estimates in a single report\n", "Next, let's analyze the same data two different ways: with and without the TP-constraint (i.e. whether the gates *must* be trace-preserving) and furthermore gauge optmimize each case using several different SPAM-weights. In each case we'll call `do_long_sequence_gst` with `gaugeOptParams=False`, so that no gauge optimization is done, and then perform several gauge optimizations separately and add these to the `Results` object via its `add_gaugeoptimized` function." @@ -303,11 +283,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -339,11 +315,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -374,10 +346,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We'll now call the *same* `create_standard_report` function but this time instead of passing a single `Results` object as the first argument we'll pass a *dictionary* of them. This will result in a **HTML report that includes switches** to select which case (\"TP\" or \"Full\") as well as which gauge optimization to display output quantities for. PDF reports cannot support this interactivity, and so **if you try to generate a PDF report you'll get an error**." ] @@ -386,9 +355,6 @@ "cell_type": "code", "execution_count": 5, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -539,9 +505,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "In the above call we capture the return value in the variable `ws` - a `Workspace` object. PyGSTi's `Workspace` objects function as both a factory for figures and tables as well as a smart cache for computed values. Within `create_standard_report` a `Workspace` object is created and used to create all the figures in the report. As an intended side effect, each of these figures is cached, along with some of the intermediate results used to create it. As we'll see below, a `Workspace` can also be specified as input to `create_standard_report`, allowing it to utilize previously cached quantities.\n", @@ -554,11 +518,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "results_tp.rename_estimate('default','TP')\n", @@ -569,10 +529,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Creating a report using `results_both` will result in the same report we just generated. We'll demonstrate this anyway, but in addition we'll supply `create_standard_report` a `ws` argument, which tells it to use any cached values contained in a given *input* `Workspace` to expedite report generation. Since our workspace object has the exact quantities we need cached in it, you'll notice a significant speedup. Finally, note that even though there's just a single `Results` object, you **still can't generate a PDF report** from it because it contains multiple estimates." ] @@ -580,11 +537,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -718,10 +671,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Multiple estimates and `do_stdpractice_gst`\n", "It's no coincidence that a `Results` object containing multiple estimates using the same data is precisely what's returned from `do_stdpractice_gst` (see docstring for information on its arguments). This allows one to run GST multiple times, creating several different \"standard\" estimates and gauge optimizations, and plot them all in a single (HTML) report. " @@ -730,11 +680,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1091,10 +1037,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Reports with confidence regions\n", "To display confidence intervals for reported quantities, you must do two things:\n", @@ -1108,11 +1051,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1160,10 +1099,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Reports with multiple *different* data sets\n", "We've already seen above that `create_standard_report` can be given a dictionary of `Results` objects instead of a single one. This allows the creation of reports containing estimates for different `DataSet`s (each `Results` object only holds estimates for a single `DataSet`). Furthermore, when the data sets have the same gate sequences, they will be compared within a tab of the HTML report.\n", @@ -1174,11 +1110,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1384,10 +1316,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Other cool `create_standard_report` options\n", "Finally, let us highlight a few of the additional arguments one can supply to `create_standard_report` that allows further control over what gets reported.\n", @@ -1402,11 +1331,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1447,9 +1372,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "## Advanced Reports: `create_report_notebook`\n", @@ -1462,11 +1385,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1499,7 +1418,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/17 Pure Data Analysis.ipynb b/jupyter_notebooks/Tutorials/17 Pure Data Analysis.ipynb index 0438888fe..663cf40ef 100644 --- a/jupyter_notebooks/Tutorials/17 Pure Data Analysis.ipynb +++ b/jupyter_notebooks/Tutorials/17 Pure Data Analysis.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "# Pure Data Analysis\n", @@ -20,17 +18,13 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/Users/enielse/research/pyGSTi/packages/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", + "/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", " _warnings.warn(\"Could not import Cython extension - falling back to slower pure-python routines\")\n" ] } @@ -48,9 +42,7 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "source": [ "Let's first compare two `Dataset` objects where the underlying gate sets are the same. The data sets we'll use will be GST datasets (which allows us to do some nice visualization), but arbitrary datasets will work in general, provided that the gate sequences across the datasets are the same." @@ -59,11 +51,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Let's make our underlying gate set have a little bit of random unitary noise.\n", @@ -74,11 +62,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "germs = std1Q_XYI.germs\n", @@ -90,11 +74,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Generate the data for the two datasets, using the same gate set, with 100 repetitions of each sequence.\n", @@ -106,11 +86,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Let's compare the two datasets.\n", @@ -120,11 +96,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -132,14 +104,14 @@ "text": [ "Consistency report- datasets are inconsistent at given confidence level if EITHER of the following scores report inconsistency.\n", "\n", - "Threshold for individual gatestring scores is 19.8354568601\n", + "Threshold for individual gatestring scores is 19.835456860117194\n", "As measured by worst-performing gate strings, data sets are CONSISTENT at the 95.0% confidence level.\n", "0 gate string(s) have loglikelihood scores greater than the threshold.\n", "\n", - "Threshold for sum of gatestring scores is 3114.73885644.\n", + "Threshold for sum of gatestring scores is 3114.73885644373.\n", "As measured by sum of gatestring scores, data sets are CONSISTENT at the 95.0% confidence level.\n", - "Total loglikelihood is 2720.86373067\n", - "Total number of standard deviations (N_sigma) of model violation is -3.13296117274.\n" + "Total loglikelihood is 2720.86373067222\n", + "Total number of standard deviations (N_sigma) of model violation is -3.1329611727371303.\n" ] } ], @@ -151,11 +123,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -230,11 +198,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -242,76 +206,76 @@ "
\n", - "
\n", - "
\n", + " });
\n", + "
\n", + "
\n", "
\n", "\n", "
\n" @@ -326,7 +290,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -347,11 +311,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -359,76 +319,76 @@ "
\n", - "
\n", - "
\n", + " });
\n", + "
\n", + "
\n", "
\n", "\n", "
\n" @@ -443,7 +403,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -461,11 +421,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Now let's generate data from two similar but not identical datasets and see if our tests can detect them." @@ -474,11 +430,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gs_exp_1 = std1Q_XYI.gs_target.copy()\n", @@ -488,11 +440,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "DS_2 = pygsti.construction.generate_fake_data(gs_exp_1,gate_sequences,N,'binomial',seed=30)" @@ -501,11 +449,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -513,14 +457,14 @@ "text": [ "Consistency report- datasets are inconsistent at given confidence level if EITHER of the following scores report inconsistency.\n", "\n", - "Threshold for individual gatestring scores is 19.8354568601\n", + "Threshold for individual gatestring scores is 19.835456860117194\n", "As measured by worst-performing gate strings, data sets are INCONSISTENT at the 95.0% confidence level.\n", "690 gate string(s) have loglikelihood scores greater than the threshold.\n", "\n", - "Threshold for sum of gatestring scores is 3114.73885644.\n", + "Threshold for sum of gatestring scores is 3114.73885644373.\n", "As measured by sum of gatestring scores, data sets are INCONSISTENT at the 95.0% confidence level.\n", - "Total loglikelihood is 51382.5156194\n", - "Total number of standard deviations (N_sigma) of model violation is 629.103186436.\n" + "Total loglikelihood is 51382.515619353384\n", + "Total number of standard deviations (N_sigma) of model violation is 629.1031864357924.\n" ] } ], @@ -533,11 +477,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -545,76 +485,76 @@ "
\n", - "
\n", - "
\n", + " });
\n", + "
\n", + "
\n", "
\n", "\n", "
\n" @@ -629,7 +569,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -646,9 +586,6 @@ "cell_type": "code", "execution_count": 15, "metadata": { - "collapsed": false, - "deletable": true, - "editable": true, "scrolled": true }, "outputs": [ @@ -658,76 +595,76 @@ "
\n", - "
\n", - "
\n", + " });
\n", + "
\n", + "
\n", "
\n", "\n", "
\n" @@ -742,7 +679,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -761,9 +698,7 @@ "cell_type": "code", "execution_count": 16, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -774,23 +709,23 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.10" + "pygments_lexer": "ipython3", + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/jupyter_notebooks/Tutorials/18 Model Testing.ipynb b/jupyter_notebooks/Tutorials/18 Model Testing.ipynb index fa2dc6f0c..fe718c133 100644 --- a/jupyter_notebooks/Tutorials/18 Model Testing.ipynb +++ b/jupyter_notebooks/Tutorials/18 Model Testing.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Model Testing\n", "\n", @@ -18,12 +15,17 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", + " _warnings.warn(\"Could not import Cython extension - falling back to slower pure-python routines\")\n" + ] + } + ], "source": [ "from __future__ import division, print_function\n", "\n", @@ -37,11 +39,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "datagen_gateset = std1Q_XYI.gs_target.depolarize(gate_noise=0.05, spam_noise=0.1).rotate((0.05,0,0.03))\n", @@ -54,10 +52,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Step 1: Construct a test model\n", "After we have some data, the first step is creating a model or models that we want to test. This just means creating a `GateSet` object containing the gates and spam lables found in the data set. We'll create several gate sets that are meant to look like guesses (some including more types of noise) of the true underlying gate set." @@ -66,11 +61,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gs_target = std1Q_XYI.gs_target\n", @@ -81,10 +72,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Step 2: Test it!\n", "There are three different ways to test a model. Note that in each case the default behavior (and the only behavior demonstrated here) is to **never gauge-optimize the test `GateSet`**. Whenever gauge-optimized versions of an `Estimate` are useful for comparisons with other estimates *copies* of the test `GateSet` are used *without* actually performing any true modification of the `GateSet`.\n", @@ -96,11 +84,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -140,10 +124,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Like any other set of `Results` objects which share the same `DataSet` and gate sequences, we can collect all of these estimates into a single `Results` object and easily make a report containing all three." ] @@ -151,11 +132,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -171,13 +148,13 @@ "*** Merging into template file ***\n", "Output written to tutorial_files/modeltest_report directory\n", "Opening tutorial_files/modeltest_report/main.html...\n", - "*** Report Generation Complete! Total time 299.389s ***\n" + "*** Report Generation Complete! Total time 245.253s ***\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -196,10 +173,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Method 2: `add_model_test`\n", "Alternatively, you can add a model-to-test to an existing `Results` object. This is convenient when running GST via `do_long_sequence_gst` or `do_stdpractice_gst` has left you with a `Results` object and you also want to see how well a hand-picked model fares. Since the `Results` object already contains a `DataSet` and list of sequences, all you need to do is provide a `GateSet`. This is accomplished using the `add_model_test` method of a `Results` object." @@ -208,11 +182,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -288,10 +258,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Method 3: `modelToTest` argument\n", "Finally, yet another way to perform model testing alongside GST is by using the `modelsToTest` argument of `do_stdpractice_gst`. This essentially combines calls to `do_stdpractice_gst` and `Results.add_model_test` (demonstrated above) with the added control of being able to specify the ordering of the estimates via the `modes` argument. To important remarks are in order:\n", @@ -304,11 +271,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -368,9 +331,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -392,7 +353,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/19 Basic drift characterization.ipynb b/jupyter_notebooks/Tutorials/19 Basic drift characterization.ipynb index 2dedde1dc..ad7c706f3 100644 --- a/jupyter_notebooks/Tutorials/19 Basic drift characterization.ipynb +++ b/jupyter_notebooks/Tutorials/19 Basic drift characterization.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Drift detection and characterization\n", "\n", @@ -17,12 +14,17 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/tools/matrixtools.py:23: UserWarning: Could not import Cython extension - falling back to slower pure-python routines\n", + " _warnings.warn(\"Could not import Cython extension - falling back to slower pure-python routines\")\n" + ] + } + ], "source": [ "from __future__ import print_function\n", "\n", @@ -35,10 +37,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## A quick overview\n", "We now give a quick overview of the drift detection and characterization methods in the `drift` module. Further details are given later in this tutorial. As we demonstrate below, the analysis can be implemented with only two steps:\n", @@ -52,11 +51,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -73,11 +68,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# This takes 5 - 10 minutes, but can be sped up a lot with more user input (see below)\n", @@ -86,10 +77,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** Thats it! **\n", "\n", @@ -103,11 +91,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -124,10 +108,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** We can plot power spectra **\n", "\n", @@ -137,21 +118,23 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { - "data": { - "image/png": "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\n6+Jt0aJFes0113jez5w5U5988klVVU1NTdVWrVrpjh07dPLkyfrUU0+pqmpGRoYeOXJEVVUrVKjg\ndx+uXLlSu3Xr5nnvXj/3Pjlx4oTWqVNHd+zYoaqqgwYN8tRj4sSJGhcXp6mpqZqUlKQXXHCBnjx5\nMtfyvF9PnDhRn3/+eVX1f/x0GbCeAAAgAElEQVSkp6drcnKyqjrH/qWXXqpZWVn666+/anBwsP70\n00+qqjpw4ECdPXt2nvP56quv9Pbbb9esrCzNzMzUa665Rr/99ttc6+9dt/yW0alTJ73jjjs8ZQcP\nHuw5fnfu3KlNmjRRVdXevXvrsmXLVFX16NGjmp6enuex7962mzdvVlXVm266SadMmeJZ3o8//qi/\n//671q1bV/fv369paWl6xRVX+P0s+55zVFWBlVqI2Kns5DJd4uLg2mth7lz44gtr/mmMMf5YBtCY\nwDR58mTGjBnDrFmz6NixI7Vr1/Y009u5cye1a9dmx44ddOnShcjISC699FLPtEePHmXPnj3069cP\ngPDwcACWLVvG4MGDCQ4O5sILL6RTp078+OOPVKpUibZt21KnTh0AYmJiSExM5Morr8yzfkuWLOHu\nu+8GICoqiqioKAC+++47NmzYQPv27QE4efIkcV4/8q677joAWrVqxUcffQTAggULeO+99zxlqlSp\nwmeffZbvfNyioqIYOnQoffv2pW/fvn7r2rdvX4KCgmjWrBn79u3zbIuBAwcSFBREzZo16dy5c67p\nClqXvMyfP59169Z5snTJycls3bqVNm3aMGLECNLT0+nbty8xMTH5zqdBgwbs2LGDsWPHcs0119Cj\nR48c4zdt2kSDBg2oX78+AIMHD+bVV1/1jL/mmmsICwsjLCyMGjVqsG/fPs8+zk9ex096ejoPP/ww\nS5YsISgoiD179ni2Z/369T3r06pVKxITE/Ocz/z585k/fz6xsbGAk4HbunUrHTt2zLde/pbhdsMN\nN3heL1iwgA0bNnjeHzlyhJSUFNq3b8/999/P0KFDue666zzbwt+xHxERQf369WnUqBEAw4YNY/r0\n6dx7772e+X7//ffEx8dTvXp1Tx22bNlS4PYtijIXAAJccIHz7Nr/xhhjfHgHfdYTqDHFb3E+16Cc\nd955+Y6vVq1avuP9qV27Nr/99pvn/e7du6ldu3auchdddJEnQEpJSWHu3LlUrlzZMw9wAoT4+Hh+\n+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\nCrNdIOfrLl0Kd84/nfUpzLjiUhzLcJ//Tp50zrt5/ZnlPg+7vzuLck/gM3k85VX3FSuc5eX1WS1K\nnU61/qV9fvc+h8fGFu57NK/P6Pjxzu3CIPs8OHiw0zosM9N5n5mZ/5+mhf3MPvmkcxmG+7eA7371\nns+0aXDffTm/b8eOzd7v/r5/ExJgwgRnfXyXcTqf6eXLnd821arBmDHOuSY4GG67DYYNK3pgBdmv\nVWHePOjbt2hBbmF4/wby91n59ltnm7mX5f2Hqu+5NK8/Td96C15/3fmsQuF+t+a1XQr6nQsRhbuA\nR1XzfeBc//cnsN/n4Xd4IeZXD1ifx7iZwGCv95uBWgXNs2nTVgqqlSo5P6NefllVVbVaNdU2bVQT\nElTLlXP/xHIewcGqUVGqISGqEyY4w7ZtU61XT1Uku9wTT6gmJzuvn35addYs5/V99znzdUtIUA0P\nd8aFh2ePW75c9cEHs98nJKg+80zuaZ95RnXmzOxx/sr5Wr7cqb+Iamio6ujRqtOnO+sqolq+fM7p\nP/ooe7281zE42FmWb/0SElRvuSV7fiEhqn36qPbunT19uXKqffuqjhqVcx2vv96Zb3CwUw/vdfNd\nh7Cw7HJTpqhOnJiz/MKFzn5w16lt25z70r0Oo0f737aDB6sGBTl1LlfOmbe3ceNyzsu9Pd3b1ns7\n+u4X9/sePXLXyb2sRYuc+gUFOfP13na+6+B+HRSUe7x33X33U0HHyqOP5py3u/wzz6jecEPuurvr\nGBSUvf7uYzwoyHl419s9PizM/7y8j1F32ZEjnW3s3i59+2aP9/1s+Fu35cudz6S/cfl9zryHLVvm\nnCe81+W221SvuirnZ6Rcudx187ZsmXMe8d1Ovvts9Oic8zl2zNkGTZtmL8t7O/lbL/dxEhKSf50S\nElT79/d/XAYH5/xMXXKJarNmqkuXOuP9HX/5nTd898t996lOmqT65JPO+nfpkvO49/0Mus2Zk318\nhYY6y3AfO1dfrXrTTdnnhJCQ7PNGfvvZvd1Hjsw+r8ycmXtfuMvedlv28e1vX+T32fO3j92WLs0+\nD3l/przPMzNnqt58c8595T63en9PlC+fvY1Gj1Z95ZXsceHhzvzc5xz3vG+6qeBzvu86+jtvu9ex\ne/fsz7b3OX7mTNVevbK3YX77Oy/+tqPvsMWLcx5TDz6Y97nCe31uvdXZFu76jhqV8xjv0SPn93d+\n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\n/jH4t58Dn61P19UFdId7oefMgbiZceAB8MTjYWS7OlkjsKc7BIgQuvQcNhM2ROs2vxH8P26iqXpj\ncCA0fKE2mh4AO0q/spc77N5VP23rlvD68hXsXYlF2754hqH8bDRgZ3maJ56AK6+svU/3vYcfzsp2\n9J1Nm6IA4rn67r7P7YAdz9Wn3xN/P/4oWt6Qxl2arsTWreEk5333hVW0di288qD6+X73u1niP0tn\nDDf9M6y4pXz5VU8D/snt8JNbgFcARw0dPGDjj+C2T0DvEcCH65e9dQt1dYYX7FP59N27w60emzc3\nzk88fzOYdyz86jfh/WBW32wpOR5AOBm1d0Rwj+q1ivVQV/bvDevNDM77Nhy8H1yyFgZPCNMOjE8e\nDvNpy5bVL1/7Wuha7G9OEngoC2u/MXR6Vb2fp3tqY5Q/r9UVsd274VOfYsi23bgRrrwZ9lwd6qg7\n5wLTky9n+8XOnaFtly5/zQOE+rynNq1RNbRjR+22oN6e8jK9I6qPurqArvrNsH17CADnHwvPzwfu\nDNMHB2FDdA6g0T5bKj8xQW3/b7SPdWV5a2lZVpvv+98P0/8SeH30ebb8F18Mo4PHbbWnNob2QtX8\n956cJzvm7UfhxhkYgIGS+jet1+ra2wX15uBgaK8//3ytLTtQ0KZ1h189BDwZ1t/L9oMX9mTHg4qf\nlub9qiuBY4oyn/3N1sVhh2cnpbbU8rrix8DvDP2t7nDXncAD1LX1d+ygdqzM2qPr1gJvayHTYQHV\nlwlH88UYdAGdOzd0AT3//HBoXbIkXFaNL+mm3QNXrgyXUuMuTXl3lvw7p51WfCk+vtyfvtLL92P9\nMgtdIuPlmrnPmlWePu76sXhx9TK6u2tdI/Jpvb1Dp6XLaXZdxN0Jm31Nn167VF71/bwLSpqfou5s\n/f313R+POaY+XdXvyLsX5Oulu9t95kz3V72qfr6zZ9d/L+9akXe/y6cvWhS6NuXdxIry3uyrq6vW\nnaEs72k3hLhrYlze8m67edeVNE3eDSfvqtbdPfQ3lJWtVsv/SPehvFtXXI7yrhuLF4dX3gWqlXzl\n3e+aSZ93Lenvb35Zze5feb11+eW17+T7T27btlr6446rrweXLQuv/Lvd3UO7HlVtn3wdx/Mo66Ia\nr7N8GxSVj+Fu+2a+l9dvo12fd3W5z507dFpfX/Hyq/aLvJtn+vvyfTTtUpaW8333Hdm67O11nzev\n+Hfm23s09tFGvz9dhlntd7VSJvJu/2k5ybt/x8fKfJ8q6urWzLo4+eRwO8VIfnu8b+XdzNKyMH16\n6M5elqfhrO9Wjtd5PThW27+Zdb9gQa3+O+GE6u/09oZbh9LpeffaffYp73q+zz6N81I037h8xN26\n+/sb1z952Y/Tx/PM2xR5HZq2ERctCt8pqj8aLbMo//G66+urP37095e3OxqV63zehx5avPy07dFq\nPVPUbinKZ16HpsvK97mi5ZqFdX7yyfX5jW8HSeOPZl7HHNP489o+/XpvKh6bYAHgycAPQqzMG4Gf\nNzPPOXNCAPihD9U2WL5xinbUeIft76+lS79z0UX1KzdvNMVBQtGGL2rk5jtjURCS78CLF9dX6ocd\nVl1oe3tDnvKgI+4TnVbw6b0aK1e6X3jh0LwuXlw7mFTdwxT3nY/XY17h5pVlo4ZcWlkVrYs5c2rv\n437Ty5bVB0xHHz3098T3nS1aVHxAigPKuIKP77fJlx037NOAOl4vr31t7b7QD3ygeL7pPZJlB5i8\nn33cKInXT9qALCsr8fzjg07ZPvKJTxSXt6L7kfK8lPVRj/e3srKVl6OifajoQBWX1TSfZSctig6E\naVktuu8rvd8mzUu8n8cBXbxf5AFl+hvT+w4anWiK9+OFC8vzlB504n0lvX9v5cpaforqzqL9Ig1U\n430ivicrvbf5xBNDure+tbguiIOU+N6Uonom3vbx8uNtEd9fmt4DWLQt4volr1fTxnZc7uKylzc4\ny8plV1fxfTtxvRQvPz0hFZ98ieuN/CRReu9SflIr3j/zdHEZKdpX+vuLTz7FjeqVK92XLq1f94sX\nl+/zVXVU2XqMt2N8D3h6f1RRPRj/nvjetcsvr1/v+bzy8hnnJf89ad0cH3fTcpHel5jfX9pof21U\nv5SV46L7m+LjdHqPOxQ3/tOTXvE2K7rXKt0f0yA3/k68r6fbtlEjeDjlI55WFKQVnWBLy3SaLj5h\nVnTPbNlxIq3j+/trx8ui8lF0kSL+bUX7flH6os/TNmJcr6f7d1x3xvtU/lnRSbp43aX7Sdl9lGX1\ndfw7//Zv69PGdU1c1hYtqm83xt+J74OM64G4zps+fWi7uap9UFS/xeu36pgbtw/Se40XLCjOX1wu\ne3tDunidhM8mYAAIXEu4srqb0IHxbKAf6M8+N+BSQs+x+4G+ZuZ79NEhADzvvKFnHqoGx0h36Pj/\n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\n+P9Sp94oZVklxgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ValueError", + "evalue": "plot_power_spectrum(...) requires you to install matplotlib", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/extras/drift/objects.py\u001b[0m in \u001b[0;36mplot_power_spectrum\u001b[0;34m(self, sequence, entity, outcome, threshold, figsize, fix_ymax, savepath, loc)\u001b[0m\n\u001b[1;32m 145\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 146\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0m_plt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 147\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'matplotlib'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mresults_gst\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_power_spectrum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.6/site-packages/pyGSTi-0.9.4.4-py3.6.egg/pygsti/extras/drift/objects.py\u001b[0m in \u001b[0;36mplot_power_spectrum\u001b[0;34m(self, sequence, entity, outcome, threshold, figsize, fix_ymax, savepath, loc)\u001b[0m\n\u001b[1;32m 146\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0m_plt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 148\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"plot_power_spectrum(...) requires you to install matplotlib\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 149\u001b[0m \u001b[0m_plt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 150\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: plot_power_spectrum(...) requires you to install matplotlib" + ] } ], "source": [ @@ -160,10 +143,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** We can extract the drift frequencies **\n", "\n", @@ -172,31 +152,16 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.001 0.003 0.005 0.008 0.011 0.016 0.2 ]\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "print(results_gst.global_drift_frequencies)" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** Is there drift for a particular sequence? **\n", "\n", @@ -205,24 +170,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "data": { - "image/png": "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\nDh3KSy+9xLBhwxgyZAhffPEFTZs2ZdCgQbz88ssMGzaMdKdAFi1aRHh4OMuWLSM3N5dWrVoBcPvt\ntzN58mSaNGnCN998w913383//vc/wK6MunTpUkJCQgroMHnyZO677z5SUlI4efIkeXl57N27N6Bu\n9913H/feey9z586lVq1azJw5k8cee4zXX3+dlJQURo4cSc+ePcnOziY/P79QuUyZMoWVK1eyZs0a\nLrnkElKLWSXwiiuuID09nQceeIAhQ4awZMkSsrOzCQ8P58477yxdRSrKGeC8Mfry89XoUxRFURTl\n3OTwYfuuAvbz8OGijb5TJScnx2t8hYSEsHHjxlOSa9CgAYmJiQAMHDiQiRMn0qlTJxo1akTTpk0B\nGDx4MJMmTeL+++/nqquuYv369Xz77beMGDGCtLQ08vLyaNOmDVlZWSxdupS+fft60z9x4oT3e9++\nfQsZfAAJCQk8/fTT7Ny5k169etGkSZOgul133XWsXbuWTp06AZCXl0fdunU5cuQIu3btomfPnoDd\n+ywYnTp14pJLLgka70v37t0BiIiIICsrixo1alCjRg2qVKnCzz//zEUXXVSidBTlTHHeGH3q6VMU\nRVEUpTwoiUfuq6+gQwe7tVTlyjBt2ulfh2Dr1q2EhIRQu3ZtnnzySerUqcPq1avJz88PatyMHz++\nRHL+KwcWt5JgUlISn3zyCZUqVaJjx44MGTKEvLw8nnvuOfLz87nooou83kB/qlevHjD8pptuolWr\nVsybN48bbriBV155hcaNGwfUTUQICwvjK7+xtEeOHClS72B6VKxYscAiOf5L51epUgWAChUqeL97\nfuucQOVcQOf0KYqiKIqinGESEuwK43/725lZaTwzM5M777yTYcOGYYzh8OHD1K1blwoVKjB16lTy\nnJekGjVqFDB8gsn58+OPP3oNqLfffptrr72WZs2akZGRwebNmwGYOnUqbdu2BaBNmzZMmDCBhIQE\natWqxYEDB/jhhx8IDw+nZs2aNGrUiFmzZgF24+nVq1cXe41bt26lcePGDB8+nD/96U+sWbOmSN0y\nMzO94Tk5OXz//ffUqFGD0NBQ3n//fcB6GI8dO1aoXPy58sorWbduHSdOnODnn3/miy++KFZfRTmX\nOC+MPhF7FLNKsaIoiqIoSrmRkACjRp0+g+/48ePeLRs6duxI586dGTNmDAB33303b775JpGRkWzY\n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\nRK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# The gatestring we are interested\n", "gstr = pygsti.objects.GateString(None,'Gx(Gi)^128Gy') \n", @@ -232,10 +182,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** Box-plots for GST data **\n", "\n", @@ -246,12 +193,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": true, - "deletable": true, - "editable": true - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "# This box constructs some GST objects, needed to create any sort of boxplot with GST data\n", @@ -271,77 +214,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
Loading...
\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Create a workspace to show the boxplot\n", "w = pygsti.report.Workspace()\n", @@ -350,121 +225,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/enielse/research/pyGSTi/packages/pygsti/report/workspaceplots.py:1706: UserWarning:\n", - "\n", - "No dataset specified: using DOF-per-element == 1\n", - "\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "
\n", - "
\n", - "
\n", - "\n", - "
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Create a boxplot of the maximum power in the power spectra for each sequence.\n", "w.ColorBoxPlot('driftpwr', gssList[-1], None, None, driftresults = results_gst)" @@ -472,10 +235,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** Constructing estimates of the drifting probabilities **\n", "\n", @@ -484,58 +244,25 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "results_gst.plot_most_drifty_probability(plot_data=True)" ] }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "It can also be informative to display multiple reconstructions on a single plot. Below we plot the reconstructions for the $G_i$ and $G_x$ germs, both with varying germ power and fixed fudicials." ] }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "data": { - "image/png": "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\n42HSpEkRgzCWZ555hg8++IBFixY1qx2lFKZptpveJxpKKaZOncq4cePYtWsX69atY/HixRQVFTW6\nX3T/N0dG+Bpr6PzcdtttDBgwgKVLlzJjxow6+86aNYtly5bV0+EXv/gFF198MVu3bmXjxo3k5OS0\n6Zg6DKXUd37Jz89XGo1Go9FoNKcimzdvPt4qKKWUSklJqVdWXV2tfvCDH6hzzz1X5ebmqsWLF6sZ\nM2aoxMRENXjwYHXPPffU2Xf37t2qf//+6sYbb1R9+/ZV1157rfrggw/U6NGj1TnnnKM+++wzpZRS\nl112mRo2bJgaOHCg+stf/hJpL57sl156SRUUFKjBgwern/zkJyoUCimllHr44YdV37591ZgxY9TV\nV1+tHn300Xr6X3311eqqq65SBQUF6qyzzlLvvvtuZNt5552ndu/erVatWqU6d+6s+vTpowYPHqx2\n7typNmzYoC655JJ68m699VbldrtVXl6eevzxx5VSSj322GMqNzdX5ebmqieeeCLSD/369VPXX3+9\nGjhwoCosLGy0T8O05Fh3796tcnNzI/s++uij6sEHH2xUzu7du9WAAQPULbfcogYOHKi+//3vq9ra\nWqWUUi+88IIaNGiQOvfcc9V1113XqJxoli9frsaNG1evXCmlPv/8czVo0CDl9XpVdXW1GjhwoPrq\nq6/q9H9TMsJEX5+x52fOnDnq7rvvjqyvWbNGjR07VpWXl0fKYvurvLxc9erVS5mm2aJjUkqp//iP\n/4ica6WU+vWvf62efPLJRvWPJd7fPfCFaobtpOcB1Gg0Go1GozlJeEX6HxO516ptTdbxer0MGTIk\nsn7//ffjcrno3r077733HgAVFRWMHDmSTZs2sWHDhrhyduzYweuvv86CBQsoKCjglVdeYfXq1bz9\n9ts88sgjLF26lAULFtC5c2e8Xi8FBQVcfvnlZGVlMXfu3Dqyt2zZwpIlS/j4449xu93cfvvtLFq0\niNzcXBYvXsyGDRsIhUIMGzaM/Pz8erps3LiRyy67jCVLlrB69WruuusuJk+eTCAQYNeuXfTq1Yte\nvXpRUFDAvHnzIiGChmGwdu3aevKee+45li1bxocffkh2djbr1q3j+eef57PPPkMpxciRIxk/fjyZ\nmZls376dF154gVGjRtWRsWzZsnp92h7HGqYhOTfccAMA27dv59VXX+Wvf/0rV111FW+++SZDhw7l\n4YcfZs2aNWRnZ1NaWtqknDBff/01w4YNi6tLQUEBU6ZM4YEHHsDr9XLdddeRl5dXp/+bkhGPvLy8\nOufnwQcfrLP9vPPOY9WqVY3K2L17N126dOFHP/oRGzduJD8/nz/96U+kpKQ0qc9NN93E9OnT+eUv\nf4lpmixevJjPP/+82fq3FW0AajQajUaj0WjaTDgENJpvvvmGu+++m/vuu49LL72U888/n7Kyskbl\n9O7dm0GDBgGQm5vLpEmTEBEGDRpEYWEhYI2jC4+n2rt3L9u3bycrK6uerBUrVrBu3ToKCgoAy0jt\n2rUrpaWlTJs2jeTkZACmTJlSb1+fz8eRI0cixsHAgQMjuhcXF5ORkRGpu23bNgYMGBBZdzqdeDwe\nqqqqSEtLa/BYV69ezbRp00hJSQFg+vTprFq1iilTptCzZ896xh/AoEGD6vVpW4+1OX0Wpnfv3hFD\nPz8/n8LCQsrKyrjyyivJzs4GoHPnzrzyyiuNymmIO+64g9WrV+PxeFi7di2zZ8+moKCAxMREnnrq\nKaB+/zclI5bmnp/GCIVCrF+/nj//+c+MHDmSX/ziF8ydO5eHHnqoSX169epFVlYWX375JYcOHWLo\n0KFxr99jhTYANRqNRqPRaE4SmuOp60j69evH+vXref/993nggQeYNGlSPQ9QLAkJCZHvDocjsu5w\nOAiFQnz00UcsX76cTz75hOTkZC644IIGJ8VWSnHjjTfy+9//vk75k08+2aTumzZtom/fviQmJgKw\nfv16Bg8eDFjGbrjN4uJiOnXqhMtV97Ha7/dH9m0NYaMwlnh9Onv27BYfq8vlqjO2MHw8DckJE31+\nnE4nXq83br2m5ITJzc3lzTffjKw//fTTFBcXM3z4cABKSkqorq4mGAzi8/lISUmp0//NkRGPtp6f\nHj160KNHD0aOHAnAFVdcEUl81Bx9brnlFhYuXMjBgwe56aabWq1Ha9BJYDQajeY4YJiKQMjEGzSo\n8Yeo8gUpqw1QXO3nUKWPA+Veispq+ba0lm9Laiksqa637Cmp4dvSWorKajlQ7uVQpY/iaj9ltQEq\nfUFq/CG8QYNAyMQw1fE+ZI1Gcwqyf/9+kpOTue6667j33ntZv349aWlpVFVVtVpmRUUFmZmZJCcn\ns3XrVj799NPItljZkyZN4o033uDw4cMAlJaWsmfPHsaNG8fSpUvxer1UVVXxzjvv1Gtn48aNfPvt\nt/h8PmpqanjwwQe58847AcjMzMQwDHw+H4WFhXTv3r3OviUlJWRnZ+N2uxs9lvPPP5+lS5dSW1tL\nTU0Nb731VsSj1xDx+rQ1x9qtWzcOHz5MSUkJfr+fd999t1E5jTFx4kRef/11SkpKIvs0V87EiRPx\n+Xw8++yzkbLa2trI91tvvZWHHnqImTNnct999wF1+785MmJp7vlpjNNOO40zzzyTbdusly4rVqxg\n4MCBzdZn2rRpLFu2jLVr13LRRRe1Wo/WoD2AGo1Gc4wIGSZBUxEyTAIhE3/IxB8yCBgmyrbHBAib\nZgKICA4BERAEkaPbYjFRoBQhBQqFUmAqO7lXlMzwd4cIHpeQ4HSS4HbgcTlxOQS304HTEa8FjUaj\naT6xYwAvvvhiJkyYwL333ovD4cDtdvPss8+SlZXFmDFjyMvL45JLLuHRRx9tUTsXX3wxzz33HDk5\nOfTv379OmGQ82Q8//DAXXnghpmnidrt5+umnGTVqFDNmzGDw4MF07do1EqYYzcaNG5k+fTojR44k\nGAzy61//mjFjxkS2X3jhhaxevZpRo0ZRXFxMXl4e8+fPZ/To0Xz44YdMnjy5yWMZNmwYs2bNYsSI\nEYDlFRo6dGgk1DUeX331Vb0+BStEtSXH6na7mT17NiNGjOCMM86IhLA2JKdnz54N6pSbm8tvfvMb\nxo8fj9PpZOjQoSxcuLBZckSEpUuXcuedd/LHP/6RLl26kJKSwh/+8AdefPFF3G431157LYZhMHr0\naFauXMnEiRMj/f+9732vURnxaO75CXPNNdfw0UcfUVxcTI8ePfjtb3/LzTffzJ///GdmzpxJIBCg\nT58+PP/8800eUxiPx8OECRPIyMjA6XQ2W5f2QJT67r8VHj58uPriiy+OtxoajeYUxVSKkKEIGCa+\noIE3YFAbNFBKRQwwh4DTIThFcDoEkY43uEylME2FYSpCStlGqKWh2+kgye0kyeMk0eXE49JGoUbz\nXWHLli2R9POa9mP8+PHMnz+f/v3jJ9ZZv349TzzxBC+99FK9bdOnT2fu3Ln069fvWKvZYubMmUNq\nair33HPP8ValTTTW/01xIpwf0zQZNmwYr7/+On379m3x/vH+7kVknVKq4bhXG+0B1Gg0mhZimAp/\nyMAXNKjxG9QGDMI+N4cILoeQ5HbgOA5GXmM4RHA4BZcTEmK2GabCGwxR6QtGyjxOB6kJLlISXCS4\nHLicetSARqM5ddi5c2ejD+bDhg1jwoQJGIZRx4MTCASYOnXqCWn8nUw01P9NcSKcn82bN3PppZcy\nbdq0Vhl/bUV7ADUajaYJTKXwB01qAyGq/EF8QWvQvABupwO38/h49I41IcMkaCgM+z7hcTpIT3KT\n7HGS6HaecAauRnOqoj2AGs2ph/YAajQaTTsTNEy8gRCV/hA1PsvDJ2IZQSke50lp8MXicjpwRb1U\nDRkmpTV+iqut8YlpiS7Sk9wkuZ06XFSj0Wg0mu8I2gDUaDQam0DIpCYQorw2gD9kogCPU0j2OE4J\ng68pLIPQCgM1laI2cDRkND3RTackN0ke7RnUaDQajeZERhuAGo3mlCZomFT7LaPPFzRxOASPU0hN\n0D+PjeEQIdFtuQdV2Bj0BnE4hIxkN+mJ7sh2jUaj0Wg0Jw76CUej0ZxyGKZlsJTVBqkNhABIcDlI\nS9Q/ia1BwsagG0xTUV4bpLQ6QILbQVaKh5QEtw4R1Wg0Go3mBEE/7Wg0mlMGX9Cg0hekrDaIUtbU\nB6fKeL6OwuEQkj2W5y9omOyr8OEQP1kpHjoluXHrTKIajUaj0RxXtAGo0WhOakylqPGHKK0JUBs0\ncAok6QyWHYKVIdWBaSpKqv0UV/vJSHKTmeIhwaXDQzUajUajOR5oA1Cj0ZyUhAyTSl+QkpoAIVOR\n4HSQ9h0Y16eUImTai2FGvkfP2BM2XZ0OweUUy9ByHL8J5pvC4RBSElwopajyWaG36UluslI8epyg\nRqPRaDQdTIc/DYnIxcCfACfwN6XU3JjtZwEvABl2nV8ppd7vaD01Gs13k0DIpLw2QFltAERIdDlI\nch9/oyhkmFT5Q1T5QpHPan8Ib9DAG7QmlbcWk7bMzprgcpDkdpLkcZLsdpLkdpKS4CI90UV6opv0\nRBepCS4cx2FMnoiQ5HHWSRrTKclNVqr2CGo0Go1G01F06GAMEXECTwOXAAOBa0RkYEy1B4DXlFJD\ngauBZzpSR41G893EHzI4UOFlV3E1Zd4ASR4nKZ6On5/OFzQoKqvlX/sq+Mf2I7y1YR8LPink6X/u\n4sXPvuWtjftZvvUwnxWW8vWBSnYV13CgwkdZbRCvbfw5HUKCy0FqgtMykFI8dEm1luzwkuIhI8lN\naoKLRJcjcpz+kEm5N8iBCh87i2vYdKCSzwpL+WDrYd7csI/nP93Df/1zJws/3cM7Xx1gza4Sth6q\n4ki1n5DZFtOz+YgISW4nqQlOagIhdhXXcKjSS9AwO6R9jUZzbHA6nQwZMiSyzJ07N2698vJynnmm\n7uPd6NGj20WHeLKbw5w5c5g3b16L9vF6vYwfPx7DMCgqKmLJkiUABAIBxo0bRygUirvfU089RU5O\nDjNnzmyxnicrhw4d4tprr6XUQE/zAAAgAElEQVRPnz7k5+dz3nnn8dZbbzW6T3T/N0dG+Bpr6PyE\nQiEmT55MdnY2mzZtipT7fD5GjBjB4MGDyc3N5cEHHwRg7969TJgwgYEDB5Kbm8uf/vSnNh9TR9HR\nHsARwA6l1C4AEVkMXAZsjqqjgHT7eydgf4dqqNFovlP4ggYlNQEqvUFcDunQpC7+kMHBCh+Hq/0c\nrrKWSl/8G75DIDXBRVqCi7REN2m2Jy7ZY3npEt0OEt1OEl2tN1pNU+ELmRGPYm3A8i5W+635+ip9\nIap8Qar9BhXeIBXeILuKayL7OwW6pCVwWnoi3dITOS09kU6JrmPWn2FDUClFuTdIeW2Q7NQEMpI9\nOmuoRvMdJCkpiQ0bNjRZL2yk3X777ZGyNWvWtIsO8WQfKxYsWMD06dNxOp2sWLGCzZs3M2PGDDwe\nD5MmTWLJkiVxjbxnnnmG5cuX06NHj2a1o5RCKYXDcXIm0VJKMXXqVG688UZeeeUVAPbs2cPbb7/d\n6H7R/d8cGeFrrKHzc9tttzFgwADuv/9+ZsyYwd///nd69OhBQkICK1euJDU1lWAwyNixY7nkkkvo\n2bMnjz32GMOGDaOqqor8/Hy+//3vM3DgwFYfU0fR0VfSGcDeqPUiuyyaOcB1IlIEvA/8PJ4gEfmJ\niHwhIl8cOXLkWOiq0WhOYPwhg/3lXnYX11AbCJGaYIU9Hkvjr8Yf4pvDVXz0zREWrf2W51btZum/\nDrBmVyk7jtRQ6QvhdAjd0hIYeHoaY/pk8cNBp3PDyLO4fdzZ/Oi8XlwxrAcXDezG6D5ZnHtGJ87p\nksoZGUlkpSSQ4nG1yfAJZ+DMSvFwRkYSfbumcu4ZnRjdJ4uLB57GVcN6cPPo3twx/mxmFpzJxQO7\nMaJnJmdnp5CR5MZQcLDSz4aiCv6++RAvfLqHv60p5O+bD7H5QCVVDRi3bUVESPG4SHI7OVLtZ3dx\nDVU+K1OrRqP5blNTU8PkyZMZPHgweXl5LFmyhF/96lfs3LmTIUOGcO+99wKQmpoKQGFhIQMGDGDW\nrFn069ePmTNnsnz5csaMGUPfvn35/PPPAZg6dSr5+fnk5uYyf/78SHvxZL/88suMGDGCIUOGcOut\nt0Y8Rr/73e/o168fY8eOZdu2bXH1v+aaa5gxYwYjRoygZ8+evPfee5FtixYt4rLLLmP16tXcdddd\nvPHGGwwZMoRdu3YxdepUFi1aVE/eT3/6U3bt2sUll1zCE088AcDjjz9OXl4eeXl5PPnkk5F+6N+/\nPzfccAN5eXns3Xv08Tlen4ZpzrFec801zJs3j8LCQvLy8iL7zps3jzlz5jQqp7CwkJycHH784x+T\nm5vLhRdeiNfrBeDFF1/k3HPPZfDgwVx//fWNyolm5cqVeDwefvrTn0bKevbsyc9//nPWrl3Lueee\ni8/no6amhtzc3Ih3Ltz/TckIE77GgHrn57e//S2dOnXiscceY+zYsfztb3/jmmuuoaKiAhGJ7BsM\nBgkGg4gIp59+OsOGDQMgLS2NnJwc9u3b1yx9Zs+eHTnXAL/5zW/qeRCPJSdiRoRrgIVKqcdE5Dzg\nJRHJU0rViQ1SSs0H5gMMHz5cPyVoNKcIQcOkpNpPmTeIS4TUhGNn9IVMxf5yL3tKa9lTWktJTaDO\ndodAt7REuqUn0DUtgS6pCXRO9hyX8XUtweUQslMTyE5NqFPuDxocrPJzqNLHwUofByv91AYMth6q\nYuuhKgAyk9307JzMOV1SOb1TYrtmU3U4hNQEFyHDpKjMS2qii25piXhcJ+dbb43mWFDzb987JnJT\nnlreZB2v18uQIUMi6/fffz8ul4vu3btHDKeKigpGjhzJpk2bGvQW7tixg9dff50FCxZQUFDAK6+8\nwurVq3n77bd55JFHWLp0KQsWLKBz5854vV4KCgq4/PLLycrKYu7cuXVkb9myhSVLlvDxxx/jdru5\n/fbbWbRoEbm5uSxevJgNGzYQCoUYNmwY+fn59XTZuHEjl112GUuWLIkYepMnTyYQCLBr1y569epF\nr169KCgoYN68eRGDyjAM1q5dW0/ec889x7Jly/jwww/Jzs5m3bp1PP/883z22WcopRg5ciTjx48n\nMzOT7du388ILLzBq1Kg6MpYtW1avT9vjWMM0JOeGG24AYPv27bz66qv89a9/5aqrruLNN99k6NCh\nPPzww6xZs4bs7GxKS0ublBPm66+/jhhSsRQUFDBlyhQeeOABvF4v1113HXl5eXX6vykZ8cjLy6tz\nfsJhnWHOO+88Vq1aFVk3DIP8/Hx27NjBHXfcwciRI+vULyws5Msvv4yUN6XPTTfdxPTp0/nlL3+J\naZosXrw48nKjI+hoA3AfcGbUeg+7LJqbgYsBlFKfiEgikA0c7hANNRrNCUnINCmrCVJS47fCKY+R\nt88bMNhZXM2u4hr2lnnrjItzO4XT0xM5IyOJ7p2sEEnXSTSvXYLbSc/OyfTsnAxYYTmltQG+LfWy\nt6yWonIvZbVBymor2FBUQZLbSZ/sFM7uksKZmcm42snwdTkdpDkd+IIGu0uqyU5JIDPFo6fu0GhO\ncOKFgH7zzTfcfffd3HfffVx66aWcf/75lJWVNSqnd+/eDBo0CIDc3FwmTZqEiDBo0CAKCwsBaxxd\neDzV3r172b59O1lZWfVkrVixgnXr1lFQUABYRmrXrl0pLS1l2rRpJCdbv3dTpkypt6/P5+PIkSMR\n42DgwIER3YuLi8nIyIjU3bZtGwMGDIisO51OPB4PVVVVpKWlNXisq1evZtq0aaSkpAAwffp0Vq1a\nxZQpU+jZs2c94w9g0KBB9fq0rcfanD4L07t374ihn5+fT2FhIWVlZVx55ZVkZ2cD0LlzZ1555ZVG\n5TTEHXfcwerVq/F4PKxdu5bZs2dTUFBAYmIiTz31FFC//5uSEUtzz090/Q0bNlBeXs60adPYtGlT\nxNivrq7m8ssv58knnyQ9PT3u/rH69OrVi6ysLL788ksOHTrE0KFD416/x4qONgDXAn1FpDeW4Xc1\ncG1MnW+BScBCEckBEgEd46nRnKKYSlHpDXK4yo8Ckj3tP4dfjT/EjuIadhyuZl+Ft86UC9kpHnpm\nWUZR905Jp9TYNBEhKyWBrJQEhp6ZgWEqDlX62FVSw44jNVR4g3x9oJKvD1SS4HLQv1saOael0S0t\noV2M80S3E9NU9tjKIKd3StLTRmg0TdAcT11H0q9fP9avX8/777/PAw88wKRJk+p5gGJJSDganeBw\nOCLrDoeDUCjERx99xPLly/nkk09ITk7mggsuwOfzxZWllOLGG2/k97//fZ3y6PC7hti0aRN9+/Yl\nMTERgPXr1zN48GDAMnbDbRYXF9OpUydcrrqP1X6/P7JvawgbhbHE69PZs2e3+FhdLhemeTTALnw8\nDckJE31+nE5nJAQ0lqbkhMnNzeXNN9+MrD/99NMUFxczfPhwAEpKSqiuriYYDOLz+UhJSanT/82R\nEY/WnJ+MjAwmTJjAsmXLyMvLIxgMcvnllzNz5kymT5/eIn1uueUWFi5cyMGDB7nppptapEdb6dBX\n10qpEPAz4O/AFqxsn1+LyH+KSPh1xN3Aj0VkI/AqMEvpgSAazSlJbSDE7uIaDlT6SHA5SGmF8adU\n3cW0F3/IZPOBSt78ch9/W1PIR98coajciwBndU5mQr8uzDqvF1cXnMV5fbLpnpEMIhgKjCg50Ut0\nOycjTofQPSOJsWdnc+PIs5hZcCajenUmO8WDP2Tyr30VLFlXxMuf72Xdt2XU+Ns+ZtDhENISXZgK\ndpfUUFztxzxZO1ijOQnZv38/ycnJXHfdddx7772sX7+etLQ0qqqqWi2zoqKCzMxMkpOT2bp1K59+\n+mlkW6zsSZMm8cYbb3D4sBVIVlpayp49exg3bhxLly7F6/VSVVXFO++8U6+djRs38u2330bGnz34\n4IPceeedAGRmZmIYBj6fj8LCQrp3715n35KSErKzs3G73Y0ey/nnn8/SpUupra2lpqaGt956K+LR\na4h4fdqaY+3WrRuHDx+mpKQEv9/Pu+++26icxpg4cSKvv/46JSUlkX2aK2fixIn4fD6effbZSFlt\nbW3k+6233spDDz3EzJkzue+++4C6/d8cGbE09/wAHDlyhPLycsDyYn7wwQcMGDAApRQ333wzOTk5\n3HXXXS06JoBp06axbNky1q5dy0UXXVSv3XDynwYXwFCqzuJyNW9OpQ4fA2jP6fd+TNnsqO+bgTEd\nrZdGozlxCIRMjlT7qfQGSHQ760zgHn72V/Zilan6ZSjsf4A1ebqpFAcq/HxzyJp+IWhYWx0CZ2Ym\n0yc7hZ6dk+t4mUL21AT1TA45OiG7irSg7P+PtmnVs2qG37iFvWMSXQ/4LkU4ihwdRziyd2eOVPvZ\ncrCKrQerKK0NsHpnCWt2ldC3aypDemRwWnrr34KDNb+h2ykUV/mp9oU4PSNRzx2o0ZxgxI4BvPji\ni5kwYQL33nsvDocDt9vNs88+S1ZWFmPGjCEvL49LLrmERx99tEXtXHzxxTz33HPk5OTQv3//OmGS\n8WQ//PDDXHjhhZimidvt5umnn2bUqFHMmDGDwYMH07Vr10iYYjQbN25k+vTpjBw5kmAwyK9//WvG\njDn6iHrhhReyevVqRo0aRXFxMXl5ecyfP5/Ro0fz4YcfMnny5CaPZdiwYcyaNYsRI0YAlldo6NCh\nkVDXeHz11Vf1+hSsENWWHKvb7Wb27NmMGDGCM844IxLC2pCcnj17NqhTbm4uv/nNbxg/fjxOp5Oh\nQ4eycOHCZskREZYuXcqdd97JH//4R7p06UJKSgp/+MMfePHFF3G73Vx77bUYhsHo0aNZuXIlEydO\njPT/9773vUZlxKO55wfgwIED3HjjjRiGgWmaXHXVVVx66aWsXr2al156iUGDBkWu+0ceeYQf/OAH\nDeozd+7cyDOLy+3mggsuICMjA3E46rzcjH6OqPNMEbVdKYU/dNSDK0Byamp8t3EMcjI414YPH66+\n+OKL462GRqNpI4ZpUlYT4HC1H4c4SHRbJpNJfINOKftT6v4wRiMi+EMGWw9W8fX+Siq8wci209IT\n6dctlXO6pJLQzqGFDf22qugvttIStRo2Dh3UNRStbe2q4jHBMBV7SmvZbM9xGD7e09MTGXpmBmdn\np7Q5SY4/aBBSim5piXRKcnfYtB8azYnKli1byMnJOd5qnHSMHz+e+fPn079//7jb169fzxNPPMFL\nL71Ub9v06dOZO3cu/fr1O9Zqtpg5c+aQmprKPffcc7xVaRON9X9TtOf5iXe/jy2J9+xiKJOC/HyW\nvPYaffv2bXG7W7ds4ez+A+qUdc3K2l5RXtbkQZ2IWUA1Gs1JTjh0wQrJVJhATcCavNwwlDWdA0JI\nqXqGXXQIqEQZUPEorvazaV8F2w9XR5K5pCQ4GdAtnX7dUslI9rT3oUXpFl8rqffl6Go4rAMgBIhS\nlsdTjnoXRaSOJ/FEMw6dDqFPdgp9slOo9AX5V1EFmw5UcqDSx4GvD5KW6GJEz0xyTktv9XjKBLcT\nl6k4UOmjJmDQLT0B10k6P5ZGozl+7Ny5s9EH82HDhjFhwgQMw8DpPPoSMRAIMHXq1BPS+DuZaKj/\nm6K150fF8dCFv0ciguyV2Ltb9LoIbN68mSk//CFTp05tlfHXVrQHUKPRHDPiGXp1xm8pCJpmZCL3\nBJcDTxvD+pRSfFtay4a95eyvODpAvEdGEnlndKJnVvJ3NptkvZtPtHFoh5qGPYcnkmEYCJlsOVTF\nhr3llNse2LQEFwW9MhnYBkMQrAQ+TqeDMzKSSNIJYjSnKNoDqNG0Hw0Zeke3E9fI62i0B1Cj0Rx3\nVNjAM+MbetHhjiKCUopKf5AjVX4AUhNcbQrlM0zFjiPVbNhbTqk9X5/H6aD/aWnkdk8n8xh6+zqK\n6P6RyH/WF8vYVoTAykgTZRg6keNqFHpcDgaf0YlB3dPZcbiazwpLKa0NsnLbEdYWljHCNgRbExqa\nkuAiEDIpLKnhtPREMnRIqEaj0WiaSXQOgUgZ9u012rUXxclwi9EGoEajaTHxjL2jHqnoMWvxYzQD\nIZPDVT5q/CGSPK42eYAMU7HlQCVf7i2n2s46meJxMqhHJ3JP73TCTyKulLKziCo7g6jVpyoc/lm3\ndtT3un0mcjQ8VEQQsUJGHQJGeNABR52Gx8ModIjQr1sa53RNtQ3BMkprA6zYdoQNRRWcf052ZA7C\nluBxOXA5hAMVPnxBg65piafUdB0ajUajaZp4xl70emxituPu4juGaANQo9E0SnQYp6EURpxkLJah\n0XQ8hFKKCp81p59ThNTEptMvN4RhKrYerLSnGzAAyEh2M/TMDPp2TTthDAClFIZpL1Fj/CwEEXA5\nBKfDgcsJLocTcYDL4cCBNQ2CNBRroqzkOKZtRBqmiWlCyDQJmdZ6wAgbknVzijkdDpxiyxfBEWU8\nWp/Hrk/ChmDfrql8c7iaNbtKKKkJsHTjfnplJXP+2dl0TmmZx9bhENISnFT6QviDtXTPSDrhjX+N\nRqPRHBvihXGGHXqxjr0T42mhY2mRASgiTqWUcayU0Wg0x5/I3DJ1vHuC2Gmr6nj2WkAgZHK40kdt\n0CDR7Wy1gWaYim8OVbFuTxlVtsevc4qHgp6Z9M5OOa7hfyHTJGRYxp5lmglOAY/TSUqCE4/Lgdtp\neascIjgd0iGGarQBapiKQMjEHzLwh0z8QTNyzhFwiQO3S3A4JOIlPFYGoYjQv1saZ2ensKGogrV7\nSiksqeXb0m8594xOjOqdRUILjDgRIcXjxBc0KCypoUdmEske/Z5To9GcGtTxcEVNmRT+puoWNEzk\nnWPdKYui30WeaKH2DRl8qKP3r3oevlOYlt4Z94nIi8DzSqktx0IhjUbTscQafIZSdd6QhcMIW2sB\nxHr9UhJa90CulKKwpJZPdpVEpnLITHZT0KszfY6D4WcqRdCwDD5bQzwuB6kJLpLcDtwuJy6H4LI9\nbMeTeoZmwtGvplKEDEXINPGHTGr9IbxBE8M0UFjeunCIpVOOjUHocjoY3jOTnNPT+HR3KV/vr2RD\nUQU7jlRzQd8unN0ltUXyEt1OgobJntJaTu+USEbSd3/8p0aj0aio4RYKZSdYO/o91raLnkMuuqzJ\ndmK+NSQnPBZd7GiWcDKyo+XHzlBszMMXrePJbu3FmzuwObT0Sew54AbgbhH5Avh/wGKlVGUL5Wg0\nmuOIFTKoMNTR8Xvh38jo+efaStAwOVTZ9rF+hyp9rNlZwsFKK6tnpyQ3w3tmck7X1KOJQ0SifuyP\nvqaUuv/VuRm09jiVUjiwfkAj2TfFMpYEMAUCShE0QExlbYuqY62fGG9QLQNP8OAg2QOZyR6UUgQN\ny8CtDYSo8Yeo8VsGoVOEBLfjmHgIUzwuJvXvyrlndGLF1sMcqvLz7qaDnNMlhfF9u5DagpcHbqcD\nhwj7y30EQ4qsVM93NvurRqM59QiPD4/+tGJLjhLt0RL7vtKhOtr/mXWGhtQ1GsMvka2x6VHGIi2/\nB8aO4VOAxCSZ+64Qmycv4qGNKoybgTTqu6HgsC/UqvZbZAAqpeYAc0RkIjALeBx4QkSWYnkFl7dK\nC41Gc0yJTtoSst8Uhn80I+P32pkqb5BDVT5ow1i/Sl+Qz3aXsuNwNWB5dgr6dCa3RwbOdvKsNTUV\njlJ1jRuR+u0qrB9io56sxmWHb4wOsUJFnfantW59P5ZvUBvUK2wUuhykJLjokmYZ84GQSbU/RJUv\naIW5CiS4rHDe8BjCsBHcFpW7pCZwVX4P/rWvgjW7SthxpIZvy7yM7ZNFXvf0ZveH0x4XeKTGT8Aw\nOS1dJ4fRaDQnHuGkX+Hx3NEvZutF45xAxLxvjUv0VFCxKVii74ESde8I/8bHzdAZG9J5gvVJ+DEg\n1qirW95+tHYsY6tisZRSK4GVInI7cBVwO/B3EdkLLATmK6X2t0a2RqNpH0ylME2FQV3DJPyQfqx+\nNEOmSXGVnwpvsGmvn/1rLzGfIcPkyz1lrNtdimEqnA5hcM9M8nt1JiFqrjcV/YsanYk06tWZqvtf\no7++Rz1fBiAkupykJblIclvj9xwN3JRMFVbB0iF63croab0hDd/YTYVVzlHDMdiAcgJHjUOH4LIN\nQ5dDOtSL6HZa4xctgzCBQMikxh+i0hek1m8gtjHocDgQVJvDRR0iDOmRQZ/sFD765gi7S2pZ+c0R\ndhbX8P0BXZsdSiwipCe4qPaHKCqr5YyMJFxOnRxGo9EcP6INPkPVDd88Xt68Y0VjRmL4fmmGE6QJ\noNRRb6F9D4kNMz3eHD1fR5PkWWvNp47hVs+DKfXqhAuiy5wC3ZJa94K9rdfXcGAcMAAoA1YBtwA7\nROS6NsrWtBG/P0RFhY+DB6vYvbuUrduO8PXmw3y9+TBbtx2hsLCMgwerqKjwEQjo3D7fdZQd1hk0\nTHyGgc8wCZpWmYOwd6n9xqOZpqKmJkBpaS1FReXs3FnChk0HWPnJt3y1+RDF+6soPlRNRbkXvz+E\nEhCnA4fbgcPjxJngwulx4XQ7cbicOJwOxOFgT3ENr36yh893lmCYir7d0rh2VE9G9e6MGzACIQy/\ntZgBw1qCBmbIRIVMlGGiDIUyrcWOnaFe7ExUv1merSC1AQOPUzgtPZHe2SmclZVMZrKHRLezjpc0\n7AV02IvLIbgdgsfpIMHpIMnlINnlIMXtJM3tJN3jJMPjonOCi+xEN12T3HRLdNE10UV2gotMj5NO\nbiepLgdJTsHjOOr9U0BIgd9U1IZMKoMGZQGDI74Qh30hin1BygMhqoLWOQ+ZsZlG2x+HCIluJ1mp\nCfTKSqFXdgpZKQkYpsLrD+ENGgRNk6Bh4jdNAubRh5yWEAiEIGAwqlsaI7ql4nYIe0prefHTPaz5\n6gBF35ZTfKSaqio/wSZ+w1I8Tvwha1xgIGS24eg1JwuGYVJdHaCkpJZvi8rZvqOYzVsOs2nzIbZs\nOcz2HcUUFVVQWlpLbW0Q0zy2f1cnA06nkyFDhkSWuXPnxq1XXl7OM888U6ds9OjR7aJDPNnNYc6c\nOcybN69F+3i9XsaPH49hGBQVFbFkyRIAAoEA48aNIxAIEgqZBIMGPl+QmtoAVdV+/vjoE+Tk5HDt\ntTMJBU2UGb5P2+GSLdb+u8nR8FA4cuQQs264joED+jF65AjGjR3Df//3fxOwo08CIYNAyCRkmJj2\nfa621suECy7AMKzf/0OHDjFz5kzOOftsCoYPZ8zo0bz11luR9saOGQNY5+eC8eMJheqGT4ZCIS69\n9FK6dunCpk2bImMsDaUoKS3jiiuuICcnh9zcgXy8Zo09jAZChsGI4flMm/LDo95a4MjhQ8y6biY5\nfc9h9IgCxo8dw7v/sxS3nR8gvISfzxyR5Wi/1Fli+k8BNTXWb1j4OUwpR7MGvbfYAygiPbHCP28A\negHLgZuApUqpgIg4gXnAo8DLLZWvaRs1NQHKyrwcOlKD3xcEBIXC7XLicErkIdZUiopKH6GQiWBN\nIp2U7KZrdgqZmUmktDAFu+b4UCe0Ux0NNQgbfO19FwmFDCoqfBQX11JW7rO8bgocTqE2YOAXRaf0\nRFJSEkhIdJGY5CYhMf7PjIoYZZaMSm+AVd8cYU9JLWAleBnXtwvdM5Ks+kb7PnyFDCvpCUCyx0lW\nSiLJCS5cjo557xoOd3EIuBo4UZEEPfYNKGSfZ0NhGXpYxqGViKZuWI1LBJfD8hS6bSP1WIT6iggJ\nLicJqU46p3jwhUwqvUEqvUFMFB7bcxg0seYmjIyHlHrhTEopvLVByit8lBbX4vOHIm/Dk10ORqQn\nsqUmQGnQYG1xDUWVPnp7XDjs/ktMcpOVlUSnjCSS4rwVTfY48dsZQs/qnExilDdZc2oQDBlUlFu/\nYaVltXZ4nZ311ik4nQ4QUKbCrFEUG7XWb4+AOISszsl0yU4hLS0Bl55mpB5JSUls2LChyXphI+32\n22+PlK1Zs6ZddIgn+1ixYMECpk+fjtPpZMWKFXz99ddcccWVKBycf/4FvPjiIq6ccTWmSWQOVgH+\n39/+wtK336N79x4Eg0bk51scgsvlwOmUo+PbCXsMFY4Ouj91BNGhkUoprrx8OtddfwMvvmSZDnv2\n7OG9d96JRBGFXyBa9z/r3v3Xv/2NH142FRNBGSbTpk3jhutvYNGiRREZ77z9dqTN1R9/DIDH42Hi\nxIksWbKEmTNnRrx4t912G/379efef7+Pq6++mnfe/1969OgBwJ13/pLvX3QRr772OsFAgNra2oix\n/tSfnyJnQA6VVZW4Ivoqrpw+netvuIFFr7wSV59W9ZtSGIYiFDIJBAz+9a+DADidDlwuBwpHs2y7\nFl1JIvIhsBPL4HsJ6KOUukgp9ZpSKmArZgCvAN1aIlvTegzD5EhxDRs27ufLjQfYW1SByylkZCSR\nkZFIZkYSqakekpPcJCa6SEx0kZzkJi01gcxwncwkHCLsLapkw4YDbNh4gOLiGv3G8wRE2SEjfsPE\na5gEDJOQnbmzvb18YWprg+zaVcoXX+zjm29KqKkJkpGZRJfu6XTt2YmsXpn0HXwaQ4b1oPc52XQ9\nPY1OmUkkJLpQpsLvC1JZ7uVAUQXbtxxm0/p97N1VSm2Vj2DAYO3OYl797Fv2lNTidgqjz87iyvwz\nI8Zfe6GUwhs0qPaFUErRNS2B3tkp9MhMJj3J02HGX3MJexndDiHR6SDVbXkSsxJcdEty0zXRRecE\ny3uY4nLgscNCFRBUCq+hqAqalAYMDvtCHLG9hTUhg4BhtrunUERIcjvplp5Iny6pnJ6eiAjU+K32\ngMh8kgHT8g6GTEUwZFJaUsvmrw+z+etDHDpQhcslZGQk0ikjkfROiaSkeMhITWBU11RyOiXiAA4E\nDDb6gkiym04ZVlsH9lfx9aZDbN1ymLKy2nq/YQluKztrYUkNNf5gux6/5sSlpibAjp0lrF27j23f\nFFNdEyA9PTFyD0xPT/X9o7cAACAASURBVCAlxWPdIxNcJCW5SUnx0Ck9kYzMJDIykkhLTaCiwsfX\nWw7zxbp97NlThtenr6GmqKmpYfLkyQwePJi8vDyWLFnCr371K3bu3MmQIUO49957AUhNtbL9FhYW\nMmDAAGbNmkW/fv2YOXMmy5cvZ8yYMfTt25fPP/8cgKlTp5Kfn09ubi7z58+PtBdP9ssvv8yIESMY\nMmQIt956a8Rj9Lvf/Y5+/foxduxYtm3bFlf/a665hhkzZjBixAh69uzJe++9F9m2aNEiLrvsMlat\nWsVdd93FG2+8wdChQ9m6dTuXTP4hr722GLBeLrhdgssp3H3nzyks3M2Vl0/l2Wf/jNMpPPvsU4w+\nL5/zRg7jqT89ic8bYtu2HeQNHMiPZs1i6JDB7N27t06fXjblhwwfNoyhQwbz+muvRba9smgRY84b\nRUF+PrffdlvkWOf+/hFyB+YwYfw4rr9uJo8//hiFhYUMHTI4su/jjz/GQ//520blFBYWcu6gPG67\n9VaGDD6XH1xyMV6v1+rnl14if+hQhg8bxo9uvDGunJBhHA3MsX+eP/poJR6Ph5/cemtEl549e3L7\nz37GF2vXMnzoUPx+H7W1NeQPOZetm7/G6RBeW/wqP/zhFEwFHyxfgdvtZtYtP8YfsiJQepx5Frf/\n7GeRdtLT0iJhpz+87DJeWbTIerFqKn7729+Snt6JufPmMXrsWJ79y3xunDmTqooKqior+HjVKn58\n8y24HUJyYgLZnTNxirB/3z6Wvf8+N99yc53rZuVK65j+P3vnHSdXVbfx77n3zp26vaT3utmE9EIK\nhERaCCAgIB0EVJrY0BcVxVcRsL2AICCKhd4JCIrSpBhqCqRv2qZssn1mZ6fddt4/7sxk+26STQiQ\n5/PZz06599xzy/zOec7zK1//+tdbndPV11wDwE9+/GNuv+227Hc/+uEPueP22zt8BsFd6E+lLOJx\nk1TSwnEkihAUFPgpKPCTm+slEPD0eN1/bxXAGmAR8G/Z9cxhBTBsL9s+jL2E40jq6mJsrQxjGBbB\noE5hwb5PmHVdRdfdFfFkymLdhjp8Xo0hQ/IpKgy0Wo06jIOLjNJnpV3pMnVtDnQMWDxusmNHmPr6\nOIEcH6WD8vD4PKhe12WzLSzLIZUwSSZcA2WkLIxUe9c8TVOpq4mxcWeESssmllbiRpWGOHJ40T6X\niugMrtrnxvXl+T3k+T14NeWQyMK5P1CEQO8gWMSREjOtFrqDm0sIbQm2LUm2UFM1AR5FcV1YM66n\nvXBdVEWQ69fJ8XlIWg7hmEFTykIVLglThMCybGobEuzaGcW2bYJ+ndx8f5eJDoQQDM/xUezzsKIh\nRtR0eLsmyoSCAAODetaGpVIWmyoa0L0qgwblkZfvz9owN54TtjUmGJgPOfuYpOgwDn3EYgbbd0So\nq4+jqQq5ud59HssURRAM6gSD7sLrrt3NbN/ZRN8+IQYMyMV/iDxHsrLzSeT+QAy5ttttEokEkyZN\nyr6//vrr0TSN/v37Z4lTJBJh5syZrFq1qlO1cOPGjTzxxBPcf//9TJ8+nYcffpi33nqL5557jl/8\n4hc8++yz3H///RQWFpJIJJg+fTpnnHEGRUVF3HLLLa3aXrt2LY899hhvv/02Ho+HK6+8koceeojy\n8nIeffRRVqxYgWVZTJkyhalTp7bry8qVKzn11FN57LHHeOutt/j2t7/NSSedhGEYbN68mQEDBlFc\n0p/Jk6fys5tuYVx5uZsZ07FZtuxD2q4r3nbHnbz88r944cWXKCouZvnyZTz4wN949fU3kVKyYP48\n5h11FLm5+WzcWMHv776P+/54ZCvF+V8vvUT/fv1Z8tzz2WuaOdcnnnic1994E4/HwzVXX80jDz/M\nuHHjePyxx3n/gw+xLIuZM6YzecqUTu9jZ+2cf8EF7v2pqOCBBx7k7nvv5dxzvswzTz/NpEmTuPnm\nX/CfN96kuLiYhoaGbDuvvfEmmubh2muu5pGHHua8Cy5oFcu3dvUaJk+e3GFfpk2fzkknL+bGH99A\nIpHknHPPpXz8eAzDYMuWLQwdNhSA9WvdNlRFZF03HcfJBiFmjmelFwXLysfzwQcfZJXIG37841Zl\nLObNmc0bb74BwIoVKygpKeHSS7/CRytXMmXKFG67/XaCwSDf+ta3uOXWW4lGo636vWb16k7PCeCS\nr3yFL51xBtd+85s4jsNjjz3GO+++2247x5EYhu167AlQFaV1+td9xN7Osu4ClnVE/oQQIWCKlPIN\nKaUJVO57tw6jO0QiSTZubiCZMAmFdEKh3nXZ9HndVVDDsFm/oY5gwMOI4YXk5vp69TiH0Tm6JH0H\nmIynDIua+jixlI2/KMDQgXntSIFlOcRjhkvyEhbJpIll9iy2ygF2ODbb0qvnPiGY2i+X8uGFrgtW\nb52HZWNaDrqmUJrrI8fr+VxkgVSEwKuKluX+kFJiSTAd6cbnOe5714XUIZHm6QLQFYGuCnRFQdtP\nQphRBf35foosh3DCIBw3aW5KUbOrCdOwCQZ1VNWdPFvp7KJqesDu7HblelTmlOawqjHBjrjBysY4\njYbFuHy/W6rCq+FN27BNmxoI+D0MHppPKOReFU1VCAjB9sYE/fPl4VqBnzGYps32HRF2VjWh6yoF\n+b5eXfBR02TScSS1dTGqa2IMGpRL/765n2vX0I5cQDds2MB3vvMdvv/977N48WLmzZtHY2Njl+0M\nGzaMCRMmAFBeXs7ChQsRQjBhwgS2bt0KwB133JGN79q+fTsVFRUUFRW1a+uVV17hww8/ZPr06YBL\nUktLS2loaOC0004jEAgAcMopp7TbN5lMUltby09+8hMAxo0bl+377t3V5ObmEUuYIAQVGzcweswY\n121dAUVR0XWdaDRKTk5Op+e69L//ZfHJpxAMBgE4+ZRT+e/bb7PopJMYPHgw02fMJJVyCYCuqyiK\noHz8eL7/vev4wfX/w6KTTmLu3HkAvPbqqyxftozZs2a555pMUFpaQkNDA6d+8dTsuS5evLjL699Z\nOxkMHTaMiWmiP2XKFCort9LY2MgZZ5xBcXExEigoLOSRRx5h2bJlzGnRTklpSbeJXK695hr++/bb\n6LrO2++8ww9/dANzZs3C5/Py27RqVldXR15+fof7CyH45jeubtFGa2KVcaf16DrRpiZyc3PT7pyi\nw75ZlsWyZcu4/Y47mDlzJt+89lpuveUWZsycSWlJCVOnTuX111/v8pyuvuoq3k7359333mPo0KEU\nFhWxfPlyqqurmTR5cqvnV0qJYbjxo4oQvW5X9pYAvgYcCbzXwXdj0t8fDqo4gDBNm8rKMLurowSC\nOgX7ofj1BLquUqj7SSYtVn68m/79chk8OA+Pdvg2Hwi0jOkzDyLpc6TEcCSGLYmbNigCT76fjGmV\nUmIbNlbKIhEzqK6PYxgWXs/eK3V1SZM1kThJ23VbHRryMjToJRFJsXZVNUOGF5KT4+22nc4gpSRp\nOdi2Q9Cr0TfXh9+jfurVvv2FEAKPAI+SCU9PF4F3XLXQlO79d3ATzqQcCTgIyKqDejrZzb5eS11T\nyPd6aNgVZfe2MLYq8AY8qGprNVZKiZ3J5NoFGVSFYGJhgAKvyurGBNtiBhHDZkpRgEDaRmU8G5JJ\ni3VraunTJ0S/Ae4kXVUEQV2lKpzAkVAYOEwCPwtoaIizYWM9jiMpaKH8HggoiiAv14fjSHZsb6Km\nOsaokUXk5X1yi6U9UeoOJkaPHs2yZct48cUX+dGPfsTChQu58MILu9zH690zBiiKkn2vKAqWZfH6\n66/z8ssvs3TpUgKBAPPnzyeZTHbYlpSSiy66iJtvvrnV57e1cL/rDKtWrWLUqFH4fO79XLZsGUcc\nMZF4wsSWKslUEqEIGurqyMvNQ28zJqZSqey++4JAIIiiuM+Z40gSCQuPR2HUqNG88977/PMf/+DG\nH/+YYxYs4Ic/ugEpJedfcAE/v+kXrdrpzLVQ0zRXJcv0N30NO2sng1b3R1Wx0i6gGffKDLprJ4Oy\n8nE888zT2fe3/+531NXVMXvWTADq6+tpjjVjWibJZJJgMIjf729xzwVl5eXugkB6LLn9d3e6bcyc\n0SYTuMwKZ0Yqhe71YdsOVralPeEXmUQsAwcOZODAgcyc6fbnjC99iVtvvRXLsnj++ef5xz/+QTKZ\npKmpiQsuuIAHHniAceXlPP30nnO68667qKurY0Z6IQLg0ksv5a9/+Qu7q6u55JJLsp9blkMq5fbo\nQC0o7W2rXVnREBDfj74cRjeIRJIsX7GL2ro4BQV+fL3sJtcVfD6NwgI/NTXNrFixi2g0ddCO/VlH\n6+yde2L6FMjWV+tt8iLTMYRR06YunU0ybNjEbQcUgXQkZtIkGUnSXN1M0/YmIlVN7NoRobKqCdt2\n9pr8GY7Dx40xljXESNqSHI/KzJIQo3L9eFSF3DwfqqayYW0NO7aHse29y9ToSEnCsIgbNjlejaFF\nbmxfQNc+9+SvMyjCzVwaTMcWlqSzkuZ6VPyq6w4qAcORNFt7YgkbU24c4d5mHA2HE6z8aBeRcJJh\nA/IY3ieHHJ9G0rJJmVa2rUyWVSHcDthZooqbTKHNIQcHvcwuDeFXFSKmzVvVzdS1ic3y+TTy8r3U\n1Dazbk0Nzc2uDVMVQUjX2B1JUt982K59mmFaNhs31rN6TQ0+r0Z+nu+ghS4oihuzqqiCj1btprKy\nca9t2GcVVVVVBAIBzj//fK677jqWLVtGTk5OO5e5vUEkEqGgoIBAIMC6det45513st+1bXvhwoU8\n+eST1NTUANDQ0EBlZSVHHXUUzz77LIlEgmg0yvPPP9/uOCtXrmTbtm0kk0mam5u54cc/5rKvXUnS\nsCgsKsKxbYxUkm3bK+nbr1+rfevr6ykqKsLj6do1ePacObzw9+eJx+PEYjH+/vxzzE5nq2yJTKIi\ny3TYsmUbPp+fc887j2995zssX74cgAULFvD000+3O9d58+bx3JLnsueaccft06cPtTU11NfXk0ql\neDH9eWfttEXLRC5Hzz+Gp598ivr6eoSAxsYGFixYwDM9aOeYYxaQSib5wz33ZD+Lx/dQiquvvIKf\n3PhTvnzOOfzw+usBV2G0bZtkKgUCjlmQaePubIK5eCzWpqd7UF9fT1FxMV7d417b9F9mvmA77nws\nZTnkF5UwYOBAVq9Zi+1IXnnlFcrKyvjFzTezbft2Nm/ZwsOPPMIxCxbwwAMPZK9hMpnk7rvv7vCc\nAE477TReeuklPnj/fY4//nh3bpaySCat9P0+cN4E3c7ghBBHAfNbfHSZEOKENpv5gJOAj3uva4eR\ngeNIdlY1sXVrY9rd8+ARv5YQQpCX5yOZctXAYUMK6N8/5/Dkeh/hSIndojA7HLiYvoz7n2E7pBxX\n7Wu9AaQSBvGmFKqUOEbriYtpO9THUqQsB98+qGk1SZM14ThGOtX1iFwfQ4LedlkpdV1F0/zUVsdo\njhoMHV6Ar5u4GkdKkobtupwEPeT7dTyH67ztE4QQaIJ0FjP3GtppZdB0JCnHwZZ7FMIoDooAr+K6\ni3rVjjONOo5k584I27ZFyMnxZuP0VCEoCHjJ8XmIJEyakxaaKvCoaqs+ZSCldFdppft5plSGEJCn\na8zrE2JFQ5yapMV7dTHG5/sZHPK2aisvz0cqZbFuTQ2DhuRTWhpCUQQhr0p1NIUjoTikH7ZrnzLE\nYgZr19diGjaFhf5P7P75vBq6R2XHzibCTUlGjyo+ZGIDDwbaxgCecMIJHHPMMVx33XWuy53Hw913\n301RURFz5sxh/PjxnHjiifzqV7/aq+OccMIJ3HPPPZSVlTFmzBhmpV0MgQ7b/vnPf85xxx2H4zh4\nPB7uuusuZs2axdlnn83EiRMpLS3Nuoi2xMqVKznttNOYMXMmRsrg2m9dx+wj52Tj+hYs/AJLl77N\n9Okzqa+vZ+b0Kdzxu7uYOetI3nzjPxx/wondnsukSZM57/wLOObouQBcePElTJw4icrKre22FQJU\nTbBm9WrOOO16VFXBo3u47Y47SVkOQ0eN4fof3ciJJ5yA4zhoHg83//r/mDJtBid98XQmT55McXEJ\n4ydOIZayCack37jueo6cNYu+/fozZMRo4oZN6ZCRXPeDH3NCuh2Px8Mvf3MbRX0HkjBtl6hYDkII\nMgJi+fhyvn/99Rz3hQWoisrESZP44/33c+NP/5fFJ56Ybee2O+5gyJAhbc5L8PhTT/O9736H3/zm\n15QUFxMIBrnpFzfz4AMP4PF4+PI552I7NvPnzuW1117jmAUL+MKxx/L2W2+xcOEXEMDjTz3ltvHr\n1m10hP+8/jonntj+/mRr8rUae+C3/3c7F114IYaRYtiw4dxz3x9JmXa2ZqGTzmzjLmS6RPLpZ57h\n29/+Nr/+1a8oKSkhGAxyc4vSKLquM3/+fPLz8xFCIZFwF0IPhhu56G71VghxHfC99NtCoAmw2mxm\nAOuA66SUy3q7k91h2rRp8oMPPjjYhz0oMC03fqW2LnbAXVn2Bo4jaWxMUFoaYsTwws91zMPeIJPB\nM5PWP1Mv5kBMVjJunSnbnbi35XyaAK+qkIwZbFpfh1dXO0ydH0tZ1MdSqELsteuv5UjWRRJUJQwA\nCnSVcfkBgj1oJx43sG2H4SMKyc1r7+qcJX7Cdd3L83uy6Zeh9Xpfy9eiRcHdjorTdmYRO9xOtvhO\ntC7k29m+n3ZiYafJn+E4pGzZ7np5MvGHqhs/aFkOmzY10NCY6FaRSVk24bhJ0rTRNcUNdu8Abcct\nNVM02P2WdZEkm9Nq3tCQTlmevx0xtW2HaFOKouIgg4fko6oKUkqaUzZFIZ2SkPdTf68+L6iri7G+\noh6ft2Mb9kmhudnAcSRlY0sOuEvo2rVrKSsrO6DH+LzBkZL5R8/nd3f9nqFDR+I4ElVtHSO2YsVy\n7rrzDu7745/b7X/eOWdz4//+nFGjRu1XP6R04+ad9NzBkdJNcIJsN673FL+95SaCwSBfu+ab+9W3\nlsi4TGY8lzKKWub13k9fOxigM0gPwMuXLeOO22/nz3/961739+wzv8TPb/oFo0aP3ut9s91oWQBe\nth4PRYvQhUzZp5YF7cFNUjNt6lQeeuhRBg0ehqK0Kf/Rsj3Z5r2Aig3rcdTiVtsePXv8jmhT3aDu\n+t6tlCSl/BVuTT+EEFuA06SU3Rd5OYz9RjJpsXZdDcmkTVFhYK/3dxxJTW2M3bujNIaTJOImlu2g\naQp+v4fCAj99+4YoKQ7uNbFUFEFRUYCGhjiJhEnZ2BK8B9El9dOETC23TA23TFyfegAml1ZapUnZ\n7VU+BdBVgTet1AigqirK1q2N5OZ68bSpiWY7knDcIJqy2hVCzyCRMKnZ3Uy4MUFzNIVpufWMdF1F\n+jTqNPAU+NG9GqNyfQwO9nxSHQjomIbNhvV1DB6ST0mpmyLckZKk6RaCLQh5yPN70VWRrfPeMotX\n5i97DbJLe3s+25+7INu8cb1O9nzqZL+S2Vr0mRFDZPorQbYY57L/D1HyoSqCgCIIoGSV5ZTtFns3\n0rGEpuW6jAqguTGB4Tg9ylDs1VRKcxQSpk1DzCBlmsQiKepqY0SbUiQSJo4tUTUFn08jv8BPYVGA\nwqK04pOOFxyT5yfkUfi4McHWZoOY5TC5MJiOf0yfh6qQl++jsSFOKmUxfEQhuq4R8qrUNxtIJKWh\n3k0cchi9CyklO3c2saWykbxc3z4tRMZiBjurmqirjxONpjBNtzyKz6uRk+OlpCTIgP65+DqpZ9oV\nQiHdrdO1ajejRxbTp09or9s4jIOPrHeOI9m0eRODBw9LqzLtbcGkSZM56ii3ELzawnPBMAxOOvlk\nRo4chWk6WOm4dFclSsf2K269P82jpOOgM2VySC8Uy2wR8q54nsAd27Q0edgTu7Ynhi1DOjJnENRV\ngl6NkhYeErLFqmamLl42L0G6Xm/2sywRbf/a6oSVtiSFqiLQREu3yxZn05HJbbni2gKTp0zh6HQh\n+JbXvzsYhsHJp5y6X+QPWqiFLd+kkRnzbUfS0R1cu3YtXzrtVBYvPoX+A4dmJyxOixjFlu2KDi6N\nEGAkLKp2NVFXF6e52SCZ6CQYtu2+vV0H6pPAZ1EBjMUMVq2pQRHsVVH23bujfLCsitVrathQUUeq\ngxT8beHzaYweVcT4cX2YNrU/paV7N0hFm1MoQlA+rg+BwKGz+vpJIzuItPiN9bba13ICnrQdrDY/\n5z1qjGtsM8d2HEllZZiqqia3BmSbBYCUZVPfnMJyJF5tj8unYdhUrKtl7ZpqtmxsoK42Rk9QXBpk\n1JhixpSVMmpMSbuJWld2yLYdotEk/QfkU1gSwJFukfiikBc97ep5qJOmlsica4awAtladQ57SGQr\nNbEFSTyUz3WP6uyQtBxkSxcaR2IlLcyEiRk3kZ1MEqqqmli+fBer11SzaVMDhtEDG+bXGDy0gFFj\niimf0JfCogBCCCKGxbKGGKYjCWkK04tDBDogCc3NBqqiMGpMET6fJ60EWhQGdUpzDpPAQxGOI9my\ntbFTG9YZkimLj1dVs2LFLtZtqKO6urnbfYSA/v1yGVdWwsQj+jK+vM9ekU3LcohEkgwdWsDAAbkH\n5Hk6rADuPzJjtp22TVJKUkkrTdZ6fs9M0yERN0kmLQzD7lGctFAEmkdF9apoXg2htj6egrtorIg9\nSpsiRDpsxC3vI9LZj3ujnG12fGrR9a4eW9lSmUxnLrcdueeayj2hLm0hcK+vlo5587SMx9v/Uzmg\n6AmF6uy6SQmmYWOads9i/TLtSEky4cYJbtlSwbe/936rzVatvH6rkYwM67a5HriALgLeklI2pV93\nCSnli91t09v4rBHAaDTFqtXVeL1aj1YdkymLt9+u5PU3trJla+vUygX5Pvr3z6Ww0E8wqKOpCpZl\nE4uZ1DfE2VkVJRJpvVgwYngBxxw9nNlHDs7G6nSHeMItAVBeXkpOaN8zOH7a0bZ0w4Fw8ZTpGm/J\n9ETbbmmgwSV8ioKuig5VRtt22LylkdraWLvU6FJKoimLxriBpijZWLqd2yMsfXsrK5dVtarrp2kK\npX1DFBYFyMnx4qiCupRFMmVhxEzsphSR2hh2i076/BpTpg9kzlHDKCoOkhlhRHowc1/vOR8Aw3Ko\nb4gzbGA+k8pL8euffbW5JQnMDq7sURP3bNiaHB4KZCXSlGTN6hpyCvyE8nxofg2thYeAlGkyGHfJ\nYDJh8vbblfznja1s2xZu1VZBgZ+i0iChHC+hUMaGOSQSJuHGBNW7m2luk5Rq8NB85hw1jPET+5KS\nsLIxRrPl4FUEM4pD5HZg1xIJE9uSjB5TTCCoZ0lgQUCnT+5hEngowbYdKjbWU1cf73F5hx07I7zy\n6mbefLuSZHJPFIuuq/Trl0OfkiC5uT683nQt3KRFOJKkpiZG1a6mVjYsFNSZPXswJxw3itKSYI/6\nnAmbGDgwl6FDCnr9eTpMAPcdMp1kKkP8lDShSiUthCJ6RKgcBxJxk+bmVLtFK1VV0DwKmqogFJHO\nlCmxbemqgpbTbkFM01UCIZ2A39Nj90nHcccGn0/bp3ChluNNBr31mGbGMJcMkibaDpYj3X53sI/A\n9TjRFAVNTauG2cR4vdOvnva9K3TUl+66JyUYhoVtSRS1+/OR0q0CEGs2iMXM7KLC7l1buf7Hyyjt\n487DQjle7r/3wp2J5vqB3XShRwTQAWZJKd9Lv5ZdnJuUUnbJGNIJZG7HLRfxRynlLR1scxZwY/pY\nK6WU53bV5meJAIbDCVavrSXg17p1qUylLF55dTN//8d6mprcCVDA72HypH5MntSPsWNKyM/vPu6g\nsTHBmrW1rPhoF8tX7MoOjvn5Pk45aSzzjx7WIyKYTLm14CaU992vNP6fRmQMW8vSDb05Gc+QvoTt\nkr6WKVoUXNLnUxX0blL027bDpk311Ncn2pUQsRyHhmaThGXhS6t+2yvDvPzPDaxbU5PdbuDgPMon\n9GXUmGL6D8zLxk5tbU6xMZpEAkFNoTzPT56uYVk2O7dHqFhfx6qPdrO7ys3OJgSMP6IvC74wgiFD\nCzrurwMp00LXVAqCHhJRgz59QowYXnTIxMN+EmilIrYgh06aNGZUQ1oQ6YNFYMLhBGvX1hAMelvZ\nDaEKPH4PnoAHzedmZk0kTP6xZA3PPbGKSNhdiAoGPUya1J+JR/Rl9Ohi8vJ8OFISS1k0xA20DmJR\nI+EEmyrqWbu6hrWrqzHTE7CCQj+zjxrKlJmDWBNPETZsNAFTi4IUd5CYI5WySCVtxpSVEMyQQMOm\nwO85TAIPEViWQ8XGOhobkz0a3zZU1PH4k6tYt74u+9mI4QVMnTKA8eWlDB6U362aZxg2Wysb+XhV\nNe9/sJMdO5sA14bNnD6QkxaNYVgnNqwlpJQ0hpP0LQ0xfHhhr9qwwwRw7yFbuHrCnnHbtiXJpNUu\n3q8jOA5Em1JEm1NZEicUQcDvwZeexymKcF3j08dqHSeWjmF23FJLRsoimTCzpEPTFHJyvASCeo+J\nqJSyxySwI9KXuRa9i85dOyVpMpy+PlaaGNqdeIlk3F01VaQXqnuPFHZKiTpyv9yPY6RSVjamtDuk\nkjbhSKLV4ruuq/gDHqqqttBk5LVSEE9cMLnXCOAQYJeU0ki/7hJSysou2lKBDcCxwA7gfeAcKeWa\nFtuMAh4HFkgpG4UQpVLKmg4bTOOzQgAbwwnWrKkhGNS7JFyOI3nltc08s2RNlvgNG1bACceOYvq0\nAT1W7TpCKmXx7vs7eOnfG6msdFfiCwr8nP7FcRw9b2i3BiWVsognTCaU9/nMF43PDh4tArF7M4un\nlC6hTFqSZFvSJ8CnKPjUntdls22Hiop6Ghvbk7+EYaVT4At0j0pdbYznn16dJX4eXWXmkYOZOWcI\npW3iWBKWzepwnIb0pHtQQGdUrg9NUbLuKbAnW+POHRHeeG0Lyz7cmV1VnzZ9ACedWpZNlCAlJNMx\nZIVBnaBXc2PmvAEMdwAAIABJREFUpKSxMUlpaZCRIz7fJLAzZJTDjohhhhQeKLWwsTHOunV1hEJ6\nu5jSVn0EXn9zC888uTpbUmbkmGJOPXMCU6YNQJgORtxA2q3HJ9N2aIgZJE2702y0Rspi2fs7efP1\nzVkX5bx8H4u+OA45OIfalI0AjigI0D+gZ5/LDA6TwEMXluWwfkMdkUj35G/37iiPPbGK9z/cCbiq\nyJzZg/nCMSMYNChvv/qxtbKRf75UwdJ3t2dt2Lw5Q/jyWRO6Tfbi2rAEffvk9CoJPEwAe449pZdc\nu6i0mNz3lPxJCbFmg0gkmXXh13WVUMiLP+ABgVtfNeP+2GJftUW2Za0D4uI4EI8ZRKMpLMsd+VVV\nIb/Ah9/v6REp7Y4EHki1r0WLexXP1xZOWim0HAerBUF0OuAtWVKoCDRVcd1Jle7vYYe9brNPb16W\nvSF/pukQDidJJtySRkIRBIN6miO4hG9jxQYiRmt71msEsDchhDgSuFFKeXz6/fUAUsqbW2zzS2CD\nlPKPPW33s0AAm5qSfLyqulvyt2NnhD/9+UMqNjYALvE7/dRxTJrYt9fdDD9cVsXTz65h2/YIAGPH\nFHPZJVPp2zeny30zJPCI8Z89JbCzhC4dJUjZ1/YtCcl0TF/L+a8qwKcq+NLZFffmfnem/DlSEk4Y\nNCUsvJoCEt54dTMvv7QBy3TQdZUj5w3lqGOGE8rxtotlqEmarIkkMB2JrggmFATo4+t+gAJoiiR5\n4/UtvPH6FizLwetVOfaEURw5byhSCPL8HnL9nnZurBkS2KdP8HOvBPYUWVKIu4DUlhS2DC7fVzsS\nTi9g5eS0TyjUEtu2hfnrX5exeYvrrj5yZBGnnzmeKbMGoQd0RPp+tnUTzayuO1ISTVqEE63dlNvC\ncSTrVlfz739uoGqHq9gMH1XEEcePJBp01b8xuT4Gh7yo7EmWAHtI4NiyksPuoIcIbNthQ0UdDY0J\nCvI7TyhkWQ5PPbuaF/+xAduWeHWVRSeO5sQTRhPo5Qyh9fVx/vmvCv79yiYsy8Hv1zjjtHKOXTii\ny5ieliRwxIjCXnmeDhPAnsGREst2SJe8bTVW9ZT8GSmb+oY4lumSM11Xyc/3o3vVTpU+TbiLtZ69\nyIYppeua3hRJYZruAmsm+ZXH07Uc2BEJPDikr5NGe0j6ukNmYdNyJJbtkkPT7pgUCsiSwYxaqLW5\n+C27eqCtek/Jn5Ru3e9oWuARQpCT6yUnx9tOBT6gBFAIsVfpJ6WUnRaDF0J8CThBSnlZ+v0FwEwp\n5dUttnkWVyWcg+smeqOU8p9dHfPTTgCjzSk+XlVNwO/plPzZtsOS59ex5Pm12LYkP9/HhedNYvq0\nAQd0MuI4knfe286DD6+kqSmFx6NwxmnlLDphdJcT72TKIpW0mDC+L6FQz5PYHKpoq/b1toJiOZJE\nB6RPIU36NIFH9EzpawvHkWzcVE99XbwV+TNsm/pmA8N28Gkqu3Y28fhDK9iVdtGcMn0Ai04pI5Ql\n8QJwA82lI1kfTbAt5pZ3KPFqHFEYwLcP9ffq62IseWYNqz6qBmDI0AKu+voM+nex0JCZQPXrl8vw\nYb0fT/N5QFtSaLd4tjPeoz19xqPRFKtW7SYU6pz8WZbDkiVrePEfG9wMrgV+zjt3IlOm9N9zDIHr\nJhr04PF7sp9LKbESFkbMwEyYIDtPVNQWjiN5b+k2XnphHfGYiaYpzDphFPq4YoQQDA95GZ4u+dCy\ntqBhWBgpmzFlpQQCLRLDhPTD2UEPMhxHuuSvIdGl8rd9R4S7732PbdsjCAFHzRvKl04rb+fx0NvY\nXd3MAw+tYOVHuwEYPaqIK78+k+KizqdPGXfQAf1zeiUm8DAB7BqZOD/Lkemsma2/z8T8dRWPJSU0\nNaVoSudN0DQ3k7Du09wMyE7r5F2a4o7b2j6VQGh93JZqoxCQn+8nGNK7JHAZEuhNk8ADSvwOIOnr\nCbLuo3YLxbAbUuhpQQoPtDnPxvzZXZM/w7BpqE9kCX8opJOb5+t0nwNNADNxfz1CVzGAPSSAfwdM\n4CxgIPAGMEFKGW7T1leBrwIMHjx4amVlp56nhzTicZOPPt6F7tXwdRLzFw4nufPud7IxDAvmD+fs\nM8fvVXbQ/UW0OcXDj3zEm2+713l8eSlXfX1mlwpfMmlhmDYTJ/Q9pGoz9RRt1T6RUUp6yVI4Mk36\nrHTsYBoCl/T598K9szNIKdmypZHd1c3ZNPyZiWxD3EgbQZX3lm5jyZOrsCyHwqIAp501nlFjSoA9\nGccyfYuaNssb3KQaCjA2z8fQ/aiZJiUkTZuK9XU8+/jHhMNJ/H6Nr1w0lSNndV7KRkpJQ0OCwYPz\nGDK4+/ibw+gemWfeTquEmQE0qw7S/vmPxQxWrarG5+s8brmxMcHd97xLRUU9QsDCBSM4/fTyLu2C\nEAJPwCWDmZhBcLOJmnETI2aQipuE4wbNKQtvJ6VKMojHDF58bi3vv7MdgGFlxQz8wgj0gIchQS+j\ncrytiKiKwEhZOLbD2LJSvD4tmySp6DAJPGiQUrJpU4Nrwwo7JnJSSv75rwoee8K1YaUlQb52+XTG\njC4+qP1cvmIXf/7bchobEwQCHi6/dBrTpw7ocp+GhgSDh+QzZFD+fh3/MAHsGC3dPaE98QN3gSGZ\ntNxEZJ2sYVqWQ11dPBtfHMrx4s/RMSWtiIYqBPpeKn09hW1LwuEk8fTCqz/gobCw4wy4mS5lEqzs\na2KYLvEJk75Wh+3gkBKwbCdLDE3H6TCuUNA62Ywn7UbaW5dL4qrGtu10SuSkdBdSM7HwmqZQWBTI\nJqXqDAeaAF7M3hHAv3bRVk9cQO8B3pVS/jn9/hXgf6SU73fQJADTJpTLdx77c0+7eMggaTh8vLEZ\nVQV/Jzd5w7Y4dz2xk3CzRV5I5YrTB1A2rGdZxw4EPtrYzB+eqSIatynK07j6zIEMH9D56mo86daF\nGz8yhLcbl4VDBRKwFQ1b03EUBeFIhHR6xT1AAoY3RDKQi+ENZg2ocGz0ZDO+RBSPEe81V4Ttu+Ls\n2J0gP89VUywHwibELfCqYFsOS/65gw9Xui7F0yYVcsqx/fFqoEiJaPHTlxIq8bKeAA6CIDYTaSZP\ndJ+mvzO4JSwEOZok3yNJJC3+9Pwulq1zU7MfMzWf80/si9aJ0XSkpDFiMWyAnwElny1340MBEpBC\nwVEUHEXDUTRkWiIU0iGVtFhd0YSmCXyd2LC1m6L84YlKojGLvByNr501lNFD967UjPBoeIsL0YsL\n8eTssX+OYZKqrSdcVU91OImmQHdm5uO1YZ56YTvJpE0w5GHc6WXk9stloGIyVkkhRFoVTeekNZIG\nmm0xelgQ3aMgJTTbUOiBEl0e1Gx0n0ds25Vge02KglytQ8JtmA73P7+LpR+7br7zp+RzzvF98Omf\nzHgTjVv8cckuVmxwbdixMwo45/g+qJ3MJh0paWyyGDHQT7+ifbdhGyydsv0sOP5Zg5uR2/2f8Who\nCyklyZTT5eJuyrCpbzRxpKveBPO8oGut1D4dBx3JwXjq4kmbxoiBlKCqgqJ8HT1t+CS0I2YZ1dCr\nq/tnrxQFoajQtt6eYyNtB5x9nwvsG9qeTHrO0gVjkbjzDssBUwos6dZd7GgXReDGagqJJ/26Bzlb\n2sEwHSyrc+VPSkljxHTny0AooJGX07G9a4tNmzfSuC3S6rPTLvpSbaSprrS7fQ92DKCG6965ENiJ\nmwTmXCnl6hbbnICbGOYiIUQxsByYJKWs76zdqePL5HsvLjmwne9lmKbDqo0RbEsSDHS8av7quzU8\nsKQS25GMGZbDVeeOID/nk3enbIgY/O7BCjZtj6GpgktOH8q8qSWdbh+NmXh1hfKReftUqPdgwUFg\nKyq24hp2pRdJn6V6SHr8JD1+ZGaJUUp0K4XPTOA1k73uf767JsHm7VHyc3UURZAwbeqSroypq4Lm\nqMFfHlxH1a4YmiY4Y/EQpk/qeMU8JeFjw0Ot4xr+QarFWI9FB3VxewQpIWm7BrXIJ/C1MIxSSl5/\nr5YHn6/EtCTjR+Vy1bkjCfo7/p04jqShyWDssBxKCj/biYc+abguowJHKCQsyaqKKBLp3hsp2z3D\nr769i4eXbEZKKBuZx1fPG03ufrqEK14PekEu3sJcVN+eCbMZS1C3q5GG6ghaq5RJ7dEYTvHoExVU\nbm9G0xTGLR5NyZhi+mkO43Sn1cqvRBCLm3h1ldFDg+hKWkW3oNgrKPbtn0p/GJ1jV02CTdubKUjb\nsLZoiBjc8UAFm3fE8OoKXz1rONPHF34CPW0NKSX//m81j764HcuWHDE6j6vOHYnf11mIhyQcNSgb\nkUtR/r6RwPWRJGX7WdT6swKJq8ql86d0quRICcl0ZsWO1TFJc8wiHHEVN49XxZfnyzaoAXqaHBxs\nWJZDfWMK03TJa2GBr03ZsNZze8cBRXFJ4F5NNoRACMXduaWdk9Ilfk4mkOBgoAPCJ/e83le4Xi97\niKElJabTcYsClwRqihsuoAlQFTqdC5mWg2lmlL/2G7W/j178PSj/lsGmTRU0VhutPjv9yyfVhyO1\n3bo/HNTZuJTSAq4GXgLWAo9LKVcLIf5XCHFKerOXgHohxBrgNeC6rsjfpxG2LVm/NYphOh2SPykl\nT/97B395Ziu2IzlxXl++f9mYQ4L8ARTm6fzga2UsnFWKZUvue2ILz79e1Wmx05ygh0TKZsPWaDZb\n1qECCVhCIaXqpDQvtqIhpIPaC+TPFgoxb5CGUAmNoWIS3iBSUVBtk1CiiaJoDfnxRnwHgPw1hJNs\n3hYlL0dHAnUph+qka7R8CjTUNHP3fR9TtStGUYGXb1xW1in5q7UV3kp6qXVUPEgm6wbj9X0nf6YN\ncVuS64F+wdbkD9xV2GNmlnL9V8vIDWmsqmjiZ3evoaY+2WF7iiLID3nYsDVKJGruW6cOo0cQgIIE\ny2TrpkYUI0meDopjAQJHpP8kPPniVh561iV/Jy0cyLcvL99v8gfgpEySu+uJrNlCZN1WkrWNOJaN\nJ+in38j+jDtyDH1GDyRYEOp0olOQ7+XyS8YxbUoJluXw0bPr2P7uDqpMwccphZZmSiAJBTSSCYtN\nOxIkhAdb1Qh6BPUpSX3q0LJpnxXUh1Ndkr9tVXFuvHM1m3fEKC7Q+fGV4w4J8geuDTtuTl+u/+pY\ncoIaH22I8PN71lAfTnW4vaoK8kIe1m2OEo19um2YFggyecbM7N8tv/pVh9uFw2F+f++9rT6bM3/+\nfh/fAWoaGrnrnnvTxdI73zZluB5Kmefr5ptv4o7f3e5+KSWNYSNL/vSgji/fj1AEupDkCElQkVjJ\nBIsWHY9t2+zcuZOnnn4SAMMwOPHE47Asq8Nj33PP75k+YwqXXf6VfTpPTVMoLfYTCGhICfUNSZpj\nJpllurZQFHfuaXTGbFpBIBQVoXkQmsdV/IRwSZ9tI00TaZlIZ68ixLpFdXU1F110EWVlZcyePZuj\njz6aJUueY49+KxEy8+cgpCSRiPOF447Ftu1sGxdefDFjx43jyNmzOXr+fJYs2SMQzT/mGMC9PwuP\nPRbLstLxmuBTwScsLj77dCaNGszujWvI8wiCmsCrwHXXfJ1Jo4cw/8hpJG1JzJKs3bKdY48/gQmT\npnDElKn86vY7abYgYUPClNx2+++YPWcGs46cwVcuvZhk0p3H1NRUc8lXLmbipPF88dSFnHfuIt5/\n9+W9In/7i564gL4HXCylXCOEeJ9u7raUckYv9q9H+DQpgFJKNm5rprYhRUFu+8mQbUv+8uxW/vN+\nLULAJacNZf6MbpXcHh3XtluUKxCkM13tH/X419u7eejv25ASjpvdh3MXD+7Uz7yhyaBfsY9hA4Of\n+Ip5e7WvtbvjvkIChqaT1AOkNF8rF0+fmcBnJPA4HQ8IvYVozGTV+jCBkAcHQX3SRto2AdWdvFdu\nb+ZPD28knrAY1D/AV84dRU6ofSyWLWGDpbHVcg1SoWJzhG7i7+TW2bZ0Y8haxEqqrZQ9V/XzKK5y\novfAl6K2IcVv/7qBndUJckMa379sLIP6dpxYwTAd4imLiaPzCXSiFh7G/kNKScXWZurC7W2YBAwb\n7n9qC0uX1aIocOGXRjF3eul+L3JkbFhmyBIK6TTfwlW180PohXl4cvfYF8uwaKoNE6kOYyTaT76l\nlLz+ZhUvvezGBQ6e2o+RC4dTokmO8Drt3H2amgxKSvz075/jJsqRkoRh0scHxd5D17vh04ZozOSj\n9RFyg1qHXiMVlVF+8+cNxJM2Y4flcM35I8kJ7n+cuZ3OJpixYUobG7YvqK5P8tu/bGBXbZL8HA/f\nu2wMA/t0bMNShk3KcDhiTH6namFnOFQUwJyiYqL1dd1ut3VrJSeffjofL/uwV47bUvXbtq2S0884\ng2VdJAdMGU67hBw333wTwVCIa67+BvVhg2TCHat9eT50v4YuJF7Rel3pvvvuxbIsrrjiKh5++CHW\nrV/H//70ZwDccssvGD58BGeddXa6k3uSxEyfMYUlzzzPgIED6Ikk546tEkVRaB2ZLYlGTZqiLlEN\nhTzkdTC3zMCyJR5N6TiLqBAIVUW0DYR0HKRjd143oRcgpWT+/Pmcf/4FXH755QBUVlbywgt/56or\nrqQz6nHPPfdg2TZXX3WV28Yxx3D+eeftaWPbNl544QWuvOKKdvv+/KabGDFiBOd8+cvZz6648kpy\nc3M55ZRTuPqaa3h+yRIGDnTD6d586y2CwSCXXnY5S9/7AEtCVVUVVbt3M+6IyTRHo5y0YC73PfAo\no8eWsbuqijMWfYFXln5IwO/niksuYOFxx3HOOeex6NgFnLT4TM4++yK8XpVYczUv/fNFvva19v3s\nCm0VQNuWnHne4l5TAFcDiRavu/s7jC6wozpOTV2K/Jz2g5VlOdz50Eb+834tHk1w7QWj9on8SSlJ\nJG0amwzCUYPGJoOmZgvTcpDS/Q2blkNTs5XdJhw1SKTsTlW8znDcnL5cec4INFXwr/9Wc89jm7J1\nkdqiIMdDVW2CqppEh98faOxR+zwdqH37Z9gyal99TgmRYBEpjxsX6TWT5MUaKI7WkJOMHjDy58Ys\nCRKGZM2mJnRdkDAs6ppTeB2LkCpRkFRsbuKev24gnrAYOzKXr180pkPy1+wIlqZ0tloaAslozWRG\nC/JnWQ6xmEmkySQSNYg0mSRTNraTCbx2XWsiTQaRJoO6RoO6qElQOPQN9Iz8AZQUernhijLKR+bS\n1Gzxiz+sZevOWIfb6h4Fr6aydlOTu8p5GAcE23fFqW3seAHLshzufGA9S5fV4tUVvnnRGI6aVgRC\nINPqYE9+aa4NswhHUuk/g2izmbZh7kTINB2aoiaNkRThcIqarXXUrt5K+OONxHfWYCaSaLpG4YBi\nhk0ZyeAJw8gtzc+WmYC02nzUAM49axSqKtj24S42vLSRWkuwIqnQ1pTl5HiorklQVxdHxY2r0XUP\nVYZGjSHoHafxzzeSKZu1m5oI+tUOyd+qigi3/nE98aTNtPICrrt0zD6RP3cMNGmMGISb3HEykbKz\nSSJsR5JIpcfR9PfRmIll751t6VPk44YrxjF2WA7hqMnNf1jHtqqOk6V7dRVNE6zdHMH8DNmwWCzG\n4i+exqTpM5gwZSqPPfEE19/wIzZt3szkGTO57vrrAZc8gksOy46YyCWXXc6Y8RM4/6KLefmVV5k7\n/xhGl4/nvffdlBCnnXkm046czfjJU7j7vj9ipUs73HDDDWzevJkZM2dy/Q9+AMDDjzzC3HnzmDFz\nJldceRWG4ZZ7+NWvf8mUqZM4/oRjqdhYge1AdUPKJX9CECz0891rLuUbl17AiQuPZsL4Ml56aU9i\n+sefeJxFixazdOl/+cEPr2fJkmeZO/dItmzZzKJFi3ns8cewbQfbdtJZOeFb37qWrVu3csaZp/O7\nO+/Eth3u+N0dzJw1nVmzpvP7398JuARo6rTJfO1rlzPryOls37EDmVbDYrFmzjrrdObMmcWxx83m\nP/95AYDmZpP7//wgCxYczdy5R3LtN6/BSqtjv/71L5k5YzLHHbeQCy+8kNtv+z+2batk2rSpKB4P\nisfDbf/3f/zspz8Fx+Hhv/2NOTNnMH3qVK668ipMy8aRsGVrJZMmTeKKK65kypQpnLR4MfF4Ainh\nwQcfYvr06cyYMYOvfMVVNx955BHmzp3LzJkzufrqq7Nq3R4IXn/9dXRd5/LLL8uqfEMHD+KqK67g\ngw/eZ9qMGSSTSWKxGJOnTmX1apduPPrYYyxevBiA115/HY+uZ8kfwJDBg1uRv6KSPeFKp5x8Mo8+\n+mj2/c9vuom8vDxuveUW5syezd2//z0XXnwxkYgbYzdv7lwKCwsRwlULQxqMHtyf+TOmUOITDC7O\npWzMGMI1VXikRAUsyyKZTGBYFrFEnOI+/fjXy68hhMbZZ1+E5tPQ8/0UDhrKuZdfSbMjuPHnP+f2\n399FUrrhNz/53xu58+67MCXZmEVHpuv8SqhrMqlrMmiMmsRTNqKHwZjdLpNLKS9p8frinjR6GB2j\ntiFJ5c44Bbl6OwXMshzufHgjy9aECfpVvn3xaEYN6breXlskUnbWnz0/18OAPn6Cfg2v3vFqj5QS\ny5KkDIfmhElD2CDSbCKlm5Sms6QObTHziCJyAh5ue2AD76STiXztrBHtVk6FEBTk6GzZEcPvUynM\nOzhJO1y1T0mrfQIhJarc/8G1M7VPcSz8RgKfEe+V43R1fCmEe064CTE2VTQgTIuYomJJCKp73PYr\nNjfxp4crsCzJtElFnHnykHa1qqSEHbbKGlPDQeAXDpN0k3zFVV/iCStdW0uhqMhHTtCDV1fxeJQO\nlV/LdogkHaRp47dtok0uWVQVQSjQs6xkAZ/Gty4azZ0PbWTFujC33LeO735lDCMHt08k4vepRGMm\n67dEGTcid79X7w+jNWrqk1TuilPYAfkzLYc7Hqxg5boIoYDGd78ymuEDQ+nVY8MNzxeu8u5klPF0\nxrjMXUokLVIpGyEgL9fLwL4B/D4t+4y1RcaGJQ2beNyiIZyksT6BrIsTCNSi5wYgP4/80jz8uQH8\nuQFKh/UlWhshXN1IKua64xwxvgifT+VvD69nx8pqpC0Zc+IoViQVJvn2KIFCCHJCHrbviOLVFfJy\nvXgEKBrsSrnnVugVqI7VK27knzdYlsPaTU0oinBjldpg2ZpG7nxoI5YtmTulmEvPGLZXv3HLdogl\nLBwbvF6FfiU+ckMefF4VvRMblnGbS6ZswlGTunAKw7DQ1J7bMPf3MIY7Hqjgow0Rbr5vLd+7dCzD\nBrZP6BbwaTTFTDZURhk7bN9s2DbzwDx5gz3dL98kEgkmz5iZff8/130XTdPo168ff3/2GQAikQgz\np89g1eo1LH/v3Q7b2bhpE48//BB/GncvM+bM5eHHHuPN117lub//nZt/+UueeeIJ/njvveQWFNAc\nSzDvqHmc9sUvUlRUxM9+9jNWr1nDe++6ba9bt44nn3yS1159FSE0vnHtN3jqqccYWzaOp59+krfe\n/C9J02L+/LkMHzUeK2UjhCC/yEdQV1iz+mMWLVrMX/78tyzRO/74EzAMg61btzBkyBCGDBnClClT\n+NlPb2Js2bj0WTgsX74Mn1dLe8W4n979+zt55dWX+fdL/6S4uJgPly3j0Uce5D+v/QfLcljwhfkc\neeQcCgoL2LRpI7+/+16mT5+RXsB378HLL/+bvn378cTjTyEENEWa0L0+3n3/I5YseYrHH3+RviUh\nvvXtb/L0E48xLn2u77y9FNO0mHvUHKZOmwaaJ+Oyg8B1rVSkw8Y1q3nqySd4+z+v4/F4uOqab/DU\n449ywfnnoyuwceNGHvzb3/jDPXdzznnn8dySZ5k4cSK33noLr776GkXFxTQ0NLBm7TqeeOJJXnn1\nNXSPh2uvvZZHH32U8847v8Xdlqxds4bJkyYhOhAhpk2bxkmLFnHjT39KIpHgnC9/mfLycgzDYMuW\nLQwdMgRwM+FOnjSp22c0g/Lycj5ctiz7/kc//GGr72fNnMmrL7/co7YEsGNbJR99tJLpk6biE5KR\nA/tx7TXf4MgjxuLz+TjmmIXMnzOfu+74HWXjJuANaPhyfVmn3cyZf+n8C/nahedw8devxnEcnn76\nKZ5/+T/EZdvftSCF4H1Pa66gCLtHfuT77CclXAZTDNTJg5lJ5lOKaMxkw9Zm8kKedgOGZTvc9cim\nLPn7/mVjGTqgZ5k+pZQ0xy0MS5If8jCkf4C8kKdHyVaEEHg8Ao9HIRTU6FvsxzQdIs0GVbVJ6iMp\nvB6VoL/zGlsZjBuZy/cvHcutf1rHOysbEELwtbOGtztXRRHkpmMdjhijEuokAc7+QgKOULCEiqO4\nEwlFOii94OZpC4Wk7iehB3CUdP+lxGsm8RlxdCt1wCZ+mayMEjc2SXVsVOkgbZv1W5uoiRg4Pg1d\ngL/F/KlicxP3P7wRy5LMnFLMGYuHtLs3hoRVhofqdKKX/qrNOI+JsB3CzRaqIigt9lGQ58Xn6/6Z\nMB1JyoF+ORpFPregu5SSWMKmvjFFVW0Cx6FTN6+W0D0K3zh/JHc/uon3VzXyyz+u47pLx3S4SJIT\n9NDYZLBlZzMjBoU+cXfjzwqamk0qKqPk57S3YW3J3/9cNpbB/fe4ublr1q77gWo72d+nLRQcIWiO\nW1iGQ36uxpABQXJzdLQe1JRsacNygh76lLg2rKnZoKo6Qbi6CaWumerNuwgV51HSvxB/boD8foXk\n9ysk2ZwgUt1IU22E0SPzueT8sfzlofXsXFWD4ziUnTSmHQlUVUEw4GHL1ibGjCrA79dQhZvJti5u\noaCS59OxANUxUZ3esTufdTiOpKKymZRpk9dBrOhHG8JZ8veFI0s5/+T2NqwzGKZL/FRVMKDUT1G+\nt8du4qoq8Ksqfp9KQZ7O0AEBYnGb2sYUu+tc1SMn0DMbdu2Fo7jzoY0sXxvm1rQNGzGo/UJWbtBD\nQ5NBZVXL6hIrAAAgAElEQVTskAiZ2Bv4/f52pG5DRQXf/f7/8P0f/pDFJ57IvLlzaWwMd9KCi2FD\nhzJh/HgAysvKWHjMfIQQTCgfz9bKbTjAbXfexXPPPQ8CduzYwcZNmygqKmrX1muvvcby5cuZPXeu\nG4qQTFBaWkpjY5hFJ52M9AVRvTB//nFIS6IogpIiHx6PQjKZpK6ujv/5vqtSjhk7lnDY7Xt9fT15\neXmAxLGhoqKCMWPG4NWVNHFX8eoeYrEoOTmdL+gvXbqUU045hby8EBL44hdP5d333uG44xcxaNBg\npk+d4dYnFe5iLwImjh/PDTf8gBtvvIETTziRObPnALD643dYs/ojTjppAaoqMI0UJSUlNDY2csrJ\npxDMzUHRNBafckqrpC6qYyGkzIbDvPraayxbvpyZ6XYTiQSlpSXZaLxhQ4cyZdJEAKZNmcz2bZU0\nhcOcecbpDOhTggT6lRTx1BOPs2LFco6aNzfbTklJCU5a5cugbeTitd/8Jv9duhTd4+Htt97ihz/4\nAXPmzcPn9fLb3/wGgLq6OvLyOy+f0raNtlBVFd3jIRrt+v70BM3NzZxzzjnc/ItbyM3JRVEEjeFG\nXnjxBT5auYq8vHzOv+A8Hvzrg4BrD0rydUDyne9+i6VLl6LrOq+8+gZjhwymqLCQio9XUFNTw4Qj\njqC0sND1fhF7stW680DwKm7sq5NWBnuKvZ59CyEWAT8Cpqb3t4QQHwI3SSlf2Nv2egOydifJX1/5\nSRy6x/DgXrC2sKTgxooZfNg4gJBqcNuItxjz3hP7dSwr/bevCAH7EkkwDOgzopDvrJvD0hX15O5Y\nxvXDP+w8be4r0HFaj97FHk/5fQ9XlkJgjphEcsYJGGWzQHV/Okrj/7N33nF2VOX/f58pt27vm7bp\njZBCQkhIICSUUBK6BRTpgj8RRPwCAiKK0kSli6IiitKLgFTpvYeent1kk2zfvXdvnXLO74+5u8nm\n3k12UyAEPq/XbJk7c+acuWeeOU/7PI0E3n4K/7vPoHe2bfN1+oquMbmZDWB4ZtsU70fL+PuSvbGl\nwWHltZxvPIj2VM9jVhaN5KFxx9PpD+B3khy29AEmNr2Xo7Wtg53ZwBMalZmtv7gmJLiidCrPtA7h\nD3/+gBvHvczIcCTruGGZ37kpF77G1sBHLzJMCi5eNoMPOqopNNJcN/xZRr557zZfb2t95zpQnNly\nwamsITXtINJT5hHIKyCQF6RycAn+j15mevwpJo1q4vzFe7P+0xZ8moRDx1Fbv4LjPv4bptzEsPrS\n5vuy8fP5NbaMYb3sfz9axg2LZ+EonWMrl3O2+yBiG9P+t+XdYwDVma2/+F2e4JfF03mxfSC/v3UR\nN41/ieGhaNZx/ZVh6luXIBvrAK+A8o5An55Jpbr70YWRBT7efvRennjuJS65+GfMmzWTE44+Ahy7\n57GZc2VLPX5d6/5MWAl8yaj3f9s6nFSSFx6+l+effpJX7/8HoWCQed86AbuhDqO5CqN1LcKxMZpX\ne+d3tnHC0Qu54oLzui/lagbX3H5XdymAZHsSJRVCKGr8EXwJ733+2YcfMapmMKXpFkjD66+9xuQx\nIwhH6im1I1jJOOHIWlra2inOC1KYaICNInzTqSR5nU0YqfYe90RIB6N1LYZKoMXa0RLR7v7qiSi+\noE5+bD35AR/5nfVZt3lCWYB3Mvf08l9cxLxZM/n5OT8kkO7ghGOO4rSzL0MhKDLSVOQrrv/7vxCG\njubLhEsriUgnCLStR6VTiPWrAEi2NKBcB2nACUct6HHPAFRDLarZ+35UQy0AWjyCnUigcFCxSPd+\nACItOduhuecc2b26lP/cd3f3Pbj54p/Q0tbOXguPwWheTXNjE/FIB47Ph1O/DH8oRH4iQjoR6z5n\nQnUpD2+mja451v33Zr6f3rDp3AKwbZvjTjmT4xfM57g50yC2FoAnHn+SkdXl1JhpEp1tzJlzMO8v\nepujDzmIm557mHDEO+7Wn5/X3c+CqPddn3HsQh7++600NLdwxjFHUp5jDgC0p9r52XO/7rHvr30a\nST9ZQIUQZwCPAjHgHOAbmd8x4JHM51+jj1AKrlm5By9mlL8/jH2FMeHNW8V2duye38a1Y18jqDk8\n1VLD9bWTdmTe8A6HzCsmMecbtJ/3F6Kn/BprwmxA4PvkNQpuv5Tia08j9MI93crfzoal8UIuXDKT\ndJfyN+y9HqxojtB5ZvgC/jHpTDr9RQyOrOLMd363XZW/7QlDKC4a8S77Fq8l5vr4yeJZrEl9cXUx\nv+qQCq5YOZXXupS/sa/kVMh3JhiNdeT99zZKrvoe+Xdfg7niA/AFSE89kMiZ1zLkksu5/Fgdn+ZS\n93Ebdc8uZUXxaO6acAq2tu1EI1+jf/iks5gLlszEUjoLyldxds2HX+rai6amuGzkW8wuWkdnRoat\nS+UmhdlVsK6xkVAgyHeOPpzzzjiV9z/+lPy8MJ3x3PncfUG0M0ZxYQGhYJDFy1fy5vsfdH+2advz\nZs3kwcefpqmlFSU06hKK91ot9thnLk89/iid65uJtEd48fmnKTLS+LQNZpsPP13CmnXrSaXSxBMJ\nfvn7Gznn1JMAKC4sxHUlqVSa2vp6qit6cja0trdTVlKMaW5ebszecyqPPP0/Eskk8USC/zz1P2bv\nOW2z5+S6p11jfeTJJ/DHVyOA2pYE79fHmLX/gTz6yCOk2ltJrF7G44/8B5GKU1lSSFNrK63t7aTT\nFv997oWsewbQ1tFBXf3azfZp7qwZPPD4k7S2t3ef09d25s2aQSptces/7+rel0hu4Iv4wUW/4Jfn\nnc1xRy7kZ1deC/S8/31pY1P09fvZHJRSnH7+JYwbOYJzTz+5x2eDB1Tz5vsf0BqzWZMM8fobrzBh\n5DCOnjNli/08cv4BPPXiy7zzwUfMnzN7q/u3OfTXA3gR8Cel1KbutlszBdwvBv6UfdqOhSgfSOCn\nt3zel90iutjyWiPpnCUc7nliDU+0rMdnavzk9Mn4h8xm1RbajMZtUDBiSJjSIv/nFhqilKK5Lc3K\n+hiaEJtNus8Hzl0Z5bd/W8JDTSMQk/blyP0H5jy2PWpRUerfqlA9BbhCx9E35PYJsmuR9Rd9yu0b\nNAwG9Y+tqS/XVRmyDKHYkEeUI5dIKUXMVqxqs1m8rIOSAhNzkxCkltYUN/1tMQnpMHm3YuYcM5W3\ntWO7P49LwSLLJKo0QDHSsKkpreTNPc6mtNjPwKoQvhx5OL0h6XgMZ9VBQf5WFGFOpV1W1cdpjaQp\nDG8+jPlER9J2x1I+XgY/qlvIxWeOoyxH/SzLliRSDpPGfM0MujVQSrG0tpP2iEXhJjJMKcW/HlvN\nM62NBHwa535/CvqgfbYsw2I2QsCIIXmUFGbnQ3e3jxdu7eUM6kBXeNLWj6W5LcVHK6JEbUVJvg9N\nAxrA7FhGYWURhRVFUFnD8DNO56cT67j6F8+y4t1m9HAIMXMMt869kkmbsINGoxZlpUEGD9oQyucq\nRcJWDAhr5G/0DHWFvgJo0sVQ7narN/plhcf42UFBnpkV9ru2Mcnlf/yUpHSZObmUY7+5J7Xatzbb\nnmVLOuMOFaV+hg4MdxfI/jyQTLmsqo/RGrEoys8ez8Y4yZa03r6Ez1bCj9YcwSVnjqMoR25tF7vx\n5DHFm2UGFZEUWmXNdhnHtiCZSjF14Te7/59/0IHMnTOH80/5IZqmYZoGt9xwA+VjJzNr1mwmHXI0\nB88/iN9eeSUIgVZZg5YEDLN7PCKQhywsxyobgpNQKMNk/2OP59Z7H2a3g45g9KhRTJ++F25RJU75\nEArLhzBj1mwmHnI08w86iMsu+zUXXvJLDjrxTBwpMUyTX1/zB2bsuSeHHXoEhx42j9LSMqZOm4oM\nFRAv3OBDfXdFPQsOP4oZR38H27E57yc/Zfe5C+kEfD6N/Q88iBeXrWGvvebQ0nkVEw85mptvuomZ\nM2bw7CvvcvBhC7HLh2xgLxaZYuKaARWDoayMPaqG8r2TlzPz6O8AcOrp32ePAw6ltrYWDBNRNRTI\nEKw5krQleeedxfz85P/n3VPD5Po/XE+6eDAjZtZw6eW/4ajTTsexXUDjkp9fydy5+3DMUUczbcbe\nlJeXM2XadJxQEbJiOOdfcBEzjjqeQQMHMHbC7oi8Inbb9wB+9etfc8jJP0BKiWma3Hj9dQytGopI\n0aNf5JeA5mO3fQ/kZxdfwrzjT0XXdaZMmsTtf7mNyy+/vEc7N133B4blmKsPP/QwPzn/fK69bT7l\n5WWEQ2GuuvIq7nzmFcy8Ao474ywcx2Wf/fbjmU9WMmfOfsw78CBeWLqGefPmIQTc+8BDnH/BBfz2\ntvmUl5URCof59RVX4ZQP6f4Cuv7u+n66P9sCTjjxRF5+6SVaWlupmTmPSy65hNGjR3Png/9h/Pjd\nmHLYNwC49NLLOOig+UzYbxCHHvEeMxYcha7r7L77RM4464ckAgHuvPtBfnbRBVzz5/mUlZURDoX4\nxa+uIF44CKUU0lXMnjOP4uJiVNWwXqP6ZEealh/c1HPnP2b0aTz9KgQvhIgBRymlnsnx2YHAQ0qp\n7ID2HYwpo4apZ2+87PO+7Baxvs2lrkVRkpf9en/2Q4cHXnfQNPjBfJPdhmx+oe1KRSQOpfmCmnIN\n3xdReRRI24q6JklbXFEY8mjYe8OiVS63PeORyhy/r8HscblrHrbHYWiFoKpoy8qGAtBNpD+E9AUB\nhXDsnInD/YUyfDilA3FKB6H8GYuskuiRZoyWerTOlu2+UFMAmo7SDUChWSk0KwmO3Sszqa0ELTJA\nh22wuj6JXydrPnQmJH95JEZ7p2T4QIPvzg9j6Bvixht8xSwPVyOFht+1GBevx4zFkEoxpNKgMK/v\nip9UkFQGYeFQpqUwxdZ/F0opWqKK2maJqUPI3/sdT9uKG/5rsapRUV0sOO8IX87jk5YCJRg/WMPc\n2uKFX1HUt7rUt+aWYU++7/DIWw66Bj88xGTsoC3IMFcRTXoybEi5hq8f34USGtL0oXxhj7RAKXC3\n7rlP24rP1jrURTVKwqL7uQBACAqqyikdOpj8yjJefWEVv//N8ygFEw4dSeXuVRQ7Ccanm7rz+pRS\nRDtdBlf5KC3eYBhzFaSURqVhkaf3DJ7znnsDZeggXbRUAs1OIfpG3rbLIG0rPl7t4jeyZVhHXHHt\nw2naYjCxRuP0g8zNvm8AYkmvhMPwKo3ivC+mLIcnwyS1TQqfAcHNyLCkpbj+UYvVLYoBJZ4MC/py\nyLC0V5dit8Faz/m6EdZXjGfMiN6CaL+8UICjNCQZkpJ+inDbVqSlwDZ8uBnji64kfmmTiLt0JjwD\nTGlh7nXVYUcs5Lrf/Z5RI0cBXsFwQwfTEAgB7y/6gJtu+SN//fOtPfut4NsnnMivfnEpo0eOQBfK\nC7nTNK+GTddBWwGlFGlb4UqvCLkQGprPRPP5EPpGBifHIdKeoLXdKxNQWqATDnhjvOLqqwmHw5xz\n1lmAVwDdb4pe51dOiO4f3lgyBuvPE+8t+pDrb7mVv/7pj8gcLoCudVSuefPt736Pyy+7lFEjR271\n9aWCtJXhZt3kGq6Elg6PHT3gE5QUbFkmdeXwGZpk9tx5/OuOvzFyxIhej1+2YiV6w8oe++af9MOO\n+qbm3rIgutFfk/jzwBwgSwHM7N9CRsSOgUJiBAu+iEv3ivZOl/qoTWlxNrPYW0vSPPC6l4Fw4gF5\nTBwV2GxbaVuRsCUjawwqi7ZMvrEjYQRhXL6iod2ltskhz+hdGZ06FuJ2kn89H+eulx0K84NMHpHt\npSnxKdZ0SPLyTYp6UTyU0JCGD+UPoTQNTbpo0vUedX0b3PeAGy7CLqrCyS/pFszCTmG2N2JGGtGc\nTI2VwPYLNVRCQ2keM5hmWwg7hdal9JkBb9sEUkHU1WmRPoSUtDUl8fn8BAM9hUraktz5VBvtnZKB\nFQbfPbQEf8YjZ6OxOFBBs+HZaSrtTkanmkglXULhEDXVZr8s5pYSWEqjSrMo1AVCbHuIXHUIikok\ny9fadFqKwpCWc86H/PCjIyS/vT/C+jaXvzwr+dHhBVkvsDy/pxDXdQhGD8wmMPkaudHW6bA+6lBa\noqFtcv/f+CzFI2+lEMApB+WzW47nemOkLEVSSkbVGJQXboMMc22UkkjdhwwWoIQGSITr9Nk4EwrA\nHmMUxY0OH65zyA9pBDea87GWCLGWCGYwwOjB1Zz6/6bzl5vf4rOnVhAuCsHgApb6BzM22didQ1FQ\nrFjb5hLMN8kLZ/KDAU1BswxgGA5hI/diT2kmqjDfS+63LTQriXDtXd4r6LiKVY02ZkBlybBkWnLL\nkxHaYjC8yuD0wwo3azCQShGNSwoKNIZXm/i/IANpF6pDUFgsWb7OJmYpCnqRYXl+OOcoyTX3R1jX\n5vLXZyVnHV6Qpejm+SEa92TYqAG9yDChIbT+1Q7c2eEqgYMAAXo35UXfYbuQEDq26d0XoRQB5WIq\nl3hK0pnwlJXiQr37HbkpamtrGTlilMdirMgQvGzoyR5TpjBn332RUqHpencpGMe2OHLBYUwYM9Jb\nV4gNVFDdxt2tlIMCCGieYqwME900NrSlFNKykLZXqD3sB5mv097p0hp10Q2TgE90M3+SqflnCLAc\n0HSxRUNLl5LlEXt5tS1E13jE5zsHp+4xhblz9kFDYeob7rFSwiNGySiFXWpp18hsK83hCxYwetTW\n185UyjMwdNUM3RhSKVojnvLnMwUlhcZmZ6/CI8LSNcHyFUs49lvf5vCFC7oND71CaBj+nmtTIUSf\nFnF9KQQ/fqN/BwJ/AR4HHgaagArgKOAQ4LRc3sEdjcmjatRLf7nu875sr0ikJB/VWoQD2R6HVQ02\n1z4QwXHh2NkhDtxj87H/saQEFKMH+cgP7lyFhjsTkqVrLYQQhAO99+3RNxM89mYC04D/O7aImops\nu4PlKJJpye7DfAQzglgBSjeRvgDS9IESCLl9vH1SN7GLKrGLqlC+jLKlFEasDbO9AT3evkO8fUr3\nKJeF66JZCU/p64PFLCE1mh0TC40gDmubbNoiLgWbWLmlUvz7iQ4+W5WmtFDnjGNKCWfmTbse5FN/\nBWnNRFeSMekmyq1OOuOSihKDAWV9V46UgoTSMZFUGRZ+bfsnejquoq7JoanDpSicm6IdoCXqcvW9\nHUQTilnj/Zywf+5w4vZOlwGlOkMqvs7j2hLiKcnHdRZ5gWyPw4r1Nr9/IIIj4dtzwsydFNxsW7Gk\nRAjF6IE+8rajDPOeJwNp+DPPsAbKgS7DUB/Q3Cl5c6WFT4e8YC8LFyF44d0Ez724nmDIZM8TJmEW\nBRhUFGBayCK6tgHX9uqsWpZi1LBQj8WkqyAlBdVm70pg13jQdG+TEi2dRHPSn7tF/fOAUoqVDQ6t\nUZfCcM/77riKmx6J8tkam8oinfO/UbjZeeO6ikjcZWCZwaCyvpVl+LzQVxnWHPFkWGdSse+EAMfP\nzc382R5zGViqM7g8W4atKRjC2JG5aMC+fPC8fgIXgbaVaR0pqRGTupdSAZjKxS89Q1HKkrRGMiWz\n8vXNrl/AC+kWgN/U2LRGukf6JrrVUx2FJjLFmYTm1UBlI6VvmyFQuoHSTdRGnZGOg7JspOOQi4au\nPerSmXDRBFSVmhg5DCpddaIDfo1Np+oGpY+NlL4vB8FDtlK44TuDDUphf1KIFGDZXnmsTRVmBbR0\nOFi2wtAF5cV6loK46fGuVJiG8DzLfewDwNIVK/G3re+x74DjT46uaWwq3NK5fXkbfwx8lNmeBAYD\nZwBPAO9kfn8/s//JXtr4ysB2FEvX2fhNkaX8tXW63PJYFMeFObsHtqj8ReMuPhMmDPXvdMofQH5I\nY8JQP6buWSd7w4LpQfYe78d24JZHo7THssOcfJmJv7TexpYC1wzi5JXghAtRuoFwbDTX2iblTwFO\nuIjkwLHER+2JVTEU5Qsg7BS+pjrCy98mWP8ZxnZU/hSgNB2l+0Az0KwkZqwdM96Obm95cWcpwXrH\nx1rHjxCQp7m0RRxaOhzyw9m9/N+bMT5blSbgF5xwWDHhoIaLYJmvjPcDA0hrJgVuiumJ1ZSmOokl\nJDVVJoMqfH1eOLkKYlKnQLMZbKZ3iPIHYOiC4VUGQysNInGJs2lV7gzKCnR+uLAA04BXP03zxDu5\nk74L8zTWtjg0d2wLR+6uD8tRLKm3COQIB2qNuvzxsSiOhP0mBrao/EXiLn5TsFuNf7sqf+C9tDXX\nwUjHMTrb0JMRhOuiDB9S96H6YF0vz9fYZ7QfNHLKJQCUYt8pAcaPDJNM2Hx038eIlEN9R4r3rSCj\n5s1k8JRxFFWUoGlQV5/sMVd1AQFNsd42iDu990kAQroIxwLp4gZC2HklOMFCL/qhn/dnZ8a6Npem\nDpeC0KZ1SBV3vRDjszU2+UHBj44o2Oy8sR1FJCkZOcBkSMXO593vkmFDKgw6YhK3FxlWXqjzgwUF\nGDq89HGK/73fiwwLa9S3uLREdl0ZJhVYSttq5c9FEJEGncpACYGuFCFpEcgof7araIt6z3p+SNuy\n8icVmhAEfD2VP5W5lsz004fCJzxlQGgGSusqwrt9FCWl6UjTjxsIIU2/p/wphXAsRCqOHUvgWDa9\ncZAX5+sE/RpSQVO7g8yx9OgSmWlLZqJTRfcmlPRC1KWT4SX48kikrlFoQmEI73vyCYlfSHwoT2lH\nofCMDm7G+NA1ylwjdZzcyh9AR6eLZSs0DUqLtqz8Sanwm15axOcpwfoSAjp3h/diF4GUihXrbRzH\nEywbI20rbnksSjShGDPI5Fv79h5OqJQiEpcU5WmMqDb7F5P9OcNvCsYO9rFivU1H3KUonG1FF0Lw\nnbl5NHe4LFvncPOjUf7v2KIeYToKCIZ8dKQNlkYCjBgUQJcOmtz2F90Gb18lypdZsCqF0dm647x9\nQut+AWh2Gs2K9Susy1XQ4Rq0SRMDRV6GlSwSc1jTaFMQzg4pWrQkyYvvxtEEHDe/iPJig6jm59NA\nJQnNh1CKGquNoVYbji1JpmH4QB+FeX2PBE9JDQkMMCzy9B2frySEoLrEwGfAsnUO4UDu3LGhlSan\nzc/n1v928p/XE5QV6Ewf0zMsUROCwrDOigaHgF/bKY0qXzRcqVixzkZJQWCThVHK8mRYZ1IxbrDJ\nN7cgwzpiktICnWFVxg6XYQJvIaQ5FiqlIQ0T6QshdZ0thYgWBgWzRvp5a5VNW6dLSX62DNOE4JhD\nyone51DfkOLjuxex+3cnU9cS5+mPGzh40kCKBlYxIBZn/bJ6GlqaGVi+IdRVF+DXFA22QTUOoc14\nArvHk6nlq3Qd1yj08mvspGc4+hLnCrZ3uqxucijKIcOe/yDFK5+kMXU46/ACygt7DydLWYqUJRk3\nqPfUgZ0BQggGlhr4DVi23iE/R2QQwIhqk5MPzOe2Jzt54JUEpQU6e4zMlmEFIY3l6x0CPm27G1W+\nSCg2hHx2edL6e35K6cTlhmBRv3TwqQ3PipsJy1MKgn6NghzrlY3hSoWuC3zmhoW5zISCCgEGCl1k\nrqZpntFJ9c+TtHnk9vZ5hiIbsdH6KOjXSFkS1wU917AElBUaNLbZWI6iud2mosTMikLVNIErPUOg\n3/BG3B3iuQuh2+vXlZsJgOrh0e0OId0o+ljgRR1YTm7lL5aUJFISIaC00MDYjFFKKrUhrPgLeJT7\nRQKzs2LyqKHqpVt+80V3g7oml4Z2T3HbGFIpbns6xXsrXSoKBRceHepOxN0USik64oryQsHQCn2L\nsdg7C1ypWNXo0hJVFIVFzvCVWEpx1QMJmqOKycN0zpgfQOgG0jRRRtCTqMqlI2IxsMxk0DaE6inA\nzSvBLhmIU1i+IbfPSmK2rcNsW4fmbN8qcRtCPDWEdNHSMS+/rx8hXFJBVBq0ST8SCAm3W0Cn0pIl\na2wCvmzv8ppGh7886nmXF8wKsdeEALWBcur8ZSghCLlpxifWUuCmSFsK21GMGGh2h4f2pV8JZRAS\nLhX6thG9bC0iccnitS5Bn+g1x+d/H1jc95qFocG5hwcZWZ39JrRsheUqJgwxvvBcoZ0JSilqmySN\nEUlxOFuG/empFItWuVQWCi44JkS4F3KLLhlWWaRRU9572NuOhkcYZeCaAS93GIGQTq/KU8qBt9ZI\nOqIupfm9yLCEy5/vbaIj6jJqRIhhR0/E1QwGhgSH7DGYQMgzMEnXJd7YhN7ZiIxtKIvhKLCkRrVp\nE9L7F9qpMotBNM2LiEgnMiGiX553eCKt+KjOIRwQmJsYBT5d43DDf1MoBacd6GfPkb3L/6SlcFzF\nuEFGr+/SnREdcZfFayVhv+g1p/HJ9yweetPCNOCnRwQZWpEtw1K2N/6NZdia0jGMHTlsh/Z/R0Ep\nLz+9y5vW32/UQRCTBnZmKa9Ll6Cye4S4KaVoiUgs2wu1Ky/KnZfZdayUngfXqxAguhUDrctjJMjk\nvGkZ5u7efEX9R1fUkDIMNiZZEa6VIb3LLTuU8pwNrqsyheiz4bqKhjYHV0IooFHWbWTxci29gUpc\nV+Iz6BdZ164KpTaE+rrSkz8ix3stbW3wLpcUaAT9va+vpPSUzYBPbNZDuCUsXbESf1Ntj337n3hm\npL6xuWhL5261AphJMsxiqlBKJXIcvkMxeewo9eLdd3zel+2BxjaLlfVJiguMLKHyyIstPP5qG0G/\nxgUnDqGqLJvqGTILp06HqlIfNdWBL5TsZWsgpaJufYrGNoui/Oz7ANDQanHNHatJpCQHzCrnyPmD\nNrBHbdROR9RmZE2YsuLNk0tk9UHTccJF2HlFKCNzn5VCT8a8sMtUfAd4+7oSnxWabaFJG2T/qN2V\ngpgraLU1HAlBXfWs1+dIltXGM/H5PRcEHVGbW++sJZZwmT6piHkHDGCxnk9nhpBlkEwyXMXR8Uot\nuK5i5NDwZinFN4YtIS2hzFQUmf1nYdueiCUcPluVwO/TcibtK6W4++kmXnw3Ql5Q58KTh1BWlL2Q\njFCsVQoAACAASURBVCddfIZg3LBwry/KrxoaWtOsWpeiOMez+/ALLTz5WhuhgCfDKktzyzCpFJFO\nhwHlPgZX7jwyTAFSN7zwUM17VkWOZzTtKN5bGae13aYkhywHaGpJ8Zd/LieVlkzfq4Ki/UbhIijH\nZs9yH+WDK8grLew+V1pp7I4O7GgEpIuTeZ6qgxDaysokKrPwBBCu7eUS9yP38YuAZUs+XZkAoQhu\nIsMaWi2u/vtqkmnJobNKOHxOWa/tJFMuUsK4YaE+y7CdCZ1xh89qEwT9Wk7CLaUUdz7eyKsfRCkI\n61x40hBKCrNlWCzhEvBrjK0JoeuCehFizKitZzP8oiCVZxiB/lK8eEhKQcL1FDQNMF0Xn9ZTiVRA\nJGoTT7pomqCi1NercX1DPpbnqe1S6zQ8ohSRIU9RYsMJ2+O58wzIXg6wEht7+6Tn6evjmkIBluXi\nbEYJtGxFY4tnbCnINynKN70zN/L0KeXdh4BP+/odmYFSHleFwPOUdqlPCs9j2tSaRinICxvkbxJZ\nJTb6LRWgFH6/vs3rqWXLl+NLp3rs22/BgtaG5pbehWhXX/pZBkIA5wOnAzlNTUqpz10iT5s4RL39\n6Hmf92X7hKdfE/zsOgNNKK7/mcvek7881todhbc+Epx1hY7rCi490+GIedt2TxSQMgcR848j6Rva\nzUKlu53kpT8jnF6CIbe+4OzOjGQKTr3UYEmtYNoEybdOreZ/jcNxlE6xL8k3hy5mRH7HF93NzxWO\nC+derfPaIo0RgxV/u9whb9eus7xD8fhLgp/fZKBrihsvctlr4tcy7K2PBGf9RseVgh+darKyYiop\naTC5uJFvD/sUqecR848jHhiLq2VCZZVLyFpJXupT/M76nVpZ+zwRjcFJFxvUrRfMnS655iduFtHG\nVw22A2dfqfPWRxpjhir++iuH4ObJwlkcncHY0UM/l/7tDHCURns6QFp67/uwYVNoptFyRKe0R6Gh\nxSvbUDNAEeyfXXmHQgkTVwSQmp8uNUEg0WQKTaUQaseEe8cSsKbBu97ACkXB517AbdeBK2FVvcB2\noCAMAys/v3fk4qW1jC14o8e+6mmX90kB7K+YPRu4EPgr3kz9DfArYClQi0cG8zUy+GS54LKbPeF0\n7onya+Uvg+m7Ky481RNqV9ym8/5nW7cUckWQSGAy64uOo7lgAUn/CEAQtFZRHv0vAzr+TWHyvV1W\n+ZMSLr1JZ0mtoLoSRhw2gScbRuEonT1L13Hu+Le/csofeDWarvixy7CBihVrBBddr+PuekSKnws+\nWiq4/E+eDPvpyfJr5S+D6bsrzj/Fm1R//LvF3uo9fJrDovZK7q0dh+bGKEq+zYD2OymLPknAWg1o\nJPyjaCo8gvVF3yIamIgrtrCq38XhuHDhdTp16wWjaxS/Outr5Q/ANOCqc10GVymW1AouvUnPSdrx\nVUXcMWlKhkhLHV0oyvxJin2pnMpfPOkpfwADyncW5U8gtSC2XoytFyG1ACDQlIXhRjGdVnQZ32HK\nH0BeCCpLvfu1rlmQ2r4ZMV8ZKAX1jZ7yF/BBdcXO8I7s25q6vx7Aj4E/AzcDNjBNKfVeJhz0UeAj\npdSF/e/stmH8mNHq/jv+kUVbuzWQKrNl/nYzCckoL15XCOGxCGkK4UhWrY6jocgL6BhdVENAe6fN\nVbevJhJzmT25kO8cUtFrOFR71KGyxGTogJ0nZGpboITAETorGmxaOxyKCsweIZ5duP/JdTz/Rgt5\nIZ3zTx9FaXF2WFki6aBrgrEj8jENr8aLGwhjh4twg/ndtFXCsTHjHRjxDjR3+zKkeUyeGiDQXBfh\nWmj9qDvWoy0FcVfQZgssKfBpis2V3WtuS1O/LklBvpk1N/73SjMvvNGKz68z9bsTCZWF8SuXMTJG\nKXb3cZYtSVsuo4fl9SlkypJe2GeFT5FvfLEhn5tDZ9zh01UJwkEN08i+ic3tFlf9fTXxpOSA6cUc\ne0B51jFdIYsjBgUpzzH/dnVYtuSTlXGEICssry1ic9XfVxONu8zZo5DjDq7stZ32qE1lqY+hX8LQ\ndfBkltQNpOn3QiulxHZc3l4ep7XDpjxHCB7Af59Zy5vvthIK6hx/4hjqCouRCCqxGEMKITwZZhoa\nI0YVEywpxigsQjO89pSUpDo7CcY7CLuJ7cc+LARKaAjERiGiWyezthXrmtOsXp+iKEdI7T1PN/H8\nOx3kh7xw7dJe7nPakqQtyW4jwoS+hGGfvSEad/hsVZxwUM8pwxpaLK6+Y/OhsVIpOqIOA3avYvyY\nLdQM2wkgFdhqAzNjv84FYo6GlVm2+jVFWFNYlguIrDWg7SqaNwrL643wTOGV7DAMLUPI0ZUDrLZr\niCdCQ+m6RxDX/YHywrelu93zeRXes9OdE7jJOkwpaIvaxBIuuiaoKvPlJOxyXYWmeUyoX8XQBduW\n3aQvm77eWiNbvn+QyfnLkA/lyh/cHDaeFpvOkCXLllNgJ1EbHTfz4EMaG9o6qrbUbn9tbcOARUop\nF08BLPI6pyRwC3BiP9vb6aAJMDTwaRDQIawrQroiZEDYgKCm0AUkbfh4dYqWlCCmmTRYGvVpjYa0\nRkNccfO964jEXEYODvKtg3pX/iIxm7Ii40uZ87cxFAJXN7D9YexAHsofZOjAMMX5Op3RdE6ZcdSB\n1YwbkUcs4XLrXbWk0tnWrlDQIG1JahssUvmlJKpHkCofghsqAEBPdBJoXk1o/XJ80Zbtqvx1M3lq\nGrptYabiGFYCfSuUP6kgagvqUhoNlvfYhY3NK38dUYv69Uny87KVvw8+i/LCG60gYPzhYwmVhhgo\nk0yXHT2UP9uRpNIuI2u2nPOnFMQdz+AxJCgp+ILz/baE/LDBmJogsYSbs0REebGPM48ZgK7B/95q\n59VFkaxjNCEoCBusqE8SidlZn+/KcF3FsjXJzEup59xIW5I/3r+OaNxl7NAQ3zywotd2Ojptyot9\n1FR9eWWYUArdsTGSMS9PWLoYpsHU0fkU5xu0RnPPjYP3H8CIYXkkki6PPLCS0elONBSN+FhKAKUy\nMsx2WV0bIdXcTGLlcpJr1+DEYiAEwcJCGFBDvHI4Vl5Jz8XhNoxHy1C2K03H9Qdxgvk4ZgCp9Zdf\ncevR0mFRtz5FYY680pff7+D5dzrQNTjjmAG9Kn+2Iz22z+G7lvIHUBA2GFMTIpZwc5aIqCrzcfpR\n1QgBj7/axjufdmYdowlBQZ6B4yik3Bm8D73DkZ7y55lT+4e0FLTbnvKnAQWGIl9X2JZEqWzlTypo\na7e669oVbE75k2CaOqGAjqF770ChFGI7KH9KgNS9Eg7S9HU/30JKNMfyWMJdZ7sqf4quPGGPqV0X\nCulk5wgLASUFJn6fhisVze1Wzjmk6wIpFWlbbi+emy8NHEf1qvx1xh1iCe++lhf3ztjfpfwFtkL5\ngwzXUGbTcmxFpqLYVJT4vA3X7tNCuL8KYCvQFSm8Gpiy0WfFwOaLQu0CEMITDE2NSZy0Q0meTkCj\newPFfU80UN+YpqjQ5PAFA2l0dBrSGu2WIOYI0tKLGY7GHArCBsMGBne6+kV9QZfS5/i8xYXrC3ps\nyNJFky6GBiMGhwkFdWLx7Pmo64JTjq2hstTPuqYUf39wTU/hIwSBkiKG7jWeqhmTcYoqUIYP4Vj4\nIk2E1i8n2FqPsR2JXRQekYzUdISSaFbSWxQ6/WPz7IItod0S1CZ1miwNXXhGhc0pfgDxhENtfZJw\nMLuwce36FA886RX+HDVvGIOH5TNFRhit4hgbSWfXVSSTLsMHhwhvgW3CURB3ociUDApIcvCr7JQo\nyjcZOThINO7g5nhxjRoS4viM5+rfTzaytC6bo0rXBeGgzpK6JInUl5devz+QUrFybZJ4wiG8SQF0\nqRS3P9LAmsY0FSUmpx9V3SsJQDTmUJRnMHRA4EspwzaFwJNfhpXETMUISos9x+STFzZpi2U//7om\n+OYRNZSV+mlqTvHMo6sYL72okAZ8LMsogXkhk0inzbqGJEop3HiM1Lo1JFYtx2ptRto2+PxYxZXE\nB4wkVTIA1x/a5rWWt5Dtqt/logwT1x/GCebhGv4dqgx2xh1W1CcpyMuWYUvrEtz1VBMA3zm0kpGD\ncy8dHFcRS7iMqQmSF9y1lL8uFOWbjBwUJBJzci6+xw8P841M9MIdjzVQuy6VdYyhC4TmMUWrL1gJ\n9OcXMnXG3t3bNdf+DqW8yBKXDYvOjo4O/nTbbT3Onbv//lntKTyCtM4M0YtPUxSbEp9QWJZEKpVF\nod8R6eCGm27NePUExYW+rDXCxjXffIZGyK9x+a9/wx/+cF2/1hPJZJJ5B83HdV3q69dy7/33e543\nx2HuQfOxhJFhBxcZJk8HzU5z8w3XMXHSZL538sn9uFrv8JQ+uuufeuQxXiU7v89TXnIZGYSA8iJP\nebFsRWvEIZcuqusCx1VYzo6LRW5sbOKEk05h9G67M33WPsyeO4+HH3lks+ckk0nmzT8Y13X71MY+\n87w5ZlkWcw+aj+P0XJs6jsPhRx9D1ZAaPvzoE9K2RNcEa9fWc8jCBUydMZ1pM/fiuptuoS3qnXvQ\nQdPYZ79ZzNxnNvvMndOjvfaODr570vfYc+aeTJo2jdfffHOrx7q90d9l3qvAnpm//w1cJoT4jRDi\nF8DvgWe3Z+d2RiilaGhO0Ra1yQ9nWyxfer2VT5Z24vdpnHDUIErCBgHN09JTStDhCJotjZURRZsy\nCJaFiDgacdcTkDs7o3cXm56n9OUhfSHPoiUdtBwhDLouGFmTh2EIEslcHj6dM48fSiig89GSKI8+\n14Ae8JNfM5DK6RMp2W0UgdIiUIrIuhbiS5YSWr8CX7R1O3v7BEozQNM3ePvSW+ftUwqSLjSmBXVJ\njTZHeKEqhqIvjMqptMvK1XECPh1jo7AgBayICf758Fqkqxg4sZLZU4qYJjsooue9kFLRmXAYPCBI\nQf7my2mkXLCloNovKfOp7RJK/XmirMjHsAEBIp0OMscDNGtyIQdML8aV8KcH19HcbmUd4zM1/KbG\n4toEaWvXTrZRSrGmMUVrxKYwx9x49MVWFi2NEQpo/L9vDMxSELsQS7iEAhojBoe+NOVq+oMur2DY\nSTBzqE7AkLSnFFLTeihNwYDOd44dSjCgs3RFJ2+/WM8EEmgo1uNjeUYJLMgzaG5N0dSyIdlGOQ5W\nawuJVctJrF1DqjOGQuCEC0lW1JCoGo6Vv528gmTqh2UYBaXpw/WHupVBtcm4tgWJlMvi2kS3R2Vj\ntHTY/OnBdUgJB0wvZu+JhTnbkFIRjTmMHBykMG/rSwJ9GVBW7DF/d8QccqXlzJ1WxOzJhdiO4o/3\nr6W9M9sjLfAW+SlL5mzj80IwGOTdN17r3s4777zukM2NF5yRSITbNlEAn3+25xLSUYIORyMlPa9c\nnq4o0D2mStuWXp2+HLKnfm0rd975NzRNUFrk636ndXnG3EzpBg3w6ZmwPLbO23f7Hf/gyCMOR9d1\nnn3xBd774EOk6ccI5bHfvP257957cnr7/vTn23ji0Uf55+239+k6XmmK7HdTl+JHxjnhhZJKNnbV\nCSEI+L3wzd48fOXFXk3ARMolEsu9ttI1ge0o7B2gBCqlOObb32b27Fks/eQj3nr1Zf51x9+pX7tu\ns+fd/o9/cuTh3v3vSxsvP+fNMZ/Px7z99uPe+x/o0d4Pz/kxY0aP5r5/38V3TjyJ9evWejUfDYMr\nf/1r3n3jLZ5+4hlu+8ttLF++hIKwV+j98Ucf4/WXX+Hl51/caEzwfxdewMEHHcgni97j3TdeZ9yY\nMVs91u2N/iqAlwEvZ/6+AvgbcBJwDvA88IPt1bGdFc2tFo3NafLD2R6Vj5dEee61FgTwzQUDqCzb\nkG2sAabwvITCkQQ0xZghIYSu0+EI1qd0Vqc0ViR11iQ1WjbyFn7RUR09PH2hfNxupc9bTIgc+X0b\nw2dqjB6a54UQ5FhcV5T6OfWbNWgaPP1KM591hMgfMgDd58NOJImsXE3jWx/QuWwlq5Y209SabQHd\nunF59XakboACzUpgJDvRnfRWefscBRFbsDqlsTalkZSCkA4hnT4rVZYtWVkXR9c1fBu54eLovOOG\nuf+h1aTjNmWD8zl+/xJGkGTTpaFSis6Yw8CKQM68yi7ITD6iX1MMCbj0ox78ToeqUj8DK3xEOnO/\nuI6eV8aEEWHiScnN964jmcPTF8jU7FlSl9ghL7idBeubLda3eKVaNsVbn0R54rU2NAGnHVVNVS/l\nHpJprz7lqCGhHV7k/YuGwAvXnjVMx7SSJOOWV/RZ07rp2kuL/Xz7KE+GvfZWCys/bGY3EggU6/Cx\nAo/hryDPZF1Dgta2bMYFGY9hrVtD8/LluG3NCMdGmX6sou3rFewaU1feEVLimj6c7eQZTFuSxbUJ\nfGZ2mYNUWnLLfWuJJyW7DQ9x9LzcRHVKKTpiDkOrA5QVfTVyc6vLfAwo8xGJZcsmIQTfnl/BqCFB\nIjGXW+9fh2Vny6guavpU+otVAiFT209678VkPM7RxxzDXjNnMm36dO5/4AF+/otfsHLVKvbae28u\nuvhiAMqrvLSluro6Ju6xB6eccQazp03inO+fzPsvP8uhB+3P7pMn88abb2O7ihO+9x3mzNuXGXvv\nxd/v8BSpeNLlN1f8kjVr6jj2mHlc9qtLUUJw9333sv+B89hn31mcd+7Z4DpoAv5w3bXsNnESc/Y/\ngKXLluYcy3dPPJHjT/geM/fZlxFjxvL4E092f3bXPfewcOHhvPzmW5x/wYU8+NBDTJ82lZUrVnDE\nwgXc86870RyrR9mZ//ejs1m5ahULjjqS6268EYA/3HADk6dNY/K0aVx/000A1NbVsdukyZx02mlM\nnrYna+rrvXsLxBJxDj/6aKbutRdT9pjGfffe1+1B+NdddzNz3/2YOmNvfvCjs3FdFyEE113/O6bs\nOZUDDp7PSaeewvU33kDd6jr2nDkDn6lRVmRy+99u4YqrriSedLn7nnuYs/9cZu4zmx/9+Byk9HLd\nli2vZcKUqZzxw7OYNG1PDll4BMlkEoB//uvfTJk+gz32msmJp57ea382xfMvvIjP5+OM007t3lcz\nZAhn/eBM3n73XaZMn0EqlSIejzNp2p58/Mmn3ff/8AWHbbGNLhRVbEiNO3zBAu66597u/y+/4koK\nCwq45sormDp1L268/gZO+f5pRCIRqqqqmDxpMlIqkpaf4cNH0dHemCmhkQ2loK29g9dff43TTvay\n43w+H0VFRVvs52WX/5rrb7q5+7OfX/ZLbrj5lpzX2Rb0a8mnlFoCLMn8ncZT/M7Z7r3aSdHablHf\nmKIgz8wq3LiuMcUDT3hhefPnlDNmeG5OXduRWJbLqGF5+DMLzgwdgPdTKVyg0xF0qEwSshD4hSKo\nKfwa+HSFKfquVGwNlBDeIkA3veLDeAnEuFtXayrg1xkzLI9PlkXRNaPbs2WEgoSqythvRhmpwkpu\nu/F1bvndKxQHJQPzXaxorLsNTRMU5pvU1ifQNdHvGoEbj61H3T6398KqW4JUkJIQcQRxR0MIL0Ql\nh31gi7BtycrVcaQS3bkuDoI6EWQ1AT56fCmdjXEKCn2cfngVYT33Cz6WcCgr8VHRS71J8LzNloRy\nn6RwJyZ66Q8GVQSwbEVbDs+WpglOPbKK396xhnUtFrc9vJ4ffnNglvU4HNTpTDgsXZ1kTM2up9w0\ntlnUNaRy1ulctTbJPx5rBOAbB5Yzflg4ZxuW7RVT3n1EOGcds10VeQGdmSMCvLI0SQrXy5vUDKSu\ngYKhNXksnD+Q/zyxlseeWsv3in3sNljwCUHW4kcAw0Wa/DyTNeviGIagsKDnM6oJCEqH5oYWitta\nKCjMw8krxg2EccKFOOFChJ3GjHdgxiO9FrXvD7qUQcjUQDN9CHx48jFDHtPHGoOW7Sl/sMGg0gUp\nFX97ZD3rmi2qSn2cdmR1r2HDkU6XqlJfrzVzd0UIIRhcGSBtSyKdTlbOmqELzjh6AFf9fTV169P8\n47FGTj2yKus51nXBZc/V7pA+Xnnw8C0ek0wmmTpj724Dwv+ddx6GYVBdXc1DD3jelkgkwp7TpvHp\np5/y5muv9ThfAp2uxqqVK7nl9juZdPM45s/bl/vuu5dnn3mGRx79L7+99lr+/a+7uPnGmyguLvHC\nAA+Yy/yDFyLJ49yfXMLKlUt45ZXXAVi8eDEPPfQATz7xNAGfybnnncs9997D5Em7ce/99/POG6/j\nOA7T957FHlOmsCk+/OhjFi44jH//8x+88tpr/N8FF3LIoYeQdlxW1dYyZOQohowcxdRp07j6qquY\nMH6c52V3q3jn3fey2rvlxht4+pln+N8TT1BWVsa7773PHf/8J6+++CJKKWbN2Y99Z8+muLiYZcuX\n89fb/syM6dM3ePuAp59+muqqKh554P7uewrw2eLF3PfAA7z07DOYpslZPz6Xf999D+PHj+Pe+x/g\nnddfpTNhsd+8OUyZPLlHv0IBnaBfI5GAt977hPsefID/Pfk0pmny4/N+wj333cvx3z4OXRcsX7GC\nf/ztb/zp5ps47oTv8eDD/2HypElcec01vPTs/ygrK6Otra3X/pzwneN7XPuTzz5jyqSe/enCnlOn\nsvCwQ7n0l78imUpx/Le+xYTdxmNZFqtW1TK0pmaLbeTChN3G885773b///OLfoZSilRaIgTM3Gsv\nntlI2VcKmjts6lbXsXjxx+y/717duXlHHH0kQghOOelkTjnpZFypWLt2NeXl5Zx6xpl8+NHH7DFl\nMn/47TVb7OdJ3zuBbxz3Hc4564dIKbn3/gd47cXn+zyuvmKrbf5CiEFANbBOKbV2+3Vpazqj4cQj\nO1Qhao/a1K61yM/TUZZg49duZ9zlzgebsB3FlHEhZkzw4aZiWW24UhGLOwwfFMAnYzibqU5gsOHL\nUcqLne9QXsy6B4EpJAFNEhBePLwhPIKarYEC6PKGmX5P6XMdsNP9LmreG/zAsArJyoYk1aMGkDew\nGl9BfvfnB8wbzPJFq3j+5QZ+d81r/PR7AykuyJ6iIV2xdGkchgQ9htE+j88ATfMWNOkkwrGRKPqr\n+kkFaaURlxqdroEETLzvoOtd3N/gVMdVrFqbwrIUoaCOk4IGI49aswhb01n5ch1NS1rw+wQnHFZM\nQCRxczhC45mwvMp8hZvIDnVUCpJomEC1YeGXqt993ZkxKF8R77DoaFXkBXsuQE3g+wsLuPbuVj5d\nmeC+J9dy7H4FWW0Egc42l8WpKCMH+HaZIrgtEYcVay0K8nRkSvSY921Rlz/e14rjKvaZGGT2OA0n\nEc1qw5XKI4YZ4sOwHeyvFm8OYWBKucPbqxUirOPXyTD7eUXmJ++WT2NjEW+818HdD9Zy2vGDGVuc\nx2K9iHrhR7k2Q2WMoKFYvryFYYNzh2j7FbSmwEp0UmquxTB9OEUVuIUV3V5Bq6AcrbMNPdKElohu\nd3I+BaAbHiuqAmGn0VwLeiGssB3F0jUWlqMIBzWcTdJtH365kw+XxQn5BWcsLMCU8axjAKJxl4KQ\nxoCwDyeW3M6j2vkxuECR6LCItCnCgZ4yLACcsbCA393TxjufdVJZpDhkL8/Y7FPFqByele0J1Ye0\ni2AwyKuvvILGhqLiy5Yv58KLfsYll1zCIQfPZ9bee9PR1up9uIkRo8PWsBUMrhnK9Alj8QnJ+LFj\nmDtnX1zHZdTIMaxZsxqU5NY/3cpjjz8GQP3aehZ9uJiJE6cRDOgIIVDSRSnBiy8+zweLFrH//l5+\nVjKZoqqinHisnSMWLCAY8AN+Fhx6CEop1EZ9SqVSNDc3c8mFF6Cky9hx42iPRJCmn+bmdRQWFXns\nmq7DsiVLGDt8KDieYNQE+EyTaKSD/Px8NoWSEiVdXn31FY5YsIBQptjjEQsX8Morr7DgsEOpGTKE\nvaZNRalMjpBSoCS7jRnD+Rf+jAsvvpjDDp7P7L33RrkOzz33HO+9v4gZ++zbPdby0lLaWls5YsFh\nhIN+/D4fBx90sHd91wsX7Zo7fhNMQ/D66y/z3vuL2GfufgixoR3lelEDNUNqGD16HI5tM2XSRGpr\na2lva+PoI4+gtLgI5ToUFxZw19135+xP1lySEpTs3n/2T37Kq2+8gc/08fqLz3Hx+T9l5n7zCPgD\n/OHqK1GuQ3NTI4WFhRva2kIbm85jDfCZPqId7eTn56MUpC2FRKELwaZVONpjLq1tnfz4nFO5+je/\noTA/D+W6PP3fxxlQPYDm5mYOP/ZoRgwfwb6zZiGkzfuLFnHdNVcxfc9p/OT8C7n6t9dSXla22X7W\nDBpIaUkx7733Hk1NTUyauDslRYU5nz8lJXasrcc+x1V9Wtb1WwEUQvwAuAgYgGc8VEKI9cAVSqnt\n76PsA/RAiKLJs3cYCUF7e4KWZa1UT/H3yMkCSKcd7r7+daJxl2HDSzju9L0wzOx8DaUUHR1pxtUU\nUlmZLQi2Bo5UOK4kLRVdAUWmrhEydYI+Hb+hYxoCo5fCSkp5yo+UCkepjLj2fm7q4dxWKKVIS0WR\nIxnvym6rpXQldsLGilm4lsvxJ8xkffMrLF7czF//G+Win83B78+epnm2y7pOi8KhZRQX917lWymP\nfQkBuhAYWobhq5/jc6UiZbt0pmyiKSeTeC6oNLRtvleOI1mxrAVjkE1xgZ+WlM2nkSSdmRCf6JIW\nVr22BiHghFOmMWK33HT8yaRNkRCMGVuOmWMOOq4kYbvU5PkoCwd2ybwtgKK0wwcfNmAYGoFAz7lT\nBJxb3cIVV7/IC4sSDJ88lnn7ZVu1i4COjhRtxQFGjSzLeu6/bGhuidO8uJnBNYGssSSSNrf95gWi\nCcn4ceWcevY+OcerlKKtLcm0UWVUVn51qwaX8f/ZO+84uar6/b9vmz7bW3pI2fRANo0ECIYuLcYo\nVURpQWoAERWpilH0iyBN1B/Sq2JAqkpoCSUkIY2EkEL6Zvvu9Lnt/P64M5PZ3ZndDWwCAs/rYVn8\nbwAAIABJREFUlezuzJ1z77lz7jnn+ZTnA96tLSxbW4cWdONxOc9aem928llDaEm8z/q1DTz5QhMX\nXTGS8QhWtcTYqQRwFZYyLOjBa9nURXSCVaUUFHYWQQkKQUw3ibs0qgqd5zU9j8ZNmyQydmEZdmGZ\n4zlUZLyKjLoPnmuRKoMkRFqJzsmfUmQJWZIwTIu16+px+03Kg50jM15/4xP+u2wZiiJx2eWHMnx0\n7jksGtWpVGXGjq1EU7+coi89QVHCZOXq3WiajMfdeQ67uLSW2+5YzAvvRBhaM5Ypk/tjGvUoPue5\nvPmbowCwLBtFddrY1wq9ti3QUwVXXb720QMjxx/Ee+8v4+WXXuLmX89n5hFHcOb3znIUtn0BhIBw\n0nQ0BgCXIuPzePD6nXYUzY3LF8SUPbj8PizbZvGSJbzx1pv8Z+FbeD1ejj36SBKJJG6PSkGxD0mS\nkDQPqiyhqBpnnnUWN990C6Zl43GrqJrMHbffjqy5MvdNUrV2fwOsW/sRw6qr8RSXYgtYvugdxo8f\nD4Df5yWZSKApCo0tLRQWFeEuKGrX96Su4y8pQ9E6GHokCcXnR/EFkF3udueVNReyy43i9eMPBFB8\ngT2m/9T3OKZmEss/WMGLL77Ijb/+LUceeSTXX389stvL2T/4AfPnz293uttvvx3FHUcLFqEBqtsF\nqgtXoAABmXPrtsAfcKMqErNmncJPf3YjfaoC7caP4vXh8Xpw+QOYtkD1+NHtKIrHi+LyoAX33IN8\n19MR4ydOYsELL2Y+e+9f/kpjYyOTJk1CCxbRWFtLNBbHtGwszYPH76fAFCR1PfOZ7tpII/v3pK4T\nLK9CUVQSCQNJAVeOOTQUStLcFmPevHM4/fQz+M5pezyYA4ZWA1A1KMBJJ89mxZo1HHfSCQweMYr+\n/ftzyBFHAXDKGWfym9/8hiuvvLLb6zx/7oU8+vQ/2L17N+ddMLfdNWdD8Xgpm3Biu9eaovHGLm92\nCnu1q5Ek6XrgLuAl4ARgUurnS8AfU+9/qdDSEmPThiaCwc7kz7YFjz70ATu2t1Fa5uOH503MSf4A\nQm1JqioDvUb+AFRZwqMpBNxq5p8iS8R0k92hBFubo2ysj7CxPsLO1hjN0SThhOFsKkyLuGWjWzam\ncEifkiJJvUX+hBAYtiCkW9QnTFp1i6QtkCQJM2FQv6WF0I4Q8eY4lu6YWlRV5uKLplJR4Wfbtlb+\n+v+W5kxa1jSFYNDF2nUNtLTEOp3XTv0TUuo+KTIuxSFrPVkIhXAIX2tMZ1tzjA31Yba1xIgkTTya\nTMCt4tWUXiN/0ZgBXpX3GyO81xglbNh4FYnytiTL/+XkJXxrzhhG5yF/um5h6DbDhpd2In9CCKK6\niW4LBhb7qAx6v7TkD8DtVhk9qoJ4wsQwOlvER1SXce4PJgLw4MMfsHZdfc52ioo8tLQm2LCxEfN/\nOCewoTHKR+sbKSzsTP4sy+bue99j+442+lQFufySaXnJbktrggH9C7/S5C+NwQOLGDOklGhUJ5ka\nG5IEsgweVeass2uorApQXxfhsQeWU6opjCv2IQGfRJJsjiRRVQWf38XGj5sItXX2dEmShN+tEdNN\ndrbGMFOGM48iU+xWKXer+FVHWdgWEDVtGpMmTQmTqGnlFET6tJBS64KSMqDZwjEaJiybUFxn9Zo6\nIhGDghzk78O19fztIScM7gdnTWBsHvKXTJpYlmDkyPKvNPkD8HhURo8qJx4zcs49Ew7qw2mnjAPg\nvr+8z5atLTnbURQZy7RJJHOLy/QGhEgZos38kUK7du3C5/NxxplncsVVV/HBBx8QDAaJhMMYlqA5\nphNPzdVBt0qBR22nyGILR3gkOxqjrS1EYVExPq+PJe+tYMWKZaiqTGmpj4A/SDgSRlOcMTtz5kwW\n/POf1O7ejculEAq3snXrVg6bMYNnn32WeDxOOBzm+eefz+oXWELwwYoVbN+2jVjcyT/71U03cfm8\nK9BkibKSEizLIpFIsGXLFvr07duu301NTZSVlaF1JH8dcOhhh/Hss88Si8WIRqMsWLCAQw87LPN+\net+SvXdJ39Pvfe97XH311Sxf7jxjRx55JH//+9+pr3fWtebmZrZu3cqMGTNYsGBBpq8vvvgCsixR\nVlZOQ0MDTU1NJJNJXnrpRQBOOuk4/vOf59m1q5bGxhjNzc1s27a13XVLkoQsSxiGhW0LjjjiCJ5+\n+mmampoy5853PR1xxBFHkEgkuPfeezOvxWJ79nZz587ll7/8JWeeeSbXXHMNAMXFxZn735M2OiL9\n/aTJny3IuTeKxw0am6Jcf90VjB0zmquuujLzXjQaJRx2yrOEIxFeXfhfDjroQGRJoqqqigEDBrB+\n/XoAXn31VUaPHt2j65w9ezYvv/wy77//Pscee2zePnwW7K0H8GIcT991HV5/WZKkutT7N3fVgCRJ\nxwF3AArwVyHEb/IcNwf4OzBZCLG0qzYNy6a2LYGqOIPRITFO3o+W2vh/mg1vU2OMzZtzkz+A559d\nx5pVdXi9GufNnUIgx+IHEAnrFBR66Nu/c7hZb0OVJVRZIX0lQjiewmjSojmuY9upeVUCj+J4Cj2a\njKYqqc/2jCB1BcsWxC2bhGVjZq05aspK7VFlcCm07QoTjukEO9y3QMDN5ZdN51e3vMbSpTt57l/r\n+Nas0Z3Oo2kKBUE3a9c1MHJkOSXF3kzegZzy9sn0zNtnC4Fh2SQMi2jScqyRwiGrmizhdym9bkE1\nDItNG5tojiTZadvsqnM2gaoEQ4MeggmTux5egWXZHDpjMIcdfkDOdizLJhrVGTGyHI+n/UJj2oK4\nblHg1agMulE76mV/SREIuBhZXcrajxooLupcZmXGYYPZuSvECy99zB13vcNN1x1BVVVn40xRoUMC\n13/cSHV16f/cxrS+PsLHGxopLOhM/gAefXwVK1ftJhBw8eMrD8Hvz51z1daWpLTEy8CBua2QXzVI\nksTwoaXE4wZbG6NIPg1X1v31+TTOmzuZ23+/mI8/auDF59Zx0uwxiCIvq1vjbAonnJzAoCdDAocM\nL6WoqLMn0OdWSRgW21ti9CvyZc6jyBJBWSGgyhiZOVdgCIFhCMKGjVuW8Koy7l6Y17P7nm5J1y3W\nf9RALG4QLPCQsGyU1PuKLFG7K8Qdd72DZQmOP66amTm87eAYwiJRnQPHVeH1fLkVP3uKYMBNdXUZ\nH33UQHFx5zns+OOq2bEzxFuLtnLbHW/z+/mTcraTIYHCxOPpXU9get20hWP8kHByACdPnJg55phj\nj+Hwb3yDn13zU2RZRtM07rzrLkpLS5k8dRo1B41n5lHHcMOv5iMBPteeOVYApuEUMpclpwxEeo0/\n+uhj+Nv9f2FizXgGDRzCgQdOJFjoAUmivLyMadOmM3nyBI455jh+/evf8IvrbmD2t04EROYaDj74\nYE455RQmHHQQFRUVTJo8OVUXUGTOs2rVKmbNns1h06dhGgY//dnPOOzQQzLXePTRR7No0SIOPvhg\nmhobGT9uHH+67z6mT5/Oa6+9xvHHH9/tfaypqeH7Z5/NwVOnAnDuuedSM2FCTqKUxurVq7n66qsz\n9zRNJkaPHs2vfvUrjjnmGGzbRtM07r77bg4++GBOPfVUDjzwQCoqKpg8ebJT+N7t4pprfs6MGYfQ\nt29fRowYAcCYMWO44YabOP/8UxG2jdvt5s4772TgwEHtrsMhpmCaFiNGjOLaa6/l8MMPR1EUJkyY\nwAMPPJDzegYN6tzOggULuOKKK7j11lspLy/H7/fz29/+loceeghN0zjjjDOwLIvp06ezcOFCjjji\nCI455hgWLVrEUUcd1WUbuZD+froif7phUd8QZfnyJTz33NOMHTuWqVOdZ+2mm37JiBEjOO207zp7\nbdPkjDPO4Pjjv5n5/J133smZZ56JrusMGTKEv/3tbz26TpfLxcyZMykqKkJR9s2+Q9obq5AkSSFg\njhDiPzneOxr4uxAit6azc4wCfAwcDewA3gdOF0Ks7XBcEHgBcAGXdEcAq4aNEWfd+niX167IEi5F\nxqXKuFM/valQyXTIpM+l4NWcn4m2JDu2tVJQ6EbJsWl+e9FW/v7kamRZYu7FUxlenVvNLBE3AIkR\no3KH5fU2hEiVakiHd2Z9v9mhj0IILFtg2s7PdGyPLIFLVfCojiy+psioskOguyLRdsoaHLccr1/2\nOb2KjFeVUaX2ZCyZNFm9ui5nqB7AqlW7uf2OxQgBP7pwKlOm9M/RX8cy2BZKMHxYGX0rA92SWCGc\nfutmivDpFnHdIj3la7KE1guhnV0hmTT58KMGNoYT7DYsUlGqDPS7GF7gwUyY/PG2xTTURxk1uoJz\nLpiUcxymQ4sHDSqiooNnxukTVBW4CXo6F5P/KmD7jja2bGmhtLRzmLBtC/7wx7f5YEUtfaqC3Hjd\nzPwEKJTA73MxckQ5Ltf/BgncuSvE5k+a85K/f/9nIw89ugJVlfnZT2YwIs8cFosZSLLE+LGV+2UO\n+19CImGyfOUumuMGLpfSjgQCbN7YxL13vYtlCeacOo4p0wexK5ZkTatj7Bke9HBA0INpWkTCSQ4Y\nWkpJjrEKkDQdK3u/Ih/ePGNQCEHCcubiZId52KPIeBQJVy+RwUTSZN26ekzDzhjx0qGiAKFwkvm/\nfp36+igTa/py2SXTcq4hQgiam+JUV3+1Q4vzYev2VrZvb6OkuLNxwDAs5t/6Jh9vaOL2301h0qTx\neb9by7KRFScc9LOmy6T3D4adThnZu8/bAtriRiZk1JeKZMr2+jkbagtdt1BkOadQWTis09YaR5Kg\ntNyP263mXP/t1HV6vLkJsC2cPUzH3bAswZEzZ3LfffdliFFHLF++nNtvv52HHnqo03tz5sxh/vz5\nVFdX570X6bBq4FOlp3xa3HjjjQQCAa688ipicQNZyn3uWMygrt7RtKisCODz5VO9dMaEx63u13Vi\n+fLl/OEPf+Dhhx/e68/Onj2bG274JcOGV+ecmyzLZldtGNO08ftcVFTkFkYDx4jl8fRe323bpqam\nhqeffprhw4fnPW7dunWMGjWq3WuSJC0TQuS2CGVhbz2AC4BvA50IIDAHeD7H69mYAmwUQmxOXeQT\nwCxgbYfjfgn8Fri6JxelyRJVQTc2jvfJCf9zfjctm6Tl1IuJ21YmzKAncMkSXsPEo8h4VSlDZGo3\nNfPM02sAOOX08XnJn2lY6LrNqDEV++yByEX4Utqhmbo2uR5qSZJQFYmODo00OQonTdri2ROiQJFl\n3KqcIdKqLGFLkmNx7jBzehQnVKkry7PbrTJqVDmrVtWiqnKnTer48VWceso4nnhyNX/56/sUFXmo\nTt3r7I2GS1MoK/axdXMTsi3o38/xtNpCYFoC07bRTSdEJWFYJAwbO5XrKEmgyTI+l7zfJt7dzTHe\n+qie2lTOA0B/n0P8fKqMadr89f8to6E+Sp++Qc76YU1O8gdOXHplhb8d+bNsQUy3CHhUqgo8aF8R\nr18u9O9XQCxm0NQUo6jI0+49WZa4aO4Ubr7ldbbvaOPOe97l6isPzXmvCws8hMM6qz+sY/So8i+0\nl8K2Bdu2tbJ9R1tOzwHAipW1PPzYCgDOP2dSXvKn6xaGYXHQgX2+Jn854PGojBtTyfIPdhFLGZWy\nSeCQYaV897TxPPHoSv759Boqyv0Mqy5DQmJ1a4wN4QSWEAwJuAkWePhkUxOGblHRIecGwK0qGJbN\ntpYYVQVuCr2djRWSJDlrlSpjpY1yphOJEbds4paT95Emg9qnJIPRqM66dfVIktQugiPtHTQMi3vu\nfpf6+iiDBhVxzrmTMFLzcTrNQJKc9amlJcGAAV+HFufDwP6FxGMGLa1xCgvaz2GapnD5pdO4/qaF\nmKZNQ2OMivLcm1RFkbEsQSJh4PFon5oE2qmQT8ve4/XbGyRNO5NHL0sSBR4Vlyo7ufpZ+whDtzBM\nC0WRc54jHjdpSxlSiop9+PL0ydEBEHi87Y2gjt27swhcOmoo3dTmTZu63IDX1NTwjW98A8uy2nlq\ndF1n1qxZOclfupvZ5PnzMtDKsoTXoxKLG06Id4fL8Pk0iou9tLTEqW+I0rdPMKcRVEqFiDvhxqBp\n+2dPVVNTw8yZMzvd/+4Qjyf45vEnMXx4dd5xU1cfxTRt3C6F8vL8WhOmZeNyKb22Rq5du5YTTzyR\n2bNndzn2Piu69QBKkpTtvy4EbgXW4JDBeqACmA2MAX4ihMjripMk6TvAcUKI81J/nwVMFUJcknVM\nDXCtEGKOJEmvAz/uzgM47qAa8cKrb+Wd0NKWiaTlEAHdskkaDhmIGRaxlAcoqpu0hpPEDAtd0Mka\nBBBpiLL0kVVYusXQ6QOoOWooflXO+qfgVx3VtLbWBMOryyjKYbn7tBDCSZIWeQgf7LuJxE7dRyQJ\nJUXY2nkULRthCWQhHM+hIqMpexZ7OXvhl/YUrm1uirJ+fVPOzaoQgocf/oDXXv8En0/jmp/OoLJP\n0KnbhzN5CiFh2QLdsmhqjlNc6qOqbwF2h9ugpryYvRHm+mnQGEnyzsZGNrfsyffp49WoLvAQSE0c\nti144tGVLF2yg2CBm3k/PpTiPOMnGtbx+DSGDS/NkJa47uT+VBZ6KPyKev06wjRt1nxYh65bBAKd\nN82NjVGuv2khoXCSo48cytlndZYBTyMa1bEswehR5RR02Ix9EWCYFps2NdPYGKUoR+grwCdbWrjl\nN2+QSJjMnjWKObPH5GzLtgUtLXHGjq2kOEdo4tfYg/qGKGvW1pNUHBl+Vwcjwr8WrOW1Vzfj9WnM\nu+oQyisCbI/orGp18j4G+10MCzoF4yPhBGUVAfr1L8xpjLBSYd2lARelflePnnHDdshgwrKxshY2\nWXLIoFeRUHuYH93SEuOjjxrxeFS83s6GENsW3PfnJSxZsoPiYi/X/WJmZg7LFpNBcvoaDHoYM6Lc\nWU/4/DbCX2QYpsWHH9ZhGHbOKIVt21txa61UVg2msMBDSUn+59VOhTd6PWpew2IupHPrjdQA2lv+\nmBZ6SRvhXYpM0KO2i7SRJOc4PWk6xgJFykn+kkmLxoYIQkBBoYfiIk/OcePsSwRer9NXZ/8kOtVW\ndoiYtNd92lt8Xt6+nsAwLBIJM28OeENDlEhUR1Fk+vYJdimMZlo2Lk3BtQ9SZ3oDpun0VZJza14I\nnPSJWMxAVWT69g3mfVas1Djt7fDqnmJfewCfpz2/AOgH5MpKfAToOhazC0iSJAO34RSX7+7YC4AL\nAPr2H9DdsSlvl0yeCC8SCYPNG5uJuzUKK4Lt1Nac0EabuoYoi5/6EEu3qBhRxqBDB9KcNOlY01cC\nvJJEWdCFaItTZtmU+l0U7OUASXv3nAVTYOG8kG09Sk8i+3rYSbKEIsudyJOwBcKynZ+pBcK0IWE6\nFj7HvtBx+GR1INUZ26+ydkszhe02ms5Cddjx1exqiLL+w3r+77bFzL10GoVFnuyPZyZwT0CjqSFK\nIm4wdFhpTgXR/QkhBDtbEyzf3sInTbHMtfb1aU6eX5bFSAjB88+uY+mSHbhcCufNnZyX/CWTJpIC\nQ4aUOJZdWxAzLALur71+HaGqMiNHlLNiVS3JpNlpTJSV+Zl32TR+/ds3+c+rmygp8XLSCSNztuX3\nu0gmTVat2c3QISVUVQa/MAtcPG7w0foGEgmTkpLc1sra3WF+93+LSCRMph88gG9/q3NuLaRDixMM\nHVryNfnrASrK/QwdXMTmbW0kBeiWwJUlWHHCyaOor4vy4Zo6/nzvEi6dN50BhR4UGVY0x9gS1bEF\nVBd6CBZ4aKyPEo8bDD6gpNN4VWQJv1uhKaqjmzaVBd0r+mqyhJbKFzSFIJ4KE7UFxEybmOmIgDme\nwc7h+pCay3aG2Lq1lYICd05rtxCCxx5fyZIlO/B4VOZdPr3dHJZZqyRnvGqqwtChJVg4m0ZICZHh\neCZ6msP9ZYemKowYUc7KlbXoutXJAzNwQBGxmGNYbAslUBSJwsLcBipZlrCFIBY3HDVMtXtPTTqa\nxrJFj71+2RzLtAShhIGZCsX0p0TUOp7WtgXJlAcpXw1Ww7BpaowiBPgDLkqKPHRqKAXLErg9KshS\nu9QU2ON9Sxui9xW+SN6+rqBpCrYtMAwrJ9kpK/NhWjaJhEnt7jB9++QnRaoiZ4Rh3L0QctxbEMLp\nX1K3Ut7O3NfV1BQjFjOQZYnKqkDeftq2QJKdaLYv4nfaHXriARzU5QEdIITY2kVb04AbhRDHpv7+\nWeoz81N/FwKbgHQRvSqgGTi5Ky9gdx7A7tDSEuOTTS1omow3T3xzqC3Bnbe/TVNjjOHVpZwzdzKW\nLBE17dQ/i6hpEzEcspgLqixR6ndl/pUH3ZQH3Hg0pRPZy87fk7L40/4cZJIsIckS5CJ9tuPt6y1Y\nls3Wzc2EQgkCQQ97ilI4E7Rt2Pz5nnfZ8kkLffoGufjyafh8+YsER6M6tiU4YEhJr3pgewrDsllf\nF2bljjYao049PhkY4Hc5wg85rGev/mcjLzz3EYoice7cyYwcVZGzbdO0iUZ0Ro2uwOvTUhZVicoC\nNwVfe/3yIhRKsGrNbgqCuXPi3nl3O/fc9x5CwDk/qMlZHiINy7Jpa0tSUeHngMHFn3t4ZENjlA0b\nG3Fpat4cjeaWODf/6jUam2KMG1vJVfMOyWvFbW1LUFHmZ+jQkq/HUw9h24L1HzfQ2BwjmhIU0LI2\nsYmEyT1/fIcd29vo0zfIRZdNw+93URc3WN4UxQb6+VyMLfIikIhEkghbMHhIMUV5St3EkiaaKtG3\n0Ncp/7A7pFWa0zmD2auWIoFbkfHITpiorlts3txCS2uMosLcnmWAZ59bx4IFa1FVmauuPJSRI8tz\nHmcYFpGIzvjxVe08WhkPIWTshhnvDF+Twra2BKvW1FGUQ5vANOrp0/cAGhqcAsPlZf6cEQ9pCAGW\nbaOpCi53bkXrnnr9Ou4EsreVccMimkp3UGWJoEdr91xkrt+00ZNWSk0394lMy6a+LoJtCbxejYoK\nf+4UF4fZIXe4R+m0D3kfkz74Ynv78kEIQSJhYtkip1HJtgW1u8MZI0SfqmCX+24rRbrThobPE2nj\ngmnZXYrhtbTGaW1NIElQVRXsVIYlDSEEtu2Mw73xpPc2PosHcK9EYD4rJElScURgjgR24ojAnCGE\n+DDP8a/TCyGg+WAYFrt2tlFfFyUYdOUt4RCL6dx9xzvU7gozYGAhP7p0Wk7REnCIh6zKlPYvoCVu\n0hTVaYokaYrqRPXc+YdBj+oQwoCb0oCb8oALX8p1vr8nDUmWkBQnRjM7vBNBr5O+jjBNm48/qscy\nBV6fQ2QUac+kHY3q3PmHt6mvizBgYCEXXnJwzhCkNNKbjMqKAH37F+6XCag1prNmV4g1taGMPLwm\nQV+XyvASH+48E8W7b2/jqcdXIUnwvbMnMGFiv5zH2bagrTXBsOpSggUeYoZNoVejIuj+2uvXA9TV\nOaqYJSXenM/Wfxdu4oGHPkCS4OILp3Lw1PzRBUII2kJJNFWmenhZXov7voSuW2zZ2kJdXSRnmYc0\nIhGdX81/nR07QwwbWsJPfzIj78IWjiTxeFTGjq78XBe2/0UYhsWqNXUkdYuQaXUigZFwkrvueIf6\nugiDBhdx4SUH43arNCYMljZFsYQTFn5QiQ8JiWTSIhRNUFEZpE/fgpzemqRpYdmCPgUeAp8yN1UI\ngZ4ig8kOZBAhiLTEiYeSaF2sRwtf28TDD69AkuCiiw5mUhdzWEtLnFGjyvN6qjteW3ekMDsa5suO\n2t0hNm5qpqS4/RxmGvUMHz6CtlCS5mYn2qSiIoA/j0EoDStdXqRDSGi+XL/sHYDo+EL2e0IQSpro\nqXXQmxJ66fgVCeHMY6aZX+wFHC9iY33Eyclyq1R1yJNNG6ylDvvA/eXpSyNbfwH+98akbQvi8VQh\n+26EUTwelarKzvnK2UinYH2eIaGGYZFMWiDlVvpMI/vZ6UrwBhxjhNejon7OyuD7lQCmSNwc4FCg\nBMdD9xbwjBDdV59P5RTejlMG4n4hxC2SJN0MLBVCPNfh2NfZBwRQCEFrS5ytW1oRQhAI5s+jiMcN\n7rvnPbZtaaWiws8l86bnLfeQTJoYKdEXl0vNWrScBSxmWDRHkzRFDZqjSRojOk1RPWMlyYZXUygL\nuCgLuCkPuikLuPc6hLRHkECS5U4Tp0P6BMISiBzX15tIj0EBJJMGG9Y24PNouNydH6zWljh33fEO\nzU0xBh9QzNyLp3YZ5imEIBzSUVSJgYOKKCrKvfH/LNBNmw0NEdbWhtjVlsi8XuRSKEdiYKEn72Yb\nYOmSHTz+yAqEgDnfHcshMwbnPbalJUHfvkGKKgIokkRVgftTb/q+qvhkSzO7doXzhtc++691PP2P\nD1EUiXmXTmPCQX1zHpdGMmkSier0qQwycGDRflEJFULQ2BRj0+ZmEBDsYg6LRHTm/+5Ntm5tpV/f\nAq77+TfyegYSCRPTtDlwfNXnHj79v4pYzGDlqlpUl0JjTE/lQ+/5blpa4tz1h7dpaYlTPaKMcy6Y\njMul0Jw0eb8xgimgwqNSU+pHkSRsWxAKJZFVmX4DCyko8DikJ3vzb9skdIuygJtiv+szKRinPYNR\n3SJuWshZGxxhC4y4gRE3MONmZm14441PeODBVK2/s2s4PE/JGiEEzS1xBg8qpl+/T18WKRcphD3e\nHSc/fI/QjPPe/9ZGPB+EEGz+pIXdu9vPYWkCCM4Ya02tRd1tZCElImcLxxvokrGFE8WSVgZ3zpv/\n8x1vbdK0CWcJvQTdKm6tvTFJCIdM6CnDeL6NucDZbDc1RDENG01T6NMniKzsIXydwpVTHqz0GNif\n+DIYIizLJh43Os0zaRimTW1tGMuy8XpVKiu6JoHpNiVJwu1W9htpsm2bZNLCTNWQ7OoaQ6EkTSny\nV1bmJ9iF9zxthPgiKILvNwIoSVIF8G9gPLAFqAMqgcHASuAYIURDjxvsJewNAYyEk+wBminJAAAg\nAElEQVTY0UY0nMQXcHUZuhWPGfzp7nfZvs1R07tk3nSKS9LJ7M4x6btnmjaRSJLhIyvw+bXU61Iq\nDqB9zHx7JSpBa8ygIZKkMZykMeIQQz1HGKlLkSlNkcKygOMxLPK59r7GoZx74hRCgC1SIZ773jMs\n0jmCkpP3ka4fFYkk+WhdPQUFuUtwNDfFuOuOt2ltSTB0eCnnXzil2wdR1y2iUYOCoIt+AwoJBHKT\n+J7CtgXbW+OsrwuzsSGSCZFRZYn+ATeFpk2RpuAPdC3SsOTd7Tz52EqEgONPHMFRx+ZXfAq1OWO2\n7+AiygJuSv3uL3VB930F2xas+6iBcCSZs3C1EILHn1zNiy9/jKJIXNqFNyP7M+GwjhCCgQOLqKjw\n75OagUI4ZGDL1hbC4STBYO5crDSyyV9lZYBrf3p4Tjl5cOawcDjJ+PFVBD/j8/FVR0trnDVr6vAG\nXDREkp1IYEN9hLtuf4dwOEn1iDJ+eP4k3G6VVt1kSWMUwxaUulUmlvrRUs+4rltEwjrBQjdV/Qvw\npkLg0xtOIQSxpIXPrVD5GfKADcNi9+4wO3aEUFWZwhIvmk9D82qoHYwCZtLklec+4q9/eg+A004d\nx7HH5pe8b21NUFrmY9g+Ci3OJobZqROCPV6gNDlMr8v/ixt2y7JZt66BaMwgGHTGQTYBBGhujtMW\nckLZKioC+PJEy2Sv9IbpKKarmoyWw9vc3W0SAiI5hF6UdsZlZw42dCsTapiv3TT5a26IYRgWmqbQ\nt18BqiZ3upj0vsU0LLzeT69y2mNkGx5SL/2vjaOuYJoW8YSZN1zSMCxqd4dTIjsalXnCcbORFuVR\nVRmXS9lnESa2LTBMC0O3HNHCbsZCNvkrLfXl3BekYVk2qqrgdn8xBG72JwF8BDgcpxbgkqzXJwP/\nAN4QQpzV4wZ7Cd0RQNsWRMJJamvDhEMJPB4VT47JMJvUxaI6f77nPXZsb6Ok1Mfciw+mKFWfqeM9\nc8Ly4hwwtITSMkeC+bMMDCEE4YTpkMIUIWyMJInlCCFVJIkSv4uyYJoYuin1u9ov/lJWPp/UmfQ5\nQi6iaxNfLyG7fIOcCvHMFY9fXxdh65YWiopzq3s1NES5+/a3CYWSDBlWwrkXTO4yHDSNeNwgkTAp\nLPBQ1TdIIODu8UJh2YIdLTE2NETZ1BghYewh6VVBN/39LlxRAxmnEHl3k9t77zhhnz0hf+GwjiXB\nuLGV9Cv24flakv8zwTAsVq7eDZBzYySE4LEnVvHSKxtQFImL5k5lao46lB1hWTbhsI4sS/TvV0B5\nqjbVZ4VtC9pCCbbvaKOtLYnPm1uBMRvhSJLf3PoWW7e1UlUZ4OddkD/bdjwzo0aWU16Wv9bR1+g5\ndtWG2LS5GX/Qze5QAlcHEri7Nsy9d75LOOzMYefNnYLHoxI2LN5riJC0BQWazOSyAJ6suSQeM0gm\nTQoKvZRXBfD4NGd+T72fMG0kIagq9OB39zw6IJEwaGiIsnNnCJAoKOg8N8qKjOpTM2TwPy+t597b\nFgNw9gWTOf6EkY53MGF2MiJGIslU6Z+K/Z4PlB1lkt63p420Uvq3LIII7UkifPE2+bpusWr1biQJ\nvF6tEwEUQHNzjFAoiSRBebnjCcyWZBOZmyGwhMC2nU8K23ld05xNutyDr6s7oZf2xM9GluUuVTfT\nZRoaG6IYuoXmUhxl3PTYEVn7F9tJUzEtJyxxX42vjgJ88MUZD/sCum6RTOZXBtUNi921YSy75yQQ\nnHFgC+EoxWtKt965nsK2bQzDxkgZIHpCMEPhJE0pgb7SEh8FBV2QP1tkymZ8Ub73/UkAm3EKsz+W\n470zgTuFECU9brCXMPagGvGv/7YngOk45lBbgoa6CLph4vFoeFLhctn+NZEtrQmEQwnuv+99aneG\nKCn1ccElB3cSEsn+8ltbY/TpU0Df/oX7pH9pRJNmO0LYGEkSSnSOupWAIp9GWdBDeYGb8gIP5QWe\nlNhMVj6f3b7f+wodx1i6DlR3vGv7tlbq6iKd6relUbc7wr13vUOoLUm//gVccNHUdjWpukI8bpBM\nWLjcMuUVAQoKPDmthjHdYltzjC3NUbY2xUiYe0ZOkVdjYIGbYgFmzESWJPyBniUEv/XGJ/zz707q\n6wknj+TIo4flPM4WEI7qmKbFjCkDKCvs/RDWryrSoXper5bTgyyE4Km/r+FfL6xHkmDu+ZM5dHrP\nNLFM03aEiGxBSYmPygo/gYB7r0JGbFsQjeo0t8bZXRt2Njfu7okfQFNzjN/dtogdO0Ldkj/n+DgD\nBxYyaEBRj6/va3SNdKhe3e4w3qCb3aE4mtyeBNbXRbjnTmcOG3xAMedfOAWvTyNmWixpjBI1bbyK\nzJQyf6ZUTBoOEXTEGEor/PgL3Ljcjqy+ZTt1T0sDbkq6CAlNJk3C4ST19VFaWxMoqkTA373xSgjB\ny698zFNPOfVwzz5/Mt86bXy7Yyzdwkg4ZDDalsTQTcaN+2KGFmcTxOyfpIQ8RIootiMAKcKY+btD\nm+3Uufd2ys4yRncyOGf9HokmWbWqDp9fwyO3MKx6xB5ym/qvuTlOOOxIlZeV+TpFv6QVPsn0ac+5\n7dTriiKhqjKy0jlHT4j8Qi9p0mdZNqZpI0RKyCff/ZAk533ZCX2u3RlyPH8p8icr0p4opQ57l3S9\nNm0fhOVlk+b/RY/xp4UQIhVCmVsZFBySWLs7nFH8rKoM9NioniaCsiShaXLK2LB3ZDB7fFmWY7lQ\n8ijIdkRra4KWVC3J7sifnTJo7Rfv8l5gfxLAKHCaEOJfOd47GXhMCLHfq7mOHneQeGTBf7EtR8Eo\nEkkSDScRNkiKhM/Xs025JEnU7Q7zt/uW0NIcp7TMxwWXTqOoCxn0UDhBUYGHQUNKPpdBkTQtmiI6\njdE9pLA5qud05gXcaiavsCy1MdgneYVkLag5Qjx7ejrbFmza2EQknCSY58Fsborxp7vfpbEhRnm5\nn7kXT6WktHthgTRM0yYeM7DTlh2/hq7JNCUtdoWTNMb0dscXuBX6eF0UCVBMG1mWcLsU3D28j7bt\nlHp4feFmAE761ihmHjm003FC4NSr1C0UU3DI5P4UfQ4iI192tLTGWfNhfU5VPXDG8TML1vLPZ9cB\n8N05Yzj5xJE9fmaEEMTjJomk6ZSH8WkUBD0UBF1oLgVVccKsBALbEg5xjOuE2pKEw0lnXCoSfp+r\nx1bt7dvbuPW2RbS0xOnbJ8jPfjIjb74jpMLySn1UDy/9ymxs9hcsy2bdRw1Eojour0pdKIFLlttt\nUBobotx757u0tMSp6hPkvLmTKSn1kbRsljZGaTUsNFlicqmf4hzkKXsOk2QJf8CFL+BCdSkkbYHf\npVBZ4MWlyo7Som4RieqE2uIkEo4wQk8NC+DMYY8/vpL/vroJgDNOP5Cjjx6GrMqOZ9CrorrVTjnl\nCk5uu0uWcH1OtVh7A9l7ply7p+zXpNQLe2NnzSaNndrK8XdLS5y16+opK4wxvHoEudDSEqctlRNY\nXOylsNCDEAIzRaSyiV+u/gjbqZ0nAZIMiiwjpwhexLCcfEHAo8r4NAVhO8IfaQKJtEesp30n9hA+\nOUuHIJk0qd0RwkoV2K7qTm3StFE1uVeNC+m9y1fF25cPQgjiCRM7jzIopMNBI1iWk6NZVRXoUmkz\n1znS3mdwPHeKIqW+8/YRYkKkQ0ltLEtknkdJkvZqD97YFMsYRroL+/yiKH7mwv4kgK8CbuBYIUQ0\n63U/Tm5gXAhxVI8b7CUMrR4r5t/xNIqsICsSmqagacpeE7JNGxp56P8tJRE3GTCoiB+cPzmv4As4\nqpRul8KwEWX7d1BIqYkoTwK0YVo0h5M0hBI0hJ3cwqaojpkjr0+VJYp8GiU+F8V+FyU+FyV+F8FP\nSQzTHsb0NaZrOn3aedMwLD5e34hlWXnLPoRDSf5873vs3BEiWODmB+dO5IAhPXNE65ZNq27RrJs0\nJ01adavToluoyBSrMsWKjF+RUTUZl2vvw0wMw+Lxh1ew4oNaZFni1DPGMzmHyqRuCUzTwutSIWEx\nbkwFZV+H5e0zpJVBi4vzy9u/9MrHPPaEE657+GGD+eHZNZ8qzCitRmaYTukOKavgSSoSC0Vx8iNc\nrr2fwz5cW8/td75NPG5SXV3KlZcd0qUUfDicxONVGTOq8nOX6f6yIq0Mals2ilvJSQKbm2P85d4l\n1O2OEAi6OPeCyQwaXIxpC5Y3R2lImMgS1JT4qeyCqNm2QNctDMPCTG2OkinDQqFfI+BSUGQn7Mr9\nKaTZDcPiz39+n6XLdqKqMuedN4mpU3Ir5apuFcWtgKbg9WudFgEtVWLClfqpfAU3172F2toQLQ3b\nGTEyd/1ScMrgNDc73o5A0E2w0P2pyiGkN+CGLUimUjokwC1JqJJEWYmf0WPGZo6fM+e7XHnV1UDK\nKypLyIpEKNTGU088wdwf/Shz7DcOPZQXXl5Ifcqj5PGoVFR07VGyLMcQ6/Fomb60trby+GOP8aOL\nLtqrvt104434AwF+/OMf95j0xeNxjjvuOBYuXEhtbS2LFy/m1FNPRdd1jjrqKBYuXIiqdiamf/zj\nH7n33nupqanh0Ucf3avr3N/oThkUHEPU7roIhmGhKjKVlYG9Fkmpq6vjmmt+zJIl71FUVIymuZg3\n70pOPnlWp2PTKvmJRJxZs07kpZf+jaIoWW0soaioCJfLxRVXXMWsWd8CYObMGTzx5Iu0tkY579zv\n8vwLr1BYkCWmZJp897tzWLp0CS+//B9GjxmLZTpiN8OGDSUYDKIoCqqqsnSpo095zjnn8Pzzz1NR\nUcGaNWsybW3fvp3vf//71NXVIUkSF1xwAZdffnmmr1dccQXvvvsuxcXFuFwufvKTnzB79uy9umf7\nkwAeBLyGs8X/N44ITAVOUXgJ+IYQYmXPL713MLR6rLjz/ufQcjxkPYEQgvfe3sZz/1iDZQnGjK/i\ntLMmdDl4kwkT27apHlWx75WAJAlJziJ9HZOf0+ItQuQN60yLzaS9hE1RnZYuSlOoskSBV6PQq1Hg\nUSlM/+7VCKTCjLLPvyevDxR6V30rmTBZt7YezZXfwhePG/ztL0vZuKEJRZH49nfHMu2QPeF6Qgji\nllOnsc2waNMtQoZJPEdZi6AmU+JSKfdolLpV1F7w7LY0x3nob8vYuqUVt0flh+dOpLpDjSzTEuiW\njVtRKPKrxMMGgwcV0X8fhxZ/Ddi6rYXtO0Jdhkm+v2wn9963BF23GDO6gosvnNplyMj+hBCCV/6z\nkcefXIVlCaZM7s+F50/ucm6KxQ0QTl7pFzEs78uEeNxg5arduN0KQpFyksB4zODB+5fx8fpGVE3m\n9DMPYsLEvthCsLolzo5UNMLoQg+DA+698EKDbUPUMNFUmRK/C5ci73UoW319hHvufY+tW1vxejUu\nu3Ra3jp/znmd8MMDDiimqk/QIQy2M8eZOdYoRSJFCGU0WcpZjP5r5Mf6tWsZPHh4l6Q+nJXv5Har\nlJT59lpIzAYSlp0prK5KEl5VzuRO9q0qZdfuppTeAO28e9nf55YtW/j2rJNZunwFViqsMxJK0tLi\nkFS/30VZma/LMbAnLE/t1PbJJ53EqtWru+1PdljvTTfeSCAQ4Oqrr+7x/bj77rsxTZPLL7+cBx98\nkLVr1/Lb3/4WgJtuuolhw4Zx5plndvrcyJEj+e9//0v//t3nlkNaNE8g9yQhcx+gO2VQcL6P3XUR\nkkkTSZIoK/V1aYDMhhCCmTNncOaZZ3H++RcAsG3bVl544Xl+9KOL837uT3+6F8syufjiS7ttwzAs\n6uqjGIaFLEs88MAdjKgezmmnnZFp76KLLqSgoICTT57FpZdexDPP/IshQwfj0hQGDx7M0qVLKSsr\na3cNb775JoFAgO9///vtCGBtbS21tbXU1NQQDoeZOHEiCxYsYNSoUUyfPp2zzz6bCy+8EICtW7fy\n3HPPcemll/bofqWxv8tAlAE/BiYDfYBa4D3gNiFE41411ksYWj1W/P6+BXuSg7OQbcWRnV+ccAfJ\nER9JJAyeeXI1qz6oBeDQww/ghG+N7tLiZOgWiYTBiFEVeQvHf2pI7BFryfOgZYheivR9ljy+pGnR\nEjVojuk0p0hhSyw/MQSH5AU9GkGPit+lEnArBN0aAY9KgVsl4FbxaJ0VxD4LolGdj9bW4/NreVUP\nk4bFs/9cy7tvbQVg1OR+HHjMUBISRI0Ota1SUCQo0BSKXSolbpUSt4LWyxPsh2vqeOzhFcRjBkXF\nHs6bO4W+WRLoVqr2lqrIlPg0fC6V5uY4ffoEGXJA8deboP0A2xZs2NhEU3Osy1DbTZubue32xbSF\nkhQVebho7hRGj6rYj1faGbGYwV/+31LeX7YTgOOPq+a0U8Z1OYclkybJpMn4cX26lYj/Gr2DcDjJ\nqtW7CQRcWBLUhRKdcgIty+YfT63h3be3ATDtkIHM+vYYNE1mQzjJhpATxjfA7xSM39tyD7pho9s2\nBR4Nv0fN1Ebrjgwu/2AXf/3rUuJxg/IyH5ddNr1bw1RzKgR50KCiTm3bKQ+Sbjs/DVt0WsYkHEOk\nJjkeQvVrUtglNq3/iMEHDMey7E4RSXaqFpsQzv6lqSmKbQkURaakzIe7h0ZsQwgSprOWSoBbkZ1w\nXpx9iyxLVJYV09jS1i4EOBqNcuZpp7Jzx04sy+InP/0Zzz33LC8+/y+GDa9m5swjufLK6xg9qj9L\nl31CKFTH2d//DpOnTOW9d9+hZuIkzjrrbG751c00NDRw//0PMnHiJE499Tvsqt1JMpHg0ssu44IL\nnE3/6aefznPPPsuIESM46qijuPV3v+ORRx7hrjvvRNd1pkyZwl333IOqKPz6llt46KGHqKioYMCA\nAUycOJEf//jH7fp9+umnY9s2n3zyCXV1ddxzzz2ccMIJAEyfPp3HHnuMHTt2MGvWLIqKiggGgzzz\nzDOEw2F+9rOf8eKLL7Zr78ILL+T+++9nxIgRnHPOOVxxxRXcdttt3H///QCcd955zJs3jy1btnDs\nsccydepUli1bxosvvsigQYMy9/SUU05hx44dWJbFddddx6mnngrAI488wh//+Ed0XWfq1Kncc889\nKIrCLbfcwoMPPtiur9/5znc48cQTM8Tl97//PZFIhBtvvLFTO3feeRe6brN9+zZmzz6JadMO4b33\n3qFv33489dQ/8Hq9PPLIw9x22/9hCxhRPZp77vkrr7zyT+699250XWfy5CncccedKEr7MffaawuZ\nP/8W/v3vVzuNu6VLl3LRRRfw5ptvY1kWM2ZM56GHHmXMmLHMnDmDBx54iEGDBnfZRjTmiFxNrBnM\nylXbqKzws27dGq6//joWLHAq0N1yyy+JRCLMn+8Q+MVvv80N11/Liy++QGFhYV4CCI7RIfs+5sKs\nWbO45JJLkGWZm2++mTfeeCPncddffz0lJSXMmzcPgGuvvZaKioqM9zAbn4UA9tjsK0mSBkwBPhFC\n/LSnn9sfUGWZ8qAbNTWgHKUvZzmxU7HrtnASkK10UrIQfLKlmaceWUlLUwyXW+HEOWMYX9OXpGUh\nWalCs+laMjgLj2naxGI6w0aUfXbyl5Y/Titz5ljc9oi2OCqdvV2ewa0qVBUqVHXY9CZNi1DcpC1u\n0BY3CCUM2mIGbQmDmG5lXs8HCXBrMh5VwZP56fyuyhJqauOjyo5EryrLKHJWmn3qhy2cGlemLYgF\nXWxpjKK4FMwOG4hkyqrsnz6A0UEXH72ykXXv72TrpmZGn1BNYd8gblnCrykUagqFLoUCTSGQQ+q6\nt6DrFi+/sD6T7zdqdAVnfP8g/H7HIpYhfrJMecCNz60i4eRklZX5OGDw1+Rvf0GWJYYNLcHQLUKh\nZF7P3tAhJdx8w5Hcfd97fPxxE/NvfZNZJ41i9qxRn0tuwIaNTdx73xLqG6J4vSoXnDuZyZO6Lllh\nGBaxmMG4sZVfk7/9iGDQzaiR5Xy4tp6iIg+VBR7qQglgDwlUFJnvnjaOPn2D/GvBOt5ZvI3Nm5o5\n64c1VPctIKDKrGyOsT2qEzNtakp9uPbCYOXSZFQhE0maJAyLYr8Ll6pgpaJIOpLBZNLkmWc+5N//\n2QhAzYS+nHvuxLzh+Gm0tsYpK/UycGBn8gfO2upWJNKlXoUQmAJ0287M67bAIYcISNkjs0mhs444\nHqjPUvfwywS3WyWRMDj0G3/ZJ+0/+/IPAOc7CLhUJ09Lal9DOB6PM3XyROcPAVdd/RMURaGysg9P\nPvVPAFrb2pgwYRLrPvyQ119/h6amGLGYkSlZIUltbNq0iYcfeZzRf/oLhx06jaeefIL/vvo6Lzz/\nL373u9/w2GNPc//991NWXuqcc8oU5syZQ2lpKfPnz+fDNWtY/sEHgLNJfuqpp3hr0SI0TePiiy7i\n8UcfZcyYMTz55JOsWLEC0zSpqalh4sSJnfq9cuVKZs2axZNPPsmiRYu48sorOeGEE9B1nc2bNzN4\n8GAGDx7M5MmT+f3vf8/YsU4IrGVZvP/++53a+9Of/sTLL7/Ma6+9RllZGcuWLeNvf/sb7733HkII\npk6dyuGHH05xcTEbNmzgwQcf5OCDD27Xxssvv0zfvn154YUXAGhra8v09cknn2Tx4sVomsZFF13E\no6m+PvHEE932NY1c7TzxxOOcccaZWLbNxo0beeCBh7nnnj/xve+dzoIFz3DggQdx663zWbjwTVzu\nIJs27eSDFat59NHHefnlhfj9Hi6//FKeeOIxzjzzrA7nW8tBB03IeS2TJk3i+ONP5KabbiAej3Pa\naWcwZsxYdF3nk08+YdCgwXnbsG1BS0ucUCrfT5Ik+vZxckrHjBnL8uV7yoxfe+11md8ty+bQQ6az\naNFbmTlMkiSOOeYYJEli7ty5GYNDT7BlyxY++OADpk6dygMPPEBNTU3eY8855xy+/e1vM2/ePGzb\n5oknnmDJkiV5j/+02Ju4HwtYCHwT2NXrV/IZIElOcnlPi0vGYgbP/PNDFi7chBAwYEAhF8ydTEVF\nIEUWU6TDsjEtgZEiIJZlEwnpHDC0BMWtkjAslBSB6XIB6gHRgyxJY9E73r3PAreqUB50itFnQiRS\n4Z2WLQjHDcJJk4huEkk4P6NJi0jSJJI0SZo2CcP5R7yXL87I7Z2UAa8qM3ZSPw4YUMjiZ9bS2hBj\n2SMrOfzIoRx+fHWXNdN6Ex+tq+cfT62hqTGGLEscf9JIvnHEEGRZakf8ygJu/CniB44kcTDoZtjQ\n0i+U0tRXAYoiM2JEGR+urSMcSeathVda6uPaaw5nwXPrMv+Wf7CLs8+awIjqzpbBfYFoVOfJp9fw\n2hubEQIGDSrisosPprKiaw0u07QJhZKMGV1BQcHXokL7GyUlPqqHl2VyTqsKvOxui5NNAiVJ4rDD\nD2DI0FIefmA5dbsj/OF3i5h55BCOPHoY0yoCLG2M0pQ0WVwfYXJpZ4XQriBL4HMpmJagIZTA79Eo\n8mgoqoyVMo5iC1av3s0jj6ygqcmZw777nbEce+zwbo1SbaEEwaCbIUN6PodJkoQmgSbv6UfaS5j5\nJ3KTwnSf1DQplL66xFCSwOPZd+HcEuD3qPhcnc+xRyjDy6K3l7QzVm/csIGf//QnXH/dtRx73DeZ\nNv1QWltasCyburoIAC6XU1ctbZQaPPgAxo4dB8Co0aP5xsyZSJLE6DFj2Lp1Kx6Pyu9/fycLFiwA\nnHyrDRs2UFpauueaUj8Xvvoqy5ctY+qUKYBDUisrK2lpaWH27Nn4fI5w3Mknn9ypX4lEgoaGBm64\n4QYARo8eTUtLCwCNjY0UFe1RTl6/fj0js/IwFUXB5XIRDocJBoN57+uiRYuYPXs2fr+T6//tb3+b\nt956i5NPPplBgwZ1In8A48aN46qrruKaa67hxBNP5LDDDgPg1VdfZdmyZUyePDnT14qKCpqbm7vt\nazbytaOqCi5NZdCgwRx44EEATJhQw9atW2ltbWX27DkZD9noUQO57bZ/smbNSg49dBqKImMYCcrL\n84eOpzFv3mW8885iNM3FokXv8POf/4LDDpuG2+3h//7vD0D6/uePRLjkkktYvHgxqqbx1FOvUFLi\nzYQlg/P9aFrn7yftRXe724cWL1q0iH79+lFfX8/RRx/NyJEjmTFjRrd9iUQizJkzh9tvv52CgoJO\n71988cUsWrQIl8vF+++/z+DBgyktLeWDDz6grq6OCRMmtBvXvYUezxRCCFuSpA1AVa9fxX6CbQve\ne287Tz61mra2BLIscczRw5gzZ0wOYtD+b8uyaWqJM2Z8FWUVAUzLkdnWLZukKUASmVj3tHpROkk1\nFxxyl6q3Iz5fstcR2ZLYkgQq2V5Qx/rnDrop66pYpi1ImlaKBFokTJu4YZE0LIdM244CmWkLh2in\n5IAhJa2dsUQ7Hl5VllIeQ5lkTCfcmqAw4MqEoKSFBDL3uzzAjBHlvPTCet5YuJnX/7uJlct2cezx\n1Uya0n+fkavmphjPP/cRK5Y7NpKqPkFOOX08gw8oxrAEiaSFqrb3+KURjiTxuBVGjij7WpDjc4Km\nKYwaWcHqD+uIRvWMt7YjFEVmzuwxjBpZzp//upRt29v45a9f59DpAzn1lHEUd6Ec/FlgWTaL39nm\nzGGhJIoicfw3q5l98uhuc5HTtQRHVJdRUtJzpdyv0buorAxgGBafbG2huMhLVaFDAgUyWlY4aL/+\nBVxx9aFOWPvibfz3lY0sXbKDk781munjKlnWHCNkWCyuD3NgiY8qb89ybdJQFQlFVknoFrt0k0KP\niwKvRmN9hKf/8SFL3t8BOAbSH/ygpkcRCZFIEq9HZUQvzGEdvYTQnhSaKRVLM2W01YXjOWzXBikF\natn5qUpO7VlFTouTfbkIYrqkw1tvXkAyaTpF77tY6yRJIpk0aW6KYaZKHAULPJSUelFUmUhiT1F3\nTZEp8GooklOiQaTW7Ewdvix0/HvY8OG88da7vPLKy/zqlzdyyCGHc+yxsx3lWrjyjlkAACAASURB\nVAkKC70UFrbfT7jce8azLMu43e5UHpyEZVm8tehNXn31VRa//TY+n48jZs4kkUhkaj3CHgVPIQRn\nn3028+fPb3eO22+/vdt7umbNGoYPH47H4xjMli9fzoEHHgiA1+slkXDCshsbGyksLOwk+JJMJjOf\n/TRIk8KOqK6uZvny5bz44ov84he/4Mgj/397dx4lyVUd+P97Y8m1svaq3lepW+pFK0ILEtqRhGAk\nS2AkFgODOPh4Bs8YsAADP4nNDMsPM9ijH4e2LcAytjAwyKwCjCSLRRJaQAitdLe6W73WXpWVe0S8\n3x8RmZVVXd1d1V173c851ZUZGZn5Mis6Im68++67gttuu23Sn9VxHIJgZIBM9fMc6XUgDNYTiQRe\nNHTFtm0KhcOv9MfjDo2Ncd7whjfx3/57mDjouta4x8dNmzZzzz3fqWvv39LT08NFF10AQG9vL8PD\nOSqVCsVikXQ6HX3/pcNeo1zxGegv8r6//ATvuKWXm95wNSuWN457jCyXR/99qnP9jVfZfcWKMLum\ns7OTG264gV//+tfHDAArlQqve93rePOb38yNN94IwJYtW/j2t79dW+eOO+6gp6eHc84Zydp85zvf\nyVe/+lUOHjzIO97xjqO+x/Ga7B76w8BtInLadDRmulQqPg8++CIf/vBP2Pb3jzI4WOTkk9v46O1X\ncPPNpx+xV0gswXItrJiNJ3Dypk5almQoAxVLMK6Nk3BJN8RIp2Mkk25UWc3GssLUwiAIKzqWyx7F\nYoVSoUKlWCEo+wSVAOPP3Hx8R1IdXBxEvY4i4cEyZlnEo+ArGpY4YbYlpGIOrekYy5uTrG9Ps2VZ\nI2evbuHcta1csL6NV57czmUbO3jVpiW8estSXrN1Ga/Zuoxrty7l2i1LefWWpVyzeSlXntrJpRs7\nuOikds5f18olW5Zy9tpWkkWfZtemwbXDogZjq8y5Ntf90Wbe/RevYNnyDP39Be7++pP8v59+kCd/\nsz+aM2ZqHDyQ5V/+6Td86uP389sn9hOL2bz2+lN57/tfyfJVTeTLPhZCZ2OcFc3JUb1+EPbo2LbF\nplM7Z6yXUo0vHnfYsrkTY6JCKUexeVMnn/nUVdxw/SZcx+IXv9rDe2/9EXd+9QkOHMxOWZsqFZ/7\nHtjJrR/8Mdv+4TEGh0ps3NjGX3/8Sm56/WkTCv76+wuctL6VzmP0Eqrpt2JFI6tXNdHfXyBmC8ua\nkviBoTymKFU87vCGm0/nf7z3QlauamKgv8g/feUJvvQ3vyS+a4DOmI1n4PHePM8OFGoX0SZKJEzV\njzs2f9jVx+f/7le8/69+zK8f3Us8ZvOmm07n4x+9gpPWtWIAP5owfLzaAcPDZWzH4tRTOyecjTNZ\nYVBo0eDaNMcc2hMuSxIO7XGH5liY0p+ww7GCEBYsqRhD0TfkvLAAWF/Zp7vocajo0V2sRNWfPbIV\nn5znU/TDC7teMP7nnGuMMeTLHl5gKHtBOBefHU5WbdkWYgm2Y+G44Rx5sbhDLOEQT7rEEg6ZpgSr\n17bU5jrODhXZvaufvfuz5IvR9DWuTdqx8Mo+pWKFSsnDq/gEXjChYSn7D+wnnkhy3X95PX/yJ3/G\n4489TjKZJp/PsXx5I83NiWMH4yYcNhH2FIYpj80tLaRSKZ579jkefvhhIKrcncmQzWajYnTClVde\nybe+9S26uroA6OvrY/fu3Vx88cXcc889FAoFstks3/veYTOc8eSTT7Jnzx6KxSK5XI7bb7+d97zn\nPQC0tLTg+z7FYpFdu3axfPnyUc/t7e2lvb0d1z16qv0rX/lK7rnnHvL5PLlcju985zu1Hr0jfqf7\n95NKpXjLW97CrbfeyhNPPAHAFVdcManPumTJErq6uujt7aVUKvH973//qK9TJQIx165dOAC45JJL\n+c53vk1vb2/tOZdffjn33vs9HKeA69p0d/fy298+x759Q+TyI8fXSy8NA/ht275cW1Yo5Gu3//zP\n/xu33XY7N930Rj7ykQ8d9v0DXHjhxWSH83z+839LLl9GRIjHRyprj9Xb20tbW1vt7+MHBksgkXAP\nyx7I5XJks9na7Z/85Ce1VN8jMcZwyy23sGnTJt773vfWll9++eUUi0W+9KUv1Zbl8/lRz73hhhu4\n9957efTRR7n66quP+j7Ha7K5Ah8B2oDfisg+wiqgo/73G2POnaK2TYpU55Cp+5sdOJDloYf28PMH\nd9UqS3V0pLnh9Vu5+LL14ZidqLqm2BIGbXa1TPHo2LjaaZsfJ2iwJTwwOVHg5EQlrR0Jv5xKlEpa\nrPi13jA/qF6nisbA2dE8eTN0RXLsxLdWlDZzPGWhZ8Oy5RmMMezfN0RTc+KoVznXrW/lfR+4mCce\n28ePfvA8Bw9k+dqdT9CQifHy81Zx3vmr6Fwy+ZPiUimsTvrow3t59plwJ2lZwjkvX8FV155CujFO\nOTCk42FF0fgRrojncuGOautmrcY4VyQTLlu3LOGppw+RL1RIHaX0fjzu8LobtnDRhWv412/8jsce\n3899D+zk/v/cydlnLueVF63hjNOXTjqwN8awb/8Qv3xoDz//xW4GBsKD3NIlDVx/3SYuvGD1hHqy\nq8HfurUtLF92ePqJmnkiwupVzZgA9u4bpKUlybKmBAeHipQ9Q2zMvmLtuhb+4i8v4pGH9vCjHzzP\nvr1D3P3PT9LUlODUly/HXt/CTmCg7HFWW5rEBMejFosezz7dxa8feYkXnuuuTdR9znkrueG6Taxa\n3lg7pDpIGAQGhoAwEJRoDoDccBnHETbPRFXsMSQ61jrIqMQdYwxB1F7PjASvfgBeVLnaj5ZHzxj/\n9akWjaOWCWNJeFG0OsVRfTEd6pcx+sLp0f63muif+taYaIEh7OU0dZ8rMIaKH2bamOh7qB+HbNlh\nsHw04cXf8HdTS5JE0qWvP0+54FHOlSnnyiSSLm46RpBwJnRuUCgUuOgV59Y+w2WXXcnLX34hn/zE\nRxCxcFyXj3/8c2zYsIoLL7yQCy54GVdddQ2f+tSnj/rl+IEhHrdr+9Grr76GL3/5y2zZvJlTTjmF\n888/P/q7CO3t7Vx44YVs3bqVV7/61Xzuc5/jk5/8JFdddRVBEOC6LnfccQfnn38+N910E2eccQad\nnZ21dMd6Tz75JDfeeCPnnXcelUqFD33oQ1x44YW1x6+66ip+8YtfcP7559PT08PWrVvZtm0br3jF\nK7j//vtrxWKO5uyzz+btb38750Ypqu985zs566yz2LVr1xGf89RTT3HrrbdiWRau69aCic2bN0/q\ns7quy2233ca5557LihUraimsR3qdahEaoPZ/vVqNdfPmLbz//R/k6quvwLZtzjjjTLZt+0duv/2j\nvP511xEEAbbt8KEP/y+Wr1hFV9cwjmORycRpSMf4xje+xQc+8Jd84Qufp729nXQ6zSc/+dd8/et3\n4bouN930Rnzf57LLLuaBB+7n0ksv44orruRn9/0nL3vZKygUPL74xa/wmU//P3z1K3fQ0dlJQ/Qa\n43nwwQe45pprgXD7kmrwN85x9dChQ7UpGjzP401vehPXXHMNEBYJeuCBB+jp6WHlypV87GMf45Zb\nbuGXv/wld911F6eddhpnnhmmy37qU5/i2muv5Z577uE973kPn/3sZ+no6CCdTteqx4bfbYzLLruM\n5ubmwwrmTJXJTgPxlWOtY4z5ryfUouNw2llnm69/7z4OHcjy0u4BXnimi9/9Zj8H949cgV+zroUb\n33gGF166bkLFGqrj8bxymLKXjDujUkmsKNg73jSScIyhoez5FCphemS5diUlLPXrRJXPpiIoHDt5\nrUAt4DyRefpmkzGGfXsHObA/e8wgsMqr+Dz80Ev86he7OXhgZPvo6EyzYWM7a9Y2s2Rphta2FKlU\nuCMwJpxba2ioRPehYfbuHeTFnf3s+ENv7eqX41icd8EqLrp0PZnmBJaE02g0xJxRVf7GqgZ/W7Z0\nkkxoQY65Jp+v8NTTh8Ie7QkWTNm3f4gf3vsCv/zVntr2EY/ZbNrUwcYN7axd00xnZwOtLUncqFqu\n7wcMD5fp7s6xb/8Qf9jexzPPdtHVXZtulZUrG7n+tZs4bxIpzPXBn04nMvcYY9i1u599+4Zobk4S\nGDiYLYI5PAisqlR8Hn9sH/95304OHRyuLU+3JWlZ00zrsgwvO7mNdUsztX0YhBeshgaLdHXl2Ld3\nkJ07+ti5vW/UPuzc81dx+atOoqkpWatM3JJ0D0tXhygoCQxDwyXEFjZt6iQed+ZNamUQjSn0j/Z7\nths5CUO7d7BxnHkAjTH4XlgEr3rfhJHkyDpAOSqmZgDjBVRyYcZSVdibEvUgxmwcxwrPpaLA1wCB\nHw3piOY7LRW9UZk2rmvT3JwgnYodPRoe2/6o58+N2SNBdl27ptMll1zCtm3bOOWUU8Z9/IknnuAL\nX/gCd91112GP3XjjjXz6059m48aN09rG4/HRaMqLsRVPJ8sYQymae3Sik78bY8hmywwOFUf1ILqu\nTTLhEI87uNVtrO5YF0TbcqUSUIqq8f/miSf42te+zKc/cwci0NAQp7kpMaEU9Jtv/mM+8Ym/Zv1J\nG8JaIkcI/mZDEAScffbZfPOb32TDhg1HXG/ap4EQkSRwLbAWOAj8hzHm0DGfOENS6TXm1K0fOGx5\nQybOy89fxcWXr2fLaUvDK2mjCq1Qu20Cg/ENQRBgfINX8RkYKLJ2bQsrVszMVfPAGCpeQMU3FDyP\nQimoXd0zGGwZqZw5kZ1edX6+6s7ZEsEm6vFkfgZ9YxljOLA/y769gxMOAqvP271rgId/tYffPXmA\nYsEbdz3HscJKsuOkuYjAqjXNnHX2CracsYRUQ5yEa9OYcEjGDj9hGis7XMJxbLZs6pzWgfvqxBQK\nFX7/dLi7O9KYwPEMDBT5xa9289AjL7F798C461TngfPHmY8SIJOJ1XoRT9nYPqmTHd8PGBgosn59\nKyuWa8/fXGWMYc9LA+x5aZCW5iQB0DVUxAsMCffIJzFBYHjh+W6eeHQfTz11iFLx+PZha9a2cNbL\nlnP2OSsO276rBatsS2hOxkjHHep3sdlsGde12LypAzfuhEMeqAYY1HrF5kNAOJ7qMTQ6XagFjYao\nunj0mIk+czWvx0TdeQGM6lg82tmWRP+MDnBGehaNMVT8gFIlPGGujmMker/cgRfZeMr4E8EHgaEY\npXOOPUZ6JpzXr9oT6lpCwg7n9fN8Qz5XppCvUDlC8bVjsSwhnYqRzsRITDLDpRr8VXv+Ziroq7dy\n5Ur27Nlz1Pn37rzzTt72treN6qkpl8vcfffdvPWtb52JZk7aVAWAQO0ieTnqMJmMfL5CLlcml68c\nMeVaZNT1isN877vf4E/+5K00NSUnfA5YLpf55je/wc1vfMtI2uccCf6eeeYZXvva13LDDTfw+c9/\n/qjrTmsAKCLrgf8gDP6qhoA3GGN+cqw3mAnphjXmrJd/hPb2FEuWZFi3roUNJ7exfn3rcf1BPS9g\ncLDI+vUtLJvllKnqoO6yHxZTyZfDQiqjUjejoLDKRAfeMCNmfvfyTdTBA0O8tGeAxqbEpMvx+37A\nnt0DvLizj5f2DNLdlaO/r0CxWKntdKppCu0daZYua2D12hZWr28h3RDHsS0y8XBOxKP19tUbHCyR\nTDpsOrVD0z7ngUKxwjPPduNVAjKZyRXbAOjvL/D0s13sfLGfPXsG6O7OMThUGnX1s6EhRmtLkuXL\nG1m3tplTNrSf8D5s44Z2lhxHerOaWcYY9u4b4sVdfTQ3JRFL6MqWqPjBUYPAKt8P2L1rgB3be3nu\nxT66u3IUh0p4pZGTdscN92EdHWmWLsuwdn0LJ53cRuYoxbxqrx+EUwOJCI0Jh0zcJZcrkUq5bDrl\n8LRPEwVKnokKhSBRAun8DghnmhcEDJc8BvJlShWDbQuJI0xdlDuwa9wewKogMJSKHoYweAyAkh/U\nCudYQMK2cI+wv/H88PmVsk+54uN7wWHj6MMieBaOG1ZQTCYc4jFnEr19I+cpxhgC35BIODoufh4w\nxlCu+JRLPrZjTfRPPur5pZJPseiFwWTFx/eDUReuRMLxfK5rEXMd4nGbRNId1Us4Gb4fYFkWiYQz\nZ4K/yZruAPBbwJnA24DHgXXA/wesNcasO95GT6VTN51uvn73vVMy8LxU8sjnK2zc2EZb2/jVl2Zb\nLSj0fArVoNALD/QWYQXSmGXhOourDHZPT45dO/tIpWNTMg4lLOAT1Cq7GiOUfZ/AhAfQhnhYDvtI\nY/vGY4xhYKBIc3OSjRvbcKepWIKaeuWyz7PPd5EbrtDcPDVTKFSvqtu2NWUHoGLJo5CvcOop7XN2\nH6bGd+jQMC9s7yXTEMNxbbqHixTKPknXntQFvN6Sx5N9OfJegPgBm1tSrMnEj9qLMRGBgWLFY2ig\nxJKONGdvXUomdXjBhHrVXrQgMPgQBYSje7o0IBwRmLBewGA+nGoJDDHHxj3Ghc1jBYAAQQDlkhcG\nfnV/h5hlEbdl0iftUNczE/XSWBIeHyeWpcQ4vZ7UqosmEs60FRRS06NcCVN/bXvqalqY6MrAVO4l\nPD/AcSwS8cOrfc4n0z0R/AXA+4wxv6y+n4j8afR7mTHmwKRbPEflcmV8P2Dr1iUTuio6k2qpKETj\n92wh7Tg0Rt3WYgxeEBacqfYU5it+NIDchBPo2iMTri9E7e1pYjGbHX/oxfcDkkcp3DERYXEgK5yY\nuBKOh2lMxki69qSCvirfDxgYLLJ8WSNr1zTPysTh6vjFYjZbNi1hx84+urpztEwi5fhIpvrK9vBw\nmcAYTj996RHnMVRz15IlDcTiNs89143rBXRmEvQOlxguVsK08glubm1xh1cuaeTpgTz78hWeyZbo\nqfhsbU6RPIHpGUwQUBqusGpFI53LMxwYKnIoV6IlGSOTCC+GjT2Zqg45sGzBYfyAMIjyJ+d7yujx\nCoyhVAnIFisMFSsEJpxuKRXNjTdVvCAgHwR4UdTmSJjuOcHElXFV0/NM1OYj7ROrRW7qP854q/pB\neL6STLp6jJyHYq6NJWGBqfo5907EVP4fMCY8F4vF7Nrck4vVRALAZcDOMct2EO6nlwLzPgA0xjA4\nWCSVctmypZPELBfjqK/QGV4hCzfQatEZ25LDD5IixCyIORbpuENb9DpeEI0b8AIK5bDHsFCXy29H\nKaTHnMx+nmhsTLBpSyc7tvcxOFiksTE+4f/gJqo0VglGBswnXZumhEvCtSec3jmeUsljOFfmpPWt\nLFuaWdQ7nfnMcSw2bmgjlXLZvbufhob4jFc9HE+4DyuRbnA5ZUOHjimdx1qak5xx+jKefb6bocEi\nbY1xHMtiIF8m4dpMtBPPtYQzW9N0Jso81Z+nq+jx4KEhTmlKsiYdm/Q+qFTyKOQ91q5rob0jXXu+\nHxj68iV6cyVc26Il5dIQd49YxOZIAeFIUBhVGGXkgudCDAqrc+Vmix7ZYoXAhMXf4q495cdizzcM\nl71aoTlbwlRS/GDSc4HVq56jiDB6Ht7oQRPdHfkbHv31fD/AssNemfmakqfAcWySSaFY9PB9Uxvr\nPtvqe5Y1rXji00DM/clwjlOlElZ3XLYsw+rVzTM+AXf14BfeppYDYUcFW6woLUOYfHe6iODagmtb\npGLQEs397EdBYbW3sBBN1h7UHXSt6nQW0c98kki4nLqpg70vDdB1KEcmE6ZTjRUEUTXWuhzzhGPT\nnIyRcMOUmxP96MYYhobCEulnnLaUxsapSR1Us0dEWLWyiYaGGM+/0EOp5B/XuMCpUi77ZLMlVqxo\nZM1q7VleCFIpl9NPW8KLL/ZzqGuYpsYEthWnN1ci7thM5k+8PBWjNe7w+/4Ch4oVnh4osC9f5vSW\nFJkJnAQZYxjORnP8be6gYUzPsm0J6Vh4KuH5Ad3ZEoeyJWK2RXNUQTTuWEcMaqoBIYSZLS4jx8Vw\nyonoxK3uwmg1oKg+fz4w0bQNxYpHtuiRK0fp35ZMTdAnEs3jO/I6fmDI1dUNEIFUzCEVpRT7XlhN\nkWhYw+Q+D7XxhFYU3Y1K7a1L7Tz2axn8wBBztVdmobBti2TKpVzyqHgBtmXNah0K3w8QkQXVs3yi\n85ROZAxgAAwAY0uMtY+33BjTeUItOg7HMwYwLENbAuCkk9toa01NV/Nq7wcjVcKqhGhOoej3bKbA\neH5AJQjLOJe8cGqKkhfgjRnobUuY5mFbgi1z+wDc35fnxZ19BEAyFaub8wkc2yLhWCQcm5hj4R7H\nwOWjKZd9ssMlOjsaWL+uRa84LUClksfOF/vo7S2QycRm9G9cvbggFmw8uY3Wad6HqZlnjKG7J8+O\nHb3hPjdu0z1cwrEs3OO4qn6wUOb3/QVKUZrd+kyckzOJUUXE6pXLPrnhMu0daVauaprU9u35QTit\ngAkvYGYSDg1xm4Tr4B7H+KD61NEACKJKnOGD1MaSzZXewmrAV/YDciWP4ZKHHwQIgmNbx/UdHE2h\n5wCtzY20tLZijJCveBTKfi0oS7g26Zh9WM9aEIQVHH1//JP08c4Qqxerq71+J/IpfN+AQCJu63i/\nBciYsJZCqeSBzHyHQrWSrOvaxOJT37s+W4wx9Pb2ks1mWbdudDmWqSwCc/skG/Wxyaw/FSYbABaL\nHvl8mY7OBtasbp6yFK6xQV51ktyRip1hVU4I86Kr1yDmwsHqaKpFZ6pzF5Y8n3JUjrriB7XB3/Up\nO9WJcqU6YW41uJ3SXO6w9Ha1NHdgwtSh+rYABJ6h58AQQ4NFWhrjpJMxnCno3TuSIDAMDhVxHJsN\nJ7XqifkCF+6I82zf0UdgDI2Z+LSnLxUKFQoFjyVLpnYfpuamYtFj165+untyxBIOA+XwuuvxjEWu\nBIbnBgvsyZXD17CEU5oSrEyNpIUGgWE4W8J2LNasaaG5JXlC7a9OcVStOOlaFumYTSpuE48uwB3P\nidnY9NFqYBgeikcOTDNRcMYPwmCv5PkUSuE4fM9EcyxaFq49vePvA98j39dFqVgMj8sRxxLijn3U\n410t/TZKEZVxVq4eU6uFXizrxAK/IDpW25bgHKGyqVo4qoGg75tw25nmP7cxI+fkrmudcAGsuSiR\nSLBy5Upcd/SwtSmdB3Cum2gAWCp55HJl0ukY69a10tg4uSIJ9QFe7Xd92WLCHaNweI8ezP1A73hU\ny337gan9eEFAJQjwvHAMohcE+AH4QVBLQ8EIhpFIrT54rL32qHcasyLVYjgWjgW2ZRGLrqpWD7TV\ngjfVg+7AYJGdO/vIFyqkU+6UT78QBIbh4TKeH7BqVRPLl2W0yuciUqn47Ns3xN79Q9i2kGmY+kCw\nWPLI5ypkMjHWrW3RlOJFpn+gwM4X+xnOlSgEYGrTAhzHa5U8nhkoMBCNCW90bU5tTJCoBBhjWLq8\nkSVLGqYlXSqoDkOoS7+POxapmEPCtYjZ9qTmvB1rbGAII/P4VSejkLBCGmZMgAhHP1ZXj3H10zMV\nyj6VwCDRhBd2dByaqd6GQtnnqX2D/G7fAJVoTtE1rSnOWdtCZyZxWKpY/blLrYingFcJ6D6YpftQ\nDtsWUulY7fhZ9ML5INsbYiRO4LhWLIZVihsyMdava51zBffU9DHG0N9fYOeufkpFj/QUVWyvFwSG\noWwJMKxe2czSpZkZH9o12zQAjASBIZ+vUC57pNIxVq9qork5MWoHX/8NmLob4c4xPFDUxh1UB7BH\nq1Wvgi3kIG8qBXW9dmMn0B0316SWElsdBxneDnsYJ/9dB4Ghvz/Prj2DFPLlcK6i5IlNAFou++Ty\nZURg+dJGli7NaBGORaxQrLB/f5YDB7NYIqRS7gkd5ILAkMuXKZcDMg0uq1c109KS1H3NIhUEhr6+\nPC/uHuBgX56yMTQ3xo+rd8kYw/5ChWcHwrRQgGXpGBdtaGd5y8xlLlTHgHnRD4T7+3AKBIu4E1Ze\ndh0rHB9vjRQuq2aaTOa96sfdB2YkQPRNGNj5xhAEIz2XlSidteSFwXHtIqSEFx+r4+Wn+//k2PO1\noUKFJ/cN8vzBbO17W9mS5OVrWuhsTIy+sFp3cTps+9hzl5HXLRYrHDo4TE93Dt8YnJhNayZOcyp+\nXJkz1X1YpRKQaYixenUzzU0J3YctUkFg6O3Ls3vPAKWCRyxuk0q5J7Q9VKdwsyxh+YpGlnY2LNo5\nlhddAPjPd99bu1JZqfgUoupDIoa2thRLOjM0ZGKj8tWrQQWMHlRuRd12k7kqqOaXcPxUiYNdWXp6\n8mDCiZLjMeeYJ+tBYCiWPMolH2MgkXRYsSxDW1tKx/mpmnLZp6c3x/4DWUpFDxEhHreJH6PCnTGG\nSiUcM+H54Zihzo40S5Y00NAw+eqNamGqVq9+flc/O/cOEnescPuK2eMWvaoXBCacDy4qAOImHHot\neKYnVwskTupIc97aVjpmcTqRamDoG4MfBWS1S7J12SDheHTBssASa2TYAYTH8igbNOr0wzAS4PlB\nNYslylBBokCr2osotUIn1aCzmmBZCyVHYsLa+YIZc2+i/2tHnjf21sir9QyX+O1Lg+zoHq49tqY1\nxTlrWljWlBzn3GWCb17fDmPoHy4zPFgkyJUhCL/TyezDisVw3KMlQke77sPUaNXeuoMHs/T2jZyH\nJeLHrtLp+wGlkk+p7IEJC2ctX9ZIa2ty0Z+HLaoAcPPmM8y2v/93JKpClUq5NDclaG5J0pB2D0vD\n052PqlfxfIaHywwMFOkfKFDIV2pHzNH9xOH25dhCU2OClpYkjY1xEon5PZGoml7GhFkI2WyJvv4C\nQ9kSgR8wNvF55CTPkErGaGlN0tSUoCEdW3QpLGpyBoZLbD8wxPBgiVKhTKHgjZTdr8YoUUBkjMG2\nLTKN8XD7ysRqUx/lSh6P7ennqf1D+NVAsD0KBOdwql4to6Sa+lkLyOoiM6h1hY1klYQ3rOr9E9yP\njz2dOtGzq/rW+IFhR88wT+4b5MBgEQiHnJyyJMPZq5ppn8JAveyFvZ1t1AhqiAAAFnFJREFUDTHa\n0mGvX3Uf1ttXIDs8dh8WfqvVwFj3YWqyKp7PcLZM/0CBgcEihUKF6v+Asfl6BsF1hMbGBK0tSTKZ\n+AnP+7yQzNkAUESuAb4I2MA/GGM+Pebx9wLvJKwu2g28wxiz+2ivefbZLzMPPvgQtiPEXHvBlHhV\ns8P3A8oVH98zBNGcgJYl2LaF61qL/uqSOjHVwfDlsh8WrghMNGGuhe0I8ZjOgaUmr+IH7BsoUKz4\nJGzB98KKziYwtbHXtm3hOMfeh40XCK5sTnLWqmbWtqUWTCW9+SBbrPDU/iF+v3+oNodvzLbYsizD\nWauayUzhvMVBYMhVfBKOxdKmJMkjbCfVHr5K5fB9mONYxMapNqrUZFTPwzwv2ofpediEzckAUERs\n4AXgVcBe4FHgjcaYZ+rWuQx4xBiTF5E/Ay41xtx0tNc955xzzGOPPTaNLVdKKaXmtsAYeoZL9A6X\nSLo2zgleDM2VPB7f08/vDwzVios0JRzOWNnM5mWNx1WFVB1bxQ/Y0Z3j2YNDvNRfqPUktqVjnLGi\niVOWZIhN8XdfqPj4gaEzE6c5FdMgX6l5aqIB4EyPkDwX2G6M2QkgIncD1wO1ANAYc3/d+g8Db5nR\nFiqllFLzkCVCZyZB0rU5MFik4vskT6AAUTrucPGGDs5b18rTB7I8uXeAwaLHg9t7eOjFXk7uaGDz\n0kZWNGtBjxMVGMP+gSLPHhpie9cw5SjgtgVO6mjg9BVNLJ+GwimeH1CoBGQSDp2ZxJQHlkqpuWmm\nA8AVwEt19/cC5x1l/VuAH433gIi8C3gXwOrVq6eqfUoppdS8lkm4JFybA4MFssUK6RNMK447Nmev\naubMlU282JPjt3sH2TtQ4NmDWZ49mKUx4bBpaSOblmZo0rE4ExYEhr0DBbZ3D7OjJ0e+7NceW9oY\n59SljZzS2UBiGtLdAmPIl30cy2JlS5KGuI5lV2oxmbM1UkXkLcA5wCXjPW6M2QZsgzAFdAabppRS\nSs1prm2xsiXFQKFC11AR1w4nBD8RlggndTRwUkcD/fkyzx3M8szBLENFj0d29fHIrj46GuKc3JHm\npI40rSmt+DhWyfN5qb/Art48O3qGKVZGJm1vTDhs7MywaWmG1nRsWt7fGEOxEhBgaG+I05KKTesE\n9UqpuWmmA8B9wKq6+yujZaOIyJXAh4FLjDGlGWqbUkoptWBYIrSmYqRjNgcGimRLHml3agp0tKRi\nXLC+jfPXtfJSf4FnDg6xsydH93CJ7uESD73YR3PS5aT2NKtbUyxvSpzwmMT5KDCG7uESu3vz7O7L\nc2CoOKpaaHPSZUNnAyd3pOloiE9rwFz2AoqeT1MyRkdDXNM9lVrEZjoAfBTYICLrCAO/m4E31a8g\nImcBXwauMcZ0zXD7lFJKqQUl7tisbkvRnyvTPVzCsWTK0gpFhNWtKVa3pvD8gD39BXb0DLOzJ8dA\nocLjLw3w+EsD2JawrDHB6tYkq5pTtGfiOAuw58nzAw5lS+wbKLB/sMiBwSJlf6SXTwSWNyVY05pi\nfXuatvT095JWx/klXZu1bWlSsTmb/KWUmiEzuhcwxngi8m7gx4TTQNxpjHlaRD4OPGaM+S7wOaAB\n+Ga0U9xjjLluJtuplFJKLSSWCG0NcTIJl4NDBbJFj2TMntIgzLEt1renWd+eJggM+wYL7O7Ns6e/\nQPdwib0DBfYOFIA+bIGOTJyljQmWNCZYmonTlHTnVcqo5wf05Mp0ZUt0Z0t0ZUv05EoEYwalNCYc\nVrekWNOWYlVL8oRTcSfKDwz5ih+lA+s4P6XUiAUxEbxOA6GUUkpNjDGGoWKFQ0MlDJByrWkPDApl\nn70DBfb05dk/WKAvXzlsHccKU1Zb0zHa0uHvxoRDY8KdtXTFIDAMlz2yRY/+fJn+fIW+6PdQoTLu\nZO/t6RjLm5Msb0qwojkMvGaSHxgKFR/LEjob4jQmXZ3WQalFYq5OA6GUUkqpWSQiNCVjpOMOfbky\nvbky7hSmhY4nGbPZ0NnAhs4GAEoVn4PZEoeGihwcKtKVLZEr+3QNl+gaPnzof8KxyCRcMgmHlGuT\njNkkXJuUa5NwLVzbwrEF1wp/O5ZFLeSJbhgDfhDgBYaKb/CCgIpvKFZ8ihWfQiWIfvtkix7Zkkeu\n5I0b5FVfti0dozMTp6MhXvs9W8FqNfATETozcZqSWuBFKTU+DQCVUkqpRcixLDozCZqSLl3ZEtmS\nR9y2ZiSAibs2a1pTrGlN1ZYVK34YkObL9OWiXrZihaGiR9ELKEYFZmZaOmbTEHdoScVoSbm0pGK0\npl2akrE5MY6xmuppa+CnlJogDQCVUkqpRSzu2KxqSZEve3QNhYFgwgl71WZSwrXD1Mnm5KjlxoQ9\nW0PFMBWzEPXSFcrh72LFP6xXzwuiwitjuu+qvYOOJbXbyagXMfxtk3TDgC+TcEjHnTkR5I3H8wMK\nXoBjCUsbEzQmXA38lFITogGgUkoppUjFHNa02QyXPLqHS2SLXi29cjaJCKmYQyrmsLRxVpsyJ5Q8\nn4pvcG2LFU0JGhI6xk8pNTkaACqllFIKCIOtTMIlHXfIlTx6hksMlzxc2yKu88bNmiDqBQ0CSMcd\nljbGSMVsreqplDouGgAqpZRSahQrCgQb4g75sk9vLuwRdGwh4Ux/1VAVKnsBJT/AEqElFaMp6c7Y\nNBJKqYVLA0CllFJKjUtESMfDsXDFik9/vsxgoYKIEHesOTs+bj7zg7AyaQCkXJsVDQnScR3fp5Sa\nOhoAKqWUUuqYEq7NsqYkHQ1xhkoefbkyhbKvvYJTIAgMRS8gMAbHsmhviJOZxfkPlVILmwaASiml\nlJowx7ZoTcVoSbphdc5ChYFCOLG7awsxW4PBifADQykK+ixLaE66ZBIuCVe/P6XU9NIAUCmllFKT\nVl+dsyOToFD2GSiWGS56ADiWEHMsrVAZMcbgRUEfhPMwtqRcGuIucVe/J6XUzNEAUCmllFInxLaE\nhoRDQ8LBD0ytZ3C45BEYgwCxWZhbcLZ5fkDZNwQmnJAwGbPpbEyQjtnaU6qUmjUaACqllFJqytiW\n0BB3aIg7BCbs8cqXPLKlMCAEEIGYHRaRWShBUGAMnm+o+GEPnwHijkVrOpyyIe7YWshFKTUnaACo\nlFJKqWlhiZB0bZKuTVtDPBr35lMo++TKPvmyj8HU1nVtwbZkzqdD+oHBCwI83wCCEYMgpFyb5pRL\nwtWATyk1d2kAqJRSSqkZYVsj4wbbCHvNKn5AxQvTRgsVP5wCIUqZhLC30JaRwNASpr3XMAjCtE3f\nGPyAUe0BcG2LpOuQSNvEbYuYs7B6M5VSC5sGgEoppZSaFZYIcccm7kBDYuSUpNq75gWGsh9Q9nzK\nXnjb8wNEoBqTCVAfnlVDsJFYbGQNE/0zOpw7/DUcy8KxIek4xBwrTFe1JVo+93solVLqaDQAVEop\npdSc4lgWR5oCzxhDYMJeOT/qqTPR/ervIFyR+o47kfAfizDwFBn92xLBskZuK6XUQqUBoFJKKaXm\nDRHBFrARXHu2W6OUUvPP4qrHrJRSSimllFKLmAaASimllFJKKbVIaAColFJKKaWUUouEBoBKKaWU\nUkoptUhoAKiUUkoppZRSi4QGgEoppZRSSim1SMx4ACgi14jI8yKyXUQ+OM7jcRH5RvT4IyKydqbb\nqJRSSimllFIL0YwGgCJiA3cArwY2A28Ukc1jVrsF6DfGnAx8AfjMTLZRKaWUUkoppRaqme4BPBfY\nbozZaYwpA3cD149Z53rga9HtbwFXiIjMYBuVUkoppZRSakGa6QBwBfBS3f290bJx1zHGeMAg0DYj\nrVNKKaWUUkqpBcyZ7QYcLxF5F/Cu6G5JRH4/m+1R6ijagZ7ZboRSR6Dbp5qrdNtUc5lun2ouWjOR\nlWY6ANwHrKq7vzJaNt46e0XEAZqA3rEvZIzZBmwDEJHHjDHnTEuLlTpBun2quUy3TzVX6bap5jLd\nPtV8NtMpoI8CG0RknYjEgJuB745Z57vA26LbrwfuM8aYGWyjUkoppZRSSi1IM9oDaIzxROTdwI8B\nG7jTGPO0iHwceMwY813gH4G7RGQ70EcYJCqllFJKKaWUOkEzPgbQGPND4Idjlt1Wd7sI/PEkX3bb\nFDRNqemi26eay3T7VHOVbptqLtPtU81botmVSimllFJKKbU4zPQYQKWUUkoppZRSs2TeB4Aico2I\nPC8i20Xkg7PdHrW4iMidItJVPw2JiLSKyE9F5A/R75ZouYjI30bb6u9E5OzZa7laDERklYjcLyLP\niMjTIvI/o+W6japZJyIJEfm1iDwZbZ8fi5avE5FHou3wG1HROEQkHt3fHj2+djbbrxY+EbFF5Dci\n8v3ovm6bakGY1wGgiNjAHcCrgc3AG0Vk8+y2Si0yXwWuGbPsg8DPjDEbgJ9F9yHcTjdEP+8CvjRD\nbVSLlwe8zxizGTgf+O/RPlK3UTUXlIDLjTFnAGcC14jI+cBngC8YY04G+oFbovVvAfqj5V+I1lNq\nOv1P4Nm6+7ptqgVhXgeAwLnAdmPMTmNMGbgbuH6W26QWEWPMg4TVautdD3wtuv014I/qlv+TCT0M\nNIvIsplpqVqMjDEHjDFPRLezhCcyK9BtVM0B0XY2HN11ox8DXA58K1o+dvusbrffAq4QEZmh5qpF\nRkRWAq8B/iG6L+i2qRaI+R4ArgBeqru/N1qm1GxaYow5EN0+CCyJbuv2qmZNlJJ0FvAIuo2qOSJK\nsfst0AX8FNgBDBhjvGiV+m2wtn1Gjw8CbTPbYrWI/G/g/UAQ3W9Dt021QMz3AFCpOc2EZXa11K6a\nVSLSAHwb+AtjzFD9Y7qNqtlkjPGNMWcCKwmzek6d5SYphYi8Fugyxjw+221RajrM9wBwH7Cq7v7K\naJlSs+lQNW0u+t0VLdftVc04EXEJg7+vG2P+b7RYt1E1pxhjBoD7gQsIU4+r8xTXb4O17TN6vAno\nneGmqsXhQuA6EdlFOLzocuCL6LapFoj5HgA+CmyIqjLFgJuB785ym5T6LvC26PbbgH+vW/7WqNLi\n+cBgXRqeUlMuGoPyj8Czxpi/qXtIt1E160SkQ0Sao9tJ4FWE41TvB14frTZ2+6xut68H7jM6mbGa\nBsaYvzLGrDTGrCU8t7zPGPNmdNtUC8S8nwheRK4lzNO2gTuNMX89y01Si4iI/CtwKdAOHAJuB+4B\n/g1YDewG3mCM6YtOxv8PYdXQPPBfjTGPzUa71eIgIhcBPweeYmQcy4cIxwHqNqpmlYicTlg4wya8\nIP1vxpiPi8h6wl6XVuA3wFuMMSURSQB3EY5l7QNuNsbsnJ3Wq8VCRC4F/tIY81rdNtVCMe8DQKWU\nUkoppZRSEzPfU0CVUkoppZRSSk2QBoBKKaWUUkoptUhoAKiUUkoppZRSi4QGgEoppZRSSim1SGgA\nqJRSSimllFKLhAaASimllFJKKbVIaAColFJqWomImcDPpSLy9uh2wxxo83dF5PbZbsdUEpGG6Pt9\n+wTXT4pIl4i8cpqbppRSagY5s90ApZRSC94FdbeTwH3AJ4Ef1C1/Bng6Wjc/c007nIicB1wOvH02\n2zHbjDEFEfk74BPApbPcHKWUUlNEA0CllFLTyhjzcPV2Xe/ejvrldbpnplVH9T+AfzfG9M12Q+aA\nrwIfE5HTjDFPzXZjlFJKnThNAVVKKTUnjE0BFZG10f2bReQrIjIkIntF5C3R4+8Xkf0i0i0inxER\na8zrbRWRH4hINvr5pogsPUYbMsANwLfGLL9IRH4etWFIRH4rIn88Zp13isjTIlISkd0i8v5xXv9i\nEblfRIZFZFBEHhCRs+oeP1NEfiYieRHpF5Gvi8iSuser38kbROTL0WvsFZGPjfP5XyciL4hIQUQe\nBE4dpz3XicjjIpKL3u8REbmk+rgx5iXgUeCtR/velFJKzR8aACqllJrrPgMcAF4H/Bz4moh8HjgX\neAfwv4H3A2+oPkFETgZ+CSSAtxCmc24BvicicpT3egVhmuqv6l6rEfg+sDNqw+uBu4DmunVuBb4E\n3AO8Nrr9CRF5d906lwI/AyrA24Cbos+zInq8A3gASAFvAv4cuAT4qYjExrTzs8Bw1JZ/Bm6Lblff\n62zgG8CTwI3A94B/q38BETmJMNC9D/gvwJujz9k65r1+BVx5pC9MKaXU/KIpoEoppea6+4wxHwIQ\nkUcIA53rgFONMT5wr4hcT9hzd3f0nNuBg8CrjTHl6Lm/A54DrmX0+MN6LwN6jDGH6pZtBJqAdxtj\nstGyn1QfjALE24FPGmM+Fi3+qYikgI+IyJeidv4vwoDsamOMida7t+593hf9vtoYMxS99h+AhwkD\nz3+tW/dBY0x1/Z+KyDWEgV41yPsg8ALwhui9fhQFkZ+se42zgKwx5ta6ZT8c5zt5EvhzEUkYY4rj\nPK6UUmoe0R5ApZRSc93PqjeiwKgb+M8oqKraTtSTFrkS+A4QiIgjIg7wIrALOOco77UU6BmzbAdh\nb9u/iMj1ItI85vELgDTwzep7Re93H7AEWCkiaeA84Gt1wd9Y5wI/qQZ/0ed9JGrzRWPW/cmY+88A\nK8e81nfHvNf/HfOcp4AmEfmaiFwVtXE8PYANdBzhcaWUUvOIBoBKKaXmuoEx98tHWJaou98OfIAw\n3bL+Zz2w6ijvlQBK9QuMMf3AqwCXsIetOxpbuL7uvSCsYlr/XvdHy1cBLYAQprIeyTLg0DjLD3F4\nWuaxPv9SoGvMOqPuG2OeB64n/E5+CPSIyL9Eqaj1qt9HAqWUUvOepoAqpZRaiPoIewD/YZzHxvbw\njX3e2B6+aiXTa0QkSdi7+DfAvwDnR8+BcOzfeAHc80AQ/Sw7ynsfADrHWb4EePwozxvPwXFe67DX\nNsb8APiBiDQBryEcT/l3wM11q1W/D62KqpRSC4AGgEoppRainxEWfXn8KCmX43keWC4icWNMaeyD\nxpgCYSGZrcBfRYsfAgrA8iigGlc0fvGtIvJ/jtCmR4A/E5FMdayhiLwcWAv8YhKfAcLKndeJyF/V\nvdeNR1rZGDNImOJ6CaPnbSR6/15jTO8k26CUUmoO0gBQKaXUQvRR4NeEvVt3Evb6rSBM5fyqMeaB\nIzzvl4SpnqcBjwGIyGsIq43eA+yJXudPCcf4YYwZEJGPAl8UkTXAg4RDLDYClxljbohe+4PAfxAW\nZNkG5AiDrceMMd8n7FX8M+DHIvIZoAH4NOFYvW9P8vN/hjCg/DcR+UdgK3BL/Qoi8qfR+98L7Ac2\nAH8M/NOY1zqHuqqoSiml5jcdA6iUUmrBMca8QJiemQe2AT8CPkY4nm37MZ73e+DVdYu3Awb4FGHx\nlc8SBk3vqHveZ4F3Rc/7d8KKnW8mnOahus6DhAFoinDqhm8QTvOwN3q8G7gMKEbPvyN6/quqlUwn\n8fkfI0zjPIswcP0jwmkn6v2OsLDL30Sf6yPA3xOOnQQgKmZzBZMPQJVSSs1RMrnMGKWUUmphE5H3\nALcYY7bOdltmm4hcTVj4ZrkxJjfb7VFKKXXitAdQKaWUGm0b0CEiOvk5vAf4ggZ/Sim1cGgAqJRS\nStWJgp23Ec7tt2hFFU8fIkwRVUoptUBoCqhSSimllFJKLRLaA6iUUkoppZRSi4QGgEoppZRSSim1\nSGgAqJRSSimllFKLhAaASimllFJKKbVIaAColFJKKaWUUovE/w9MiR9kYNXsWgAAAABJRU5ErkJg\ngg==\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Pick a list of sequence labels (here gatestrings) or indices to plot the estimated p(t) for\n", "gstrs = [pygsti.objects.GateString(None,'Gx(Gi)^'+str(2**l)+'Gy') for l in range(4,10)]\n", @@ -545,24 +272,9 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, - "outputs": [ - { - "data": { - "image/png": "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\nRK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Pick a list of sequence labels (here gatestrings) or indices to plot the estimated p(t) for\n", "gstrs = [pygsti.objects.GateString(None,'(Gx)^'+str(2**l)) for l in range(4,10)]\n", @@ -572,10 +284,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "** More details please? **\n", "\n", @@ -587,10 +296,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Input data types and formats\n", "#### What types of data can be analyzed?\n", @@ -644,11 +350,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -668,10 +370,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## The analysis methods\n", "\n", @@ -716,10 +415,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Example 1 : Single sequence data\n", "We demonstrate this on single-sequence data, for a single entity, with two-outcome measurements. This is the circumstance under which the analysis function can be given data in a 1D array, and so we will use this method below. We now demonstrate the method with simulated data for a drifting and drift free probability.\n", @@ -734,9 +430,7 @@ "cell_type": "code", "execution_count": 15, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -748,11 +442,7 @@ { "cell_type": "code", "execution_count": 16, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -814,10 +504,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We can now compare the global power spectrum obtained when there is drift, and when there is not drift. Except in highly unusual cases (1 in 1000) there will be no drift detected when there is indeed no drift. " ] @@ -825,11 +512,7 @@ { "cell_type": "code", "execution_count": 17, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -849,11 +532,7 @@ { "cell_type": "code", "execution_count": 18, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -872,10 +551,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "We can look to see what the p-value associated with the largest peak in the power spectrum is. " ] @@ -883,11 +559,7 @@ { "cell_type": "code", "execution_count": 19, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -905,10 +577,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "The analysis function performs:\n", "1. an analysis on a per-sequence, per-entity, per-outcome basis (properties starting with `pspepo`), an analysis on a per-sequence, per-entity, outcome-averaged basis (properties starting with `pspe`), \n", @@ -924,11 +593,7 @@ { "cell_type": "code", "execution_count": 20, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -959,10 +624,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As we can see above, the power spectra for the two different measurement outcomes are identical. This is because the Fourier modes for all of the measurement outcomes must sum to zero. Hence, there are only $M-1$ independent power spectra, which here is 1.\n", "\n", @@ -979,11 +641,7 @@ { "cell_type": "code", "execution_count": 21, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1015,10 +673,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Example 2 : Single-sequence multi-qubit data\n", "Single sequence data with two measurement outcomes is (a) often not will be obtained in experiments, and (b) is not sufficient to demonstrate all of the methods contained within the analysis function, or to understand all of the ouput. Hence, we now consider an example with a single-sequence and 4 measurement outcomes, which could represent a two-qubit single-sequence experiment.\n", @@ -1030,9 +685,7 @@ "cell_type": "code", "execution_count": 22, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -1042,10 +695,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "This could correspond to computational basis measurements of two qubits. Now let us assume that the drifting $p(t)$ for obtaining each measurement outcome factorizes into probabilities for outcomes 0 and 1 for each qubit (e.g., because it is parallel single-qubit experiments and there is no crosstalk). Specifically, take the first qubit to have drifting probability for outcome 0 of\n", "$$ p_{0}(t) = 0.5+0.05 \\cos(0.08t),$$\n", @@ -1059,11 +709,7 @@ { "cell_type": "code", "execution_count": 23, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "N = 10 # Counts per timestep\n", @@ -1086,10 +732,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Example 2.1 : A simple analysis of the full dataset\n", "The simplest way to analyze this data is just to hand it to the drift characterization method, as before (note that now we don't need to specify the counts number, as the input is a 4D array). We do this below." @@ -1099,9 +742,7 @@ "cell_type": "code", "execution_count": 24, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -1110,10 +751,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "By looking at the global power spectrum, we can clearly see that there is drift." ] @@ -1121,11 +759,7 @@ { "cell_type": "code", "execution_count": 25, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1144,10 +778,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As always, we can also return the frequencies, found from inspecting the global power spectrum. As we have not specified a timestep, these are integers between $1$ and $T-1$." ] @@ -1155,11 +786,7 @@ { "cell_type": "code", "execution_count": 26, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1175,10 +802,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Because there are multiple measurement outcomes, we can look at the power spectra for each of these, and also we can look at the drift frequencies found from just analyzing this spectrum. One example of such a power spectrum is given below" ] @@ -1186,11 +810,7 @@ { "cell_type": "code", "execution_count": 27, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1210,10 +830,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "The drift frequencies found via an independent analysis of each of these spectra. Generally, these need not contain the same frequencies as the global analysis. In this example, because all of the frequencies appear in all of the spectra, the global analysis is more sensitive (reduced noise without reducing signal strength). " ] @@ -1221,11 +838,7 @@ { "cell_type": "code", "execution_count": 28, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1247,10 +860,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As always, we can also look at the reconstruction for a given drifting probability. An example is shown below, where again we construct the true underlying probability with which to compare it." ] @@ -1258,11 +868,7 @@ { "cell_type": "code", "execution_count": 29, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1289,10 +895,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Example 2.2 : Marginalizing over qubits\n", "\n", @@ -1311,9 +914,7 @@ "cell_type": "code", "execution_count": 30, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -1323,10 +924,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As we can see from the returned data shape, the data has been split into separate sets for 2 different entities, each have two possible measurement outcomes." ] @@ -1334,11 +932,7 @@ { "cell_type": "code", "execution_count": 31, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1357,10 +951,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "As always, we can plot the global power spectrum (averaged over everything, including entity, i.e., qubit)." ] @@ -1368,11 +959,7 @@ { "cell_type": "code", "execution_count": 32, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1391,10 +978,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "However, now we can look at the power spectrum for each individual qubit. This then shows us that each qubit has a different drift frequency. Something that was not obvious from the analysis implemented without marginalization. Moreover, these spectra show higher peaks (they are approximately twice as high), because -- earlier -- when we constructed the global power spectrum we were averaging pure noise with \"signal\" at both drift frequencies." ] @@ -1402,11 +986,7 @@ { "cell_type": "code", "execution_count": 33, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1426,11 +1006,7 @@ { "cell_type": "code", "execution_count": 34, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1449,10 +1025,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "With this analysis we can isolate the drift frequencies of each qubit" ] @@ -1460,11 +1033,7 @@ { "cell_type": "code", "execution_count": 35, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1484,10 +1053,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Finally, we can again plot the estimated drift probabilities. Again, these are more informative that what was obtained without marginalization. In particular, the oscillations are noticably stronger, as they are each the sum of two of the drifting probabilities from the \"raw\" unmarginalized case." ] @@ -1495,11 +1061,7 @@ { "cell_type": "code", "execution_count": 36, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1525,10 +1087,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "#### Example 2.3 : Marginalizing over qubits loses information and can miss detectable drift\n", "Marginalizing involves throwing away information about correlations between measurement outcomes. As such, it is insensitive to certain types of drift. In particular, if only the correlations between measurement outcomes are drifting. This is perhaps a rather contrived situation, but it is possible. For example, consider the drifting probabilities:\n", @@ -1543,9 +1102,7 @@ "cell_type": "code", "execution_count": 37, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [ @@ -1574,11 +1131,7 @@ { "cell_type": "code", "execution_count": 38, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1598,11 +1151,7 @@ { "cell_type": "code", "execution_count": 39, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -1621,10 +1170,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "What this demonstrates is that it is important to carefully decide how to analyze data from a given experiment, with physical motivations for the analysis used." ] @@ -1646,7 +1192,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/jupyter_notebooks/Tutorials/20 Intermediate Measurements.ipynb b/jupyter_notebooks/Tutorials/20 Intermediate Measurements.ipynb index 249996b91..5461ae351 100644 --- a/jupyter_notebooks/Tutorials/20 Intermediate Measurements.ipynb +++ b/jupyter_notebooks/Tutorials/20 Intermediate Measurements.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "# Intermediate Measurements Tutorial\n", "This tutorial will demonstrate how perform tomography on gate sets which, in addition to normal gates, contain *quantum instruments*. Quantum instruments are maps that act on a qubit state (density matrix) and produce a qubit state along with a classical outcome. That is, instruments are maps from $\\mathcal{B}(\\mathcal{H})$, the space of density matrices, to $\\mathcal{B}(\\mathcal{H}) \\otimes K(n)$, where $K(n)$ is a classical space of $n$ elements.\n", @@ -16,11 +13,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import pygsti\n", @@ -30,10 +23,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Instrument construction\n", "Next, we'll add an instrument to our \"standard\" gate set - a 1-qubit gate set containing $I$, $X(\\pi/2)$, and $Y(\\pi/2)$ gates. The ideal instrument will be named `\"Iz\"` (all instrument names must begin with `\"I\"`), and consist of perfect projectors onto the 0 and 1 states. Instead of labelling the associated outcomes \"0\" and \"1\", which might me most logical, we'll name them \"p0\" and \"p1\" so it's easier to distinguish them from the final POVM outcomes which *are* labelled \"0\" and \"1\"." @@ -42,11 +32,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "#Make a copy so we don't modify the original\n", @@ -68,10 +54,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "In order to generate some simulated data later on, we'll now create a noisy version of `gs_target` by depolarizing the state preparation, gates, and POVM, and also rotating the basis that is measured by the instrument and POVM." ] @@ -79,11 +62,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "gs_noisy = gs_target.depolarize(gate_noise=0.01, spam_noise=0.01)\n", @@ -111,10 +90,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Generating probabilities \n", "Instrument labels (e.g. `\"Iz\"`) may be included within `GateString` objects, and `GateSet` objects are able to compute probabilities for them just like normal (non-instrument) gate sequences. The difference is that probabilities are labeled by tuples of instrument and POVM outcomes - referred to as **\"outcome tuples\"** - one for each instrument and one for the final POVM:" @@ -123,11 +99,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -150,11 +122,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -180,10 +148,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "In fact, pyGSTi *always* labels probabilties using outcome tuples, it's just that in the non-instrument case they're always 1-tuples and by `OutcomeLabelDict` magic can be treated as if they were just strings:" ] @@ -191,11 +156,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -216,10 +177,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "## Performing tomography\n", "\n", @@ -230,11 +188,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "germs = std.germs\n", @@ -256,10 +210,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "Notice the format of [tutorial_files/intermediate_meas_dataset.txt](tutorial_files/intermediate_meas_dataset.txt), which includes a column for each distinct outcome tuple. Since not all experiments contain data for all outcome tuples, the `\"--\"` is used as a placeholder. Now that the data is generated, we run LGST or LSGST just like we would for any other gateset:\n", "\n", @@ -269,11 +220,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -311,10 +258,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "### Long-sequence GST\n", "Instruments just add parameters to a `GateSet` like gates, state preparations, and POVMs do. The total number of parameters in our gate set is \n", @@ -325,11 +269,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "data": { @@ -349,11 +289,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -429,11 +365,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -452,10 +384,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "The same analysis can be done for a trace-preserving gate set, whose instruments are constrained to *add* to a perfectly trace-preserving map. The number of parameters in the gate set are now: \n", "\n", @@ -465,11 +394,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -492,11 +417,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -555,11 +476,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false, - "deletable": true, - "editable": true - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -578,10 +495,7 @@ }, { "cell_type": "markdown", - "metadata": { - "deletable": true, - "editable": true - }, + "metadata": {}, "source": [ "**Thats it!** You've done tomography on a gate set with intermediate measurments (instruments)." ] @@ -590,9 +504,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "collapsed": true, - "deletable": true, - "editable": true + "collapsed": true }, "outputs": [], "source": [] @@ -614,7 +526,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.5" } }, "nbformat": 4, From c7c3a8310fd8abf0eb0571a95c9a8bd7641cd255 Mon Sep 17 00:00:00 2001 From: LSaldyt Date: Tue, 15 May 2018 15:39:21 -0600 Subject: [PATCH 2/3] Adds folders to gitignore and packages to requirements.txt --- .gitignore | 8 ++++++++ requirements.txt | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3d37f07c5..d0257cf92 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,9 @@ test/test_packages/cmp_chk_files/Fake_Dataset_none.txt.cache *.aux *.dvi *.toc +build/* +dist/* +packages/pygsti.egg-info # Packages # ############ @@ -88,6 +91,11 @@ scripts/profiling/report/tp_report.py scripts/profiling/report/rigetti_nocache.py # Profiling data # +################# scripts/profiling/output scripts/profiling/data +# Other Local-only Files # +############################ +local + diff --git a/requirements.txt b/requirements.txt index 2735de1d1..697db9399 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,4 @@ numpy scipy plotly ply - +nose From c2538297264255a8bbc58acc9075100e95eb24a6 Mon Sep 17 00:00:00 2001 From: Lucas Saldyt Date: Wed, 16 May 2018 14:42:50 -0600 Subject: [PATCH 3/3] Adds outline for doc-checking script --- requirements.txt | 1 + test/checkDocs.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 test/checkDocs.py diff --git a/requirements.txt b/requirements.txt index 697db9399..04c5b6cf6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ scipy plotly ply nose +msgpack # For IO specifically.. make optional? diff --git a/test/checkDocs.py b/test/checkDocs.py new file mode 100755 index 000000000..a5346e685 --- /dev/null +++ b/test/checkDocs.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +import os.path, importlib, pkgutil, sys +import pygsti + +from inspect import * + +def check_function(f): + pass + +def check_class(c): + pass + +def check_method(m): + pass + +def check_module(module): + for member in getmembers(module): + if isfunction(member): + pass + if ismethod(member): + pass + if isclass(member): + pass + if ismodule(member): + check_module(member) + print(member) + +def main(args): + check_module(pygsti) + return 0 + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:]))