{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Convolutional Dictionary Learning\n", "=================================\n", "\n", "This example demonstrates the use of [dictlrn.cbpdndl.ConvBPDNDictLearn](http://sporco.rtfd.org/en/latest/modules/sporco.dictlrn.cbpdndl.html#sporco.dictlrn.cbpdndl.ConvBPDNDictLearn) for learning a convolutional dictionary from a set of training images. The dictionary learning algorithm is based on the ADMM consensus dictionary update [[1]](http://sporco.rtfd.org/en/latest/zreferences.html#sorel-2016-fast) [[17]](http://sporco.rtfd.org/en/latest/zreferences.html#garcia-2017-convolutional)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import print_function\n", "from builtins import input\n", "from builtins import range\n", "\n", "import pyfftw # See https://github.com/pyFFTW/pyFFTW/issues/40\n", "import numpy as np\n", "\n", "from sporco.dictlrn import cbpdndl\n", "from sporco import util\n", "from sporco import plot\n", "plot.config_notebook_plotting()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load training images." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "exim = util.ExampleImages(scaled=True, zoom=0.25, gray=True)\n", "S1 = exim.image('barbara.png', idxexp=np.s_[10:522, 100:612])\n", "S2 = exim.image('kodim23.png', idxexp=np.s_[:, 60:572])\n", "S3 = exim.image('monarch.png', idxexp=np.s_[:, 160:672])\n", "S4 = exim.image('sail.png', idxexp=np.s_[:, 210:722])\n", "S5 = exim.image('tulips.png', idxexp=np.s_[:, 30:542])\n", "S = np.dstack((S1, S2, S3, S4, S5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Highpass filter training images." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "npd = 16\n", "fltlmbd = 5\n", "sl, sh = util.tikhonov_filter(S, fltlmbd, npd)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construct initial dictionary." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "np.random.seed(12345)\n", "D0 = np.random.randn(8, 8, 64)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set regularization parameter and options for dictionary learning solver." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "lmbda = 0.2\n", "opt = cbpdndl.ConvBPDNDictLearn.Options({'Verbose': True, 'MaxMainIter': 200,\n", " 'CBPDN': {'rho': 50.0*lmbda + 0.5},\n", " 'CCMOD': {'rho': 10.0, 'ZeroMean': True}},\n", " dmethod='cns')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create solver object and solve." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Itn Fnc DFid ℓ1 Cnstr r_X s_X ρ_X r_D s_D ρ_D \n", "--------------------------------------------------------------------------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 0 1.03e+03 1.21e+01 5.10e+03 6.31e-07 1.00e+00 4.75e-03 1.05e+01 9.99e-02 3.68e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 1 7.94e+02 7.05e+01 3.62e+03 7.84e-07 9.73e-01 5.86e-02 1.05e+01 9.44e-02 1.03e-01 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 2 6.39e+02 1.31e+02 2.54e+03 6.85e-07 7.70e-01 1.23e-01 1.05e+01 8.61e-02 2.29e-01 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 3 5.73e+02 1.60e+02 2.07e+03 7.82e-07 3.50e-01 1.41e-01 1.05e+01 8.28e-02 2.04e-01 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 4 5.65e+02 1.61e+02 2.02e+03 7.56e-07 2.36e-01 1.33e-01 1.05e+01 6.51e-02 1.76e-01 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 5 5.86e+02 1.49e+02 2.18e+03 7.43e-07 1.90e-01 1.19e-01 1.05e+01 5.67e-02 1.18e-01 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 6 5.53e+02 1.37e+02 2.08e+03 5.98e-07 1.51e-01 9.54e-02 1.05e+01 4.89e-02 9.83e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 7 5.06e+02 1.28e+02 1.89e+03 6.86e-07 1.26e-01 8.22e-02 1.05e+01 4.23e-02 8.55e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 8 4.41e+02 1.24e+02 1.59e+03 7.44e-07 1.03e-01 7.37e-02 1.05e+01 3.78e-02 8.54e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 9 4.15e+02 1.22e+02 1.46e+03 6.86e-07 9.00e-02 6.33e-02 1.05e+01 3.22e-02 8.39e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 10 3.89e+02 1.22e+02 1.34e+03 7.78e-07 7.58e-02 5.33e-02 1.05e+01 2.70e-02 8.11e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 11 3.84e+02 1.22e+02 1.31e+03 8.52e-07 6.78e-02 4.62e-02 1.05e+01 2.28e-02 7.33e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 12 3.68e+02 1.22e+02 1.23e+03 6.96e-07 5.75e-02 4.23e-02 1.05e+01 1.98e-02 6.74e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 13 3.65e+02 1.22e+02 1.22e+03 7.61e-07 5.23e-02 4.02e-02 1.05e+01 1.80e-02 6.16e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 14 3.55e+02 1.21e+02 1.17e+03 7.14e-07 4.60e-02 3.82e-02 1.05e+01 1.63e-02 5.82e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 15 3.53e+02 1.20e+02 1.17e+03 7.47e-07 4.30e-02 3.61e-02 1.05e+01 1.52e-02 5.50e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 16 3.46e+02 1.19e+02 1.13e+03 8.27e-07 3.87e-02 3.45e-02 1.05e+01 1.40e-02 5.31e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 17 3.43e+02 1.18e+02 1.13e+03 7.36e-07 3.66e-02 3.29e-02 1.05e+01 1.33e-02 5.11e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 18 3.36e+02 1.17e+02 1.10e+03 7.19e-07 3.34e-02 3.14e-02 1.05e+01 1.24e-02 4.95e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 19 3.34e+02 1.16e+02 1.09e+03 8.25e-07 3.17e-02 2.99e-02 1.05e+01 1.18e-02 4.77e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 20 3.28e+02 1.15e+02 1.06e+03 7.74e-07 2.94e-02 2.87e-02 1.05e+01 1.12e-02 4.60e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 21 3.26e+02 1.15e+02 1.05e+03 8.03e-07 2.81e-02 2.76e-02 1.05e+01 1.08e-02 4.43e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 22 3.21e+02 1.14e+02 1.03e+03 7.38e-07 2.64e-02 2.67e-02 1.05e+01 1.03e-02 4.29e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 23 3.19e+02 1.13e+02 1.03e+03 7.83e-07 2.53e-02 2.58e-02 1.05e+01 9.90e-03 4.15e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 24 3.15e+02 1.13e+02 1.01e+03 7.53e-07 2.39e-02 2.49e-02 1.05e+01 9.51e-03 4.02e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 25 3.14e+02 1.13e+02 1.00e+03 8.14e-07 2.30e-02 2.42e-02 1.05e+01 9.20e-03 3.90e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 26 3.11e+02 1.12e+02 9.93e+02 7.98e-07 2.20e-02 2.36e-02 1.05e+01 8.90e-03 3.80e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 27 3.10e+02 1.12e+02 9.88e+02 6.21e-07 2.13e-02 2.30e-02 1.05e+01 8.65e-03 3.70e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 28 3.07e+02 1.12e+02 9.79e+02 6.84e-07 2.04e-02 2.24e-02 1.05e+01 8.40e-03 3.61e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 29 3.06e+02 1.11e+02 9.75e+02 7.84e-07 1.97e-02 2.19e-02 1.05e+01 8.18e-03 3.52e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 30 3.04e+02 1.11e+02 9.67e+02 8.27e-07 1.90e-02 2.14e-02 1.05e+01 7.97e-03 3.43e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 31 3.03e+02 1.10e+02 9.62e+02 7.05e-07 1.85e-02 2.09e-02 1.05e+01 7.77e-03 3.35e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 32 3.01e+02 1.10e+02 9.56e+02 7.32e-07 1.78e-02 2.04e-02 1.05e+01 7.58e-03 3.27e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 33 3.00e+02 1.10e+02 9.51e+02 7.68e-07 1.73e-02 2.00e-02 1.05e+01 7.40e-03 3.19e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 34 2.98e+02 1.09e+02 9.45e+02 7.61e-07 1.67e-02 1.95e-02 1.05e+01 7.22e-03 3.12e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 35 2.97e+02 1.09e+02 9.40e+02 7.76e-07 1.63e-02 1.91e-02 1.05e+01 7.06e-03 3.04e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 36 2.96e+02 1.09e+02 9.35e+02 7.39e-07 1.58e-02 1.86e-02 1.05e+01 6.91e-03 2.97e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 37 2.95e+02 1.08e+02 9.30e+02 8.40e-07 1.53e-02 1.83e-02 1.05e+01 6.75e-03 2.90e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 38 2.93e+02 1.08e+02 9.25e+02 6.95e-07 1.49e-02 1.78e-02 1.05e+01 6.60e-03 2.84e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 39 2.92e+02 1.08e+02 9.21e+02 6.98e-07 1.45e-02 1.74e-02 1.05e+01 6.45e-03 2.77e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 40 2.91e+02 1.08e+02 9.17e+02 7.37e-07 1.41e-02 1.71e-02 1.05e+01 6.33e-03 2.71e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 41 2.90e+02 1.08e+02 9.13e+02 7.85e-07 1.37e-02 1.68e-02 1.05e+01 6.20e-03 2.65e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 42 2.89e+02 1.07e+02 9.09e+02 7.73e-07 1.34e-02 1.65e-02 1.05e+01 6.07e-03 2.60e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 43 2.88e+02 1.07e+02 9.06e+02 8.94e-07 1.31e-02 1.62e-02 1.05e+01 5.95e-03 2.54e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 44 2.87e+02 1.07e+02 9.02e+02 7.21e-07 1.27e-02 1.59e-02 1.05e+01 5.83e-03 2.49e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 45 2.87e+02 1.07e+02 8.99e+02 8.21e-07 1.24e-02 1.56e-02 1.05e+01 5.72e-03 2.44e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 46 2.86e+02 1.07e+02 8.95e+02 7.30e-07 1.22e-02 1.53e-02 1.05e+01 5.61e-03 2.39e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 47 2.85e+02 1.06e+02 8.92e+02 7.09e-07 1.19e-02 1.50e-02 1.05e+01 5.51e-03 2.34e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 48 2.84e+02 1.06e+02 8.89e+02 8.48e-07 1.16e-02 1.48e-02 1.05e+01 5.41e-03 2.30e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 49 2.83e+02 1.06e+02 8.86e+02 7.43e-07 1.14e-02 1.46e-02 1.05e+01 5.32e-03 2.25e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 50 2.83e+02 1.06e+02 8.83e+02 6.96e-07 1.11e-02 1.43e-02 1.05e+01 5.23e-03 2.21e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 51 2.82e+02 1.06e+02 8.81e+02 8.31e-07 1.09e-02 1.41e-02 1.05e+01 5.13e-03 2.17e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 52 2.81e+02 1.06e+02 8.78e+02 7.14e-07 1.07e-02 1.39e-02 1.05e+01 5.05e-03 2.13e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 53 2.81e+02 1.06e+02 8.76e+02 8.05e-07 1.05e-02 1.37e-02 1.05e+01 4.97e-03 2.10e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 54 2.80e+02 1.05e+02 8.73e+02 7.17e-07 1.03e-02 1.35e-02 1.05e+01 4.89e-03 2.06e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 55 2.79e+02 1.05e+02 8.71e+02 7.06e-07 1.01e-02 1.33e-02 1.05e+01 4.82e-03 2.02e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 56 2.79e+02 1.05e+02 8.69e+02 7.61e-07 9.89e-03 1.31e-02 1.05e+01 4.75e-03 1.99e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 57 2.78e+02 1.05e+02 8.67e+02 6.72e-07 9.71e-03 1.29e-02 1.05e+01 4.68e-03 1.96e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 58 2.78e+02 1.05e+02 8.64e+02 7.72e-07 9.53e-03 1.27e-02 1.05e+01 4.61e-03 1.92e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 59 2.77e+02 1.05e+02 8.62e+02 7.92e-07 9.35e-03 1.25e-02 1.05e+01 4.54e-03 1.89e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 60 2.77e+02 1.05e+02 8.60e+02 7.84e-07 9.20e-03 1.23e-02 1.05e+01 4.48e-03 1.86e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 61 2.76e+02 1.05e+02 8.58e+02 7.74e-07 9.05e-03 1.22e-02 1.05e+01 4.42e-03 1.83e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 62 2.76e+02 1.04e+02 8.56e+02 6.57e-07 8.89e-03 1.21e-02 1.05e+01 4.35e-03 1.80e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 63 2.75e+02 1.04e+02 8.55e+02 7.19e-07 8.75e-03 1.19e-02 1.05e+01 4.30e-03 1.78e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 64 2.75e+02 1.04e+02 8.53e+02 7.61e-07 8.62e-03 1.18e-02 1.05e+01 4.25e-03 1.75e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 65 2.74e+02 1.04e+02 8.51e+02 7.21e-07 8.48e-03 1.17e-02 1.05e+01 4.19e-03 1.73e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 66 2.74e+02 1.04e+02 8.49e+02 7.95e-07 8.36e-03 1.15e-02 1.05e+01 4.15e-03 1.70e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 67 2.74e+02 1.04e+02 8.48e+02 7.29e-07 8.25e-03 1.15e-02 1.05e+01 4.10e-03 1.68e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 68 2.73e+02 1.04e+02 8.46e+02 8.01e-07 8.15e-03 1.14e-02 1.05e+01 4.06e-03 1.66e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 69 2.73e+02 1.04e+02 8.45e+02 7.48e-07 8.04e-03 1.12e-02 1.05e+01 4.02e-03 1.64e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 70 2.72e+02 1.04e+02 8.43e+02 7.69e-07 7.94e-03 1.11e-02 1.05e+01 3.98e-03 1.62e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 71 2.72e+02 1.04e+02 8.42e+02 8.66e-07 7.85e-03 1.11e-02 1.05e+01 3.94e-03 1.60e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 72 2.72e+02 1.04e+02 8.41e+02 7.15e-07 7.76e-03 1.10e-02 1.05e+01 3.90e-03 1.58e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 73 2.71e+02 1.04e+02 8.39e+02 7.68e-07 7.67e-03 1.08e-02 1.05e+01 3.86e-03 1.56e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 74 2.71e+02 1.03e+02 8.38e+02 7.73e-07 7.57e-03 1.07e-02 1.05e+01 3.82e-03 1.55e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 75 2.71e+02 1.03e+02 8.37e+02 6.78e-07 7.47e-03 1.06e-02 1.05e+01 3.78e-03 1.53e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 76 2.70e+02 1.03e+02 8.36e+02 8.88e-07 7.38e-03 1.05e-02 1.05e+01 3.74e-03 1.51e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 77 2.70e+02 1.03e+02 8.35e+02 7.52e-07 7.28e-03 1.04e-02 1.05e+01 3.70e-03 1.49e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 78 2.70e+02 1.03e+02 8.34e+02 7.77e-07 7.20e-03 1.03e-02 1.05e+01 3.67e-03 1.48e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 79 2.70e+02 1.03e+02 8.32e+02 7.29e-07 7.12e-03 1.02e-02 1.05e+01 3.64e-03 1.46e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 80 2.69e+02 1.03e+02 8.31e+02 7.97e-07 7.05e-03 1.02e-02 1.05e+01 3.60e-03 1.45e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 81 2.69e+02 1.03e+02 8.30e+02 7.79e-07 6.95e-03 1.01e-02 1.05e+01 3.57e-03 1.43e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 82 2.69e+02 1.03e+02 8.29e+02 7.35e-07 6.89e-03 9.97e-03 1.05e+01 3.53e-03 1.42e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 83 2.68e+02 1.03e+02 8.28e+02 8.26e-07 6.82e-03 9.89e-03 1.05e+01 3.50e-03 1.40e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 84 2.68e+02 1.03e+02 8.27e+02 6.34e-07 6.75e-03 9.82e-03 1.05e+01 3.47e-03 1.39e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 85 2.68e+02 1.03e+02 8.26e+02 7.65e-07 6.67e-03 9.74e-03 1.05e+01 3.44e-03 1.37e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 86 2.68e+02 1.03e+02 8.25e+02 8.31e-07 6.60e-03 9.68e-03 1.05e+01 3.41e-03 1.36e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 87 2.67e+02 1.03e+02 8.24e+02 8.04e-07 6.54e-03 9.60e-03 1.05e+01 3.38e-03 1.34e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 88 2.67e+02 1.02e+02 8.23e+02 7.97e-07 6.47e-03 9.53e-03 1.05e+01 3.35e-03 1.33e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 89 2.67e+02 1.02e+02 8.22e+02 7.84e-07 6.41e-03 9.49e-03 1.05e+01 3.33e-03 1.32e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 90 2.67e+02 1.02e+02 8.22e+02 7.82e-07 6.36e-03 9.44e-03 1.05e+01 3.31e-03 1.31e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 91 2.66e+02 1.02e+02 8.21e+02 7.33e-07 6.31e-03 9.36e-03 1.05e+01 3.28e-03 1.29e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 92 2.66e+02 1.02e+02 8.20e+02 8.15e-07 6.24e-03 9.30e-03 1.05e+01 3.26e-03 1.28e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 93 2.66e+02 1.02e+02 8.19e+02 8.09e-07 6.19e-03 9.23e-03 1.05e+01 3.23e-03 1.27e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 94 2.66e+02 1.02e+02 8.18e+02 7.41e-07 6.13e-03 9.16e-03 1.05e+01 3.21e-03 1.26e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 95 2.66e+02 1.02e+02 8.18e+02 6.78e-07 6.08e-03 9.11e-03 1.05e+01 3.19e-03 1.25e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 96 2.65e+02 1.02e+02 8.17e+02 7.16e-07 6.02e-03 9.07e-03 1.05e+01 3.16e-03 1.24e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 97 2.65e+02 1.02e+02 8.16e+02 8.00e-07 5.97e-03 9.00e-03 1.05e+01 3.14e-03 1.23e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 98 2.65e+02 1.02e+02 8.15e+02 7.86e-07 5.92e-03 8.93e-03 1.05e+01 3.12e-03 1.22e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 99 2.65e+02 1.02e+02 8.15e+02 7.72e-07 5.87e-03 8.86e-03 1.05e+01 3.10e-03 1.21e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 100 2.65e+02 1.02e+02 8.14e+02 8.34e-07 5.81e-03 8.81e-03 1.05e+01 3.07e-03 1.19e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 101 2.64e+02 1.02e+02 8.13e+02 8.03e-07 5.77e-03 8.73e-03 1.05e+01 3.05e-03 1.18e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 102 2.64e+02 1.02e+02 8.12e+02 7.00e-07 5.71e-03 8.66e-03 1.05e+01 3.03e-03 1.17e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 103 2.64e+02 1.02e+02 8.12e+02 7.94e-07 5.66e-03 8.59e-03 1.05e+01 3.01e-03 1.16e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 104 2.64e+02 1.02e+02 8.11e+02 7.80e-07 5.61e-03 8.53e-03 1.05e+01 2.99e-03 1.15e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 105 2.64e+02 1.02e+02 8.10e+02 7.62e-07 5.56e-03 8.44e-03 1.05e+01 2.96e-03 1.14e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 106 2.63e+02 1.02e+02 8.10e+02 7.37e-07 5.51e-03 8.39e-03 1.05e+01 2.94e-03 1.13e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 107 2.63e+02 1.02e+02 8.09e+02 7.76e-07 5.46e-03 8.33e-03 1.05e+01 2.92e-03 1.12e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 108 2.63e+02 1.01e+02 8.08e+02 9.29e-07 5.41e-03 8.28e-03 1.05e+01 2.89e-03 1.11e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 109 2.63e+02 1.01e+02 8.07e+02 8.84e-07 5.36e-03 8.23e-03 1.05e+01 2.87e-03 1.10e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 110 2.63e+02 1.01e+02 8.07e+02 7.75e-07 5.31e-03 8.19e-03 1.05e+01 2.85e-03 1.09e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 111 2.63e+02 1.01e+02 8.06e+02 8.24e-07 5.26e-03 8.14e-03 1.05e+01 2.83e-03 1.08e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 112 2.62e+02 1.01e+02 8.05e+02 7.49e-07 5.22e-03 8.07e-03 1.05e+01 2.81e-03 1.07e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 113 2.62e+02 1.01e+02 8.05e+02 6.74e-07 5.18e-03 8.01e-03 1.05e+01 2.79e-03 1.06e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 114 2.62e+02 1.01e+02 8.04e+02 8.26e-07 5.13e-03 7.93e-03 1.05e+01 2.76e-03 1.05e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 115 2.62e+02 1.01e+02 8.04e+02 7.47e-07 5.08e-03 7.89e-03 1.05e+01 2.74e-03 1.04e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 116 2.62e+02 1.01e+02 8.03e+02 7.34e-07 5.03e-03 7.82e-03 1.05e+01 2.72e-03 1.03e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 117 2.62e+02 1.01e+02 8.02e+02 7.87e-07 4.99e-03 7.76e-03 1.05e+01 2.70e-03 1.02e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 118 2.61e+02 1.01e+02 8.02e+02 7.81e-07 4.95e-03 7.71e-03 1.05e+01 2.68e-03 1.02e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 119 2.61e+02 1.01e+02 8.01e+02 7.33e-07 4.91e-03 7.68e-03 1.05e+01 2.66e-03 1.01e-02 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 120 2.61e+02 1.01e+02 8.01e+02 7.40e-07 4.88e-03 7.64e-03 1.05e+01 2.65e-03 9.99e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 121 2.61e+02 1.01e+02 8.00e+02 7.93e-07 4.84e-03 7.58e-03 1.05e+01 2.63e-03 9.91e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 122 2.61e+02 1.01e+02 7.99e+02 7.36e-07 4.81e-03 7.54e-03 1.05e+01 2.61e-03 9.84e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 123 2.61e+02 1.01e+02 7.99e+02 7.16e-07 4.77e-03 7.51e-03 1.05e+01 2.59e-03 9.76e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 124 2.61e+02 1.01e+02 7.98e+02 7.04e-07 4.74e-03 7.47e-03 1.05e+01 2.58e-03 9.69e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 125 2.60e+02 1.01e+02 7.98e+02 7.69e-07 4.70e-03 7.44e-03 1.05e+01 2.56e-03 9.62e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 126 2.60e+02 1.01e+02 7.97e+02 7.62e-07 4.67e-03 7.40e-03 1.05e+01 2.55e-03 9.56e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 127 2.60e+02 1.01e+02 7.97e+02 7.39e-07 4.64e-03 7.36e-03 1.05e+01 2.53e-03 9.49e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 128 2.60e+02 1.01e+02 7.96e+02 7.67e-07 4.61e-03 7.31e-03 1.05e+01 2.52e-03 9.43e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 129 2.60e+02 1.01e+02 7.96e+02 7.46e-07 4.58e-03 7.26e-03 1.05e+01 2.50e-03 9.36e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 130 2.60e+02 1.01e+02 7.95e+02 7.40e-07 4.55e-03 7.24e-03 1.05e+01 2.49e-03 9.30e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 131 2.60e+02 1.01e+02 7.95e+02 7.93e-07 4.52e-03 7.21e-03 1.05e+01 2.48e-03 9.24e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 132 2.60e+02 1.01e+02 7.94e+02 8.47e-07 4.49e-03 7.18e-03 1.05e+01 2.46e-03 9.18e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 133 2.59e+02 1.01e+02 7.94e+02 7.84e-07 4.46e-03 7.13e-03 1.05e+01 2.45e-03 9.13e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 134 2.59e+02 1.01e+02 7.93e+02 7.96e-07 4.43e-03 7.08e-03 1.05e+01 2.43e-03 9.06e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 135 2.59e+02 1.01e+02 7.93e+02 6.90e-07 4.40e-03 7.05e-03 1.05e+01 2.42e-03 9.00e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 136 2.59e+02 1.01e+02 7.92e+02 7.31e-07 4.37e-03 7.01e-03 1.05e+01 2.40e-03 8.94e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 137 2.59e+02 1.01e+02 7.92e+02 8.13e-07 4.35e-03 6.97e-03 1.05e+01 2.39e-03 8.87e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 138 2.59e+02 1.01e+02 7.92e+02 7.52e-07 4.32e-03 6.95e-03 1.05e+01 2.38e-03 8.82e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 139 2.59e+02 1.00e+02 7.91e+02 7.23e-07 4.29e-03 6.93e-03 1.05e+01 2.37e-03 8.77e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 140 2.59e+02 1.00e+02 7.91e+02 7.40e-07 4.26e-03 6.88e-03 1.05e+01 2.35e-03 8.72e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 141 2.58e+02 1.00e+02 7.90e+02 7.50e-07 4.23e-03 6.82e-03 1.05e+01 2.34e-03 8.66e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 142 2.58e+02 1.00e+02 7.90e+02 7.97e-07 4.20e-03 6.79e-03 1.05e+01 2.33e-03 8.61e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 143 2.58e+02 1.00e+02 7.89e+02 7.64e-07 4.17e-03 6.75e-03 1.05e+01 2.31e-03 8.56e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 144 2.58e+02 1.00e+02 7.89e+02 7.94e-07 4.15e-03 6.73e-03 1.05e+01 2.30e-03 8.51e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 145 2.58e+02 1.00e+02 7.89e+02 6.92e-07 4.12e-03 6.70e-03 1.05e+01 2.29e-03 8.47e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 146 2.58e+02 1.00e+02 7.88e+02 7.39e-07 4.10e-03 6.63e-03 1.05e+01 2.28e-03 8.43e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 147 2.58e+02 1.00e+02 7.88e+02 7.68e-07 4.07e-03 6.60e-03 1.05e+01 2.27e-03 8.38e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 148 2.58e+02 1.00e+02 7.87e+02 7.32e-07 4.04e-03 6.56e-03 1.05e+01 2.26e-03 8.33e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 149 2.58e+02 1.00e+02 7.87e+02 7.76e-07 4.02e-03 6.51e-03 1.05e+01 2.24e-03 8.28e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 150 2.58e+02 1.00e+02 7.87e+02 8.67e-07 3.99e-03 6.48e-03 1.05e+01 2.23e-03 8.23e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 151 2.57e+02 1.00e+02 7.86e+02 7.51e-07 3.97e-03 6.46e-03 1.05e+01 2.22e-03 8.18e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 152 2.57e+02 1.00e+02 7.86e+02 7.31e-07 3.94e-03 6.44e-03 1.05e+01 2.21e-03 8.14e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 153 2.57e+02 1.00e+02 7.85e+02 7.93e-07 3.92e-03 6.42e-03 1.05e+01 2.20e-03 8.10e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 154 2.57e+02 1.00e+02 7.85e+02 8.11e-07 3.90e-03 6.40e-03 1.05e+01 2.19e-03 8.06e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 155 2.57e+02 1.00e+02 7.85e+02 7.01e-07 3.87e-03 6.36e-03 1.05e+01 2.18e-03 8.02e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 156 2.57e+02 1.00e+02 7.84e+02 7.45e-07 3.85e-03 6.31e-03 1.05e+01 2.17e-03 7.98e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 157 2.57e+02 1.00e+02 7.84e+02 8.24e-07 3.83e-03 6.27e-03 1.05e+01 2.16e-03 7.93e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 158 2.57e+02 1.00e+02 7.84e+02 7.14e-07 3.81e-03 6.23e-03 1.05e+01 2.15e-03 7.88e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 159 2.57e+02 1.00e+02 7.83e+02 8.20e-07 3.78e-03 6.20e-03 1.05e+01 2.13e-03 7.84e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 160 2.57e+02 1.00e+02 7.83e+02 7.25e-07 3.76e-03 6.17e-03 1.05e+01 2.12e-03 7.79e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 161 2.56e+02 9.99e+01 7.83e+02 7.85e-07 3.73e-03 6.13e-03 1.05e+01 2.11e-03 7.74e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 162 2.56e+02 9.99e+01 7.82e+02 7.98e-07 3.71e-03 6.09e-03 1.05e+01 2.10e-03 7.69e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 163 2.56e+02 9.99e+01 7.82e+02 8.36e-07 3.69e-03 6.05e-03 1.05e+01 2.09e-03 7.64e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 164 2.56e+02 9.99e+01 7.81e+02 7.56e-07 3.66e-03 6.03e-03 1.05e+01 2.08e-03 7.60e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 165 2.56e+02 9.99e+01 7.81e+02 8.27e-07 3.64e-03 6.00e-03 1.05e+01 2.07e-03 7.56e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 166 2.56e+02 9.98e+01 7.81e+02 7.43e-07 3.62e-03 5.98e-03 1.05e+01 2.06e-03 7.52e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 167 2.56e+02 9.98e+01 7.80e+02 7.04e-07 3.60e-03 5.97e-03 1.05e+01 2.05e-03 7.49e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 168 2.56e+02 9.98e+01 7.80e+02 6.71e-07 3.58e-03 5.94e-03 1.05e+01 2.04e-03 7.45e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 169 2.56e+02 9.98e+01 7.80e+02 7.65e-07 3.55e-03 5.88e-03 1.05e+01 2.03e-03 7.42e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 170 2.56e+02 9.98e+01 7.79e+02 7.99e-07 3.53e-03 5.84e-03 1.05e+01 2.02e-03 7.37e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 171 2.56e+02 9.97e+01 7.79e+02 6.32e-07 3.51e-03 5.83e-03 1.05e+01 2.01e-03 7.33e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 172 2.55e+02 9.97e+01 7.79e+02 7.73e-07 3.49e-03 5.80e-03 1.05e+01 2.00e-03 7.29e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 173 2.55e+02 9.97e+01 7.79e+02 8.01e-07 3.47e-03 5.75e-03 1.05e+01 1.99e-03 7.25e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 174 2.55e+02 9.97e+01 7.78e+02 8.11e-07 3.45e-03 5.72e-03 1.05e+01 1.98e-03 7.20e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 175 2.55e+02 9.97e+01 7.78e+02 7.94e-07 3.43e-03 5.70e-03 1.05e+01 1.97e-03 7.16e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 176 2.55e+02 9.96e+01 7.78e+02 8.75e-07 3.40e-03 5.65e-03 1.05e+01 1.96e-03 7.12e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 177 2.55e+02 9.96e+01 7.77e+02 8.25e-07 3.39e-03 5.62e-03 1.05e+01 1.95e-03 7.08e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 178 2.55e+02 9.96e+01 7.77e+02 7.66e-07 3.37e-03 5.60e-03 1.05e+01 1.94e-03 7.04e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 179 2.55e+02 9.96e+01 7.77e+02 6.77e-07 3.35e-03 5.58e-03 1.05e+01 1.93e-03 7.00e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 180 2.55e+02 9.96e+01 7.77e+02 7.33e-07 3.33e-03 5.54e-03 1.05e+01 1.92e-03 6.96e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 181 2.55e+02 9.95e+01 7.76e+02 7.20e-07 3.31e-03 5.52e-03 1.05e+01 1.91e-03 6.93e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 182 2.55e+02 9.95e+01 7.76e+02 8.00e-07 3.29e-03 5.50e-03 1.05e+01 1.90e-03 6.90e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 183 2.55e+02 9.95e+01 7.76e+02 7.67e-07 3.28e-03 5.47e-03 1.05e+01 1.89e-03 6.86e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 184 2.55e+02 9.95e+01 7.76e+02 7.96e-07 3.26e-03 5.45e-03 1.05e+01 1.89e-03 6.83e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 185 2.55e+02 9.95e+01 7.75e+02 7.85e-07 3.25e-03 5.44e-03 1.05e+01 1.88e-03 6.80e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 186 2.54e+02 9.95e+01 7.75e+02 7.44e-07 3.23e-03 5.42e-03 1.05e+01 1.87e-03 6.77e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 187 2.54e+02 9.94e+01 7.75e+02 7.90e-07 3.22e-03 5.41e-03 1.05e+01 1.87e-03 6.75e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 188 2.54e+02 9.94e+01 7.74e+02 8.87e-07 3.20e-03 5.36e-03 1.05e+01 1.86e-03 6.72e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 189 2.54e+02 9.94e+01 7.74e+02 7.37e-07 3.18e-03 5.32e-03 1.05e+01 1.85e-03 6.68e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 190 2.54e+02 9.94e+01 7.74e+02 7.03e-07 3.16e-03 5.28e-03 1.05e+01 1.83e-03 6.65e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 191 2.54e+02 9.94e+01 7.74e+02 7.49e-07 3.14e-03 5.26e-03 1.05e+01 1.83e-03 6.61e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 192 2.54e+02 9.94e+01 7.73e+02 8.08e-07 3.13e-03 5.24e-03 1.05e+01 1.82e-03 6.57e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 193 2.54e+02 9.93e+01 7.73e+02 7.10e-07 3.11e-03 5.23e-03 1.05e+01 1.81e-03 6.54e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 194 2.54e+02 9.93e+01 7.73e+02 6.46e-07 3.10e-03 5.20e-03 1.05e+01 1.80e-03 6.50e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 195 2.54e+02 9.93e+01 7.73e+02 8.07e-07 3.08e-03 5.18e-03 1.05e+01 1.79e-03 6.47e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 196 2.54e+02 9.93e+01 7.72e+02 8.60e-07 3.07e-03 5.15e-03 1.05e+01 1.78e-03 6.43e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 197 2.54e+02 9.93e+01 7.72e+02 8.37e-07 3.05e-03 5.14e-03 1.05e+01 1.78e-03 6.40e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 198 2.54e+02 9.93e+01 7.72e+02 8.39e-07 3.04e-03 5.12e-03 1.05e+01 1.77e-03 6.37e-03 1.00e+01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 199 2.54e+02 9.92e+01 7.72e+02 7.58e-07 3.02e-03 5.10e-03 1.05e+01 1.76e-03 6.33e-03 1.00e+01\n", "--------------------------------------------------------------------------------------------------------\n", "ConvBPDNDictLearn solve time: 128.97s\n" ] } ], "source": [ "d = cbpdndl.ConvBPDNDictLearn(D0, sh, lmbda, opt, dmethod='cns')\n", "D1 = d.solve()\n", "print(\"ConvBPDNDictLearn solve time: %.2fs\" % d.timer.elapsed('solve'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Display initial and final dictionaries." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "D1 = D1.squeeze()\n", "fig = plot.figure(figsize=(14, 7))\n", "plot.subplot(1, 2, 1)\n", "plot.imview(util.tiledict(D0), title='D0', fig=fig)\n", "plot.subplot(1, 2, 2)\n", "plot.imview(util.tiledict(D1), title='D1', fig=fig)\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get iterations statistics from solver object and plot functional value, ADMM primary and dual residuals, and automatically adjusted ADMM penalty parameter against the iteration number." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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9tprTJs2jczMTPbv389LL710yD6bN2/mwIEDbNy4keeff56bbrqJvn37smDBAtasWUP37t25+uqrad68OfHx8TzyyCP06NGDdevW0a9fPyZMmMCtt95aodfp8/nw+Xzce++9FdpfRKSqC8c1C479uuWcY8qUKRw8eJD27dvToUOHYw8qjFQBJSIiVVJysnpAiUjpateuTYcOHcjJyeHyyy8/6vbDhw+nbt26dO3alSZNmjBu3LjCdZdeeimZmZkAVK9e/Yh9ExMT+f3vf098fDwDBw5k27ZtjBgxgpo1a9K+fXvat2/PV199BUC3bt3o2bMnZkazZs24+eabmTVrVphetYiIHK9uu+02evbsyRVXXMH111/vdThHUAWUiIhUSaqAEolux/INcLi8/PLLrF27lnPPPZe7776bJ554otTtH3/88RL/4M/IyCh133r16hU2D09KSgKgYcOGheuTkpLYu3cvAMuXL2fkyJF88cUX5OTkkJubyymnnFLm1yUiIuEVDdesmTNnUrNmTZo0aYJzjpUrVwLBqtw77riD+Ph4nnvuOYYMGUKrVq0YNmxYsV+IRJIqoEREpEpSDygRKc3WrVsZOXIkzzzzDE8++SRvvPEGs2fPrvDxwnlnuiFDhtCuXTtWrlzJrl27uO+++9R4XESkinv55Ze5+OKLAfjwww8Lp4HXr1+fBx54gG3btrF48WKGDBnCHXfcUenJJ1ACSkREqihVQIlIaYYNG0b//v3p3bs3jRo1YuzYsdx4440cPHjQ69DIysoiJSWFmjVrsmTJkqNWZomISOybNWsWaWlp5Ofn849//IPx48cXrmvcuDGJiYmsWLGCTp06eRZjzCWgwtH4S0REYlfB7bWVgBKRkkyZMoVPP/2UBx98sHDshhtuID09nT//+c/F7lNahVNFqp8O36fo84ceeohXXnmFlJQUbrnlFgYOHHhM59Nd8EREjm/r1q2jZcuWLF++nFdffZXx48cf0oB8+/bttG/fnrlz53oYJVgsleuamfv8c8epp3odiYhI9DEznHPhmwNyHDIzV3Ddu+02eOEF2L3b25hEqqrQ7ySvw6iSSnrvdZ049DohIlJUNF+3XnrpJdavX88999xzxLqcnBymT5/OJZdcQmZmJp9++inx8fElHiuS14iYq4A6cMDrCERE5HiQnAx790KU/h0hIiIiIlIm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rFy5krvvvrvYY0XyGqEpeCIiUmWpCbmIiIiIHO8CgQA+n69wyndRH330EWeeeSYQvEvelClTePrppys7RCAGE1CagiciImVVp07wi4u9e+GEE7yORkRERESk/GbPns3gwYOPGP/yyy958803ycjI4PXXX2fjxo2MGzeO6tWrexBlDCagVAElIiJl1aRJ8HHTJmjd2ttYREQkOhS9W6qIyPFg3Lhx1KpV64jxbt26MWfOnGM6djjvlBpzPaD69HFMn+51JCIi0Ue9PY7s7fHhh3DuuTBzJuhzhkjliuZeGrFOPaBKph5QIlKSqnLdiuQ1QnfBExGRKqugAmrjRm/jEBERERGJdTGXgNIUPBERKav09OCjElAiIiIiIpGlBJSIiFRZyclQq5YSUCIiIiIikRZzCShNwRMRkdL4/f7CRopmwWl4SkCJSFUWCATw+/1ehyEiIjEu5pqQt2vn+PZbryMREYk+ai5bfHNZnw/y8uDjj72JSaSqqirNXEszZMgQmjZtyujRo8N+7Li4OFasWMFJJ510xDo1IS+ZmpCLSEmqynVLTcjLQVPwRESkPFQBJSLFadGiBTVr1iQ1NZW6devSq1cvJk6cWOqHD5/PR1JSEikpKTRs2JABAwawZcuWErd/4oknIpJ8guAHBRERCZ/mzZtjZjG/NG/ePGLvYcwloDQFT0REyqMgAVUFvtASkXIwM/773/+ye/du1q5dy6hRoxg7diw33HBDqftMmDCBPXv2sGzZMnbt2sXtt99e7Lb5+fmRCh2gSnxLLyJSmdasWYNzLuaXNWvWROw9jLkElCqgRESkPNLT4ccfYdcuryMRkWhTkMRJTk7moosu4p///CeTJk3i21L6PRTsU7t2bQYMGMCiRYsAGDx4MEOHDuXCCy8kOTmZQCDA4MGDGTNmDACzZs0iIyODv//976SlpZGens6UKVOYNm0abdu2pX79+tx///2F55k3bx6nn346derUIT09neHDh5Obmxupt0JEROSYJXgdQLgpASUiIuXRpEnwceNGqFPH21hEpIgRI2DhwmM7Rpcu8Mgj4YkH6NGjB02bNuXjjz+mffv2pW67bds23nrrLbp161Y49tprrzFt2jQyMzPZv38/L7300iH7bN68mQMHDrBx40aef/55brrpJvr27cuCBQtYs2YN3bt35+qrr6Z58+bEx8fzyCOP0KNHD9atW0e/fv2YMGECt956a9her4iISDipAkpERKq0ggTUhg3exiEix4cmTZqwY8eOEtcPHz6cunXr0rVrV5o0acK4ceMK11166aVkZmYCUL169SP2TUxM5Pe//z3x8fEMHDiQbdu2MWLECGrWrEn79u1p3749X331FQDdunWjZ8+emBnNmjXj5ptvZtasWWF+tSIiIuETcxVQ6gElIiLlUbQCSkSiSBgrl8Jpw4YN1K1bt8T1jz/+ONdff32x6zIyMko9dr169QqbhyclJQHQsGHDwvVJSUns3bsXgOXLlzNy5Ei++OILcnJyyM3N5ZRTTinXaxEREalMMVkBpZ6LIiJSVkpAiUhZzZs3j40bN9KrV68K7R/OO9MNGTKEdu3asXLlSnbt2sV9992nxuMiIhLVPEtAmdltZvZNaLk1NFbHzKab2VIze9/MUots/5iZLTezhWbWpaTjOgd5eZXxCkREJBYkJQV7PykBJSIlycrK4t133+Wqq67immuuoUOHDl6HRFZWFikpKdSsWZMlS5bwxBNPeB2SiIhIqTxJQJlZB+AGoDvQBbjIzFoCo4AZzrm2wP+Ae0Lb9wNaOudaA7cAT5Z2fE3DExGRo3l32zZ+DH1j0bw5rFjhcUAiEnUuvvhiUlNTadasGffffz933nknzz33XInbl1bhVJHqp8P3Kfr8oYce4pVXXiElJYVbbrmFgQMHHvP5REREIsm8KNU1syuA85xzN4We/wHYD1wP+JxzW8ysETDTOdfOzJ4M/fzP0PbfFWx32HEdOHbtgtRURESkCDPDOVelP5GYmXPOsSYnhxPnzOH+E09kVPPmXHstTJ8OmzZ5HaFI1RH6neR1GFVSSe+9rhM/XSdERORQ4bhGeDUFbxFwZmjKXU3gAiADSCtIKjnnNgNpoe3TgXVF9t8QGiuW7oQnIiKl2Z6bC8BrW7cC0LkzbN4MoaciIiIiIhJmniSgnHNLgLHAB8BUYAFQXOemCn39oCl4IiJSmqxQAurr7GwWZ2fTuXNwPHR3cxERERERCbMEr07snHseeB7AzO4jWOG0xczSikzBK/guegPBCqkCTUNjxfDz4INQuzb4fD58Pl+EXoGISHQLBAIEAgGvw4hKWUXuVvHali2M6HwSEExA9enjVVQiIhIN/H6/PkeIiISE8zOFJz2gAMysgXPuBzNrBrwHZAKjgR3OubFmNgqo7ZwbZWYXAL91zl1oZpnAI865zGKO6cCxdCm0aVOpL0dEJOqpt8dPvT1e3bKFX333Hc2rVyfejBWnnkrTpsbZZ8NLL3kdpUjVoB5Q3lEPqJKpB5SISPGO5x5QAG+Z2SJgCjDUObeH4LS8Pma2FDgbeADAOTcVWG1mK4CJwNDSDqwpeCIiUpqCCqjrGjVi1Y8/smTfPjp31hQ8EREREZFI8XIKXu9ixnYA55aw/bCyHltNyEVEpCR+v58t7dpBWhpXNGjAvWvX8v6OHXTuXIsPPoD9+6F6da+jFBGpPJqyLSIilcHLCqiIUQJKRERK4vf7adizJwDta9WibVIS7+/cSefOkJsL333ncYAiIpXM5/Ph9/u9DkNERGJcTCagNAVPRERKszcvjxPi44kzo2/duszatYuTOwWn5WkanoiIiIhI+MVkAkoVUCIiUpqsvDyS4+MBOK9uXXLy89nScDc1aigBJSLRa9KkSZx55plehyEiIlIhSkCJiEiVUzQB5atdm2pmzNi9k5/9TAkoEQlq0aIFNWvWJDU1lbp169KrVy8mTpxY6p37fD4fSUlJpKamUrt2bXr06MHYsWM5EMY/Ts2q9E3qRETkOBaTCShNwRMRkdJk5eYWJqBqxcfToVYtvsvOLrwTnu7ALSJmxn//+192797N2rVrGTVqFGPHjuWGG24odZ8JEyawe/duNm3axLhx43j99de54IILKjFyERGR6BSTCShVQImISGmyQj2gCjRJTGTjgQN07gzbt8PGjR4GJyJRo6DaKTk5mYsuuoh//vOfTJo0iW+//fao+yQlJdG7d2/eeecdPvvsM6ZOnQrA4MGDGTNmTOH2s2bNIiMjo/D52LFjadWqFSkpKXTs2JHJkydH4qWJiIhUugSvA4gEJaBERKQ0WXl5pFevXvi8SfXqzM/KonPn4POvvoL0dI+CExEARixfzsK9e4/pGF1OOIFHWrcOU0TQo0cPmjZtyscff0z79u3LtE9GRgbdu3fn448/LrESqui0ulatWjF79mzS0tJ44403GDRoECtXriQtLS0sr0FERMQrMVkBpSl4IiJSmqI9oCBYAbX14EHa/ywfUB8oESlZkyZN2LFjR8T2GTBgQGGy6corr6R169bMnTu33HGKiIhEG1VAiYhIlVO0BxQEK6Ac8GPSQVq0qK4ElEgUCGflUjht2LCBunXrlnufFi1alGnbF198kfHjx7NmzRoAsrOz2bZtWzmjFBERiT4xWQGlBJSIiJSmuAoogI379xc2IhcROdy8efPYuHEjvXr1KvM+69atY/78+fTu3RuAWrVqsW/fvsL1mzZtKvz5+++/5+abb2bChAns3LmTnTt30qFDh1LvvCciInK8UAJKRESqlDzn2JefT3LCT0XATUL9oDYeOMApp8DSpbB7t1cRiki0ycrK4t133+Wqq67immuuoUOHDkfdJycnh1mzZnHZZZeRmZlJv379AOjSpQtTp05l586dbN68mUcffbRwn+zsbOLi4qhfvz75+fk8//zzLFq0KGKvS0REpDLFZAJKPaBERKQke/PyAEqsgMrMBOdALVdE5OKLLyY1NZVmzZpx//33c+edd/Lcc8+Vus+wYcNITU2lUaNGjBw5kiuvvJJp06YVrr/mmmvo1KkTLVq04Pzzz2fgwIGF69q1a8cdd9xBZmYmjRo1YvHixeWqthIREYlmFkslvWbmwPHXv8Lo0V5HIyISXcwM55wdfcvYZWZuXU4OGZ9/zlNt2tDFbeBfi//FX8/5GzU/ns3vmzfnrnonUrs2+P1Q5E7pIhJmod9JXodRJZX03us6EbxO6L9LEZEjheMaoSbkIiJSpWQVqYB66OOH+Nfif5EQl0BazYvZuH8/KSnQoQN8+qnHgYqIiIiIxJCYm4JXrZqm4ImISMkKElBJcfDeiveoVa0WD8x+gFruRzaGvsE47TT4/HPIz/cyUhERERGR2BGTCShVQImISEkKElCrt33Lnv17eOrip2hTrw3bdi1h0/79QDABtXs3LFniZaQiIiIiIrEj5hJQiYlKQImISMmycnMBmL/+YxLjE7m4zcXc2PVGdu1ewbofc4BgAgrgs8+8ilJEREREJLbEZAJKU/BERKQkBRVQs1d/gK+Fj+TqyVz1s6vgwHZ25OVzID+fNm2gTh2YM8fjYEVEREREYkTMJaA0BU9ERErz0xS8xfRr1Q+ApilNaXNCPQA27d9PXByccgrMn+9ZmCIi4hG/308gEPA6DBGRqBAIBPD7/WE5VswloDQFT0RESlOQgCJvH81TmxeO9804BYDApkVAMAH1zTcQagslImHWvHlzzEyLB0vz5s2P/g9Uhfn9fnw+n9dhiIhEBZ/PpwRUSTQFT0RESpOVmxu8+OXvJ6V6SuH4Zc0zAfhw8zIgmIA6eBAWLfIgSJEqYM2aNTjntHiwrFmzxut/fhERqYJiLgGlKXgiIlKarLw8apgDILVGauG4r+GJWG428/buA4IJKIAvvqj0EEVEREREYo5nCSgzu93MFpnZ12b2ipklmlkLM/vczJaZ2WtmlhDaNtHMXjez5Wb2mZk1K+m4moInIlI1mdmJZvaMmf2rtO2y8vKobvkAh1RAxcfDZbBAAAAgAElEQVTFUefgJta6EwA48cRgI3L1gRIREREROXaeJKDMrAkwHOjmnOsEJABXAWOBcc65NsAu4IbQLjcAO5xzrYFHgAdLOram4ImIVE3OudXOuRuPtl1WXh7VXS5waAIKoG21XHIS09hxYD9m0K2bElAiIiIiIuHg5RS8eKBWqMopCdgInAW8FVo/Cbgs9POloecAbwLnlHRQTcETETm+mdmzZrbFzL4+bPx8M1sSqpL9XUWPn5WbSwLBbyoOT0D1Sq0DFse/NywB1IhcRERERCRcPElAOec2AuOA74ENwG7gS2CXcy4/tNl6ID30czqwLrRvHrDLzOoWd2xNwRMROe49D5xXdMDM4oD/C413AK4ys5ND664xs4fNrHHB5qUdfG9eHvH5+4m3eJISkg5Zd2mTtuDymLZ1HQDduwerahcuDMfLEhERERGpuryaglebYFVTc6AJUAs4vzyHKGmFpuCJiBzfnHOfADsPG+4JLHfOrXXOHQReJ3gdwTn3knNuJLDfzJ4AupRWIXVg/35c/kFSqqdgdujlpEej9pC9hvnZPwLg80FcHEydGq5XJyIiIiJSNSV4dN5zgVXOuR0AZvZv4AygtpnFhaqgmhKsjiL0mAFsNLN4IKVg38OtWuVn1y7w+8Hn8+Hz+SL8UkREolMgECAQCHgdRrgUVsKGrCeYlCoUui4MOdqB1j30ENk184n7IZ/AqYFDrhOJ8YnUO7iJdTTlQH4+DRrEcdpp8M47cO+94XkhIiLRIsauEyIiEuXMOVf5JzXrCTwL9AD2E5xuMQ/oDbztnPtn6Fvsr5xzT5rZUKCjc26omQ0ELnPODSzmuO6KKxyLFsF331Xe6xEROR6YGc65UqenRQszaw78J3SjCsxsAHCec+7m0PNBQE/n3K3lPK7r9MwzxCfsJXffs3w95Osjtjn73T8y84RzmNGpE+fUrcuDD8Lvfgfffw8ZGcf+2kREolVlXidCXyqPdc7dWRnnKyszc158PhIRiXbhuEZ41QNqLsFm4guArwhOqXsKGAWMNLNlQF2CSSpCj/XNbDkwIrRdsWrUULNYEZEYtAFoVuR50SrZcslLSaHp+j00tBOKXT+g8YmQf4CX1i8H4JJLguP/+U9FziYiIsUJ9XXt5XUcIiJSeTy7C55z7l7nXDvnXCfn3LXOuYOhW2if6pxr45z7ZajPB865/c65XzjnWjvnMp1za0o6blIS5ORU2ssQEZHIMA7t9zcPaGVmzc0sERgIvFORA+c1aECNg3lcOi+r2PWXtOoDu77ivZ3Bmd5t20KrVsFpeCIiElYLzOyd0M0k+hcsXgclIiKR4VUPqIhRAkpE5PhmZq8CPqCemX0P/Mk597yZDQemE/zy5FnnXIUmW299+WXWWi7j3/8e8vODXcaLyEjNIG3/Gra4HqzOyeHEpCT69YNnngne5KJatWN7fSIi0cbDXlA1gO3A2UXGHPC2F8GIiEhkedIDKlLMzN19t+ORRzQNT0TkcMdTD6hIMTN30mefEf/Neyy7+d5gVumGG47Y7tr3R/Ni9T74UlPokpxC2jcNuad/Cp9/Dqee6kHgIiKVQNcJ9YASESnJcdsDKpKSkuDAgeCX2iIiIofLc47VKbms6JwBN90Ezz9/xDa/POkM+OEjFu/dzZMbN3JPnS/h/q95/7ODHkQsIhKbzKyNmX1oZotCzzuZ2R+8jktERCIjJhNQAD/+6G0cIiISnfKcIzf/IG+MvRbOOgtuuQX27Ttkm583/zmJS+9j0L7/sOX003nwpJPglJ082GI+qzTPW0QkXJ4G7gEK+r5+TbDHn4iIxKCYTUDp84GIiBTnoMsH8qiZWh+GDAk2dlqy5JBtaiXWol+rfry26DVqxsFdzZpxwQdd2Jd4kNGrVnsTuIhI7KkZujt2UbmeRCIiIhEXcwmoGjWCj0pAiYhIcfY8+ywsXkNK9RTo2DE4uGjREdtd2/laNu/dzAcrPwBgwMmpuGmNeOuHH/jhwIHKDFlEJKICgQB+v9+LU28zs5YEG49jZlcAm7wIREREIi/mElCagiciIqVJHHwdtEsPJqBatYLERFi8+IjtLmxzIfWS6jHpq0kA9OoFvNuYgzhe3LKlcoMWEYkgn8/nVQLqt8BE4GQz2wCMAH7jRSAiIhJ5MZuAUgWUiIgUJ885cPmk1kiFhARo27bYBFRifCJXdbyKyUsms+vHXbRuDS04gdrrU3hq40Z0lyQRkWPmnHPnAg2Ak51zvYjBzyciIhIUc7/glYASEZHS5DkH5AcroAA6dCh2Ch7AVT+7iv15+5m+cjpmMGgQ7H6pCctycpi2Y0flBS0iEpveAnDOZTvnskJjb3oYj4iIRJASUCIiUqXkOcDl/ZSA6tgR1q6FvXuP2LZnek9SqqcwY9UMAK65BtyHDamzvzp/WbtWVVAiIhVgZieb2QAg1cz6F1muA2p4HJ6IiERIgtcBhFtBE3L1gBIRkeIcfOEFaLydlMuKVEABfPst9Ox5yLYJcQmc1eKswgRUmzZwavc41k9pxue/WM6HO3dybt26lRi9iEj4BQIBAoFAZZ6yLXARUBu4uMh4FnBTZQYiIiKVRxVQIiJSpdh118HJjQ6dggfF9oEC6HNSH1bvWs2qnauA4DS8Dc80Ji0ukb+uXVsJEYuIRFZlNyF3zk1xzg0GLnLODS6y3Oqc+7TSAhERkUqlBJSIiFQp+RiQT61qtYIDJ50ULJ8toQ/UuSedC1BYBXXeecDBOM7cnMGs3buZt2dPJUQtIhKTtpvZh2a2CMDMOpnZH7wOSkREIkMJKBERqXKqx1XDzIJP4uOhSxf45JNit21Trw1NU5rywaoPAGjVCho3BpvamJT4eMatW1dZYYuIxJqngXuAgwDOua+BgZ5GJCIiERNzCSj1gBIRkaOpEX9YC8QLLoB582Dr1iO2NTPOOfEcZq6eiXMOM+jdGz6dkcBNjZvw5g8/sEbfeoiIVERN59zcw8ZyPYmkCL/fX9k9sUREolYgEAjbNO2YS0CpAkpERI6mRkL1QwcuvBCcg2nTit3+zGZnsj1nO0u3LwXg5z+HDRvgsrx0EswYvmKF7ognIlJ+28ysJeAAzOwKYJO3IQUTUD6fz+swRESiQjj7BCoBJSIiVcsLL8B3h32+6do1OK/u3XeL3eXM5mcC8PHaj4FgAgpg2ewaPNiyJe9u384TGzdGKmIRkYgK57fb5fRbYCJwspltAEYAQ7wIREREIi/mElDVqgXbeSgBJSIixbruOlI7tTx0zCxYBTV9Ohw8eMQureu2pmGthnyyLtgnql07aNAAZs2C4enpnF+3LnesXMni7OzKeAUiImFV2XfBK+CcW+WcOxdoAJzsnOvlnFtT6YGIiEiliLkEFAT7QKkHlIiIlCQhrpjL34UXwp49xTYjNzN6NetVWAFlBn37wpQpkJ1tvHDyySTHx3P1t9/yY15epMMXEYkJZlbbzG4F/gLcZ2aPmdljXsclIiKRUWoCysy6lbZUVpDllZSkCigRESlZfMEd8Io65xxISID33y92n14ZvVi9azUb9mwAYNgw2L0bJk2CtMREnj/5ZL7Ozmbo8uXkqR+UiEhZTAVaAN8A84ssIiISgxKOsn5cKesccHYYYwkbJaBERKQ0xSagkpPhjDOCCagHHjhidUEfqE++/4RfdvwlmZnQsyc89hgMGQIX1qvHH5s35y9r17L94EFea9+emvHxkX4pIiLHsxrOuZFeByEiIpWj1Aoo59xZpSxRmXwCJaBERKR0CRSTgAI47zxYuBA2bz5iVZdGXUhOTObD1R8Wjo0YAcuW/VQ09ecTT+TxVq34z/btnLVwIVsPHIhE+CIiseIlM7vJzBqbWd2CxeugREQkMsrcA8rMOprZL8zs1wVLRU9qZm3MbIGZfRl63G1mt5pZHTObbmZLzex9M0stss9jZrbczBaaWZfSjq8eUCIiUpqEuBISUOefH3ycPr2YfRLo07IP01ZMw4Wm2F1xBdSpA6+//tN2w5o25d8dO/JNdjanffkly/btC3f4IiKx4gDwd+Azfpp+94WnEYmISMSUKQFlZn8CHg8tZwEPApdU9KTOuWXOua7OuW7AKUA28G9gFDDDOdcW+B9wT+j8/YCWzrnWwC3Ak6UdXxVQIiJSmgQr4fLXuTM0bFhiH6gLWl3A+j3rWfzDYiB459WLLoL//Adyc3/a7tL69ZnZpQt78vI4/csv+XT37nC/BBGRWHAH0Mo518I5d2JoOcnroEREJDLKWgF1BXAOsNk5NxjoDKSWvkuZnQusdM6tAy4FJoXGJ4WeE3p8EcA5NwdINbO0kg6oBJSIiDfMLMvM9hSzZJnZHq/jA+CFF8j6ZnXx6+Ligre3mz4d8vOPWH1+q2CF1NTlUwvHLr8cdu6Ejz46dNtTU1L4rGtX6lSrxjlffcVbP/wQtpcgIhJOgUAAv9/vxalXACoTFRGpIsqagMpxzuUDuWaWAmwFMsIUwy+BV0M/pznntgA45zYDBUmmdGBdkX02hMaKpQSUiIg3nHPJzrmUYpZk51yK1/EBcN111O/cquT1558P27bBl18esSo9JZ3OaZ2ZtmJa4VjfvsGp35MnH3moVjVr8lnXrnQ94QSuXLyYR9atO3IjERGP+Xw+rxJQ2cBCM5sYarfxmJk95kUgIiISeWVNQH1hZrWBpwnOzf6S4FztY2Jm1QhO5XsjNHT4fasrdB/rpCT1gBIRiQZm1tDMmhUsXsdTIKG4u+AV6NMn+FjCNLx+rfrxyfefsDNnJwC1agV7l0+eXGzRFPUTE/mwc2cuq1+f21eu5PYVK8h3Fbq8iYjEmsnAfcCn/NQDar6nEYmISMQklGUj59zQ0I9Pmtl7QIpz7uswnL8fMN85ty30fIuZpTnntphZI4KVVhCseCpacdU0NHYEv9/PsmWwYQMEAj58Pl8YwhQROf4EAgECgYAn5zazS4BxQBOCv8ubA98BHTwJ6DAl9oCCYA+obt3gvfdg9OgjVv+y4y95YPYDPP3l09x9xt0A/OpXMGUKPPss3HTTkYdMio/njQ4dGLliBY+sX8/2gwd5tm1bqsWV+V4gIiIxxzk36ehbiYhIrDBXxm9hzSyd4AeIwqSVc+6jkvco0zFfA94ruPiY2Vhgh3NurJmNAmo750aZ2QXAb51zF5pZJvCIcy6zmOM55xw33gjTpgWTUCIiEmRmOOdKKf0J67m+As4meGOJrmZ2FjDIOXdDZZy/lLgcM2dy6cEvmNznzpI3HD0axo6F7dsh9ciWh31e6sPirYtZfdtqqidUxznw+eCbb2DpUmjQoPjDOue4b+1a/rhmDX3q1OG19u2pV61aeF6ciMgxqszrROh8rYH7gfZAjYJxLxuRF3yeEBGRQ4XjGlHWu+CNBWYDfwDuCi2l/OVepmPWJNiA/O0iw2OBPma2lOAHlwcAnHNTgdVmtgKYCAylFOoBJSLiuYPOue1AnJnFOedmAt29DqpAwtEqj847D/Ly4H//K3b1Xaffxaa9m3j1m2ALQzOYMAGysmDMmJIPa2b8oUULnm3bllm7dtF9/nwWZmVV9GWIiBzvngeeAHIJ3mn7ReBlTyMSEZGIKWvt/2VAW+fcBc65i0PLJcdyYufcPudcA+dcVpGxHc65c51zbZ1zfZ1zu4qsG+aca+Wc6+ycO7IzbBHqASUi4rldZnYC8BHwipk9SrDZbFRIPFoC6rTTICUF/vOfYlf3OakPXRp1YUxgDD9kB+9u16EDXHstvPRSMBFVmusbN+ajrl05mJ/P6QsW8OqWLRV5GSIix7sk59yHBGdlrHXO+YELPY5JREQipKwJqFXAcTNHoEaNYAWUqmdFRDxzKZAD3A68B6wELvY0oiISLL70DapVg/794a23ii2pNTOeufgZfsj+gYFvDSQ3PxeAG26A7Gz417+OHsOpKSnM796d7snJ/Oq77xi5YgW5xXUxFxGJXfvNLA5YbmbDzOxy4ASvgxIRkcgoawJqH8fRLVKTkoKP+/d7G4eISFXlnMt2zuU553Kdc5Occ4+FpuRFhTI1/x40CPbsKbEK6pQmp/DkRU/yv9X/Y9SMUQBkZkK7dsFm5GWRFrpD3vD0dMavX8+ZCxeyUnPIRaTquA2oCdwKnAIMAq71NCIREYmYsiag3gH+wnFyi9SCBJT+hhcR8YaZZZnZntDyo5nlmdker+MC4IUX2LpwxdG38/kgPT04p64E13W5jqHdhzLus3G8vuh1zOD66+Gzz2DRorKFUy0ujsdat+a1du34LjubzvPm8eymTagJrohUlkAggN/vr9Rzmlk88Evn3F7n3Hrn3GDn3ADn3OeVGoiIiFSa8twFLxFoE3q61Dl3MGJRVVDBXSsmToTf/AY2boTGjb2OSkQkOlT23Y2KnNcITsnLdM6NquzzHxaLY+ZMflttKf93xi1H3+Huu2H8+OAFpYRb2x3IO8DZk85mweYFfHbDZzSyTrRpE6yE+vhjSEgodrdirfvxR65dsoSZu3Zxcb16TGjdmqY1ahx9RxGRMPDgLnifF3dnay/pLngiIsWrzLvg+YDlwD+ACcAyM+t9LCeOpIK/1VUBJSLiPRc0GTjP61gKVDtaD6gCV14JubkwY0aJmyTGJ/LGlW+QWj2Vy/95OdWSd/Lkk/D553DvveWLK6NGDWZ07sy4li2ZsXMn7efN44kNG8jXhyERiU0LzOwdM7vGzPoXLF4HJSIikVHWKXjjgL7OuZ8753oT/BAxPnJhHRtNwRMR8VbRDxJmdoWZPQBEzf1JE+LKmIDq1g1SU2HmzFI3a5zcmDd/8Sbrdq/jV2//il/8Mp9f/xruvx++/758scWZMTIjg2969KBncjJDly+n94IFfLN3b/kOJCIS/WoA24GzCd6o4mLgIk8jEhGRiClrAqqac25pwRPn3DKi+K54SkCJiHju4iLLeUAWwWl4USGxrAmo+Hjo3fuoCSiA0zNO59HzH2Xaimn4A37+/Ofg+OOPVyzGlklJfNC5M8+3bcuSffvo+sUX3L5iBXtycyt2QBGRKBPq+3T4cr3XcYmISGSUtTPFF2b2DPBy6PmvgC8iE9KxK0hA/Rg137WLiFQtzrnBXsdQmjInoADOOit4J7z166Fp01I3/U333zBv4zz+8tFf6JzWmSuuGMBTT8GYMZCcXP44zYzrGjfm4vr1Gb1qFY+uX8/rW7cyrmVLrmrYkGB7LRGR45OZ1QBuADoQrIYCQEkoEZHYVNYKqCHAtwRvkXpr6OchkQrqWKkHlIiIN8zscTN7rKTF6/gKVCtvAgrKVAVlZky4cAKZTTMZ9O9B9L1+Dnv2wMSJFQw0pF61ajzZti1zunWjafXq/Oq77zj7q69YnJ19bAcWEfHWS0AjgpWys4CmBCtmRUQkBpUpAeWc2++ce9g51z+0jHfO7Y90cBWlKXgiIp75AphP8JvsbgRvYLEc6AIkehjXIcrchBygUyeoUwcCgTJtXiOhBu8MfIcmyU0Y9dXF9L50FX/4A8yfX7FYi+qRksLn3brxZJs2fLV3L12++IK7Vq4kS9PyROT41Mo590cg2zk3CbgQONXjmEREJEJKTUCZ2b9Cj9+Y2deHL5UTYvkpASUi4g3n3KTQh4hOgM8597hz7nHgHIJJqKhQril4cXHw85+XOQEF0KBWA6ZePZXc/Fw2nXUhDTJ20r8/7NhR/lgPF2/GLU2asKxnT65r1IiH1q2j3dy5vLJlC7p1uIgcZw6GHneZWUcgFWjoYTwiIhJBR6uAui30eBGHNpQtWKKSekCJiHiuDpBS5PkJobGoUK4peBBsRL5qFWzcWOZd2tZvy+SBk1mbtYq0W/uzbuMB7ruvnIGWon5iIk+3bctnXbvSKDGRQd99xxkLFjBvz57wnUREJLKeMrM6wB+Bdwi2+RjrbUgiIhIppSagnHObQj8Odc6tLboAQyMfXsWoAkpExHMPAAvM7AUzmwR8CfzN45gKlTsB1atX8HH27HLt1rt5b5675Dnm7whw0u038vj/OdauLd+pjyYzNZW5p5zCc23bsionh55ffsl1333Hpv1RO1NeRAQA59wzzrmdzrlZzrmTnHMNnXPH2DVPRESiVVmbkPcpZqxfOAMJJzUhFxHxlnPueYJ9PP4NvA2cFpqa570XXmDV/G/Lt0+XLlCzJnzySblP96tOv+LPvj+zstZL5Pe9jd+PDv80uTgzBjduzLJTT+V3GRm8tnUrbebO5YG1a/kxLy/s5xOR2BIIBPD7/ZV2PjM71cy+MrO9ZvaZmbWvtJOLiIhnrLR+EWY2hGClU0tgRZFVycCnzrlfRTa88jEz55zjwAGoXh3++lcYPdrrqEREooOZ4ZyzCJ/jZOfcEjPrVtx659yXkTz/0ZiZY+ZMXmuSy8A255Zv53POgZ074cvyvwTnHHdOv5OHP38Y5v6Wh899nNtvj9w/xcqcHO5cuZLJ27ZxUo0aPNSyJZfVr49ZRP/5ReQ4VxnXidB5vgDuAT4CLgFudM6dF+nzlkXB5wkRETlUOK4RCUdZ/yowDbgfGFVkPMs5F4ZWqpGRmBj8onrnTq8jERGpckYCNwPjilnngLMrN5ziJcYf7fJXjF69gt9s7NkDKSlH374IM+Ohvg8BcTzMQ4z8MI/0pv/gF1eWtRC5fFomJfHvjh2ZsWMHI1asoP/ixfROTeWhli3pUc7YRUQiIM4590Ho5zfM7B5PoxERkUpR6l/gzrndwG4zexTY4ZzLAjCzFDM71Tk3pzKCrIgGDeCHH7yOQkSkanHO3Rx6PMvrWEpTrrvgFejVC/Lz4fPPoW/fcu8eTEI9iLl4xjGWX/97D6ed+QwZjZLKH0sZnVu3Lgu7d+fpTZv405o19PzyS65q2JC/nXgiLZIid14RkaOobWb9S3runHvbg5hERCTCyvrV6xPA3iLP94bGolb9+kpAiYh4xcyuNLPk0M9/MLO3zayr13EVSIyrQAVUZibEx1eoD1QBM+Pv593PrR3uY3/bV+n22M/ZsGdDhY9XFglxcQxJT2fFqacyulkzJm/bRtu5c7lzxQq2Hzx49AOIiITfLA69s3bR5xd5GJeIiERQWf8CP2QytHMu38wq8Nd75WnQALZt8zoKEZEq64/OuTfMrBdwLvB34EmCjck9V6EEVHJysBn5MSSgIJiEevSK37NhYQfeYhAdHuvOe9f9m8ymmcd03KNJSUjgryedxJD0dMasXs3D69fz9KZNjMzI4PamTUlJiOrLuojEEOfcYK9jKI3f78fn8+Hz+bwORUTEc4FAgEAgEJZjldqEvHAjs7eBAD9VPQ0FznLOXRaWKMKkaNPAa64JfkZYvdrjoEREokRlNZcNnWuBc66rmd0PfOOce7VgrDLOX0pcjpkz+bRNKqc1qUAoI0bAU0/B7t1QrdoxxbJ/P/h+sYjPW1xKQr31PHPJU1zb5dpjOmZ5LM7OZszq1by9bRt1ExL4XbNmDEtPp2Z8BaYnikhMqMzrRLRSE3IRkeKF4xpR1il4vwFOBzYA6wl+g33zsZw40lQBJSLiqQ1mNhH4JTDVzKpT9mtOxFWPq2DyqFcvyMmBBQuOPYbqMOPVjvT8ei75q3tx3ZTrGPn+SHLzc4/52GXRoVYt3urYkS9OOYVTU1L43apVnPT55zy+fj378/MrJQYRERERqTrK9GHAObfVOTfQOdfQOZfmnLvaObc10sEdi/r1Ye9e+PFHryMREamSfgG8D5znnNsF1AXu8jakn1ToLngAZ5wRfDzGaXgFatWCd16vR4Pp71F76XDGfz6efq/0Y+2utWE5flmckpzM1E6d+LhLF06uWZNbV6ygzZw5PLtpEweViBIRERGRMClTAsrMGpjZ783sKTN7rmA5lhObWaqZvWFm35nZYjM71czqmNl0M1tqZu+bWWqR7R8zs+VmttDMuhzt+A0aBB/ViFxEpPI55/YBW4FeoaFcYLl3ER2qekV6QAE0bgwtW4YtAQWQlgavv1KNPf98jJOXPc3s72fT7h/t+OtHf+XH3Mr7FqVX7drM7NKFDzp1olFiIjcuXUrbuXN5csMGfszLq7Q4RKTqMLP5ZvZbM6vjdSwiIhJ5ZZ0OMQVIBWYA/y2yHItHganOuXZAZ2AJMAqY4ZxrC/wPuAf4f/buO77q6v7j+OtkQ0hCEkaYIYDsjQNcRKsIjqpVK61aV7VqrW1dtf21VbSt1lmtrVvrbF1tBfcEHEBVhggBgpCwQgiBTEhCkvP749xLkksuJuGuJO/n4/F93JubO85Ni5/7fd9zPgdjzExgiLX2EOAnuEa2B+QNoLQMT0Qk9IwxNwO/wvPfcSAWeC58I2rE1hMXfRD9m44+2gVQAewRkp0NTz8NuS/+mBHvr2bG4FP53Ue/Y/TfRzNnzRxC1Y/EGMMJaWksmjSJuWPG0Dsujitzc8lavJi7Nm6kvDY0ywNFpNM4F+gLfG6M+Zcx5iRjTKfuQSUi0pG1NIDqaq39lbX2JWvtq96jrS9qjEkGjrHWPgVgra211pYCpwNPe+72tOdnPJfPeO67GEgxxvQ+0Gv06OEuNQNKRCQszgS+C1QCWGu3AklhHZGXrSemrTOgAI45xhWXnJzAjQk4/3x46SVYvmAgtf98iXfOe5+EmARO/9fpnPLCKeQWh24CmTGGU3v04LOJE/lo/HjGJiZy4/r1DFy0iN9v2MCOmpqQjUVEOi5r7Tpr7f8Bw4AXgCeBfGPMbGNMWnhHJyIigdbSAOp1Y8zJAXzdLGCHMeYpY8wSz9K+rkBva20hgLV2G+ANmfoBmxo9fovnNr80A0pEJKxqPNsIWQBjTGKYx9PIQQZQ06e7y7feCsxwGvne9+D++2HuXPj33d/hi0uXce/0e/lk4yeMeWgMv37/11TUVAT8df0xxpCdmsq748fzv0mTOK57d27Lz2fgokVcuXYtOZWVIRuLiHRMxphxwD3AXUEwuYoAACAASURBVMCrwDlAGW41hIiIdCAtDaB+jguh9hhjyowx5caYsoN43RhgEvA3a+0k3DfkN+E5UWmkzWsONANKRCSsXvLsgtfdGHMZbgn342Eek2PrDi6AGjAAxo6FN98M3Jgaufpq+NWv4JFH4NSTY7lw+C9Z+7O1/GDMD7jj0zsY8eAIXvz6xZAty/M6LDmZf48Zw9eHHcYPevXiqYICRn3+OSctX84bxcXUa9tyEWklY8yXwH3A58A4a+011trF1tp7gPXhHZ2IiARaiz6BW2sDvWxiM7DJWvuF5+dXcQFUoTGmt7W20BiTgWtgC27G04BGj+/vuW0/t9xyi2fMEBWVTVFRdoCHLiLSPsybN4958+aF5bWttXcbY07EfYs9HPi9tfa9sAzGl60n9mB6QAHMnAn33QdlZZCcHJhxNXLHHTBiBPzkJ27C1fvvZ/CPM/7B5ZMv52dv/YxZr87i4S8f5oEZDzC299iAv/6BjE5M5IkRI7hj8GAeLSjg71u2cOqKFRzSpQs/69ePizIySIo5iIBPRDqTc6y1TYImY0yWtXaDtfZ74RqUiIgEh2nJN6jGmGObu91au6DNL2zMfOAya+1aT7Parp5f7bTW/tkYcxPQ3Vp7k2f530+ttacYY6YAf7HWTmnmOW3j99O7N5x5Jjz8rS3LRUQ6PmMM1tqwNHc1xkQBP7DWPh+O1280Dsu7c6jM/g5dY7t++wP8mT/fdQ7/979doQmSN9+EM86AiRNhzhxX1+rq63h8yeP85sPfUFpVyk8P+ymzj5tN94TuQRvHgeytr+eVoiIe2LKFRWVlJEdHc0mfPlzdrx9DunQJy5hEpG1CXSeMMUs8qyEa3/altXZyqMbQzJhsqGeYioi0B4GoES0NoOY2+jEBOBz40lp7fJtf2JjxuOUYsbgpthcD0cBLuNlO+cD3rbUlnvs/CMzALde72Fq7pJnnbFIwRo923yC/2uZ26SIiHUcoTiw8m0z8FNenbw7wnufn64Hl1trTD/DwoHMB1H+pPn4mcdFxbX+ivXvdWu9zzoHHg7uycM4cmDUL0tPhv/+FyZ7TsuLdxfzuo9/xyJePkN4lnT8c/wcunXgp0VHRQR3PgfyvrIz7N2/mpaIi6qzllPR0rujblxlpaURrYyuRiBeqAMoYMwIYDdwJ3NDoV8nADdba0cEegz8KoEREmheyAKqZFx6Am4V01sG8eKD5FozsbKivhwUL3JK8Z56B006DNO2pISKdUIgCqNeAXcBC4DtAL8AAP7fWLgvma7eEMcZy/vf54JKfcPxxbf4OxTnvPDdFacsW6HoQs6laYOlSNxOquBj+8x848cRGvytYyjVvX8MnGz9hbK+x3DP9Hk4ccqL/JwuBrdXVPLx1K49u3Urh3r30j4/n0owMLu3ThwEJCWEdm4jsz7tke/bs2aEKoE4HzsDtljqn0a/KgX9Zaz8L9hj8UQAlItK8cAZQBlhprR11MC8eaL4F4+yzYdUqdyxb5pYw3HUXXH99GAcpIhImIQqgVlhrx3quRwMFwEBrbVUwX7eljDGWt1/GnnT2wT/Zxx/Dsce6GVCXXnrwz/ctCgpgxgzIyXHtp666CryTiqy1vJrzKje+dyMbSjYwc+hM7jrxLkb3CtskAsAtz5tbXMyjW7fy7q5dGGBmWhqX9+3LyWlpxES1dC8UEQmFMCzBm2qtXRiq12sJBVAiIs0L5RK8v9KwI10UMAHIs9aefzAvHmi+BePKK+GVV9xOePfeC9ddBxdfDE8+GcZBioiESYgCqCb9PJrr7xFOxhjLWy9iZ3z/4J/MWhg/HqKjYcmShjQoiEpK4Ic/hLfegrPOgqefhsTEht9X1Vbx18V/5Y8f/5HymnIunXgptx53KxndMoI+tm+zYc8enigo4Mlt2yioqaFvXByX9unDpX36kKlZUSIRIYRL8BqfW+zHWntNsMfgjwIoEZHmhTKAurDRj7W48OnTg3nhYPAtGL/7HfzpT1BTA6efDm+8AUccAYsWhXGQIiJhEqIAqg7Xqw/c0rsuwG7PdWutDfyWca1gjLHmrX9SP2NWYJ7wkUfgiivg00/hyCMD85zfor4e7rkHbroJJk2CuXMhwydf2rF7B7fNv42/f/F34qPjufGoG7lu6nUkxiU2/6QhtLe+njeKi3msoIC3du4EYEZaGpf36cMp6enEalaUSNiEMIC68EC/t9Y+Hewx+KMASkSkeUEPoIwxA621Gw/mBULJt2A88AD8/OeuPcfw4VBRAUlJUFoaki+qRUQiSjh3wYsULoB6gfoZPwjME1ZUQL9+cOqp8HxoN/ibO9c1J09Ohueeg+98Z//75Bbn8usPfs2rOa/Sp1sfbj3uVi4YdwHxMfEhHas/+VVVPFlQwBMFBWypqSEtJoazevbk3F69yO7eXY3LRUJMdUIBlIiIP4GoEd/2NeN/G71Yu9tL7ogj3OWPfuTOEY47DsrLXSAlIiKdk7H1gXuybt3goovg5ZehsDBwz9sCp53mZvSmprqm5Lff7lYFNnZI+iG88v1X+OTiT8jsnsllcy9jwH0D+O2Hv2VT6aaQjrc5mQkJzM7KIm/KFOaOGcPMtDReKCzkhOXL6ffZZ1y9di2flJRQr5NBkQ7JGNPTGHO3MeZNY8yH3iPc4xIRkeD4tgCqcbo1OJgDCYYjjoDLLoMPPnA/X3WVu1y1KnxjEhGR8DL+2460zVVXwd698NhjgX3eFhg7Fj7/3M2E+s1vXH+o0tL973fUwKP47JLPePf8d5k6YCp/+vhPZN2fxWVzLmNLWfi/lYmJiuLUHj14btQoth91FC+PGsXRKSk8sW0bxyxbxsCFC7ly7VreLC6mqq4u3MMVkcB5HsgBsoDZQB7weTgHJCIiwfNtS/D2NY+NtEayzWluymxpKYweDT17wrvvQq9e8Je/uKV5IiKdiZZWuDoR8+Yz7J15QWCfePp09+3G+vUQFxfY524Ba+GOO1zvw3794JlnYNo0//fPK8njvoX38dAXDxFlorhg3AVcO/VaRvYcGbpBt0B5bS1ziot5taiId3fupLK+nq5RUUxPS+O09HROSU+ndxj+3iIdVRh2wfvSWjvZGPOVtXac57bPrbWHhWoMzYxJS/BERJoRih5Q3mayjRvJQoQ0k/Xlr2Bs2OA+nA8e7IKo733P9Y0VEelMFEC5OhH75j+omXnA/ret9847MGOG23L1l78M7HO3wuLFcP758M03cP31cNttEH+Adk8bdm3gzk/v5B/L/0FVbRUnH3Iy1029juMGHYeJsP5LVXV1zCspYW5xMXOLi9lUXY0BJiclcWJqKiempnJkSgrxamIu0mZhCKAWWWunGGPeAR4AtgKvWGuHhGoMzYxJAZSISDNCtgtee9GSgnHssS6M+vjjEA1KRCRCKIBydSLujaeoPvmiwD6xtTBzpmvKtG4d9OgR2OdvhcpKuO4690XLuHGuQfnYsQd+zI7dO3jo84d48PMH2V65nQkZE7hu6nWcO/pcYqNjQzPwVrDWsryigrnFxby7axeLysqotZauUVFM696d6ampnJiWxqiuXSMuSBOJZGEIoE4FPgYGAH8FkoHZ1to5oRpDM2NSACUi0gwFUD5aUjCuuAJeegmKi7UTnoh0LgqgXJ1IeONJ9px8ceCffNUql/hccQU8+GDgn7+V3ngDLrkESkpcg/Jf/AK+bXJQVW0Vz331HPcuvJecHTn0S+rHNUdcwyUTL6FH1/CFat+mrLaWeSUlvLdrF+/u3MnaPXsA6BsX52ZHpaVxQmqqluuJfAvVCQVQIiL+KIDy0ZKCcd99cO21sGMHpKeHaGAiIhFAJxauTnR54wl2n3xJcF7giivgySchNxcyM4PzGq1QVOQ243jtNbcT7D/+AQMHfvvj6m09b+W+xT0L7+GjvI+IjYrl9BGnc+nESzlx8IlER0UHfewHY2NV1b4w6v1du9hZWwvA+MRETkxLY3pqKkenpNAlOrLfh0iohWEGVE/gMmAQEOO93VobpP9It2hMCqBERJqhAMpHSwrGq6/C2WfDsmUwfnyIBiYiEgEUQLk6kfjG41ScfGlwXmDTJhg6FC68EB59NDiv0UrWwlNPuc03oqPhb39zu+W1dBbw19u/5oklT/DsV89SvKeYAckDuHjCxfx40o8ZkDIguIMPgDprWVpeznu7dvHerl18UlrKXmtJiIrimJQUTkxNZXpaGmMTE4nS1Gjp5MIQQH2GW4L3JbBvi0tr7auhGkMzY1IAJSLSDAVQPlpSMBYvhilTYO5cOPXUEA1MRCQCKIBydaLbG49THqwACuBnP4OHH4acHBdGRYj16+GCC+Czz+Css9wqwYyMlj++uraaOWvm8MTSJ3j3m3cxxnDqsFO5YvIVTB8yPeJnRXlV1tWxoKSEd3ft4r2dO1m52+2v0is2lhM8YdSJqan0PVD3dpEOKgwB1DJr7YRQvV5LKIASEWmeAigfLSkYW7e6LaofesitlBAR6SwUQLk6kfzGY5Se/OPgvcjWrTByJIwZA/PnQ0zMtz8mROrq4M47YfZs6NIF7roLLr209T0R80ryePTLR3li6RNsr9xOz649OWPEGZw/7nyOHng0Uab97ES3pbqa9z1h1Hu7drF9714ARnXtui+MOiolhZQI+t9RJFjCEED9AfjMWvtmqF7z2yiAEhFpngIoHy0pGHV1kJAAN94If/xjiAYmIhIBFEC5OtH9jcfYFcwACuCf/3Tr3H7/e5f2RJg1a+Dyy2HBAsjOdqsFDzmk9c9TU1fD3DVzeSXnFeaumUvl3kqyumdxwbgLOG/ceQxLHxbwsQdTvbWsqKzkvZ07eXfXLj4uLaWqvp4oYFy3bhyTksIxKSkcnZJCH82Qkg4oDAFUOZAI1HgOA1hrbXKoxtDMmBRAiYg0QwGUj5YWjMxM94H76aeDPyYRkUihAMrVidQ3HmXnyZcF/8UuugiefRa++AImTgz+67VSfT088QTccANUVcH//R9cf72bGdUWFTUV/CfnPzzz1TN8sP4DLJZD+x7KD8f8kHPHnEvfpL6BfQMhsKeujs/Kyvi4pIRPSktZWFbG7vp6AIYkJHB0SgpTkpOZmpLCmMREotVDSto51QkFUCIi/iiA8tHSgnHUURAfDx9+GIJBiYhECJ1YuDqR/uaj7JgZggBq1y4YMQKyslzjpajIXJZWUOAalL/8svuC5u67XY+og8lStpRt4cWVL/LCihf4suBLDIbsQdn8cOwPOWvkWaR2SQ3cGwihvfX1LK2o4OPSUj4uKeGzsjKKPEv2ukVHc3hSkgukkpOZkpxMj7i4MI9YpHXCMAPKAOcBWdba24wxA4A+1tr/hWoMzYxJAZSISDMUQPloacGYNQuWLIG1a0MwKBGRCKEAytWJXm8+QuHMy0Pzgs895zp///WvcPXVoXnNNvroIxdErVjhZgnffz+MG3fwz7tmxxr++fU/eWHFC+TuzCU+Op5zRp/DD8f8kOxB2XSJbeOUqwhgrWVDVRULy8pYWFrKorIyllVU7NvKa2iXLkz1BFJTk5MZk5hITIQGkSIQlgDqIaAeON5aO9IYkwq8a609LFRjaGZMCqBERJqhAMpHSwvG9de7bah37z64b3hFRNoTBVCuTmS8+QgFoQqgrIWTT4YPPoD33oNp00Lzum1UWwuPPw6//a2bwPWTn8Ctt0KPHgf/3NZaviz4kqeWPsVzK56jrLqMLjFdOD7reGYMncG0zGmM7jW6XTUwb87uujq+KC9nYVkZizzBVKFnllRiVBSHNQqkpiQn01OzpCSChCGAWmKtnWSMWWqtnei5bbm1dnyoxtDMmBRAiYg0QwGUj5YWjPvvh1/8AnbsgPT0EAxMRCQCKIBydaLvW4+wZUaIAiiAkhI48kjYts31gxo8OHSv3UY7d8Itt8Df/w5JSS6EuuIKiI0NzPNX1VYxP28+b+S+wRu5b7B+13oA0rqkcczAY5iWOY1pg6Yxvvd4oqOiA/OiYWKtJa+qyoVRnmNZRQW1ns8rQxISmOrtJZWczDjNkpIwCkMAtRg4EvjcE0T1xM2AClvjPAVQIiLNUwDlo6UF49VX4eyzYelSmDAhBAMTEYkACqBcnRjw1iNsDGUABbB+PUyeDEOHwqefQjuZ9bJypfvC5v33XTur2bNd/Qx0PpJXksf8vPnMz3eHN5BKiU/h6IFHc2zmsUzLnMakPpOIjQ5QChZGe+rq+LLxLKmyMgpqagDoGhXFoUlJbpZUSgpTk5Pp1U7+/yLtXxgCqPOAc4FJwNPA2cBvrbUvh2oMzYxJAZSISDMUQPloacH43//giCNgzhw47bQQDExEJAIogHJ1IvPtR8k7KQRNyH39+9+uu/cvfgH33Rf6128ja129/M1vYNUq1xfq1lvhu98N3jL2zWWbWZC/YF8otaZ4DQBdYrpwaN9DmdJ/yr6jPe6u58tay8bq6n19pBaWlbG0ooK9ns80WQkJTZbtje/WjVjNkpIgCEedMMaMAL4DGOADa21OKF+/mfEogBIRaUa7DqCMMXlAKa7x4F5r7eGexoMvAplAHvB9a22p5/4PADOBSuAia+2yZp6zRQWjoAD69nVLC668MkBvSEQkwnX0AMoYczpwCpAEPGmtfa+Z+9jBbz/KN+EIoACuucY1JJ89G37/+/CMoY3q6uDFF+Hmm2HdOjj0ULjtNjjppOD3U9xWsY0F+QtYuGkhi7YsYknBEmrq3Iyhfkn9OLzf4Xwn6ztMHzKdoWlDMR2gweOeujqWVFTs6yO1sKyMrZ5ZUl0azZLyLt3LiI8P84ilIwhVnTDGJABXAEOBFcAT1traYL9uSyiAEhFpXnsPoNYDk621uxrd9meg2Fp7pzHmV0CqtfYmY8xM4Gpr7SnGmCOA+621U5p5zhYVjLo6SEiAG26AP/0pcO9JRCSSdfQAyssY0x24y1q7X8pkjLFD33mU3OlhCqDq6uDSS+Hpp10B+vWvwzOOg1BbC88+6zK0/Hw46igXSp1wQug29qiurWbZtmUs3LyQz7d+zmebPiOvJA+ArO5ZHJ91PNMyp3Fs5rFkds8MzaCCzFrL5urqfX2kFpWVsaS8nBrP555BnllS3kBqfLduxGmWlLRSCAOoF4G9wMe4L5jzrLW/CPbrtoQCKBGR5rX3AGoDcKi1trjRbauBadbaQmNMBvCRZ0vWhz3XX/TcLwfIttYW+jxniwvGoEFwzDHuQ7SISGfQXgIoY8wTwKlAobV2XKPbZwB/AaJw35b/2c/j7wae8zdTdvg7j7F6+o+DM/iWqKuDH/0IXngBnnoKLroofGM5CDU18OST8Ic/wJYtcNhhbpned78b+B5R38Zayze7vuGdde/w7vp3WZC/gJKqEgAGpgzkmIHHcGzmsRw14CiGpQ/rEH2kAKrq6ljqnSXlOTZXVwOQEBXF5G7dmJKczKFJSRyWnMzghIQOMTtMgieEAdQKa+1Yz/UY4H/W2knBft2WUAAlItK89h5ArQd2AhZ4xFr7uDFml7U2tdF9dlpr04wxc4HbrbWfeW5/H7jRWrvE5zlbXDCmToVu3dyu2CIinUE7CqCOBiqAZ7wBlDEmCliL6xOyFfgcmGWtXW2MuQCYCNwNXIPbQelDP89tR737GCtPDGMABS69OflkmD/fzYb64Q/DO56DUF0NzzwDd9zheq2PHu0mdp17LsTEhGdM9baer7d/zfy8+Xy88WMW5C+gsNJ9ZxUbFcuw9GGM7jWaKf2mdJjd9rw2++y4t6S8nGrPZ6PUmBgXRiUl7bvsFx+vUEr2CWEAtaRx4OT7czgpgBIRaV57D6D6WGsLvNut4k4aXrPWpjW6T7G1Nj0YAdR3vwsbN8Ky/b4fFxHpmNpLAAVgjMkE5jYKoKYAN1trZ3p+vgmwjWdBGWN+BvwIF04ts9Y+2szz2rHvPc5XJ1wairdxYGVlrhjNnw/33gu//GW4R3RQamvhpZfcysKVK2HgQNdv/cc/hqSk8I7NWkvuzlwWbV5ETlEOq3as4qvCr/Yt20uOT+bwfoczMWMik/pMYmLGRA5JP4Qo0/6XsO2tr+frykq+KC/n8/JyvigvZ0VlJbWez0sZcXEcmpTEpG7dGNetG+MSExnSpQtRCqU6pRAGUHW4vq7gmo93AXZ7rltrbXKwx3CAsSmAEhFpRiBqRJi+mwRrbYHnssgY81/gcKDQGNO70RK87Z67bwEGNHp4f89t+7nlllv2Xc/OziY7O7vZ1+/ZE7788iDfhIhIBJs3bx7z5s0L9zACpR+wqdHPm3F1Yx9r7V+Bv37bE21/Zg63fOKe6kB1IuiSk+Htt+H88+Haa90OGXfcEfr1awESE+Mmcs2aBW+8AXff7d7W7Nlw+eWu/3r//uEZmzGGYenDGJY+rMntjXfb+3zr5/xl0V/YW78XgMTYRMb2HsuYnmMY23sso3qOYlj6MPon929XwVRsVBQTk5KYmJSEt/PZnro6lldU7AulPi8v583iYuo9v+8aFcWYxETGewKpcd26MTYxkdTYjrF0URqEq05YazvGlEMREWmVsMyAMsZ0BaKstRXGmETcDKjZuKUVO621f/Z8u93d04T8ZOCnnibkU4C/HEwTcoCbbnJfOFdXh65pqohIOLXzGVBnASdZay/3/Hw+cLi19ppWPq+d/P6TfPGdiwM+5jarq3PpzN//DhdcAE88AR3kRP/zz+Gee+Dll12udvbZ7q1OmRKZtbemroZVRatYWrCUpduWsmL7ClYUrqB4z752lSTEJDA0bSiZKZmM6DGCqf2nMj5jPFnds9r1Mr49dXWs2r2bryoqWF5RwVeVlSyvqGBnbcPGZBlxcYzq2pWRXbsyKjGRUZ7LnrGxWsbXQbSnOhEsmgElItK8drsEzxiTBfwH1/8pBnjeWnuHMSYNeAk32ykf+L61tsTzmAeBGbjpuhf7Lr/z3KfFBeOee+D666GkBFJSAvGuREQiW3s6sfCzBO8Wa+0Mz8/7LcFr4fPaIz54ikXHXxToIR8ca10379//HmbMgBdfdDOkOoi8PHjgAde0vLQUJk+Gq692faK6dAn36A7MWkthZSE5RTmsLV5L7s5ccnfmkl+Sz+odq6muc02/46PjGZY+jHG9xzG5z2SGpg1lYMpAMrtn0j2he5jfRdtYaymoqWF5RQUrKytZtXs3Obt3s6qykrK6un33S4+JYWSjQMp72TcuTsFUO9Oe6kSwKIASEWleuw2ggqU1BeOZZ+DCCyE3F4YODfLAREQiQHs6sTDGDMIFUN5dkqKBNbiZsgXA/4AfWGtzWvm89sgP/8Gnx10Y2AEHymOPwZVXwvDh8NprHa5AVVS43Wf/+lfIyYHUVLjkErjiivb5Vqtrq1m2bRkri1aSU5RDzo4clhcuZ3PZ5ib3653Ym4l9JjIxw3P0mcjg1MHtailfY9ZattbUsMobSnkuV1ZWNpkxlRwdvd9sqZFdu5KZkKAeUxGqPdWJYFEAJSLSPAVQPlpTMN56y21A9Nlnbkc8EZGOrr2cWBhjXgCygXSgENd8/CljzEzgL0AU8IS19o42PLcdeOEZPH3Rz8PX++nbfPABfP/7sHcv3H8/XHRRZK5XOwjWut7rf/87/Oc/roH59OkujDrtNOjaNdwjPDhFlUVsKNlAfkk+eSV5rCxaydJtS1lVtIraehfQJMUlMSFjwr5AamLGREb2HElcdFyYR9921lqK9u7dN0tqlecyZ/duCmpq9t2va1QUIzxL+YZ26cKQLl32XWo5X3h4e0HNnj27XdSJYFIAJSLSPAVQPlpTML74Ag47zH3B/N3vBnlgIiIRoL0EUMFkjLHHzXuWD6edH+6hHFh+vgue5s2D00+HRx+FXr3CPaqgKCiAxx93b3HzZkhMhDPOcA3NTzyxw7TDAqCqtoqV210Y5e0ztbxwObv37gYgNiqWkT1HMq73OA7rexjHZx3PyB4j23VvKa9dPsFUjmfm1Mbqahp/cusWHe3CqISEJsHUkC5d6B8fT7TCqaBSnVAAJSLijwIoH60pGPn5MGiQ+9B7aQTsxi0iEmw6sXB14sT5z/HuseeFeyjfrr4e/vIX+M1vXD+oxx5zYVQHVVcHH38ML7wAr7wCu3ZBejqcc44Lo446qt1uEHhAdfV15O7MZWnBUr4q/Iqvtn/F8m3L2VLuNvuNj45nRI8RjOw5klE9RrnLnqMYmja0Xc+W8qquryevqopv9uxh3Z49fOM51u3Zw4aqKmoafa6LM4YsTzDVJJxKSCCrSxfiO+L/QUJMdUIBlIiIPwqgfLSmYOze7b5lvf12tyOeiEhHpxMLVydmLnieN4/5YbiH0nJff+12x1u2DH70I7eLRo8e4R5VUNXUwDvvuDDqtddgzx4YMMCFUWee6ZbOR7f/SUEHlF+Sz/z8+awoXMGqHavIKcphQ8mGfb+PiYphaNpQRvUcxcgeLpQa1XMUw9OH0yU2wju7t1CdtWyprm4aTlVV7bte3qgRugEGxMfvF0x5w6rkmJjwvZF2RHVCAZSIiD8KoHy0tmAkJsJPfgL33hvEQYmIRAidWLg6cdrH/2TO0bPCPZTWqamB226DO+5wW7fec48LozrBcqSKCpgzx4VR777rWmP17u16RZ1yCnznO5CUFO5RhkZlTSVriteQU5TDqqJV+4KpdTvXUWddGGMwjOk1hqMGHMW43uMY3Ws0o3uOJr1rephHH1jWWnbs3dskmGocVG3fu7fJ/XvGxjaEUz7L+9R3qoHqhAIoERF/FED5aG3BGDQIjjnG7cgjItLR6cTC1YkRF5/FQz+6OnKbkB/IypVw+eVuB43sbHj4YbdjXidRWgpvvukal7/9NpSXux5Rxx4LM2e6QGrEiHCPMvSqa6vJ3ZlLTlEOX2//mkVbFrFo8yLKqsv23adPtz6M6TWGMb3GMCx9GP2T+9M/uT+Dug+ie0L3MI4+OMpra5sNErhShgAAIABJREFUpr7Zs+db+041Dqc6S98pNSFvYIyxN998M9nZ2e2zToiIBFgga0SnDqAOO8z1l3j77SAOSkQkQiiAcnXinM9e4qWp54R7KG1XXw9PPAE33ujWk994o1tLnpgY7pGFVE0NfPqp29X2zTddNgcujzvjDHccfnjH7BvVEtZaNpdtZmXRSr7e/vW+Y2XRSqpqq5rcN6NbhlvC12MUmd0zm4RTfZP6EmU61h+xcd8p3+V96/fs6dR9p1QnNANKRMQfzYDy0dqCcfLJUFgIX34ZxEGJiEQInVi4OvGDha/wwpSzwj2Ug1dYCNddB88/D/37w513wqxZnWJZXnPy8+H11+G//3WbB9bWQkaG69t+xhlw3HEQHx/uUYZfXX0d2yq2sblsM5vLNrN+13pydrglfTk7cprMmgLXBD0rNYvBqYMZkjqEwamDGZw6mKzuWWSlZtEtrluY3klw+Os75f3ZX98p3+V97bXvlOqEAigREX8UQPlobcG48EL46CPYuDGIgxIRiRA6sXB14oJF/+aZI84M91AC59NP4ZprYMkSOPpoeOABmDgx3KMKq5ISNyvqv/91M6QqKlyfqBkzYPp0OOEEtwxf9ldWXcbmss1sKt3EhpINrN+1nm92feMud35DeU15k/und0lnUPdBZHbPJDPFHYO6D2Jo2lCGpA0hISYhTO8k8Lx9p/aFU23oO+X9OVL7TqlOKIASEfFHAZSP1haMG26ABx90Kxgi8DOAiEhA6cTC1YlL/vdfnjjs9HAPJbDq6uCpp+A3v4EdO+Cii2D2bLd1XCdXVQUffujCqNdfh4ICd/uQIS6IOuEENzsqvWP16A4Kay3Fe4pZv2s9G3ZtIK8kjw0lG8gvzSevJI/8knz21O7Zd3+DYUDKALK6ZzEgZQADkwcyIGUAA5IH0KNrD1K7pJLVPYvY6NgwvqvA8e071Tic2lRdTX2j+3aLjmZIQkLDkr5Gy/v6xcURE6alfaoTCqBERPxRAOWjtQXjzjvhV79yTUy7dawZ5CIi+9GJhasTky+bxd0//EnHbC5bUgJ/+AP89a/um5Wf/Qx+/WtISwv3yCKCtbB6Nbz/vjs++sh9BjAGJk1qCKSOOgq6dAn3aNsfay07du9gQ8kG1u1cR25xLrk7c8kryWNT2Sa2lG3Zt1ufV1x0HCN6jGBMrzGM7TWW0T1HMzBlIP2T+5PWJS0iZwm1RWv6TkUD/eLjGZiQQGZ8PJkJCQ2H5/au0dEBHZ+akDdQACUi0jwFUD5aWzCeegouuQTWr4esrCAOTEQkAiiAcnXip1++wYOTTg73UIIrPx9uvhmeeQaSk12T8muuga5dwz2yiLJ3L3zxBbz3ngukFi50vaPi491qxuOOg2nT3KYl6h918Lz9pzaVbWLXnl0U7S5iVdEqVmxfwYrCFWwq29Tk/gkxCfRP7s/g1MFM7T+VyX0mMzRtKFmpWR1qaV/jvlPeXfryq6rcUV3Npqoq6nwe0zM2tkkglekTVqXGxLQpvFOdUAAlIuKPAigfrS0Yr78Op50Gixe7nXJERDoynVi4OvGLpW9x34QZ4R5KaKxY4Zblvf469O0Lt9wCF18M7bA5cihUVMCCBQ0zpFascLcnJMDUqS6MmjYNpkxxt0lglVaVsnrH6n0N0jeXbWZT2SZW71jNV4VfYXGf8QyGgSkDmZAxgSGpQ+iT1IeMbhn06dZn3/XUhNQOM3uqzlq2ekOpxuFUo5/31Nc3eUy36OhmZ08N8uze18tPDyrVCQVQIiL+KIDy0dqCsXix+xA5dy6cemoQByYiEgF0YuHqxA3L3uHO8dPDPZTQ+vhjt+Z84UIYPhz+9Cc480w1QPwWO3a4P938+e5Yvtwt44uNdX3ejzii4RgyRH/OYPKGU+t2ruObXd+QsyOH5duWk1eS16TvlFdcdFyTUGpw98EM7zGc4enDGd5jOL0Te3eYgMrbHL1xILXRJ6zaWVvb5DFdo6JcGOUJpI5KTmZW796qEyiAEhHxRwGUj9YWjKIi6NUL7roLrr8+iAMTEYkAOrFwdeLXX73Pn8Z+J9xDCT1rYc4c1xMqJ8elJrfeCieeqOSkhUpK4JNPXCi1eLFbvldZ6X6Xnu7+pFOmwJFHupnVSUnhHW9nYK2lrLqMbRXbKKgocJflBU1+3lq+lW92fUNVbdW+xyXHJzMsfRgjeoxgRPoId9ljBIekH0JcdFwY31FwlNfWkl9VRV5VFRsaH3v2sKGqilPS03lh1CjVCRRAiYj4owDKR1sKRmamm1b/r38FaVAiIhFCJxauTvz+64+YPTo73EMJn9pa1xvq5pth82aXlPzud3DKKQqiWqm2FlaudGHU4sWwaJHL9qyFqCgYN859xjjySHc5eLD+xOFSb+vZVLqJNcVrWLNjjbssXrNvyZ9XtIkmKzWLYenDGJg8kIxuGWR0y6B3t970SuxF70R32S2uW4eaQVVjLfFRUaoTKIASEfFHAZSPthSMs85yU+rXrQvSoEREIoROLFydOO6qi/j9ORd2zF3wWqO6Gp5+Gm6/HfLy3Jqy3/4WzjjDpSfSJiUlLoz67DN3LFrkekuB24zw0ENh8mQ3W2rqVDcTW8KroqaCNTtcGLV6x2pWF68mtziXLeVb2LF7R7OPSYhJYEjqEI7NPJYJGRMYmjbUBVWJvUntkkqUaV//hrQLXgMFUCIizVMA5aMtBeP2211/1p07ITU1SAMTEYkACqBcnfhzzqfcOOLIcA8lcuzdC88/D3/8o/s2ZswYVxjPOUfNygOgrs7Nklq40C3Z+/JL19zc25Jn8GAXRE2d6pbvjRvnekxJZNhbt5ftldsprCxke+X2fUdhRSErtq/g002fUlFT0eQxMVExDE8fzrje4xjXexyDUweT0S2DET1G0CsxshNH1QkFUCIi/iiA8tGWgvH++679xXvvwQknBGlgIiIRQCcWrk7ct2YRvxh2RLiHEnlqa+HFF10QlZMDgwbBdde5XfMSE8M9ug6lqgqWLGk6S6qgwP2uSxc3S8obSE2dChkZ4R2v+Fdv69lYupH1u9ZTWOFCqq3lW1m1YxUrCleQX5rf5P69EnsxttdYsrpn7duxr29SXzJTMhmYMpC0LmlhXdqnOqEASkTEHwVQPtpSMHbtclPib78dbropSAMTEYkAOrFwdeLB3M/56dBDwz2UyFVf75qV33mnm7aTng4//SlcfTX07Bnu0XVI1sLGjS6IWrjQXS5Z4iangcsCvbOkpk6F8eM1S6q9KK0qZVPZJraWb2Xl9pWs2L6Cr7d/zcbSjWyv3I6l6efWrrFd6dPNBVN9kvqQkZixrw9V36S+9E/uT//k/nRP6B6UoEp1QgGUiIg/CqB8tLVgDB0KEybAK68EYVAiIhFCJxauTjzyzRIuHzwx3ENpHz791AVRc+ZAfDycey5cdZVrXN5BGjBHKu8sqUWL3CyphQth61b3u8azpLxH797hHa+0Xm19LTt272Bz2WY2lm4kvySfjaUbKawsZFvFtn3Hrqpd+z02MTaR/sn9GdFjBJP7TObQvocyutdoeiX2IiEmoc1jUp1QACUi4o8CKB9tLRizZrkPeHl5gR+TiEik0ImFqxNPbVjORYPGhXso7UtODjz4oNs9r6LCddG+6ir4wQ9cGiJBZy1s2tQwS2rhwqazpLKymgZS6iXVcVTVVlFYUcjW8q1sKtvE5rLN+0Krr7d/zdritU1mUiXFJdGjaw9SElLo0bUHg1IGMah7w9EvuR89uvYgMTZxv1lUqhMKoERE/Gn3AZQxJgr4Athsrf2uMWYQ8C8gDfgSuMBaW2uMiQOeASYDO4BzrbUbm3m+NhWMu++GG26A7du1ukBEOi6dWLg68Vz+15w3cHS4h9I+lZfDs8/C3/4Gq1a53TsuuQSuuMJNJ5aQ8s6S8gZSvrOkDjusaSilHfc6prLqMpYWLGVN8RqKKoso2l3Ejt07KKsuo7CykPySfAorC/d7XHx0PD0Te9I7sTczh87ktuNvU51AAZSIiD8dIYD6JS5USvYEUC8Cr1hrXzbGPAQss9Y+Yoy5Ehhrrb3KGHMucKa1dlYzz9emgjFvHhx3HLz1FsyYcXDvSUQkUunEwtWJlzev5ux+w8M9lPbNWliwwAVR//mPa2B+0kmuYfnpp0NC25cASdt5Z0k1DqSWLm06S2rCBHeMH++OzEytpuwMdu/dzcbSjWzYtYFtFdv2hVTeXf0O7Xsotx53q+oECqBERPxp1wGUMaY/8BTwR+BaTwBVBPS21tYbY6YAN1trZxpj3vZcX2yMiQa2WWv3m6vU1oJRVgYpKXDbbfDb3x7c+xIRiVQ6sXB14txrf8YVp32P7OzscA+nY9i6FR57DB5/HDZvdgX13HPhwgvdtBulG2G1Z0/DLKn//Q+WL4fcXBdWAXTv7pbrjR/fEEyNHq0MsbOZN28e8+bNY/bs2aoTCqBERJrV3gOol3HhUwpwHXAxsNBaO8zz+/7Am9baccaYFcBJ1tqtnt/lAkdYa3f6PGebC8aIETB8OLz2WpvfkohIRFMA5erEm9s2MLP3oHAPpeOpq4OPPoKnn4Z//xt274ZDDoEf/QjOP99t5SYRobISVqxwYdSyZe7yq6/c7QDR0e5zkXeW1MiR7jPS4MEQExPesUtwqU4ogBIR8afdBlDGmFOAmdbaq40x2cC1uABqkbX2EM99DhRArQMOD2QAdf757nPzli1tflsiIhFNJxauTiwo3sYxadoyLKjKy+HVV10YNW+eu+3oo+G88+CccyA9PazDk/3V18P69Q2BlDec2rSp4T6xsTBkiAunRo6EUaPcMWIEdO0avrFL4KhOKIASEfEnEDUiXN9jHQV81xhzMtAFSALuB1KMMVHW2nqgP+CNg7YAA4CtniV4yb7hk9ctt9yy73p2dnaLl1gceig8/7xbSdC3b5vek4hIRPEuqZCmkmJ1phx0SUlw0UXuyMuDF15wRfbKK+Gaa1zDxfPOg9NOU3IRIaKiXB/5oUPh7LMbbi8pgTVrYPXqhsvVq+H1113rL3CrLAcNagikRo+GMWNcSKX/eUVERMQrrE3IAYwx04DrGjUh/7e19kVPE/Ll1tqHjTFXAWM8TchnAWcEsgk5wCefwDHHwJw57vOwiEhHo2+2XZ34qrycsd26hXsonY+1blrN88+7QGrrVujWDb73PZg1C44/HuLjwz1KaaG9e2HdOrcZYuNjzRqornb3McY1Ph892h3DhrlVmUOHQu/eag8WiVQnNANKRMSfdrsEr8kAmgZQWcC/gFRgKXC+tXavMSYeeBaYCBQDs6y1ec08V5sLRkWF65t6ww1wxx1tfDMiIhFMJxauTqysqGBUYmK4h9K51dXB/PkujHrlFbcbSLduMH26+xbolFOg5357jUg7UFsL33wDK1e64+uv3eWaNQ0zpsD9z33IITBxIkyeDJMmuZAqKSl8YxfVCVAAJSLiT4cIoALpYAvGqafCO+/Af//rPvuKiHQkOrFwdWJ1ZSXDtS4oclRVwYcfuinIc+e6mVHGuB30TjsNTjzRbc8WHR3ukcpB2LsX8vPdrKncXHeZk+N26CsubrhfRoabKeV7DB6sCXKhoDqhAEpExB8FUD4OtmCUlbkVACtXusabw4cHcHAiImGmEwtXJ3IrKxmqACoyWesSiblzXSC1dKm7PTnZrZPPznbHhAnajq2DsNY1Ol+yxM2SWru24di+veF+UVFuOd/w4W7W1IQJrmfnkCHQq5eW8wWK6oQCKBERfxRA+QhEwdi6FQYMgF//Gv7whwANTEQkAujEwtWJ9bt3k9WlS7iHIi2xdavbRW/+fHe5dq27PSnJBVLTprlAatIkBVIdUEmJmy3lDabWrHGzplatcqs4vdLSGhqgjxzpQqqhQ11j9NjYsA2/XVKdUAAlIuKPAigfgSoYJ5zgvo1bvVrfqIlIx6ETC1cnfvF//8fpJ5zQ4l1SJYIUFDSEUfPnu0INrqHQ0Uc3zJCaNEnJQwe2e7cLpLZu3b8ReuPlfNHRLoTyNj4/5BC3nG/4cBg4UKs6G/Pumjp79mzVCQVQIiLNUgDlI1AF49FH4Sc/ccvwxo8PwMBERCKAAihXJ7ZUVdFXzWQ6hm3bYMECF0jNm+emxwAkJjYEUtOmwaGHKpDqJIqKXDjl7TXl7TeVmwvl5Q33i4tzodTw4Q2hlLffVI8enfcLSNUJBVAiIv4ogPIRqIJRVAR9+sCvfgV//GMABiYiEgF0YuHqxLbqanrHxYV7KBIMhYUukPLOklq50t2emAhHHtkwQ+rQQ10CIZ2Gta6nlLe/VONlfd9845qke6WmNg2lvJdDh0JHbx+nOqEASkTEHwVQPgJZMKZPd71Pn3rK7Y4nItLe6cTC1YkdNTWkazZM51BU1DBDav58WLHC3R4f7zpZH3FEw5GV1XmnvXRytbVuh77GoZQ3qNq8uel9Bw7cf8ZUR1rSpzqhAEpExB8FUD4CWTC+/hpmzXJfnt51F1x/fUCeVkQkbHRioROLTm/HDhdIffYZLF4MX34Je/a43/XsCYcf3hBIHX44dO8e3vFK2FVUuCV8vuHUmjVu92Sv+Hg3Q6q5cCo9vf1km6oTqhMiIv4ogPIR6IJRUwNnngkffwzr17ueACIi7ZVOLHRiIT727nXfOC1e3HB4+0iBSw+mTGkIpcaOVS8pAZou6Ws8Y8rfkj7fUGrYMNcUPdI25FSdUJ0QEfFHAZSPYBSMVavc581f/hLuvjugTy0iElI6sdCJhbRAaSl8/rkLoxYtcpdFRe53CQkwebKbHTVxIkyYACNGKJSSJmprIS+v+X5TW7Y0ve/AgS6IGjJk/yMpKfRjV51QnRAR8UcBlI9gFYyLLoJ//hPOPhsuvND1hxIRaW90YqETC2kDa12a0HiW1NKlUFXlfh8XB6NHu21zx4+HcePcoWnT0ozmlvTl5rpZU8XFTe/bsycMGAD9+u1/DBwIgwcHvpe+6oTqhIiIPwqgfASrYBQWuhlQH3wAJSWuZcSYMQF/GRGRoNKJhU4sJEBqa116sGwZLF/ujmXL3AcGrz59mgZS48a5tVfafU/8KC11QVTjY/NmN2tq69b9A6roaNc7f/jwhmV9WVkwaJALqBISWj8G1QnVCRERfxRA+Qh2wSgqcl9y9uvnvgDVZ0gRaU90YqETCwmy7dvhq6/csXy5u1y1yjWVBIiJcUnBmDFuff+YMe7IyoKoqPCOXSJeVZULorZsadi1z3usXdswKc+rb18XRg0a1BBMeY8BA1zjdF+qE6oTIiL+KIDyEYqC8dprcMYZ7vPir34F553XfnY2EZHOTScWOrGQMNi716UDy5e7rXVXrHCNzzdsaLhP167uGy5vIDVhgjvS0sI3bmlX6utdMJWX544NG9yRn+8uN22CurqG+xvjJullZrpAKjsbLr9cdQJUJ0RE/FEA5SNUBeOf/4Tbb3efIR9/HC69NOgvKSJy0HRi4erEzTffTHZ2NtnZ2eEejnRmFRVudpQ3kPIe27Y13GfgQBdEeRueT5jgEgN98yWtVFvrAipvKJWX1/Ry2LB5HHHEPGbPnq06oQBKRKRZCqB8hLJg1NXBjBnwySewcKH7TCgiEskUQOnEQtqBoiLXT8p7LF3q1ljV17vfd+/eEEZ5w6mRI7UTnwSE6oTqhIiIPwqgfIS6YGzf7j737dwJV1wBs2dDcnLIXl5EpFV0YqETC2mndu92s6OWLm0Ipr76yt0ODTvxNZ4pNX68PpRIq6lOqE6IiPijAMpHOApGXp4Lnp59Fo48Et5+27VyEBGJNDqx0ImFdCB1dZCb23Sm1NKlbgaV15AhTWdKTZjgOlNrCZ/4oTqhOiEi4o8CKB/hLBgvvQSzZsGJJ8Lf/gZDh4ZlGCIifunEQicW0sFZ63pINZ4ptWyZC6q8evZsCKVGjnS78g0fDunp4Ru3RAzVCdUJERF/FED5CHfBePxxuPpqt+HNT38K997rdlwWEYkEOrEIf50QCYvycrdkzztTatky1/y8pqbhPunpDWFU42PIELfETzoF1QnVCRERfxRA+YiEgrFtG/zhD24W1Mknw0MPuU1sRETCTScWkVEnRCJCba3rI7Bmzf5H4534oqMhK8uFUSNGwCGHuGneQ4fCgAEQFRW2tyCBpzqhOiEi4o8CKB+RVDAeecTNgqqvhzPPhPvuUxAlIuGlE4vIqhMiEau0tPlgKjcXqqoa7hcfD4MHNwRSjY+BAzUNvB1SnVCdEBHxRwGUj0grGPn58Nhj8Je/uH6fP/sZnH02TJoU7pGJSGekE4vIqxMi7Up9PWzZAuvWNRy5uQ3X9+xpuG9srJs51Vw4NWiQ+71EHNUJ1QkREX/abQBljIkHFgBxQAzwirV2tjFmEPAvIA34ErjAWltrjIkDngEmAzuAc621G5t53ogsGBs2wM9/Dm++6TatmTYNbrgBjjtOO+aJSOjoxCJy64RIu2ctFBQ0Dacah1QVFQ33jY52M6SGDHGBlPdy6FA3o0ofjsJGdUJ1QkTEn3YbQAEYY7paa3cbY6KBT4GfA9fiwqiXjTEPAcustY8YY64ExlprrzLGnAucaa2d1cxzRnTB2LEDnnsO7rzTfUaLj4dTT4XLLoPsbPeziEiw6MQi8uuESIdkLWzf3jSQ+uYbd6xbB7t2Nb1/r16QmelmSmVm7n89OTkc76JTUJ1QnRAR8addB1D7BmBMV9xsqKuA14EMa229MWYKcLO1dqYx5m3P9cWewGqbtbZnM8/VLgpGVRXMnw9vveUCqeJiSEiA44+HH/wATjkFUlPDPUoR6Wh0YtF+6oRIp7JzZ0MY9c03rodBfr5rkr5xI1RXN71/9+7+w6nMTLejn+nU/6lrM9UJ1QkREX/adQBljInCLbMbAvwNuBtYaK0d5vl9f+BNa+04Y8wK4CRr7VbP73KBI6y1O32es90VjKoqeO89+OAD+M9/3OesqCg4/HA46SSYPt1dVx9PETlYOrFon3VCpFOrr3ezp7yBVONwynu98fI+gMRE/+HUoEHQu7d27/NDdUJ1QkTEn3YdQO0bgDHJwH+A3wNPtTCAWgcc3hECqMbq62HRInj7bXj3Xfj8c3dbSopbonf88e4YPVpf7IlI6+nEov3XCRHxYa1bwtc4kPINqHbubPqY+HjXIH3IENdzqvGRleUCrE5KdUJ1QkTEn0DUiLDPq7HWlhlj5gFTge7GmChrbT3QH9jiudsWYACw1bMEL9k3fPK65ZZb9l3Pzs4mOzs7eIMPsKgoOPJId9x6q/u89OGHLoz68EN47TV3v169XCB15JFwxBEwcaL6R4nI/ubNm8e8efPCPQwRkeAxBtLS3OFvm+Hy8qbBVF4erF/vjgUL3O8b6917/3AqK8s1Tu/XTzv4iYiItFG4dsHrAey11pYaY7oA7wB3ABcC/7bWvuhpQr7cWvuwMeYqYIynCfks4Iz22IT8YOXnuyDqww9h3jzYvNndHhsLEya4MOqII+Cww9xGMtHRYR2uiEQYfbPd8euEiLSStQ09qLyhVONj0yY3Hd3LGOjTx4VR3mPAgKY/t+MeVKoTqhMiIv602yV4xpixwNNAlOd40Vr7R2NMFvAvIBVYCpxvrd1rjIkHngUmAsXALGttXjPP26kKxpYtsHhxw/HFF1BZ6X6XkACjRsHYsU2PjIx2+5lIRA6STiw6X50QkYNUU+MadG7Y4MKojRsbDu/PVVVNH9OlS9NQyjegGjDA3ScCqU6oToiI+NNuA6hg6ewFo7YWVq2CJUtgxYqGY9u2hvukp8OYMTB8OBxyCAwb5i4HD9YyPpGOTicWrk7cfPPN7W6JtohEKGthx479Q6nGx7Zt7n6N9ejRNJTyDaoyMkLaKN27ZHv27NmqE538fEJExB8FUD5UMJq3Y0fTQGrlSsjNdbd7RUW5zWG8gZR3sxjv5yBtGCPS/imAUp0QkTCoqXHT1pubPbVxY/M7+cXGun5TzYVU/fpB//6u71WAp7WrTqhOiIj4owDKhwpG6+za5YKotWsbLteuhXXroKys6X3j4hq+mPMGUwMGuDYI3qNXL/WdEolkOrFQnRCRCGQtlJb6X+K3caNr/FlX1/RxCQnuw9igQe7Iymq4PmhQm749VJ1QnRAR8UcBlA8VjMApKWn6xZzv9a1b959NHhUFPXs2DaUyMpoGVD16uCMtTWGVSKjpxEJ1QkTaqbo6KChwH8K2bHEfxLZsabqz3/btTR8TG+tmSjVe3te/vzsGDHCXPg3TVSdUJ0RE/FEA5UMFI3T27nWffQoK3LFtW8P1xj8XFu7/hR007JrsDaS8R3o6pKZC9+5Nj5SUhusJCWqkLtIWOrFQnRCRDqyysiGQ8jZNbzyLasuW/T+Uxce7IOqMM+Duu1UnUJ0QEfFHAZQPFYzIU1cHxcUujCoqcn2nmjsa/66m5sDPGRfXNJBqHFIlJbX8SExUkCWdi04sVCdEpBOrq3PfDG7e7I5Nmxqujx8PN92kOoHqhIiIPwqgfKhgtH/Wut2MS0oajtLSlv9cXr5/H09/jIFu3fYPpRIToWvXhsuWXG/uttjY4P6tRFpLJxaqEyIiB6I6oTohIuKPAigfKhgCUF/vZqGXl7f8KCtzl7t3u8fu3r3/9daKiYEuXdySQd/LYN4WF6eZXdI8nVioToiIHIjqhOqEiIg/CqB8qGBIsFgLe/Y0H0z5C60qK91srqoq99jGl83d1vh3tbVtH6sxLoiKj3dhlPfS3/WD/b3v9djYlh0xMQrKQk0nFqoTIiIHojqhOiEi4o8CKB8qGNJR1Na2PrjyvU91teunVVPT/PVv+733ejD/ScXEtDywau0RExM5R6QEbTqxUJ0QETkQ1QnVCRERfxRA+VDBEAksa13P0paGVTU1bofESDhqa93R3C6MoRYV1bKgKjq64Wj888H+LjMTrr1WJxagOiEiciBq+wzhAAALh0lEQVSqE6oTIiL+KIDyoYIhIr68IVrjQMp7PZKOvXvd2Bof3vH6Xm/t7yZMgHnzdGIBqhMiIgeiOqE6ISLiTyBqREygBiMiEomMaZhhJCIiIiIiIuERFe4BiIiIiIiIiIhIx6YASkREREREREREgkoBlIiIiIiIiIiIBJUCKBERERERERERCSoFUCIiIiIiIiIiElQKoEREREREREREJKgUQImIiIiIiIiISFApgBIRERERERERkaCKCfcAREREREREIkV2drhHICISWSZMCMzzaAaUiIiIiIiIiIgElbHWhv5FjekPPAP0BuqBx6y1DxhjUoEXgUwgD/i+tbbU85gHgJlAJXCRtXZZM89rw/F+RETaA2MM1loT7nEEizFmBPBzIB340Fr7cDP3UZ0QEfGjE9SJLOD/gGRr7ff93Ed1QkSkGYGoEeGaAVULXGutHQ1MBX7qOXG4CXjfWjsc+BD4NYAxZiYwxFp7CPATYL+TCgmsefPmhXsIHYL+joGhv6O0hLV2tbX2SuBc4Mhwj6cj07/JwNDfMXD0t5SWsNZusNb+ONzj6Az0bzIw9HcMDP0dI0dYAihr7TbvDCZrbQWQA/QHTgee9tztac/PeC6f8dx/MZBijOkd0kF3MvpHGhj6OwaG/o6dizHmCWNMoTHmK5/bZxhjVhtj1hpjfuXnsacBrwNvhmKsnZX+TQaG/o6Bo79l53Qw9UKCS/8mA0N/x8DQ3zFyhL0HlDFmEDABWAT0ttYWggupcEv0APoBmxo9bIvnNhER6XieAk5qfIMxJgp40HP7aOAHnpmzGGMuMMbca4zpY62da609BTg/1IMWEZGQa1W9aHy30AxPREQaC+sueMaYbsArwM+ttRXGGN8F11qALSLSyVhrPzHGZPrcfDiQa63NBzDG/As3O3a1tfZZ4FljzDRjzE1APPBGSActIiIh19p6YYxJA/4ITDDG/Mpa++fmnjf7H9lBHHXnkLcsj3n/mBfuYbR7+jsGhv6OB29CRmC2wQtLE3IAY0wMbpnEW9ba+z235QDZ1tpCY0wG8JG1dqQx5mHP9Rc991sNTPPOlmr0nAqsREQOoL00l/WcUMy11o7z/HwWcJK19nLPz+cDh1trr2nl86pOiIgcQHupE16BrheqEyIi/h1sjQjnDKgngf9v7+5i5ajLOI5/f1IJIoJgBBJRSgBTNJJiVBoLQY0hSIxFTRA0IlWMRkQU40u54ZKC8QJjvFA0IvENMNAmGmiMLwgKbWwLpVQCMYAQSrmgBglBhMeLnW2Xwznbc3Znz+45/X6Sze7Ozsz+98nM/k6eM7Nzf7f51FgPXAhc1dyv65l+MfDrJCuA3VObT7DwAlOSNL/MCUlSP+aEJI3OWBpQSVYCnwK2JdlC51S7y+k0nm5I8lngEeBcgKr6XZKzkzwEPAusHse4JUlj8zjwlp7nxzTTJEnqZV5I0oQaSwOqqu4EDpjh5Q/OsMyXRzciSdKECS//kdhNwAnNqRZPAOcB549jYJKkiWJeSNICMfar4LXFy60OLsnDSe5JsiXJxmba4Uk2JHkgyW1JDhv3OCfNdJf+7Ve3JN9L8mCSrUna+RW3RWCGOl6R5LEkm5vbWT2vrWnquCPJmeMZ9eRJckySPyTZnmRbkq800xfcNpnkF8BfgbcmeTTJ6qp6EbgE2ABsB35VVTvmuF5zYkDmxGDMiXaYE+1YTDnR1XZemBODMycGY060w5xox7zkRFUt+BudRtpDwLHAq4GtwLJxj2uh3IB/AodPmXYV8M3m8beAteMe56TdgNOA5cC9+6ob8CHgt83jU4G7xj3+SbnNUMcrgMummfckYAudozeXNvt9xv0ZJuEGHA0sbx4fAjwALHOb3FMfc2K4+pkTg9XNnBhdHc2JudfRnOhfH3NiuPqZE4PVzZwYXR3NibnXceQ5sViOgNpzudWqegHoXm5VsxNeeTTcKuC65vF1wDnzOqIFoKruAJ6eMnlq3Vb1TP9Zs9zdwGFJjpqPcU66GeoILz+cvmsVnf9k/q+qHgYepLP/7/eqamdVbW0e/wfYQed3L9wmO8yJ4ZgTAzAn2mFOtMOc2CdzYjjmxADMiXaYE+2Yj5xYLA2oNwH/6nn+WDNNs1PAbUk2JbmomXZUNVcarKqdwJFjG93CcuSUunV3wKnb6OO4je7Lxc2hnNf2HOZpHWchyVI6/wW6i1fuy/vrNmlODMecaI850R5zYkDmxLTMieGYE+0xJ9pjTgxoVDmxWBpQGs7KqnoXcDadnfR0OiHSa+pzzY51G8wPgOOrajmwE/jumMezYCQ5BLgJuLT5z4X7stpgToyOdRuMOTEgc0IjYk6MjnUbjDkxoFHmxGJpQHm51SFU1RPN/VPALXQOQXyye/hckqOBXeMb4YIyU90eB97cM5/baB9V9VQ1JxMDP2LvYbHWsY8kS+iExfVVta6Z7DbZYU4MwZxolftkC8yJwZgTfZkTQzAnWuU+2QJzYjCjzonF0oDac7nVJAfSudzq+jGPaUFIcnDT4STJa4EzgW106ndhM9tngHXTrkBTL/3bW7cL2Vu39cAFAElWALu7hzEKmFLH5out62PAfc3j9cB5SQ5MchxwArBx3kY5+X4C3F9V1/RMc5vsMCcGZE4MzZxohznRDnNiZubEgMyJoZkT7TAn2jHSnMjepuDC1lxW8Ro6TbUfV9XaMQ9pQWh2upvpHEa3BPh5Va1NcgRwA52O5iPAuVW1e3wjnTzpXPr3fcAbgCfpXGnhFuBGpqlbku8DZwHPAquravMYhj1xZqjj++mcc/wS8DDwhe6XWZI1wOeAF+gcFrph/kc9eZKsBG6n8wdfNbfL6QTqtPvy/rZNmhODMScGZ060w5xohzmxb+bEYMyJwZkT7TAn2jEfObFoGlCSJEmSJEmaTIvlFDxJkiRJkiRNKBtQkiRJkiRJGikbUJIkSZIkSRopG1CSJEmSJEkaKRtQkiRJkiRJGikbUJIkSZIkSRopG1Da7yV5prk/Nsn5La97zZTnd7S5fknS6JkTkqR+zAlpdmxASVDN/XHAJ+eyYJID9jHL5S97o6rT5rJ+SdJEMCckSf2YE9Is2ICS9roSOC3J5iSXJnlVkquT3J1ka5LPAyQ5I8ntSdYB25tpNyfZlGRbkouaaVcCr2nWd30z7ZnumyX5TjP/PUnO7Vn3H5PcmGRHd7nmtbVJ7mvGcvW8VUWS1GVOSJL6MSekPpaMewDSBPk28PWq+ghAExC7q+rUJAcCdybZ0Mx7CvD2qnq0eb66qnYnOQjYlOQ3VbUmycVV9c6e96hm3R8HTq6qdyQ5slnmz808y4G3ATub93wv8A/gnKpa1ix/6KiKIEmakTkhSerHnJD68AgoaWZnAhck2QLcDRwBnNi8trEnLAC+mmQrcBdwTM98M1kJ/BKgqnYBfwLe3bPuJ6qqgK3AUuDfwHNJrk3yUeC5IT+bJGl45oQkqR9zQuphA0qaWYBLquqU5nZ8Vf2+ee3ZPTMlZwAfAE6tquV0vuQP6lnHbN+r6/mexy8CS6rqReA9wE3Ah4Fb5/xpJEltMyckSf2YE1IPG1DS3i/rZ4DX9Uy/DfhSkiUASU5McvA0yx8GPF1VzydZBqzoee2/3eWnvNdfgE8054W/ETgd2DjjADvv+/qquhW4DDh59h9PkjQkc0KS1I85Ic2CvwEl7b1qxb3AS80hsj+tqmuSLAU2JwmwCzhnmuVvBb6YZDvwAPC3ntd+CNyb5O9V9enue1XVzUlWAPcALwHfqKpdSU6aYWyHAuuac8IBvjb4x5UkzZE5IUnqx5yQZiGd00IlSZIkSZKk0fAUPEmSJEmSJI2UDShJkiRJkiSNlA0oSZIkSZIkjZQNKEmSJEmSJI2UDShJkiRJkiSNlA0oSZIkSZIkjZQNKEmSJEmSJI2UDShJkiRJkiSN1P8BNVORvZfLB0wAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "its = d.getitstat()\n", "fig = plot.figure(figsize=(20, 5))\n", "plot.subplot(1, 3, 1)\n", "plot.plot(its.ObjFun, xlbl='Iterations', ylbl='Functional', fig=fig)\n", "plot.subplot(1, 3, 2)\n", "plot.plot(np.vstack((its.XPrRsdl, its.XDlRsdl, its.DPrRsdl,\n", " its.DDlRsdl)).T, ptyp='semilogy', xlbl='Iterations',\n", " ylbl='Residual', lgnd=['X Primal', 'X Dual', 'D Primal', 'D Dual'],\n", " fig=fig)\n", "plot.subplot(1, 3, 3)\n", "plot.plot(np.vstack((its.XRho, its.DRho)).T, xlbl='Iterations',\n", " ylbl='Penalty Parameter', ptyp='semilogy',\n", " lgnd=['$\\\\rho_X$', '$\\\\rho_D$'], fig=fig)\n", "fig.show()" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 2 }