# Rich Output

In Python, objects can declare their textual representation using the `__repr__` method.  IPython expands on this idea and allows objects to declare other, rich representations including:

* HTML
* JSON
* PNG
* JPEG
* SVG
* LaTeX

A single object can declare some or all of these representations; all are handled by IPython's *display system*. This Notebook shows how you can use this display system to incorporate a broad range of content into your Notebooks.

## Basic display imports

The `display` function is a general purpose tool for displaying different representations of objects. Think of it as `print` for these rich representations.

```python
from IPython.display import display
```

A few points:

* Calling `display` on an object will send **all** possible representations to the Notebook.
* These representations are stored in the Notebook document.
* In general the Notebook will use the richest available representation.

If you want to display a particular representation, there are specific functions for that:

```python
from IPython.display import (
    display_pretty, display_html, display_jpeg,
    display_png, display_json, display_latex, display_svg
)
```

## Images

To work with images (JPEG, PNG) use the `Image` class.

```python
from IPython.display import Image
```

```python
i = Image(filename='../images/ipython_logo.png')
```

Returning an `Image` object from an expression will automatically display it:

```python
i
```

Or you can pass an object with a rich representation to `display`:

```python
display(i)
```

An image can also be displayed from raw data or a URL.

```python
Image(url='http://python.org/images/python-logo.gif')
```

SVG images are also supported out of the box.

```python
from IPython.display import SVG
SVG(filename='../images/python_logo.svg')
```

### Embedded vs non-embedded Images

By default, image data is embedded in the notebook document so that the images can be viewed offline. However it is also possible to tell the `Image` class to only store a *link* to the image. Let's see how this works using a webcam at Berkeley.

```python
from IPython.display import Image
img_url = 'http://www.lawrencehallofscience.org/static/scienceview/scienceview.berkeley.edu/html/view/view_assets/images/newview.jpg'

# by default Image data are embedded
Embed      = Image(img_url)

# if kwarg `url` is given, the embedding is assumed to be false
SoftLinked = Image(url=img_url)

# In each case, embed can be specified explicitly with the `embed` kwarg
# ForceEmbed = Image(url=img_url, embed=True)
```

Here is the embedded version. Note that this image was pulled from the webcam when this code cell was originally run and stored in the Notebook. Unless we rerun this cell, this is not todays image.

```python
Embed
```

Here is today's image from same webcam at Berkeley, (refreshed every minutes, if you reload the notebook), visible only with an active internet connection, that should be different from the previous one. Notebooks saved with this kind of image will be smaller and always reflect the current version of the source, but the image won't display offline.

```python
SoftLinked
```

Of course, if you re-run this Notebook, the two images will be the same again.

## HTML

Python objects can declare HTML representations that will be displayed in the Notebook. If you have some HTML you want to display, simply use the `HTML` class.

```python
from IPython.display import HTML
```

```python
s = """<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>"""
```

```python
h = HTML(s)
```

```python
display(h)
```

You can also use the `%%html` cell magic to accomplish the same thing.

```python
%%html
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
```

## JavaScript

The Notebook also enables objects to declare a JavaScript representation. At first, this may seem odd as  output is inherently visual and JavaScript is a programming language. However, this opens the door for rich output that leverages the full power of JavaScript and associated libraries such as [d3.js](http://d3js.org) for output.

```python
from IPython.display import Javascript
```

Pass a string of JavaScript source code to the `JavaScript` object and then display it.

```python
js = Javascript('alert("hi")');
```

```python
display(js)
```

The same thing can be accomplished using the `%%javascript` cell magic:

```javascript
%%javascript

alert("hi");
```

Here is a more complicated example that loads `d3.js` from a CDN, uses the `%%html` magic to load CSS styles onto the page and then runs ones of the `d3.js` examples.

```python
Javascript(
    """$.getScript('//cdnjs.cloudflare.com/ajax/libs/d3/3.2.2/d3.v3.min.js')"""
)
```

```python
%%html
<style type="text/css">

circle {
  fill: rgb(31, 119, 180);
  fill-opacity: .25;
  stroke: rgb(31, 119, 180);
  stroke-width: 1px;
}

.leaf circle {
  fill: #ff7f0e;
  fill-opacity: 1;
}

text {
  font: 10px sans-serif;
}

</style>
```

```javascript
%%javascript

// element is the jQuery element we will append to
var e = element.get(0);

var diameter = 600,
    format = d3.format(",d");

var pack = d3.layout.pack()
    .size([diameter - 4, diameter - 4])
    .value(function(d) { return d.size; });

var svg = d3.select(e).append("svg")
    .attr("width", diameter)
    .attr("height", diameter)
  .append("g")
    .attr("transform", "translate(2,2)");

d3.json("data/flare.json", function(error, root) {
  var node = svg.datum(root).selectAll(".node")
      .data(pack.nodes)
    .enter().append("g")
      .attr("class", function(d) { return d.children ? "node" : "leaf node"; })
      .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });

  node.append("title")
      .text(function(d) { return d.name + (d.children ? "" : ": " + format(d.size)); });

  node.append("circle")
      .attr("r", function(d) { return d.r; });

  node.filter(function(d) { return !d.children; }).append("text")
      .attr("dy", ".3em")
      .style("text-anchor", "middle")
      .text(function(d) { return d.name.substring(0, d.r / 3); });
});

d3.select(self.frameElement).style("height", diameter + "px");
```

## LaTeX

The IPython display system also has builtin support for the display of mathematical expressions typeset in LaTeX, which is rendered in the browser using [MathJax](http://mathjax.org).

You can pass raw LaTeX test as a string to the `Math` object:

```python
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
```

With the `Latex` class, you have to include the delimiters yourself.  This allows you to use other LaTeX modes such as `eqnarray`:

```python
from IPython.display import Latex
Latex(r"""\begin{eqnarray}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{eqnarray}""")
```

Or you can enter LaTeX directly with the `%%latex` cell magic:

```latex
%%latex
\begin{align}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{align}
```

## Audio

IPython makes it easy to work with sounds interactively. The `Audio` display class allows you to create an audio control that is embedded in the Notebook. The interface is analogous to the interface of the `Image` display class. All audio formats supported by the browser can be used. Note that no single format is presently supported in all browsers.

```python
from IPython.display import Audio
Audio(url="http://www.nch.com.au/acm/8k16bitpcm.wav")
```

<audio controls="controls" >
    <source src="http://www.nch.com.au/acm/8k16bitpcm.wav" type="audio/x-wav" />
    Your browser does not support the audio element.
</audio>

A NumPy array can be auralized automatically. The `Audio` class normalizes and encodes the data and embeds the resulting audio in the Notebook.

For instance, when two sine waves with almost the same frequency are superimposed a phenomena known as [beats](https://en.wikipedia.org/wiki/Beat_%28acoustics%29) occur. This can be auralised as follows:

```python
import numpy as np
max_time = 3
f1 = 220.0
f2 = 224.0
rate = 8000.0
L = 3
times = np.linspace(0,L,rate*L)
signal = np.sin(2*np.pi*f1*times) + np.sin(2*np.pi*f2*times)

Audio(data=signal, rate=rate)
```

<audio controls="controls" >
    <source src="data:audio/wav;base64,UklGRqS7AABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YYC7AAAAADUWvSvyPzdS/WHKbjt4Bn7+fxV+WXj3bjhifVJDQBYslBZiAC/qpdRswCGuU557kf2HJIIcgPWBoIfykKKdTa15v5rTEuk7/2kV8CopP3ZRSmEqbrJ3mH2vf+Z9TXgNb3Bi11K9QK0sQxcmAQPrhNVPwQOvLZ9IkreIxYKggFiC34cLkZOdFq0bvxbTbeh4/o0UASosPnNQSGAwbcd2w3z2fk9923fGblZi7FL/QBwt3hfoAefrg9ZlwiawVqBuk9OJzoOOgSSDg4iAkdadJa31vrvS3ue5/aIT8Sj/PDBP+F7da3t1h3vUfU98BncibuhhuVIJQWQtYRilAtjso9eqw4mxzKHtlE+LPYXkgleEiolTkm6ee60Hv4jSZuf//KsSwyeiO65NXF0zas9z5nlJfOh6zXUhbSdhPlLaQIItzBhbA9Xt39gexSmzjqPCliuNEYeihPKF9YqDk1mfGq5Uv3/SCOdN/KkReCYYOvBLd1szaMVx4HdYehp5MXTDaxNgfFFwQHUtHRkJBNvuN9q9xgW1l6XsmGOPR4nGhvKHwowPlZegAa/bv6LSxOak+58QFCVkOPhJSVnhZV9veXUCeOh2MnIIaqpecVDLPzwtUxmsBOjvp9uFyBm356dmm/aR3otOiVeK8Y73limiMLCewPHSneYG+48PmSOINslH11Y+Y6BssnJJdVF002/yZ+5cHU/rPtYsbBlEBfvwLd11ymO5e6ownuGU1I44jB+NgZE6mQ+kqLGcwW7Tk+Z1+noOCCKGNGVFI1ROYIppj28vcllxFG2CZeBagU3PPUMsZxnOBRHyyN6IzOC7T61GoSGYJZKBj0aQbpTXm0WmZ7PWwhjUp+by+WMNZCBhMtBCMFEUXSFmEWy4bgJu+Gm6YoFYnkt3PIIrQxlJBinzdOC9zo2+YLCkpLKbz5Unk8yTuJfLns2obrVMxPDU2+Z/+UwMsB4dMAxAAU6TWWdiPGjlak9qgWaaX9FVdEnjOpIq/xi0Bj/0L+IQ0WfBq7NHqJKfzpkml6yXXJsVoqSru7f9xffVL+ce+TYL7hy8LR09m0rOVWFeFGS6ZkJmsmImXNNSBEcVOXQpmhgMB1P19+N/02rELbctrL2jH557m+SbVp+zpciuTrroxy3XpefP+CQKIRtAKwY6/0bKURNanF87YuBhjV5gWIlPUEQMNycoFBhRB2P2yeUG1pTH4bpPsC+ovaIioHGgpKOhqTiyJL0OypHYPOiU+BgJSxmuKMo2M0OJTX9V2FpsXStdF1pKVPVLWUHKNKsmbBeCB2v3o+ej2OHKxb6stOOspacYpU6lQ6jdrfG1PMBtzCTa9ehu+BMIbhcHJm0zOT8RSatQzVVRWCdYUVXoTxlIID5PMgIloRadB2z4gulT203O08I+udax0qxXqneqLq1ksvC5k8MDz+Tb0ele+BcHjRVPI/MvFztmRJtLf1DvUtlSQVA9S/dDqTqeLysjtBWiB2P5ZOsS3tXRCccBvgK3P7Lcr+mvYrIytzK+KcfP0dHdz+pl+CYGqxOJIF4szzaMP1RG80pJTUVN6kpNRpQ/9ja3LCghpRSPB076Ru3e4HTVYcvxwmO86beitZ6127dEvLXC+srQ1Orf8OuE+EIFyRG5HbQoZzKIOtpALkVkR29HUUUbQfI6CDOcKfkecxNkByv7Ju+z4yjZ2M8JyPXByb2ju5K7lL2VwXXHA88E2C7iM+27+GsE6w/gGvck4i1eNTI7ND9HQV1BeT+sOxU25C5QJqAcHxIgB/r7AvGO5u3catREzbHH28PbwcHBiMMhx27MQ9No25zkmO4L+aQDEg4DGCshRSkTMGI1DDn2OhQ7aTkENgExiyrVIh4aqhDEBrr82PJt6b/gEdmd0pTNGcpFyCPIs8nlzJ3RtNf63jLnHfB0+e0CQAwkFVUdlCSsKm8vujJ2NJk0JTMnMLkrASYtH3QXEw9NBmj9pvRL7Jrkyt0Q2JfTfdDazrbOENDa0v3WVdy34u/pxPH3+UgCeApGEncZ1B8uJV0pQyzNLfEtsSwaKkImSiFbG6UUXQ2+BQP+aPYo73rokeKY3bXZA9eV1XLVmNb92IrcIeGd5tDsifOT+rYBuwhsD5UVCRueHzMjryUBJyInFCbiI6AgaRxiF7IRiAsVBYz+Hvj/8VzsYOcw4+rfpd1w3FLcSN1I30DiFeap6tTvbvVJ+zcBDAeZDLQRNxYAGvUcAh8YIDIgUx+FHdgaYxdEE54OlQlSBAD/xvnO9DzwNOzS6C/mXeRm41DjGeS25RroLevX7vjyb/cY/M0AbAXPCdYNYhFbFKoWQRgXGScZdBgHF+0UOxIGD2oLhgd3A2D/XvuS9xf0CPF67n/sJOtx6mfqBetD7BPuZfAl8zr2jPkA/XgA3AMRB/8JjwyxDlYQdBEEEgYSfBFuEOcO9QyqChoIWwWDAqr/5PxI+un32PUj9NXy9vGK8ZHxB/Ln8ib0uPWO95j5xPsA/jkAYAJiBDIGwwcKCQAKnwrmCtUKcQq/CcgIlQc0BrAEFwN3Ad7/V/7v/K/7n/rI+Sv5zPis+Mf4Gfme+U/6IvsQ/A79FP4Y/xAA9wDFAXQCAQNpA6sDyAPCA5wDWgMBA5cCIQKnAS4BvABUAPz/tv+D/2X/W/9j/3z/ov/Q/wIANABiAIcAngClAJkAeQBFAP7/pP87/8j+Tv7V/WD99/yg/GD8PPw5/Fn8nvwJ/Zn9S/4c/wMA/gACAgcDBQTxBMEFbgbwBj4HVAcuB8oGKQZMBTgE9QKJAQAAZv7G/C/7rflP+CH3L/aD9Sb1HfVr9RL2Dvdc+PL5x/vN/fb/MAJrBJUGmwhsCvgLLw0HDnQOcQ78DRMNvQsACucHggXiAhoAQP1p+q33IvXe8vXwd+9z7vXtA+6f7sjvd/Gj8zz2Mflq/NH/SgO8BgoKGg3RDxkS3hMOFZ4VhxXFFF0TVRG8DqMLIAhOBEkAMvwl+EX0sfCG7eDq1Oh259Pm9ObZ54Dp3+vk7nzyjPb1+pf/TATyCGQNfBEbFSAYdBoAHLYcjhyFG6EZ7RZ8E2cPzArMBY4APPv99fvwXuxM6OfkTOKR4Mbf9t8h4UHjSeYj6rTu2vNv+Uf/NQUNC58QvxVEGgge7CDXIrYjgSM1ItofgBw9GDITgw1bB+kAYPrx88/tLOg04xHf5NvK2dXYD9l72g/du+Bk5ejqHvHY9+L+BAYKDboT4BlKH8wjQieMKZgqWSrPKAMmCCL6HP8WQhD4CFgBnvkD8sbqHuRC3mHZotUn0wTSRtLt0/DWOduq4BvnW+409mn+ugboDrIW2h0oJGgpby0cMFYxEjFPLxcsgSevIcoaCBOjCtsB9fg18ODnOOB52dvTi8+tzFrLoMt+zenQydX821LjlOuE9N39VQemEIUZrCHaKNYubzN+Nuo3pTetNRAy5ixWJpEe0RVYDHECZ/iH7iDlfNze1IXOpMlixt3EIsUyxwDLcNBc147fyujJ8j791wdDEjEcUSVdLRM0PDmwPFA+DD7lO+k3MjLtKk8imhgXDhgD8/f77Iji7dh10GPJ8cNLwJG+0r4PwTnFMsvP0tbbAuYG8Y78Pgi+E7QeySitMRo50z6rQoFEQ0TyQZw9YTdvLwImYRveD9EDmPeR6xrgjtU/zHjEd75tuny4trgau5q/FcZazivYPuM97837jAgXFQ0hDyzHNec9L0RrSHhKQ0rNRyVDbTzXM6QpIh6pEZgEV/dK6tfdYdJByMm/O7nNtKSy0rJatSi6HMEAypLUgOBw7f76wAhNFjojIi+oOXdCSknqTTBQCFByTX5IUUEhODMt2yB3E24FL/cl6cDbaM9+xFm7QbRwrw2tLa3Sr+m0TbzGxQ7Rzd2i6yL63AhgFzslADJNPcdGIk4lU6VVjVXcUqNNCkZJPKswiCNGFVEGH/ck6NbZpcz4wCu3jK9ZqrunyqeHquCvrLexwaPNJtvU6Tr54AhPGA0nqDS0QNJKs1IXWNJazVoFWI9SkkpLQAg0JyYSFz8HJ/dH5xvYGsqxvUKzIKuNpbSir6J/pRKrPbPDvVTKkNgI6Ef4zAgbGbEoFzfaQ5dO+Va8XLJfw1/qXD1X5k4jREc3tSjbGDYIRveN5o7Wx8esuqKvAacPofud352+oISmBa8CuibHDNZD5kz3owjDGSYqTDm+RhJS8FoRYUJka2SGYapbAVPNR2U6LiueGjQJevf25THVsMXqt0ysMqPknJWZYJlJnDqiCKtwthrEntOF5Er2ZAhJGmsrRjtdSUJVl14RZX5owWjVZdBf31ZFS109jy1XHDkKwveB5QTU08NttUSptZ8PmYWVNJUimDmeSqcSszbBStHR4kP1EgisGoEsBT23SyNY6WG7aGJswWzSaaxjfFqITixA1i8FHkELHvgv5QbTM8I3s4qmjpySlc6RYJFOlIOaz6Psr3y+Ec8p4Tn0rQfuGmcthz7JTbVa5mQLbOtvaHB7bTpn1V2SUdBCADKlH0wMjPj95DjSz8BJsSGkvZlwknOO543RkB2XmqAArfC798yR3y/zNwcPGx0uzT+TT/Vcimf+bhdzs3PMcHhq5mBfVEVFCjQ1IVcNC/ns5JnRp7+jrwqiRpesj3eLy4qujQmUrp1SqpS5/soK3iXysQYQG6Uu1UAUUeJe1GmTceJ1nnbCc2FtrGPtVohH8TWyIl8OmPn75CnRvb5HrkagKZVHjd2IEIjnikyRDpvkp2u3KcmX3B3xHAbzGv4uoUFMUnxgw2vHc0p4KHlZdvJvJGY5WZZJszcaJGQPMvon5efQD74zrdaeaJNDi6eGuIV/iOeOv5i7pXi1e8c62xvwfAW4GikvMUI7U8JhVW2adU96TnuReCpyS2hAW21LTDlrJWMQ2fpw5dLQnr1qrLudBZKiidaExYN5ht2MwZbYo76z9sX22SDv0ARhGigvhELgU7Niim4Jd+17D31legV0H2r+XApNvDqjJloRifvV5enQaL3pq/Sc/pBliGuDOILWhDCLF5U+oj6yncTM2C7uHATvGfsunUI8VE9jYW8UeCN9Z37We4J1nWtzXmpO/ju+J0cSQfxU5izRbb2xq4KcVpCMh2iCE4GYg+OJxJPuoPywcsO/10ftYQNkGaMue0JQVJdj22+7ePJ9WH/gfJ92xWycX41PEj28KCgT//zr5pjRrL3Bq2ScDJAYh86BWIDBgveIyZLsn/qvdsLR1mzsoALBGCMuIEIcVItj92/9eFh+33+EfVt3k214YG9Q9T2aKfsTwv2Y5yzSI74ZrJqcH5AIh5yBBoBRgmyIKJI4nzmvrMED1qHr3AEJGHwtjUGhUyxjtW/beFZ+/H/AfbR3B24EYQ9Rpj5WKr8Uh/5b6ObS0b62rCKdjpBch9OBHYBJgkSI4ZHVnrquFsFZ1ebqFgE9F64sxEDiUntiF29UeOp9r3+Ufap3IG4/YWxRIj/vKnAVTf8w6cbTtL+XrfydWpEUiHKCn4CpgoCI9pHCnn+utMDT1D/qUABfFr4rxz/fUXphHm5rdxd9+H7/fDx33G0pYYRRaD9iKw4WEAAW6sjUy8C7riWfgJIviXmDioFygyCJaJIBn4quicBz1Kvpjv9xFasqlz6aUClgy2wfdt172X0DfGt2PW3AYFZRdz+vK5YW0gAL6+rVE8IgsJyg/5OqiuaE3oKihCOKNpOTn9uulsA61C7pz/51FHkpNz0WT4xeIWt0dD16UXyfejZ1QWwFYOJQTj/TKwgXjgEO7CzXi8PEsWCi1ZWGjLiGmoQ5homLYJR4oHOv3MAq1MnoFv5tEykoqDtUTaNcIGlpcjl4YnrVeJ9z6Gr2XiZQ7D7OK2EXQwIb7YrYMMWks22kAJi+ju6Iu4Y2iFKN5pWwoVKwW8FF1HzoZf1bEr4m7jlXS3Jay2YDcNN1DnimdqVxNGmVXSNPUD6eK6AX8AIx7gHa/8a9tcGmfppSkYWLQYmXinyPyJc6o3mxFMKK1EvovvxBETolCjghSftXJWRCbQxzV3UTdEtvJWfiW9lNej1DK8MXkgNO75Hb98gOuFqpS50/lHqOKYxbjQaSBJoXpeeyCMP71DboIfwiEJ8jADa2RkFVMWEqauhvQHIgcZJsvWTcWUhMaTy7KsoXKARv8DbdE8uTujSsZaCBl8yRcI9+kO2UmZxEp5y0NsSZ1T3okvv/DvAh0TMYREdS8l2+ZmpsyW7NbXxp/GGHV29KHTsHKrMXsQST8e7eU81JvUyvyaMWm3aVFJMAlDGYhZ/CqZe2n8Vk1mToEfvaDS8ggTFLQRFPa1oCY5Ro+Godagxm5V7iVFFIlzklKX4XKgW48rfgss8twKCycqf6nneZEpfcl86bx6KOrNi4Qsdc16nooPq2DGAeEy9QPqFLoFb4Xmpkz2YUZkNieVvvUe5F1jcWKCkXkgXb843iLtI8wyu2Xqspo8mdZpsQnMKfW6anr127H8mC2A7pQfqUC4MciiwtO/xHlFKkWvBfUWK2YSVevFewTkdD3TXZJrMW6AX79G/kxNRzxuq5ia+gp2miDKCZoAmkQKoLsyW+NcvW2ZTp9Pl3Cp0a6SnlNyVES04LVipbg10EXbVZsFMoS15AqjNvJR0WKwYW9lrmcNfNydi97rNarFSnAaVypaGocq63ti7BhM1X2zvqu/lfCa8YMid6NB9AykkxUR1WaFgEWPZUWE9YRzU9QDHYI2UVWQYp90voMNpIzfPBirhTsYSsQaqYqoWt77KqunfECdAE3QPrmPlQCLsWaSTwMPA7FUUbTMtQBVO6Uu1PuEpEQ845oC4UIowUcgY0+D/qAd3f0DbGV72GtvWxxq8GsLKys7ffvv3HxNLe3u3rivlLB8UUkSFMLZs3MUDMRjxLX00pTZ1K0kXuPio2zCslIJITdAY0+Tbs39+P1JzKUsLvu6K3jLW4tSS4urxUw73LstXj4Pjsk/lRBs8Srh6RKSUzITtKQXJFe0dXRwtFqkBaOk0yxCgLHnUSXwYo+ivuyOJV2CLPdceIwYe9jrupu9a9AcIGyLbP0tgS4yXutPlkBdsQwRvCJZEu6zWaO3Q/XEFIQTo/RjuLNTkuiyXHGzgRMwYO+x3wt+Us3MPTvcxOx57Dx8HUwcPDgsfyzOTTI9xr5XPv7fmFBOwOzxjkIeQpkzDBNUY5CjsCOzE5qDWFMPIpJCJaGdoP7gXk+wryq+gQ4HvYI9I6zeHJMcg0yOjJO80S0kXYoN/r5+LwPvq2AwMN2hX5HSIlHyvEL+4yiTSJNPMy1i9LK3olkB7HFlsOkAWr/O7zoOv/40XdpNdH00zQyM7Ezj3QJtNk19TcSeOR6nDyqPr5AiML5hIHGlEgkyWoKXIs3i3kLYcs1CniJdQg0xoOFL0MGQVf/cn1k+705x3iOt1w2djWhdV+1cDWPtni3I7hG+db7R30LPtOAk4J9Q8RFnMb9B9zI9clECcXJ/AlpyNPIAYc7hYzEQELiQQB/pj3gfHr6/7m4eKv34HdY9xc3Gndft+K4nDmEutI8On1yPu1AYUHCg0aEo8WSBoqHSIfJCApIDYfVB2VGhEX5hI2DicJ4QOP/ln5aPTg7+XrkugA5kDkXONZ4zPk4uVV6HbrK+9V89H3ffwxAcwFKQomDqcRkhTTFlsYIBkfGV0Y4Ba5FPsRvQ4aCzAHIAMJ/wv7RPfR88zwSu5c7A/raupu6hrrZOxA7pzwY/N/9tX5Sv3CACMEUwc5CsEM2Q5zEIURChIAEmoRUhDBDscMdgrhBx8FRgJu/6v8E/q697D1A/S+8unxhvGX8Rby/vJF9N31uPfF+fP7MP5oAIwCiwRWBuEHIgkQCqgK6ArQCmUKrQmwCHoHFQaOBPUCVQG9/zj+0vyW+4v6uPkh+cf4rPjL+CP5rPlf+jX7JPwk/Sr+Lf8kAAkB1AGBAgsDcAOvA8kDwAOXA1MD+AKNAhcCnQEkAbIATAD2/7H/gP9j/1v/Zf9//6X/1P8GADgAZQCJAJ8ApQCXAHYAQAD3/5z/Mv++/kT+y/1X/e/8mvxc/Dr8Ovxd/Kb8FP2n/Vz+Lv8YABMBGAIdAxkEAwXRBXsG+AZCB1MHKAe/BhkGNwUfBNgCaQHf/0T+pPwO+475NPgL9x72efUi9SD1dvUj9if3e/gX+vD7+v0kAGACmgTCBsQIkAoVDEUNFA54DmwO7Q37DJsL1gm3B0wFqALe/wP9Lfp19+/0svLQ8FzvZO7x7Qrusu7n76Hx1/N49nP5svwaAJQDBAdOClcNBhBEEv0TIBWjFX0VrRQ3EyMRfg5bC9EH+gPz/9r70ff282nwSe2u6rDoYefO5v/m9ees6RnsLO/O8uf2Vvv7/7EEVAm/Dc8RYRVZGJ0aGBy7HIAcZRtvGaoWKxMKD2QKXgUdAMv6j/WU8AHs/eeo5B7id+DB3wXgReF545Pmfuod70306fnF/7MFhwsRESYWnBpPHh8h9CK8I3AjDSKcHy0c2Re+EgMN0wZeANX5avNR7bvn0+LD3q3bqtnO2CLZp9pT3RXh0eVm66rxbPh6/5wGnA1DFFsatB8hJH4nrymfKkUqoCi6JaYhgxx2FqsPWAizAPn4ZPEx6pnj0N0F2WHVAdP80VzSINQ/16PbK+Gv5/7u4PYa/2sHkw9SF2oeoyTKKbYtRDBfMfswGC/CKxEnJSEsGloS6gkdATj4fu81557f9thy0z/PgsxQy7jLuM1D0UHWjtz6403sSPWm/h8IaRE7Gk8iZilGL8AzrTb1N4s3cDWwMWcsvCXfHQ0ViAubAZH3ue1f5M7bStQOzk7JMcbRxDzFcsdky/bQ/9dK4JnppfMg/rgIHRP8HAkm+i2RNJc55TxdPvE9ojt/N6YxQiqKIcEXMA0rAgb3Fuyy4SzYz8/eyJHDE8CDvu6+VcGnxcXLg9Ol3Obm+PGH/TYJrxSVH5MpWjKlOTg/5kKQRCZEqUEpPcc2sy4qJXMa4A7MApT2luov37rUicvmww2+L7psuNS4ZrsSwLTGHc8M2TbkRfDd/JsJHRYCIuwshTaAPp5ErEiKSiVKf0epQsc7DDO6KCAdlxB+Az32OenY3HvRfMcqv8e4ibSRsvGyqrWousfB0sqE1Yzhje4j/OUJaBdDJBIwdjodQ8NJMk5FUOlPH036R6BASDc4LMYfUBI/BAD2AOit2nDOqMOsusOzJa/3rE2tJ7BwtQO9psYR0uve0uxb+xUKjxhXJgEzKj55R6VOc1O9VW1VhFIYTU5FYzuhL2IiDBQNBdz16+ax2JzLE8BytgWvB6qip+un4KpvsG24nsK1zlXcF+uH+i0Kkhk8KLk1oEGRSz9TbFjsWqxaqlf9Uc1JWD/vMvAkxhXoBdH1++Xj1gDJvrx9spCqNaWYos+i3KWoqwe0vL51y8/ZXemn+SwKcBryKTg41ERiT45XF13QX6JfjFylVhdOJEMgNm0nfhfNBt31L+VG1Z7Gq7nRrmimsaDcnQCeHqEgp9ivBrtUyFvXqOe9+BQKKht3K306xkfpUo9bcmFkZEpkJmELWypSxEYwOdgpMRm7BwD2h+TY03fE3LZwq5CigJxymYCZqpzbouOrf7dVxfvU+eXL9+YJwBvMLIY8ckojVj5feWWjaKFocmUtXwBWMkocPCws2xqwCDn2A+Sc0o3CU7RdqAqfpJhelVOVhZjeniyoKrR8wrPSU+TT9qMJMhzwLVI+10wPWZhiKGmKbKJsbmkFY5dZbE3hPmcufByrCYb2ouOQ0d/AEbKZpdqbIZWkkX6Rs5Qsm7ekDLHMv4bQuOLX9UwJghzjLuE/9U6qW51lfmwXcEtwFm2QZupcblB8QYYwEB6oCuf2Y+O10G+/GLAnowKZ+pFFjgOON5HJl4ehJ65IvXbOLOHY9OIIsBymLzJByVDzXUhod29Gc5dzZnDKafZfNVPoQ4YylR+oC1n3RuML0D2+aK4HoYSWMI9Gi+aKFI64lJ+ef6v0uobMr9/Z82cIvBw4MEVCVFLpX5lqEXIVdoV2W3OxbLhivVUkRmU0CSGmDNz3SuOQz0m9Aq07n2CUxoypiCmITYv8kQOcF6nRuLnKRN7b8t0HqBybMBpDlVOLYY9sSnSBeBB583VBby1lBFgsSB82aSKjDW74beNFz5K856vEnZmSvopvhs+F5IiYj7aZ8abkthLJ79zh8UUHdhzPMLJDi1TXYiduInaIejh7K3h4cVJnCFr/SbM3tCOaDgz5r+Mozxm8FqujnDCRGImahNqD3YaOjbqXEaUttZLHsNvs8KAGJhzVMAxEN1XOY2FvlXcqfPt8AXpUcyVpxFuYSx455iSMD7b5DeQ5z927j6rWmyWQ14csg0uCOYXiixGWeaOxszzGitr/7/EFuhutMCpEmFVwZD1wpHhkfVZ+c3vRdKNqOF33TF46/iV1EGr6h+R3z927U6pgm3iP+oYmgiSB+oOUir6UKqJxshPFgNkb7zoFMxtbMA1EsFW8ZLpwT3k2fkl/gHzvdctrYV4YTnE7+iZTESX7GuXfzxi8X6o+myqPgoaJgWWAIYOmicKTKKFusRjElNhD7nsEkxrdL7VDgFWzZNlwlHmfftJ/JX2tdptsPV/7TlM81yclEub7xuVx0Iy8tKpxmzqPb4ZUgRGAroIZiR+Tc6CssE7Dxtd47bgD3Bk3LyRDCFVXZJtwdHmffvJ/ZH0IdxFtyl+dTwU9lCjoEqv8iOYq0Tm9T6v3m6iPwYaJgSaApILviNaSDKArsLXCGte87PECEBlqLlxCSVSnY/9v8Hg2fqh/O30BdyxtCWD8T4Q9LymcE3P9XucK0h2+MKzPnHKQeIcmgqWAAYMoieiS95/ur1HCkdYR7CoCMBh4LV5BRlOmYgdvCHhlffR+qXyXdu1s9l8YUM49pik9FDr+R+gO0zW/Va35nZiRkYgqg46BxoPDiVWTMqD0ryHCLdZ662MBPxdjLCxAAFJVYbRtvnYtfNd9sHvJdVJskl/vT+I99ynKFAD/QOk01IDAvK5xnxeTDIqWhN+C84TCih+UvqA/sCjC7tX36p4APhYsK8g+eVC2XwlsE3WOelJ8UHqZdFpr3V6BT789IipCFcL/SOp71fzBYrA3oe6U54tnhpiEh4YkjEOVnaHQsGfC19WL6uD/LxXXKTU9s07KXQZqCHOLeGZ6iXgGcwhq1V3NTmU9JSqjFX4AXOvf1qbDRrJHoxuXII6biLeGgIjojcSWzqKosd7C6dU26ib/FhRlKHQ7sUyWW69noXAmdhR4XnYScVpoe1zSTdI8/inrFTQBe+xe2HzFZrSfpZuZtZAxizqJ3YoMkJ+YUKTGso3DJdb76XX+8xLYJok5dkoaWQdl321gc191z3O+blJm0FqRTAU8rikZFuABoe332XvHvbY9qGyco5MnjiCMnI2QktOaJKYqtHfEi9ba6c39yRE0JXY3A0hbVg9ixWo8cEly4HALbPFj1FgKS/86MiksFoICzu6n26HJSrkdq4qf6JZ4kWWPvJBylWCdSKjUtZnFHNfV6TH9mhB6Iz41XUVaU8teV2e9bNVukW37aDlhiFY9ScA5iigiFhgD/+9r3evLCbw9rvOif5ojlQeTOpSvmESgvKrEt/XG2tft6aP8aA+tIeMyhkIcUD5bl2PmaAZr5mmRZSpe7VMrR0c4tyf7FZ8DMvFA31bO976ZsaKmZ54lmQOXEphGnH2jfa34uYvIxNgj6iP8NQ7PH2kwgT+kTG1XiV+8ZN5m4WXPYchaBVHURJU2tya2FRcEZPIl4d/QEsIttZWqmqJ4nVabQpwzoAini7BwvFnK2tl46rP7Aw3kHdItUjz1SFlTMVtAYGFihmG3XRRX0007Qqo0iiVRFX4ElfMW44PTVMX2uMeuFqcbovufxqBzpOOq47Mqv2DMHdvt6lX71AvtGyEr/DgTRQlPk1Z4W5Rd2VxOWRJTVkphP4gyMiTNFNMEwfQS5T/WvMjwvDWz1asHp/Ckm6UEqQyvgrckwp3Oi9yB6wr7qwruGVsogzUCQX9Ks1FoVnpY3VeXVMROlEZHPC8wrSIpFBUF6PUV5xDZRcwXwdq31LA6rC6qvarhrX6zaLtexRHRJt427NL6iAnoF4El6zHHPMFFlkwTURhTllKVTy5KjULvOKEt/CBjE0IFBvcd6fLb7M9mxbG8DravsbOvKLAHsze4j7/UyLrT7d8L7bD6bgjeFZciNy5kONJAQEeAS3JNCU1MSlJFRT5bNd4qIB9+ElkFG/gn6+PerNPaybbBfrtgt3m11rVxuDS998OEzJbW3eEB7qP6XwfUE6EfayrfM7c7t0GyRY1HO0fBRDZAvjmPMeonGx13EVsFJPkx7d7hg9duzuXGIMFJvXu7w7scvnDCm8hs0KPZ+OMY7636XAbKEaAciiY9L3U2/zuwP25BMEH4Ptw6/jSMLcUk7BpQEEUFIfo57+LkbNsf0znM7sZkw7XB68ECxObHeM2I1N/cOuZP8M/6ZgXFD5oZmiKAKhExHTZ9ORs77Tr2OEk1BjBWKXEhlRgJDxcFD/s88evnZN/n16zR48ytySHISMgfypTNidLX2EngpOim8Qj7gATFDZAWnB6uJZArFjAgM5g0dzTAMoIv2yrwJPIdGRaiDdIE7vs48/bqZuPB3DrX+dId0LnO1c5u0HPTzNdU3d3jNOsd81r7qQPNC4UTlhrMIPYl8CmeLOwt1C1aLIspgSVdIEkadxMdDHQEu/wr9f/tb+er4d7cLNmv1njVjNXp1oHZPN384Zrn5+2y9MT75QLgCX0QjBbdG0kgsSP8JRwnCifKJWkj/B+gG3oWshB5Cv4Ddv0S9wTxeuue5pPid99e3VjcaNyL3bbf1eLM5nzrvPBk9kb8MwL/B3sNgBLmFo4aXR1BHy4gHiAXHyEdURq+FoYSzQ24CG8DHv7t+AP0hu+X61To0uUk5FPjY+NP5A/mkejA64DvsvM0+OH8lQEsBoIKdg7sEckU+xZyGCcZFhlEGLkWhBS6EXIOyArbBsgCsv64+vf2jPOR8BvuOuz76mPqduov64bsbe7T8KPzxPYe+pX9CwFpBJQHcwrzDAEPjxCWEQ4S+BFYETUQmw6ZDEEKqAfjBAkCMv9y/N75i/eI9eTzqPLc8YPxnfEm8hbzZPQC9uL38/kj/GD+lwC4ArQEegb/BzkJIAqxCukKygpZCpsJmQheB/UFbQTSAjIBnP8Z/rb8fvt4+qn5F/nD+Kz40fgs+bn5cPpI+zn8Ov0//kL/OAAbAeQBjgIVA3cDswPKA74DkwNMA/AChAINApMBGwGpAEQA7/+s/33/Yv9b/2b/gf+p/9j/CgA8AGkAiwCgAKQAlQByADoA8P+T/yn/tP46/sH9Tv3n/JT8WPw5/Dv8Yvyt/B/9tf1s/kH/LAApAS4CMgMuBBUF4QWHBgAHRgdSByIHtAYIBiIFBgS6AkkBvv8h/oH87fpw+Rn49PYN9m71HvUk9YH1NvZA95v4PPoa/Cf+UwCQAskE7wbtCLMKMgxaDSAOfA5mDt0N4gx5C6wJhgcWBW0Cov/G/PL5Pfe89IbyrfBD71Xu7e0T7sfuB/DM8Qv0tfa2+fn8ZADfA0wHkgqUDTsQbhIbFDEVphVyFZUUERPwEEAOFAuCB6UDnP+D+3z3p/Mi8AvtfeqN6E3ny+YM5xPo2elU7HTvIvND97j7XgAVBbUJGg4gEqcVkRjEGi4cvxxxHEMbOxlnFtkSqw78CfAErf9a+iL1LvCm66/naeTy4V7gvd8W4Gvhs+Pf5trqhu/C9GT6QwAxBgEMgxGMFvMalB5QIQ8jwSNdI+MhXB/ZG3MXSRKDDEwG0/9K+eXy1exL53Tid95324zZydg32dXamd1x4UHm5us28gD5EQA0By8OyxTVGhwgdCS5J9AppSovKm4obiVCIQoc6xUUD7cHDgBV+MbwnukV41/drNgh1d7S9tF00lbUkdcO3K3hROih7473zP8bCD0Q8Bf4HhwlKir6LWowZTHhMN8uayueJpogjRmrETEJXwB798jui+YG33TYC9P2zlnMScvTy/TNoNG71iLdo+QH7Q32cf/oCCoS7xrxIvAptC8ONNk2/TdvNzA1TjHmKx8lKx1IFLcKxAC89uzsoOMj27jTms37yALGyMRaxbbHy8t+0aTYCOFp6oH0Av+ZCfYTxh2+JpQuDDXvORY9Zj7SPVs7EzcXMZQpwyDmFkkMPQEZ9jLr3eBt1yzPXMg0w9+/eL4Ov5/BGcZbzDnUdd3L5+vygP4vCp4VdCBbKgUzLjqaPx5Dm0QFRFxBszwrNvUtTySDGeINyAGR9ZvpRt7p09bKV8OnvfW5X7j1uLW7jMBXx+PP79kw5U7x7f2pCiIX9iLHLUA3FT8JRepIl0oCSixHKkIeOz8yzicdHIMPYwIk9Sno2tuX0LnGjr5XuEi0grIVs/+1LLt2wqfLedaZ4qvvSf0JC4IYSyX+MEA7v0M4SnZOVVDFT8hMckfrP2w2OyuvHikRDwPR9NvmnNl6zdbCBLpKs96u5axxrYCw/LW+vYrHFtMK4APulfxOC70Zcif/MwQ/KEgjT71Tz1VIVSlSiEyORHk6ky45IdESygOZ9LPljdeVyjK/vbWCrrqpjqcQqD6rArExuY7Dys+H3Vvs1Pt5C9MaaSnINohCTEzHU7xYAluHWktXZlEDSWE+0jG2I3kUkQR69LDkrtXpx867vLEEquKkgaL1oj2mQqzWtLm/mMwR27PqB/uMC8QbMCtXOctFKVAfWG1d6V99XylcB1ZETSJC9TQkJiAWZAV19NLj/9N4xa24Ba7TpVigwp0lnoKhwKewsA+8hcms2A7pLvqFC48cxiyrO8pIu1MoXM5hf2QlZMBgaFpOUbZF+TeAKMIXQgaH9BnjgtJCw9G1maryoSGcVZmlmRGdgaPDrJK4k8Za1m/nTPlnCzUdKi7CPYJLAFffX9tlwmh8aAplhV4dVRpJ2TrGKl4ZJwew9IbiNtFKwTyze6dknj+YPZV4le+YiJ8TqUa1xcMf1NflY/gzC7cdXS+bP/RN9llCY5BprWx+bARpWGKtWEtMkz31LPEaEwjv9BbiHdCPv++wrqQtm7eUgJGikR6V2pukpTCyH8H+0UnkdffqChQeXTA3QR1Qm1xOZutsPXAocKts4GX6W0ZPJEAJL3kcBAlC9crhNc8TvuuuMqJNmIqRHo4mjqOReph5olOvpL74z8jigvaNCk4eLDGTQvtR7V4Baepvb3N1c/pvF2kCXwZSiEL/MPMd+Amp9aHhf87WvDGtCqDHlbuOG4sHi4CObJWWn7GsWLwRzlXhjvUdCmYeyjGxQ5BT62BZa4lyQXZkdu9y/GvAYYlUvUTWMl4f7Qoh9pvh+s3Yu8KrNp6dk0yMeohJiLmLspL+nE6qPLpMzPPfmfSdCVweNjKPRNlUlGJVbcd0sXjyeId1i24xZMtWv0aJNLYg4Aup9rXhps0Zu5+quJzQkT6KPYbthVGJT5Czmi2oU7iryqXep/MNCTIecjIvRdZV52PzbqN2vHoce8B3wXBUZstYjUgXNvoh0QxA9+7hgc2ZusepkJtikJSIZYT1g0mHRo65mE+mobYwyWzdufJvCOkdfzKQRYlW5GQycBt4YHzgfJZ5nHImaIVaI0p+NycjvA3k90bijM1WujqpvppSj0+H9IJkgqOFmYwRl7mkKLXex0vc0PHGB4MdXjK0RfBWi2UTcS55nX0+fgp7GnSjafdbf0u7ODwkoQ6T+LvixM1RuvmoQpqhjm6G64E7gWKES4u+lWuj6bO3xkTb8PASBwAdDzKbRQxX22WUcdx5cn4zfxh8OXXLaiBdoEzMOTUlfA9L+UvjKc6IugGpHZpPjvOFS4F6gIeDW4rBlGii57K9xVnaGvBWBmMclTFHRd9W1mW2cSR63n6/f8B8+HWca/1dgk2uOhImTRAK+vXjuM76ulOpTZpcjt6FE4EjgBODzYkclLKhJLLyxIvZT++UBa4b8TC4RGlWfGV6cQd64X7hfwF9VnYVbIxeJk5hO88mERHQ+rbkcc+lu+2p0ZrIji2GRYE1gAWDoInRk0qhobFYxN7Yku7MBOEaJDDwQ6xVzWTgcIV5e36af9p8UnYzbM1eiE7iO2wnxhGY+43lUdCJvM2qqZuQj+KG4IGygGCD1YnfkzChYLHxw1LY5e0DBP8ZMS/xQqhUzWPpb594rH3pfkx863X3a75eqE4wPOcnaxJj/HnmV9GivfOr0py1kPmH44KXgSKEbYpJlGehYrG9w+nXSu04AwsZGS69QWFTe2KXblZ3dXzOfVZ7InVga19ehE5JPD4o/RIt/XbngdLwvlutS540knOJTITmgkuFaIsNle6hqLG+w6XXwexuAgUY3ixWQNhR2mDrbKt12XpMfPp59nNvaq9dHE4tPG8oexP1/YPozNNwwAWvE6AMlE6LHIachNuGxYwtlseiMrL2w4fXTuyoAfEWgyu+Pg5Q7V7naqFz13hiejd4aHIiaa5cb03aO3ko5BO6/p7pNtUfwu6wJqI7loiNT4i5htCIhI6nl/GjArNkxJDX8evmANAVCir4PAhOtVyOaDlxcnYTeBB2eXB7Z1xbfUxQO1woNRR4/8Xqvdb8wxKzgqS9mB2Q5Io6iSmLo5B7mWulF7QKxcLXq+srAKMUdSgGO8ZLNVrjZXZurXNhdYVzKm56ZblZRUuOOhYobhQuAPbrX9gDxnC1JaeRmw2T2Y0djOWNIZOomzancbXpxR3Yf+t5/28TxybqOExJcFfnYlpriXBNcppwfWshY8ZXyEmTOaYnjRTcAC7tGdozyAW4DKq0nlSWK5FgjwCR/JUtnlGpELcAx6LYbuvR/jQSAiWoNp5GaVSfX+lnCm3bbk9tdGhwYIRVBkhgOAsnkBR/AWvu6duHys26M60hou6Z1pQAk3mUM5kIobqr9LhPyFLZeOs1/vQQKCNCNL1DI1ENXCdkM2kNa6hpEGVqXfRSAEb0NkYmeBQVAqzvy93+zMW9lrDXpdmd2Jj7lk2Yw5w4pHCuHLvXyS3an+um/bMPPSG7Ma5Aok01WBVgB2XnZqhlVWESWhhQt0NRNVUlQhScAu7wvt+Uz+rAM7TQqRCiLZ1Mm3mcqaC5p3Kxhr2WyzPb5Osm/XEOQx8XL3M96kkbVLlbimBsYlJhRV1oVvFMLEF1Mzkk7xMUAy/yv+FG0jnEBrgKrpCm0aHwn/mg4qSLq760MsCNzWXcR+y2/DENPB1YLBE6/UXCTxZXwVugXalc41hvUoFJYD5jMfIifBN8A23zy+MR1a7HC7yAslWrwKbjpMqla6mpr1G4HsO6z8LdyexY/PYLKxuBKYo24UEwSzFSrlaHWLFXM1QsTstFVTscL38h6xLQA6b04OXy10bLPcAtt1qw9ashqueqQa4RtCm8R8Yc0krfau0N/MAKExmXJuMymT1oRg1NV1EmU25SOU+gSdJBDTifLOIfOhISBNj1++fl2vvOmsQOvJq1bbGlr02wX7PAuEPArcmz1P3gK+7V+5EJ9habIx8vKjlvQbFHwEuATeZM+EnQRJg9ijTvKRoeaRE+BAL3Gero3czSG8kewRG7Ibdrtfi1wrixvZ3ETc1819niC++z+20I1xSSIEMrlzRKPCBC70WbRxtHdES+PyA5zzANJykceBBWBCH4OOz34LTWvs1YxrrADr1tu+G7Zb7iwjLJI9F22t7kDPCn+1MHuRJ+HVEn5i/9NmA86D99QRNBsz5wOm003Sz8IxAaaA9XBDX5Vu4P5K/afdK3y5HGLsOnwQbCRMRNyADOL9We3QvnLPGx+0cGnRBjGk4jGiuMMXU2sTkpO9Q6uDjoNIQvuSi9IM8XOA5BBDr6b/At57neVdc30Y7Me8kTyF/IWcrvzQPTa9nz4F/pbPLS+0gFhg5DFz4fOCb+K2YwTzOlNGI0iTIsL2gqZSRSHWkV6QwUBDH7g/JN6s7iQNzT1q7S8c+tzunOoNDE0zfY1t1z5NjryvML/FoEdwwjFCQbRSFXJjcqxyz4LcItKyxBKR4l5B++Gd4SewvPAxf8jfRt7evmOuGE3OvYidZt1Z3VFNfF2ZjdbOIa6HTuR/Vc/HwDcQoFEQUXRBycIO0jICYmJ/smoiUqI6gfOhsEFjEQ8AlyA+z8jfaJ8AzrP+ZH4kDfPt1O3HbcsN3w3yLjKufn6zLx4PbF/LECdwjsDeQSPBfSGo8dXx82IBIg9h7uHAwaahYmEmMNSAj+Aq79gfie8yzvS+sW6KblCuRM427jbeQ95s/oC+zV7w/0lvhG/fkBiwbaCsUOLxL/FCIXiRgtGQwZKhiQFk4UeREoDncKhQZxAlz+Zfqq9kjzV/Dt7Rns5+pf6n/qRuup7JzuC/Hj8wr3Z/rf/VQBrwTUB6wKIw0nD6sQpRESEvARRBEXEHMOagwMCm4HpgTMAfb+Ofyq+V33YfXF85Py0PGB8aTxNvIu84P0KPYM+CD6UvyP/sUA5ALcBJ0GHAhPCTAKuQrqCsQKTAqHCYAIQQfWBUsErwIQAXr/+v2b/Gb7ZPqb+Q75v/it+Nb4NvnH+YH6XPtO/E/9Vf5X/0wALQHzAZsCHwN9A7YDygO7A44DRQPnAnoCAwKJAREBoAA8AOn/p/96/2H/W/9o/4T/rP/c/w4AQABsAI4AoQCkAJMAbgA1AOn/i/8f/6r+MP63/UX94PyO/FT8OPw9/Gb8tfwq/cP9ff5U/0EAPgFEAkgDQgQoBfAFkwYIB0kHUAcbB6gG9wUMBewDnQIpAZz//v1f/Mz6Uvn/99/2/fVk9Rz1KPWM9Un2Wve7+GL6RPxV/oMAvwL4BBsHFQnWCk4Mbw0sDn4OXw7MDcgMVwuBCVUH3wQzAmX/ify3+QX3ivRb8orwKu9H7uvtHO7c7ifw9/FA9PL2+vlB/a4AKQSUB9UK0Q1uEJcSOBRCFagVZhV7FOkSvBABDssKMgdQA0X/LPso91jz3O/P7E3qa+g758nmG+cx6Afqkey973bzn/ca/MMAeQUVCnQOcRLrFccY6hpCHMEcYRwgGwcZIhaFEkwOlAmBBDv/6fm19MjvS+ti5y3kx+FH4LvfKeCS4e7jLec36/HvNvXg+sEArwZ6DPQR8RZJG9gefyEoI8MjSCO3IRsfhBsMF9QRAgzDBUj/wPhf8lns3OYW4i3eQ9tx2cfYTtkF2+HdzuGy5mfsw/KV+aoAywfADlIVThuCIMQk8SfuKagqFio6KCAl3SCQG2AVew4WB2r/svcp8AvpkuLw3FTY5NS90vPRj9KO1OXXe9ww4troRvA7+HwAywjmEI0YhB+TJYgqPC6OMGkxxTCjLhErKSYNIOwY+xB3CKL/v/YT7uPlcN7116bSsM4zzEXL8cs0zv/RONe43U7lwu3T9joAsAnrEqIbkSN4Kh8wWTQCNwI4TzftNOkwYiuAJHYcgRPmCe//6PUf7OLiedoo0yjNq8jWxcPEe8X8xzbMCdJM2cfhO+te9eT/eQrOFI8ecSctL4Q1RDpFPWw+sD0RO6M2hTDkKPofChZgC08ALfVP6grgsdaMzt7H28Kuv3G+Mr/swY3G9Mzx1Ejesujf83r/JguMFlEhISuuM7M6+D9SQ6NE4EMMQTk8izU1LXMjkhjkDMMAjvSi6F7dGdMmysvCRL2+uVa4G7kJvAvB/cer0NXaK+ZY8v3+twsmGOgjny74N6c/cEUjSaFK3EnWRqZBcjpuMeAmFxtvDkgBC/Qa597atc/5xfW967cMtHeyPLNYtrS7KcN/zHDXqOPJ8G7+LQybGVAm6DEIPF5EqUq1TmFQnU9tTOZGMz+MNTwqlx0AEN8Bo/O45Y3Yh8wHwl+51LKbrtismq3esIy2fL5wyB7ULOE279D9hwzqGooo+zTaP9NInU8CVN5VH1XJUfRLy0OLOYMtDiCVEYUCV/N85GvWkclUvgy1A65yqX6nOqigq5qx+rmCxOLQut6g7SL9xgwTHJQq1DdtQwNNSlQHWRNbXVrnVspQNUhnPbMweiIrEzoDJfNm43rU1cbiugCxfKmUpG+iH6OjpuCsqbW6wL/NVdwK7Gf86gwWHWwsczq+RutQq1i+XfxfUl/CW2VVbUwbQcgz2CTAFPsDDfN34rvSVMS0tz2tQqUEoK2dUJ7soWWojLEbvbnK/9l26qD79gzzHRIu1jzKSYhUvFwlYpZk+mNVYMBZblCkRL42JSdSFsgEDvOt4S7REMLLtMapWaHHmz2Z0Jl+nSukp62oudTHvNfm6M766AypHoYv+z6PTNhXfGA3ZttoUmidZNddNVT/R5I5XinfF54FJ/MK4dPPCsApsp6mxJ3glyOVopVdmTig/qlnthHFjtVd5/T5www6H8cw4kAMT9ha52PyaclsVGyVaKdhvlcnS0E8gCtlGXwGWPOM4KzOQ77Rr8ejhJpSlGKRzJGOlY6clqZZs3bCeNPc5RP5iAylH9UxiUJAUYZd+2ZTbV1w/m86bCplBVsZTsg+iS3hGmAHnvMz4LfNu7zCrUKhnZcfkf2NT44UkjKZcaODsATAfdFm5C34NwzsH7Ay8UMpU+FftWlXcJJzTXOIb19oCF7SUCRBdi9QHEgI+PP+3/bMc7v+qxGfEZVLjveKL4vyjiaWkqDorb+9n8/94kP30wsPIFgzGUXHVOdhE2z7cmh2PXZ8ckFrwmBPU1FDRDGxHTIJZvTt32fMa7qHqjad4JLXi1OIb4gsjG6T/p2Kq6q74s2k4Vj2XAsPIM4zAUYYVphjFW4+ddp4zXgUdc5tMGONVU5F8DIBHx0K5fT+3wnMo7lcqbGbDZHFiRKGEYbDiQ2Rtpttqce5R8xd4G711QrtHxM0qUYeV/JkuW8ed+h6+HpNdwNwUWWJVxdHeDQ/IAYLdfUw4N3LG7l9qIKamY8XiDeEGIS6hwSPvZmSpxm40soq34b0PgqsHyc0EUfWV/Rl/XCaeJB8v3wled5xIWdBWalI2zVnIewLEvaB4OHL07jqp6uZhI7OhsOChIIUhleNFpj+paK2g8kO3qPzmglLHws0OkdDWKBm4nGxedB9H36aelxznmiyWgNKFDd3IswMvPbx4BTMyLijpyuZz43phbeBWIHShAiMw5axpGW1X8gK3cby6gjMHsEzJkdkWPVmZ3Jjeqh+Fn+qe310xmnaWyNLIzhvI6UNcfd94XXM+7iopwGZeo1rhROBlYD0gxeLxpWuo2S0Zscg3PLxMQgyHkoz1UY6WPNmjXKuehd/pX9UfD11mGq3XAZMBjlKJHUOL/gl4gLNa7n3py6ZhI1ThdmAO4B+g4aKH5X2oqCzmsZT2yjxbwd+HacySEbGV5tmU3KTehx/yn+XfJ51E2tJXatMujkJJTkP9Pjm4rrNFbqPqLGZ7Y2ghQmBS4Bug1eK0ZSMohuz/8Wk2mrwpwaxHNsxgUUKV+5lu3EUerh+hX90fJx1NGuMXQ9NPTqoJfAPvvm+45vO+LpvqYeatY5ShqGBxYDFg4mK3ZRvoteylMUV2rrv2wXOG+YwgUQGVu5kxXAveex91n7oezl1/GqCXTNNjzomJpgQjPqs5KLPE7yVqrGb2Y9oh6GCqIGEhB6LQpWiotSyW8Wo2RvvDQXWGswvS0O+VJxjc2/nd7d8v332enN0amonXRRNrTqCJi8RW/ut5c/QY70ArCudWJHiiAmE9IKqhRSMApYkoxSzV8Ve2Y3uPgTMGY0u4UEyU/phx209dhx7P3ydeUxzfWl9XLJMmDq6JrMRKfzA5h/S576srfSeMZO8iteFqIQ2h22NG5f2o5izh8U42RLucQOxGCwtREBlUQpgwmszdBx5WHred8NxNmiDWw1MTDrMJiQS9fzi55DTnMCZrwqhYZX2jAmIwoYniSaPj5gYpWC07sU52aztpwKIF6wreD5aT89dZ2nLcbl2DHi7ddlvlWY4WiNLyzm4Jn4SvP0R6R/Vf8LDsWuj5peMj56KQIl8iz+RXJqLpmy1isZh2V3t4gFTFg8qfzwSTUpbuWYHb/RzXHU1c5BtnGSeWPVJEzl8JsISfv5M6srWjsQntBKmvZp9kpKNIYwzjreTgpxNqLy2Xsex2SbtJQEUFVcoWjqSSoBYumPqa9FwS3JNcOpqSmK0VoJIIzgYJuwSN/+P647Yx8bDtv+o453FleOQYY9KkYyW/55eqlC4acgq2gjtcADNE4cmDjjbR3JVbWB3aFJt224Hbedno198VMxG/TaLJf0S5//Z7GnaJsmUuSysVaFimY+UAJO+lLyZ0aG9rCm6q8nM2gTtx/+AEqIknjXxRCVS1lyxZHppD2tlaYpkplz3UdJEnzXTJPMSigAo7lncqMuWvJivEKVQnZGY+JaOmEWd+KRor0O8JcuY2xztKP8wEakiCzPXQZxO+FicYE5l62ZpZdZgVlkmT5ZCCjTyI84SIgF571reSs7Hvz6zEKmLoeecR5u1nCShcKhesqC+1syO3FDtmP7fD6AgWTCRPtpK11Q8XNBgcmIYYc1ctlULTBlAPjLmIosSqwHK8GrgCtEiwxq3Ua0Qpo2h6Z8woValN6ydtT7BvM6v3aLtF/6ODokejC0iO+RGeFCUVwRcp11zXHNYyFGoSFw9PDCwISsSJAIa8ofi5NOkxiq7z7HZqn2m26T9pdepS7AjuRrE2dD73hHupv1ADWccpiqON71C3UuqUu9WkFiAV8tTj00ARWA6BS5QIKwRjAJm863k1dZJymi/hbbkr7WrGKoWq6WuqLTuvDTHKtNw4J/uR/33Cz0aqifYM2k+DEeATZZRL1NCUthODkkUQSg3myvGHg8R4QKs9Nvm2tkOztDDb7sqtS+xm694sLyzTLn6wIrKrtUP4kvv+/y0Cg0YnSQFMO05CUIeSPxLik2+TJ9JSUToPLYz/SgTHVMQIwPq9Q3p79zv0V/IicCouue2YLUethe5Mr5GxRjOZNjX4xbww/x6CdoVgSEYLE012TyGQihGpkf3RiNEQz9+OAwwLyY2G3gPUQMf90DrEeDn1RDNzsVZwNe8YrsDvLK+V8PNyd7RStvH5QHxofxKCKYTWh4VKI0wgTe+PB1Ah0H0QGo+ADrbMywsMSMzGX4OaQNJ+HTtPeP02d7ROcs3xvvCnMEjwonEt8iMztfVXt7e5wryk/wnB3QRKhsAJLErBTLLNuI5Mzu4Onc4hDQBLxkoByAIF2YNawNm+aTvb+YQ3sXWxdA9zE3JCch5yJbKTs6A0wLan+Eb6jLznfwRBkYP9hfdH8AmaiyzMHszrzRKNFAy1C70KdcjsRy5FC8MVgN1+s7xpek54sDbbdZm0sfPo87/ztbQFtSk2FreCuV97Hj0vfwKBSANwBSwG7whtiZ6Ku4sAS6uLfkr9Ci4JGkfMhlFEtoKKgN0+/Hz2+xp5szgLNys2GXWZNWw1ULXDNr23d7inOgC79z19fwTBAILixF9F6oc7SAnJEEmLifqJnkl6SJSH9IajRWvD2cJ5wJi/An2DvCe6uLl/eEL3x/dR9yG3NbdK+Bw44jnU+yo8V33RP0uA+8IWw5HE5AXFRu/HXofPSADINMeuBzFGRUWxRH5DNkHjAI+/RX4O/PT7v/q2+d85fLjRuN744zkbeYO6VfsLPBt9Pn4q/1cAuoGMgsTD3ESMxVHF54YMhkAGQ4YZhYXFDYR3A0lCi4GGQIG/hP6XvYF8x7wwO3569bqW+qK6l7rzuzL7kTxI/RQ97H6Kf6dAfUEFAjlClMNTA/FELQRFBLnETAR+A9MDjoM1gk0B2oEjwG6/gD8dvkv9zv1qPN+8sXxgPGs8UfyR/Ok9E72N/hO+oL8v/70ABADAwXABjkIZQk+CsAK6gq9Cj4KdAloCCQHtgUpBI0C7QBZ/9v9f/xP+1H6jfkF+bv4rvjc+EH51fmS+m/7Y/xl/Wv+bP9fAD4BAwKnAigDgwO5A8oDuQOJAz4D3wJwAvkBfwEHAZgANQDj/6P/d/9f/1z/av+H/7D/4f8TAEQAbwCQAKIAowCRAGoALwDi/4L/Fv+g/ib+rf08/dj8iPxR/Df8P/xs/L78Nf3R/Y7+Z/9VAFQBWQJdA1YEOgX/BZ8GEAdMB04HFAebBuYF9gTRA38CCQF6/9z9Pfyr+jT55PfJ9u71W/UZ9S31mfVc9nX32/iI+m/8gv6yAO8CJwVHBz0J+QpqDIINNw6ADlcOuw2tDDMLVgkjB6gE+AEo/0z8fPnO9lj0MPJp8BLvOu7q7Sfu8u5J8CTydvQv9z36if34AHIE2wcYCw0OoRDAElQUUBWpFVkVXxTBEocQwA2CCuIG+wLt/tX61PYK85bvlOwf6kvoKufI5irnUeg36s/sCPDL8/z3fPwnAd0FdQrNDsASLxb8GA8bVRzCHE4c+xrQGNsVMRLrDSoJEgTJ/nj5SfRk7/LqFufx457hMuC63z7gu+Er5Hvnlutd8Kz1XPtAAS0H8gxjElQXnRsZH60hQCPDIzEjiSHXHiwboxZdEYELOwW8/jX42/He62/muuHl3RHbV9nG2GfZN9sq3i7iJOfp7FDzK/pCAWIIUQ/YFcUb5yATJSgoCiqoKvspBCjQJHUgFBvTFOENdAbF/g73jO966BHig9z/16nUn9Ly0azSyNQ72OvctuJy6evw6fguAXsJjxEqGQ8gCCbkKnsurjBqMaYwZS61KrIlfh9KGEsQvQfk/gP2X+085dvdd9dE0mzOD8xEyxLMds5h0rfXUN775X7umfcEAXgKqxNUHC8k/SqIMKE0JzcEOC03pzSCMNwq3yO/G7oSFAkZ/xT1VOsm4tLZmtK5zF7IrsXAxJ/FRsijzJfS9tmI4g3sPPbFAFkLpBVWHyIowi/6NZU6cD1vPoo9xDowNvAvMSgvHywVdwpi/0H0bek53/bV7s1ix4XCgL9uvlm/PMIFx5DNrNUd35rp1PRyAB0MeRctIuUrUzQ1O1NAgkOnRLhDuEC8O+k0cSyVIp8X5Au//4vzqud43E3SeclDwuW8i7lRuEW5YLyNwabId9G82yjnYvMMAMUMKRnYJHUvrTg2QNRFWUmnSrFJfUYgQcI5mzDvJREaWg0tAPLyDebk2dfOPMVgvYO307NwsmiztLY/vN7DWs1p2Ljk6fGU/1ANsxpUJ9AyzDz5RBZL8E5oUHBPDUxXRnc+qjQ6KX0c1g6vAHXyl+SA15fLO8G+uGOyXa7QrMetQLEgtz2/Wcko1U/iavAK/74NFhygKfM1rUB6SRNQQ1TnVfFUZFFcSwRDmzhxLOIeVxBBARXyR+NM1ZHIer1ftImtL6l0p2ioB6w2sse6ecX80e/f5+5w/hEOUh28K904T0S2TchUTVkfWy1aflYrUGNHaTyRLz0h2xHjAdDxHuJJ08TF+rlHsPmoSqRhok+jDqeErYC2vsHozprdY+3H/UgOZx6lLYw7rUepUTJZCl4LYCJfVVu/VJFLEUCXMosjXxOSAqbxHeF50TTDvrZ5rLektZ+dnYCeWqIPqWyyKr7wy1Tb3+sS/WUOVR9cL/09xkpRVUxddmKnZMpj5V8TWYlPj0OANcgl4RRNA5bxQ+Dcz+HAyLP4qMagc5sqmQCa753bpJCuw7oYyR/ZX+pR/GgOGyDfMDBAmE2rWBRhjmbvaCFoKmQlXUlT30ZIOPQnYBYUBKDxkN9zzs6+G7HGpSidhpcNldOV0ZntoO+qi7dhxv/W5OiF+1IOuyAuMiRCIVC1W4ZkT2rgbCRsH2jvYMtW/knsOgkq1xfjBMHxBN8+zfq8t67louGZ85NJkfuRBJZHnY2nhrTQw/XUcOey+iUONCFJM9hDX1JtXqFntW12cM9vw2tvZAxa6ExqPQcsRxm6Bfrxnt49zGa7nqxXoPOWu5DijX6OjJLumW2kt7FowQTTBebY+eENhyExNEtFU1TQYGJqvXCvcx9zEG+gZwldmk+9P+otqxqXBknyXd5vyxO60KoenmCU4o3Zil2La4/mlpOhI68rvzDRp+T5+IgNtiHkNH5G+VXeYsdsZ3OHdhB2BHKAar5fEVLjQa8vAxx3B6zyQd7WygK5UKk7nCmSaYsxiJuIpYwwlAOfyqwcvXrPV+MY+BsNwCFkNW5HU1eWZM9urnX9eKF4m3QLbSliSlTZQ1QxSx1ZCCLzSd5wyjK4HaivmlCQU4nuhTyGPIrQkb6csao/u+bNF+I295wMpyGxNR5IYFj3ZXhwk3cOe8561XY/b0dkQ1adRdcygh47Carzct48yqK3N6d6mdeOoIcPhEGEM4jIj8ea2qiVuXbM6uBU9g0MbCHMNY5IH1n/ZsJxE3m5fJd8rXgZcRZm+FcsRzQ0pB8bCkH0vt45ylO3nqadmL2NU4aYgquCi4YcjiGZSKchuCvL0t929W4LESG2Nb1IkVmwZ6xyLnr8ffl9I3qYcpJnZ1mESGs1sSD3Cub0KN9nykO3U6YZmASNa4WJgX2BR4XLjM+X/KXmtgnK0d6d9MIKlyBwNa1ItlkJaDVz43rXfvN+NXu6c7toj1qiSXg2piHNC5j1sd/EynO3U6bsl6uM6YTjgLiAaITZi9CW+aTltRHJ6d3L8wsK/x/8NF9IkFkKaF1zMXtJf4R/4Xt8dI9pbVuFSlo3gSKbDFT2V+BPy9+3oKYWmLKMzoSmgFuA74NHiyiWQKQgtUbIHN0B80oJTB9bNNRHHlm1ZyZzGXtRf6t/J3zfdAtqAFwrSw84QCNgDRn3F+EGzIi4NqeWmBmNGYXTgGmA3YMVi9iV06OZtKjHa9xC8oIIfx6PMw1HY1gKZ5BynHrvfml/BnzgdC9qR1yTS5U44SMZDuX38OHnzGy5Fqhsmd+NyYVpgeCAMYREi+CVs6NRtDrH2tuQ8bQHmh2ZMg1GYFcKZptxuXklfr1+fnuAdPtpQFy6S+s4YyTEDrX44eLxzYi6PKmVmgKP3oZngsCB7YTUi0GW4aNKtP3GaNvs8OIGnxx8MdZEFla4ZEpwcnjzfKl9j3q/c21p6luhSw45xCRgD4j55uMhz9u7qaoQnIGQVojNgwmDD4bHjPyWXqSFtPPGGNtZ8A4GkBs5MGhDiFQUY51uyXZZeyx8OnmccoZoRltFS/84AiXqD1z6/uR10GK9WKzbnVuSMIqZhbqEl4cajhCYKqUCtRzH7NrX7zoFcBrTLsdBuFIiYZdsv3RbeUd6f3cYcUVnU1qnSrs4HCViEDD7J+bs0Ry/Sa70n4yUaozKh9GGhInOj32ZRabCtXrH5Npp72gEPxlNLfU/p1DjXjtqVnL4dv53YHU0b6tlEFnFSUM4EiXGEAD8XueC0wbBeLBYohOXAY9dikyJ1YvikUObr6fFtg3IAtsQ75kDARinK/Q9Wk5bXIpnkW81dFF13nLxbLljflehSJU34CQUEcz8o+g21R3D4rIEpe6Z85FRjSuMh45UlGGdaakLuNbIR9vN7tECtxbmKcg700uLWYdkc2wScUJy+29Qam9hnlU5R7E2iCRLEZH98ekF117FhrX2pxidPZWikGmPmpEil9afcKuUudXJs9uj7g8CZRULKHI5FEl4VjZh/miTbdVuumxUZ9BecFOORZc1CCRpEU7+SOvr2MfHX7grq4+g3JhNlASTCpVLmqCixK1huwvLSNyR7lcBCxQZJvY2IUYjU5pdNmW8aQxrHGn/Y9xb9VChQ0Y0XyNuEQH/pOzo2lXKa7uerk+kzZxQmPuW1JjNnb2lZLBvvXbMBd2a7qoArBITJFg0/UKST7dZHWGPZepmJWVSYJZYME5yQcAyjSJYEaj/BO733ATNpr5MslWoC6GnnEib9pykoSupTrO+vxjO7N2+7goASxH7IZkxqz/HS49VuVwQYXJi2WBRXABVIUsDPwMxkiEmEUEAZu8X39LPDcIztp2slKVNoeifbaHOpeisgbZNwu/P+9797nj/6Q/UH70uMDzHRyhRDVhDXKpdOVz+Vx1Ry0dUPBIvbSDYEMwAx/BE4bvSnMVMuiKxYqpAptikNaZIqvGw+rkaxfrRNeBa7/T+iQ6hHcgrjziVQ4ZMHlMsV5NYS1deU+9MMERoOe0sHx9tEEcBJvJ847zVT8mWvuG1cq95qxOqSasOr0S1t70kyDnUl+HU74L+LQ1lG7woyzQ1P6xH703RUTRTEVJzTnlIUkBBNpQqqR3kD7EBgPO85dHYI80Kw9S6vrT2sJavprAdtNy5tcFpy6vWIuNs8CH+1gsiGZ0l6DCsOqBChkg0TJBNkkxCSb9DNDzfMgooCRw9DwgC0/QB6PjbE9Gmx/i/Q7qwtlq1R7Zvube+8sXnzk7Z1eQi8dT9hwraFm8i6yz/NWU96EJdRq1H0EbPQ8Q+2TdGL08lQhp4DkwCHfZK6i3fHdVlzEjF+r+kvFu7KbwCv9DDasqb0iDcsOb28Zr9QQmSFDQf1ygwMQI4GD1PQI5B0UAePo05RTN4K2UiVBiVDXsCXveT7G3iOtlB0b7K4MXLwpXBRMLRxCTJGs+C1iHfsejo8nb9BghKEvAbsCRGLHoyHjcPOjs7mTozOB00ei54J08fQBaTDJQCkvjZ7rTlad041lbQ7sshyQLIlsjWyq/O/tOa2k3i2Or582f92QYGEKcYeyBFJ9Ms/TCkM7Y0LzQUMnkufSlIIw4cBxR0C5gCufka8f/opOFD2wrWINKgz5zOGM8O0WvUFNng3qLlI+0n9W/9uQXIDVsVOhwxIhMnvCoTLQguly3FK6UoUSTtHqQYqxE3CoUC0fpU80vs6eVf4Nbbb9hD1l7VxdVy11XaVd5R4x/pkO9y9o39qQSSCxAS8xcPHT0hXyRhJjQn1iZNJaYi+h5oGhUVLQ/eCFsC2PuF9ZTvMuqG5bXh194D3ULcl9z+3Wjgv+Po58DsHvLZ98L9qwNnCckOqRPjF1cb7R2UH0Eg8x+vHoEcfhm+FWMRjwxpBxoCzfyq99jye+616qDnUuXb40LjieOs5J7mTumj7IPwzPRc+Q/+vwJJB4kLYQ+yEmcVaxeyGDUZ9BjyFzsW3xPzEJAN0gnYBcIBsP3B+RP2wvLm75Tt2+vF6ljqlep36/Ps/O5+8WX0l/f6+nP+5gE6BVQIHQuBDXEP3hDBERYS3REbEdkPIw4KDKAJ+gYtBFIBf/7I+0P5AvcW9YvzavK78X/xtfFY8mHzxPR09mL4fPqx/O/+IgE7AysF4gZVCHsJTQrHCuoKtgowCmAJTwgHB5YFBwRqAssAOP+9/WT8N/s++n/5/Pi3+LD44/hL+eP5o/qD+3j8e/2B/oH/cwBQARICswIxA4kDvAPKA7YDgwM3A9YCZwLvAXUB/QCPAC0A3f+e/3T/Xv9c/2z/iv+0/+X/FwBIAHMAkgCjAKMAjwBmACkA2v96/wz/lv4b/qP9M/3Q/IL8Tfw2/EH8cfzG/EH94P2f/nr/agBpAW8CcwNqBEsFDgaqBhcHTgdMBwwHjgbUBd8EtwNhAugAV/+5/Rv8i/oW+cv3tPbf9VP1GPUz9ab1cfaQ9/34rvqa/LD+4gAfA1UFcgdlCRoLhQyVDUEOgQ5ODqkNkgwPCyoJ8AZwBL0B6/4P/EH5l/Yn9AbySPD77i7u6e0y7grvbPBR8qz0bveC+tH9QgG8BCMIWgtIDtMQ5xJvFF4VqRVLFUMUlxJREIANOAqRBqYClv5/+oH2vfJR71rs8eks6BvnyeY753PoaOoO7VPwIPRZ+N78jAFABtUKJQ8PE3EWLxkyG2ccwRw7HNUamRiUFdsRig3BCKIDWP4I+d3zAO+Z6szmt+N34R7gvN9U4ObhaeTM5/bryfAi9tj7vwGqB2oN0hK3F+8bWh/YIVUjwiMYI1ohkh7UGjkW5RD+CrEEMf6s91fxZOsD5l/hnt3h2j/ZyNiC2Wvbdt6P4pjnbO3f88D62wH4COEPXRY7HEkhYCVcKCQqpirdKcsnfiQMIJYaRRRHDdIFIP5r9vDu6ueR4RjcrNdx1IPS9NHL0gXVk9hc3T3jCuqR8Zj54AEqCjYSxBmYIHsmPiu4Ls0waDGEMCQuVyo4Je4epheZDwIHJv5H9avsl+RJ3fzW5NErzu/LRcs1zLvOxtI42OreqeY872D4zwFAC2oUBR3LJIEr7jDnNEo3AjgHN140FzBTKjwjBhvxEUEIQv5A9Inqa+Es2Q/STMwUyInFwcTGxZLIE80n06LaS+Ph7Bv3qAE5DHoWHCDRKFUwbDbkOpc9bz5hPXQ6uzVZL30nYh5NFI0JdP5W84zoad4+1VPN6cYywla/br6Dv5DCgMcuzmnW89+E6sn1bAEUDWUYByOmLPY0tDuqQK5DqESMQ2FAPDtENKwrtSGrFuQKuv6J8rPmlNuC0c7IvsGJvFy5ULhyubq8EsJSyUXSptwm6G30HAHSDSsaxiVIMF85wkA0RotJqUqCSR9GlkAQOcUv/SQIGUQME//a8QHl7Nj7zYLEz7wet5+zbrKYsxW3zryXxDfOZdnL5QnzuQByDskbVii1M409kUV/SydPbFA/T6lLw0W4PcUzNShhG6wNgP9J8XbjddaqynPAIbj2sSSuy6z5raaxuLcCwEbKNdZ0457xRAD1DkAdtSrpNn1BHUqFUH9U7FW+VPxQwEo5Qqc3XCu0HRkP/v/U8BPiLtSTx6O8trMTrfCobqecqHKs1rKXu3TGGdMm4S7wvv9cD5Ae4izjOSxFZE5CVY9ZJlv5WRBWh0+NRmg7bC79H4oQiwB88NjgGtK2xBW5k697qAakWaKEo36nLK5at8XCFNDi3rzuKP+mD7cf3S6hPJhIY1K0WVFeFGDtXuNaE1SxSgQ/ZDE7Iv0RKAFA8MXfOdAXwsy1uqsxpGyfk522ns6ivalQsz6/Ks2s3ErthP7UD7UgozAhP75LFVbWXcNismSUY29fYlihTnZCPzRqJG8T0wEf8Nrejc62v8qyL6g3oCSbHpk2mmaekKV9r+G7XsqF2tnr0/3oD4whNjJjQZxOelmmYeBm/WjrZ7FjblxYUrxF+zaHJt4UigIY8BjeFc2VvRCw8qSSnDKX/pQJlkuap6Hjq7O4tMdy2GzqF/3hDzoikzNkQzBRjVwgZaVq8Wzua6RnM2DSVdFIlDmQKEkWSwMs8H3d0su0u6GtCKJEmZqTN5ExkoCWBp6IqLe1LcV01gXpUfzCD8EiuzQkRXpTTl9CaBBuinCab0ZrrmMNWbNLBzyCKqwXFQRX8ArdxMoVun6rcZ9Oll2QzY2zjgqTsZpvpfCyzsKO1Kbng/uKDyEjrzWiRndVumEKax5xxXPqcpFu3GYFXF5OUj5bLAUZ5gSa8L3c7Mm4uKepMJ20k3+NwYqRi+qPq5eaomKwmcDD0lLmsPo8D1sjbTbeRydX0GN2bcxzoXbddYRxuWm2Xs9QcEAXLlMavAXy8JfcSMmctx6oRZt4kQGLFojOiCSN+JQNoA+ukr4W0Qvl2PnaDm8j9jbYSIpYj2WEbxh2GXlveBx0QmwdYQNTYEK1L5MblQZf8ZXc2cjDtuOmspmZj+eI0IVthruKmZLLnfururyIz9Pj/vhjDl4jTDeQSZ1Z9mYycQF4LnueelZ2dW45Y/hUH0QyMcMccAff8bfcncgttvald5gajjCH74NwhLKIk5DXmyeqFbsdzqziI/jaDSsjbjcGSmNaBWiBcoV523xofC94T3AGZapWqkWLMuAdSghw8vzclMjXtVillZf8jN+FdILZggmH5o4ympeopLnWzJnhSvdBDdUiXjc7Stpaumhvc6R6In7MfaZ5znGCZhhYAEe/M+keIQkR82LdvcjDtQelDJc/jPOEYoGpgcSFlY3fmEynari3y5vgdPaZDGAiHTcwSgRbF2n8c1x7/37Ifrl68HKrZz9ZHUjKNNwf9Qm/8+fdFsnutQSl25bii26EuoDhgOOEoozgl0imarfAyrTfpPXlC8shrDblSeFaHGkodK57c39cf2d7tXN/aB5aAEmsNbYgwQp69IrenslYtk2lA5fni1CEeoCCgGiEDYw3l46lpLb0yefe2/QlCxkhDDZcSXJayWjzc5h7fn+Gf7B7GXT9aLNaqEliNnYhhgs/9UrfVMoAt+KlgZdLjJmEpICNgFKE2Ivklh+lG7ZUyTXeG/RcCkwgQDWWSLhZIGhecx17H39Gf5J7HnQlafxaEkrqNhkiQQwL9iTgNsvjt8GmVZgQjUeFOIEBgaSEBIzplvyk0LXjyKDdZ/OMCWUfSTSWR7RYIWdrcjx6V36efg17wXP0aPlaPUpDN54i7wzf9hfhQcwAueinfpkyjlqGNILegVyFkYxGlyalxbWiyCvdv/K2CGceKjNcRmlXzmUacfd4J32MfSF6BHNraKhaKUpsNwQjkA229yDidc1Wulap+pqxj9GHmIMlg3uGf437l52l+rWSyNXcJvLdB1Qd4zHrRNlVKWRtb053kHsRfNB45nGJZwpa00ljN0kjIQ6Q+D3jzs7huwirx5yLkaqJYoXShP+Hzo4KmWOmcLa0yKLcnfECBy0ceDBGQwVUNWJnbUV1k3kwehl3Z3BOZh1ZPUknN2sjoQ5r+W3kS9Cgvf2s456+k+SLkYfnhuiJfJBxmnanKLcKyZHcJvEoBvUa6i5uQfFR818Ia9xyMnfqd/90iG67ZOJXZEi4NmkjDg9E+q3l6dGQvzGvSqFHlnyOI4pfiTSMipIwnNmoIriTyaXcxPBQBa4ZPS1nP55PZl1VaBZwb3Q/dYFyTGzQYllWSEcUNkMjZg8a+/vmpdOuwaKx+6MkmW+RFo07jOKO9pRGnomqXrlRyt/cdvB9BFoYcisyPRBNkVpPZfZsTXEzcqNvsmmPYIJU60U8NfYiqQ/r+1ToftX5w02086ZSnLqUZpB2j/CRvpeyoIas3LpFyz/dPvCvA/sWjCnTOklKeFf6YYBpz23JbmZsvGb4XV9STEQuNIMi1A+1/LfpcNdsxi+3LqrNn1yYEpQPk1uV4Jpzo9CunLxtzMbdH/DpApQVjidMOE1HHVRZXrVl92kCa85obmMOW/BPa0LrMugh6A92/SLredkFyUS6qK2So0+cFZgDlyCZWp6GpmSxnb7KzXTeGPAtAicUeyWiNR9Eg1BwWpphymXiZtxkyV/RVzZNSkBzMSYh4Q8t/pHsltvBy4q9X7Gep5GgbJxOmz2dKqLrqUK038Bdz0vfLPB8AbYSVCPWMsJAsExDVjJdSmFtYpRgz1tGVDRK6T3HLzsgwA/Y/gPuxd2czvzAT7Xtqx2lE6Hsn6+hTKadrWi3X8Mj0UngWvDYAEQRHiHsLzs9pkjUUYJYfFynXfpbhVdtUOtGSjvmLSgfhA91/3bvA+CU0ZjEc7l5sPCpB6bapHGmvqqcsdS6HcYe03DhpPBCANIP2h7nLIw5aUQqTY5TZFeSWBBX7VJKTF1DbTjSK+0dLA8CAOfwTOKk1FnIx71AtQSvQqsUqoGre6/jtYO+F8lL1cDiC/G8/2IOjBzLKbo1/j9ISFpOB1I1U9xRCk7fR40/VjWLKYoctw6AAFTyn+TL1zvMSMI9ule0wbCUr9mwgbRvunPCS8yq1zfkjvFH//cMNRqbJskxaTsyQ+tIaEySTWFM4kgxQ347BTIUJ/8aJg7tALzz+OYD2zvQ8MZqv+G5frZXtXW2zLk+v6HGuM862tXlLvLk/pML2hdaI7strjbuPUZDjkawR6RGd0NCPjI3fi5sJE0Zdw1GARz1VelL3lTUvMvExJ+/dLxYu1K8Vr9MxArLWtP53Jvn7PKU/jcKfBUNIJcp0jGAOHA9fUCSQapAzj0XOa0ywiqXIXQXqgyMAXP2s+ue4YPYp9BFyozFn8KRwWnCHMWUyavPL9fk34bpx/NY/uUIHxO1HF4l2SztMm43Ojo/O3c67De0M/Et1CaVHncVwAu+Ab/3D+765MTcrdXpz6LL+cj+x7bIGcsSz3/UNdv74pbrwPQx/qAHxBBXGRYhyCc6LUUxyzO7NBE01TEcLgQptyJpG1UTuQraAf74Z/Ba6BLhyNqp1dzRfM+YzjPPSNHC1IXZaN885srt1vUg/mgGbw72FcMcpCJtJ/sqNS0MLn0tjytUKOgjbx4WGBARlQngAS76ufK762rl9N+C2zXYI9Za1dzVpNeg2rfexeOj6R/wCPcl/kAFIQyUEmgYcR2KIZUkfiY4J8EmHyViIqEe/RmcFKkOVAjPAU/7AvUb78fpLOVu4abe6Nw+3KvcKN6m4BHkSegu7ZbyVvhB/igE3gk3DwoUNBiXGxoerB9EIOIfiR5JHDQZZxUAESMM+AaoAV78P/d28iXubOpn5yvlxeM/45njzuTR5o/p8ezb8Cv1wPl0/iIDpwfgC60P8hKYFY0XxRg3GeUY1BcPFqYTrxBDDX8JgQVqAVr9b/nI9YDyr+9p7b3rtepX6qLqkesZ7S3vuPGm9N33RPu+/i8CfgWSCFQLrw2UD/YQzhEXEtIRBRG4D/oN2QtpCb8G8QMVAUP+kPsQ+db28fRu81fysvF/8b/xa/J78+b0m/aO+Kv64fwe/1ABZgNSBQMHcAiPCVoKzQroCq0KIQpMCTUI6gZ1BeUDRwKpABj/n/1J/CH7LPpy+fT4tPiy+On4Vvny+bX6lvuN/JH9l/6W/4YAYQEgAr8COgOPA78DygOzA34DMAPNAl0C5QFqAfQAhgAmANf/mv9x/13/Xf9u/43/uP/p/xsATAB2AJQApACiAIwAYgAjANP/cf8D/4v+Ef6Z/Sr9yfx9/Er8NvxE/Hf8z/xN/e79sP6N/38AfwGFAogDfQRdBR0GtQYdB1AHSQcEB4EGwgXJBJwDQwLIADX/lv35+2r6+fix96D20PVK9Rb1OfWz9YX2q/ce+dX6xfze/hEBTwOEBZ4HjAk8C58MqA1LDoEORQ6WDXUM6gr+CL0GOASBAa7+0/sG+WD29vPd8Sfw5e4j7urtP+4i74/wf/Lj9Kz3xvoa/o0BBgVpCJsLgg4EEQ0TiRRrFagVOxUlFGwSGhA+De0JPwZQAj7+KPou9nDyDe8h7MXpDugM58vmTueV6JnqTu2f8Hf0t/hB/fEBpAY0C30PXROyFmIZVBt3HL4cJRyuGmAYSxWFESgNVggzA+b9l/hx853uQuqC5n/jUeEN4L/fbOAT4qnkHehX7DfxmfZV/D4CJwjiDUATGBhBHJgfAiJpI74j/SIpIUseehrOFWwQewooBKX9IvfT8OvqmOUG4Vrds9oq2czYn9mh28Pe8eIN6PDtbvRX+3MCjglwEOEWrxyrIasljig7KqIqvSmRJyokoR8XGrUTrAwvBXv9yfVV7lznE+Gv21vXO9Rp0vjR7dJE1e3Yz93G46XqOPJH+pEC2QrdEl4aICHsJpUr8i7oMGQxYDDgLfYpvSRcHgEX5g5HBmj9jPT56/LjuNyD1ofR7M3Ry0rLXMwDzy3Tu9iF31nn+u8n+ZkCBwwoFbMdZiUCLFExKjVqN/433zYSNKovyCmXIkwaJxFuB2z9bfPA6bHgiNiG0ePLzcdnxcXE8cXiyIbNutNQ2xDktu3694oCGA1PF98gfinmMNw2Lzu8PWs+NT0gOkI1vy7GJpMdbROiCIX9a/Ks55vdiNS7zHPG4sEvv3K+sb/owv7H0M4p18zgbuu/9mYCCg5QGeAjZS2WNTA8/kDXQ6VEXEMGQLg6mzPjKtMgthXjCbT9iPG+5bHautAnyDzBMbwwuVO4o7kYvZvCAcoV05HdJul59SwC3g4rG7ImGTEOOklBkUa5SaZKUEm9RQhAWjjtLggk/xctC/j9w/D34/bXIc3Mw0G8vrZus3CyzLN6t2C9VMUYz2Pa3uYq9N8BlA/eHFUplzRLPiRG40taT2pQCk9CSyxF9jzdMi8nRBqADE/+HPBX4mzVv8muv4e3jbHvrcysL64RslS4y8A1y0TXm+TT8n4BLBBpHscr3DdJQrxK8lC3VO1Vh1SOUB9KakGxNkQqhBzaDbn+k+/h4BPTmMbQuxGzoqy1qG2n1KjirHqza7xxxzjUX+J38QwBphDLHwYu5joGRg9PuFXLWShbwFmeVd5OtEVkOkUtvB45DzT/KO+T3+7QrMM1uOOuAqjHo1aivaPzp9iuObjQw0PRLOAX8IgAAxEFIREwsz1/SRhTMlqTXhhgs15sWmNTzUnzPS4w6SCaEL//2u5u3v3O/cDftACrr6Mnn46d8J5Ho3GqObRVwGfOBd617vb/QhEUIugxQkCyTNVWXF4KY7hkWWP1XqtXtE1aQfwyCSP8EVgAqO5z3UDNjr7QsWqnrp/bmhaZcZrjnkmmbrADvajL7dtU7Vb/ZhH7IoozkUKcT0NaM2IsZwVpsGczY7FbYlGVRKs1GCVcE/8Aku6h3LrLX7wLrySkAZzklvSURJbKmmai3azfuQrJ59n166n+bxG4I/U0n0Q8UmBdtWX2avxss2skZ3Ff1VShRzk4FSe4FLIBl+7422nKcrqQrDChrJhGkyuRbZICl8qeiKnsto7G9deb6vH9XRFNJCs2bEaQVCpg3mhmbpdwXm/DauhiClh6SqI6+ygPFm8Cte5420/Jx7hiqpGesJUFkL6N7o6Nk3mbdaYttDjEGtZJ6S/9MxG5JCo39UeXVp9irGt5cdVzr3INbhJm/FoeTeM8yipdFzQD7O4g22vIX7eCqEecD5Mija+Ky4tvkHaYpaOmsQzCWdT/52f88BD+JPM3O0lRWL1kHm4rdLR2o3X/cO1oqF2IT/o+fiyiGAAEOu/u2r3HO7bwplWazJCgigKICImqjcWVHaFZrwvAs9LB5pj7lxAcJYY4Pkq7WYNmMnB8di95NniWc3RrDGC3UeRAFC7ZGdAEnu/k2kXHWbWtpbuY6I6BiLmFpYZBi2mT3p5IrTm+LdGQ5cb6KRAUJeQ4/krWWvBn5nFpeEZ7Z3rQdaVtJWKoU55Ciy8CG6QFFvD+2gHHu7S6pHqXZI3GhtSDp4Q3iWOR7Jx4q5i8x89w5PL5pw/oJA05e0uiWwRpOXPxefd8M3yqd39v8GNXVSVE3zAaHHgGoPA82/LGX7QWpJOWQYxxhVeCDYOOh7aPSJvqqSq7hM5h4x75FA+YJAM5tksfXL9pLHQTe0B+mX0ief5wa2XEVnhFDzIfHUsHPPGd2xXHRrTAowWWgIuChEOB24FHhmWO9pmgqPO5Z81m4kz4cA4mJMY4r0tNXCBqvHTPeyB/l343eiFylGbqV5RGGTMQHhsI5/Ef3GvHbbS5o9GVIIv6g5eAEYFkhXCN9pidp/O4ccyB4X73vg2VI1g4Z0stXChq63QjfJd/LX/neudyamfKWHhH+jPpHucIoPLA3PHH1bQApPWVIYvZg1WAr4DnhNqMS5jipiy4pcu04Lb2/wzkIro34ErAW9hpuXQRfKV/Wn8ye05z6mdgWSFIsTSpH6wJZfN/3abIe7WTpHGWhIsfhHyAt4DPhKOM9pdwpqG3BMsB4PX1NQwXIu82G0oHWzBpJ3SYe0h/HX8Xe1VzFGitWY1IPDVPIGgKM/Ra3ojJXrZxpUWXRozLhA2BKYEdhcuM95dKplO3kMpp3z71YwsvIfc1GkkEWjFoNXO5eoN+d36Vevxy52etWb1ImTXYIBoLCfVP35XKfLeZpm6YaI3dhQeCBILShVSNUJhvpkO3Ssrv3pL0igouINU030e4WN9m5HF1eVV9aH2teUNyY2diWa1IxzVCIb8L5fVc4MzL1LgIqOqZ545Th2mDR4Pthj6OAZnhpnK3NMqU3vPzrAkWH4oza0YmVzllOHDNd7978XtgeClxhmbJWF5IxDWOIVYMxfZ+4SnNY7q9qbmbwZAriTKF8oRtiIiPCZqgp+K3T8pZ3mTzygjpHRoywURPVUJjMG7EdcR5EnqtdrBvUWXjV85HkDW3Id4Mp/e14qzOJ7y2q9ed9ZJli1+HA4dSijGRaputqJK4nMpA3uXy6AepHIYw5EI2U/1g0Gtbc2V3z3eXdNdtxWOwVv5GKjW/IVQNifj941HQHb7vrUKggJX8jfCJeYmZjDmTIp0HqoK5HMtK3njyBwdZG9Au1UDdUG1eGmmVcKN0J3UecqBr4mEwVe1FkTSjIbcNaflV5RbSQ8BmsPeiYJjwkOGMUYxDj56VMJ+tq7W6z8t53h/yKAb7GfwsmD5JTpNbEmZ0bYJxHnJFbw1pqV9iU5pEwzNiIQYORvq55vnTlsIYs/SlkZs9lDGQio9Lkl+Yk6GhrSi8t8zM3tvxTgWQGAsrMDx6S3NYuWL8aQVut24NbB9mG11JUQZDwjL8ID8OHfsp6PfVFMUCtjWpEZ/hl9yTIJOxlXqbS6Tfr9y90s1F367xewQcFwEpnzl1SBFVE18vZi1q82p6aNhiOlrlTjJBjTFwIGAO7Pug6QzYuMchubes26LWm9+XEZdymeyeVadostC/Ic/l35jxrwOhFeEm6DY9RXBRJVsRYgBm1maNZDpfCFc4TB8/JDC9H2oOs/wf6zjagMpxvHew7aYboDacWZuKnbSir6o6tQPCpNCr4Jvx7gIhFKwkEDTWQZRN8VamXYBhY2JLYElbh1NCScw8hy7jHloObv2h7HXcac3vv2+0QaurpN6g9Z/2oc6mV65TuHTEW9KZ4bjxOQKdEmYiGDFCPoBJfFLyWLFcn122WwdXuU8GRjw6tyziHTAOHf4l7sPeb9CXw5241a+CqdOl4aSzpjirSrKxuyPHRNSu4u/xkAEZEREgBC6HOjlFyk35U5hXjFjRVndSoUuGQm83tCq5HOsNv/6p7x7hj9Nlx/y8pLScrg+rGaq9q+2vhrZTvw3KYNbq40Ly9gCWD7Ed2CqnNsNA4EjATjlSMFOjUZ1NQkfFPmk0gChpG4sNUf8q8YPjxtZWy4nBqbnzs5CwmK8Qseq0B7s0wzDNrNhN5bDybAAXDkgblyemMiI8wUNMSZhMkE0tTH1IoELEOikxHCbzGQ4N0/+m8u/lEdplzz7G4L6DuU+2WbWntiy6yr9Tx4vQKNvX5jvz9P+eDNgYRCSJLlo3cz6gQ7tGr0d1RhtDvT2HNrMtiCNWGHUMQQAc9GHoa92P0xfLRMRIv0i8Wbt+vK2/y8StyxvU092H6OPzjv8sC2YW4yBUKnAy+zjEPadAkkGAQHs9njgSMgoqxyCTFr8LngCJ9dTq0eDP1xDQ0Mk8xXbCkcGQwmvFBso+0N7XquBc6qf0O//ECfMTeB0KJmktXTO6N2E6QDtSOqI3RzNmLS4m2h2sFOwK5wDs9kbtQeQh3CTVfs9Zy9PI/MfZyF/LeM8D1dHbrONV7Ij1/P5nCIIRBRqwIUkony2KMe4zvDTxM5QxvC2JKCUixBqhEv0JHAFD+LXvtueC4E7aS9Wb0VrPls5Sz4XRHNX42fHf1uZx7oX20v4XBxUPjhZKHRUjxSc4K1QtDi5hLVcrASh9I+8dhhd0EPIIOwGM+R/yLevs5IvfMNv81wXWWNX21djX7doZ3zvkKOqv8J73vv7VBbAMFxPcGNId1iHJJJkmOiepJu8kGyJGHpEZIhQlDssHRAHF+n/0o+5d6dTkKeF33s/cPdzA3FPe5+Bj5Kzone0O89P4wP6kBFQKow9qFIUY1RtFHsIfRiDOH2IeDxzqGA4VnBC3C4gGNwHu+9b2FfLP7SXqMOcF5bLjPuOr4/HkBOfR6UDtM/GL9SP62f6EAwQINQz4DzETyRWvF9YYOBnWGLUX4RVsE2oQ9gwsCSsFEwEF/R75fvVA8nnvP+2h66fqV+qw6qzrQO1f7/Px6PQl+I77CP93AsMF0QiKC9wNtw8OEdkRFhLGEe4Qlw/QDagLMgmEBrQD2AAI/lj73fiq9s30U/NF8qnxgPHJ8X7ylvMH9cP2ufjZ+hH9Tv9+AZEDeAUlB4sIpAlnCtMK5wqlChIKNwkcCMwGVQXDAyQChgD3/oH9L/wK+xr6Zfns+LL4tPjw+GH5AfrG+qr7o/yn/az+q/+ZAHIBLwLLAkIDlAPBA8kDrwN4AygDxAJTAtoBYAHqAH4AHgDR/5b/b/9d/17/cP+R/7z/7f8fAFAAeQCWAKQAoQCJAF0AHQDL/2j/+f6B/gf+kP0h/cL8d/xH/Db8R/x9/Nj8Wf39/cL+of+UAJUBmwKdA5EEbgUrBr8GJAdSB0UH+wZzBq8FsQSBAyUCpwAT/3P91/tK+tz4mPeM9sL1Q/UW9UD1wvWb9sf3QPn9+vD8DP9BAX4DsgXJB7IJXAu5DLkNVA6ADjsOgg1YDMUK0QiKBgAERgFx/pb7zPgq9sbztPEI8NDuGe7s7UzuO++08K3yG/Xs9wv7Y/7XAU8FsAjdC7wONREyE6IUdhWlFSoVBxRAEuIP+wyiCe0F+gHn/dL52/Uk8sru6eua6fLnAOfO5mLnuejN6o/t7fDO9Bb5pP1VAgcHkwvUD6kT8haTGXQbhRy6HA4chBolGAEVLRHFDOsHwgJ0/Sf4B/M77uvpO+ZI4y3h/d/D34bgQeLr5HDoueyl8RH30vy8AqMIWA6tE3gYkBzVHyoieiO5I+Ei9SADHh4aYhXyD/cJngMZ/Zn2UfBz6i7lruAX3YfaFtnS2L/Z2dsT31bjg+h17v707fsLAyQK/hBkFyIdCiL0Jb4oUCqcKpspVCfUIzQflxklEw8MjATW/Cb1u+3O5pfgSNsM1wfUUtL/0RLThtVK2UTeUORA6+Dy9vpDA4gLgxP2GqYhXCfqKyovATFdMTkwmi2TKUAkxx1bFjIOiwWq/NHzR+tP4yncDNYs0bDNtstRy4XMTc+W00DZI+AK6Lrw7/ljA84M5RVhHv4lgCyyMWo1hzf3N7M2wzM7Lzsp8CGRGVwQmgaV/Jry+Oj53+fX/9B8y4nHSMXNxB7GNcn7zU/UANzW5Izu2fhtA/YNIhiiISkqdDFJN3c73T1kPgU9yTnHNCIuDCbDHIwStweX/ILxzebP3NTTJcwAxpbBDL95vuO/QsN/yHPP69em4VrstvdfA/8OORq2JCIuMzapPE5B/UOeRClDpz8yOvAyGSrvH8AU4Qiv/IjwyuTR2fTPgse9wN27CblauNi5er0nw7PK6NN/3ibqhvY9A+oPKRycJ+gxujrOQelG4kmgShlJWEV3P6E3ES4RI/MWFgrd/K3v7eID10rMGMO3u2G2QrN2sgS04rf3vRPG+89j2/PnTPUFA7UQ8R1SKnY1Bj+0RkRMiE9lUNFO1kqRRDA88jEmJiUZVAsf/fHuOuFl1NjI7L7ytiixvq3RrGqugLL0uJfBKMxW2MPlCfS5AmERkB/WLMw4EkNYS1tR6lToVUtUHFB7SZhAtzUrKVMbmgx0/VTusN/70aDFALtxsjWsgKhwpxGpVq0jtEO9csha1ZnjwPJaAu8RBSEnL+Y73Ua1TylWA1olW4NZJ1UxTtZEXDkcLHkd5g3c/dXtUN7Ez6TCWLc4ro2njaNZovyjbKiIrxy53sR00nfhcvHpAV4SUSJEMcI+Y0rJU6pa0F4XYHNe8FmvUuZI3jz2LpYfNg9V/nXtGt3Czee/9bNKqjOj6J6OnTCfxKMpqya1b8Gnz2DfIfBoAbASciMqM2BBok2QV9xeS2O5ZBljdV7wVsJMOUC2MaYhhxDe/jLtDtz2y2q92rCqpiqfl5oVmbKaZJ8Ip2SxKb71zFfd0O7YAOQSaCTbNL1DmFAIW7ticmcIaW9nsGLwWmhQakNYNKcj2BF2/w3tLdthyi67Ca5ao3abm5bxlIaWT5sqo9utD7tiyl7bgO05APwSNCVVNtdFQ1MvXkRmQmsAbXFrnmarXtRTbEbaNpclJxMZAAPtddoDyTS5hKtdoBmY+ZIlka6SiZeTn46qJbjyx3nZM+yQ//gS1iWXN7BHolUBYXRptm6fcB1vO2odYgFXPUk5OXIncRTJABTt6Nndx363TKm2nRaVs4+1jS+PFpRGnICnbrWmxanX7Orb/toSTyaiOERJs1d+Y0lszXHfc25yg21DZe5Z2UtyOzYptBWCAT7thNntxgu2Yqdkm3CSy4ykigyM+ZBHmbak7rKBw/HVreke/qMSnyZ2OZRKdVmkZcFuhHTAdmJ1dHAaaJVcPU6BPeEq7xZEAoLtSNk1xt20yKVrmSeQRYr0h0eJNY6ZljGiprCIwVTUeOhZ/VQSxyYSOqBL6FpxZ9pw2XY+efd3CnOfavZeZ1BkP3AsHhgLA9ztNNm0xfOzfaTKlz2OIoioheSGzYs+lPafm668v9TST+eP/O4RyCZ5OmhMClzlaJNyynhYeyl6RHXPbAxhVFIZQeEtQBnXA03uRtloxU6zg6ODlrSMY4bBg+SEw4k5kgaezqwfvnPRNObC+3MRoiapOuxM3Fz+aexzVnoMffd7HneobtViAFSdQjEvUxqlBNHuftlTxeyy2aKWlY2LCoVBgkmDGYiNkGScQqu1vDTQKuXz+uUQWCalOixNXl2+auJ0fHtYfl99mHgncE9ka1XtQ14wVBt0BWjv2tlxxc2yfqIElceKGIQqgRSC0YY7jxKb+ql/uxrPMuQl+kYQ6yVsOilNkV0ja3d1O3w7f19+rnlLcXllkVYIRWUxQhxCBhDwWNrDxfGydKLMlGSKjIN7gEiB7IVFjhKa9qh/uiXOT+NZ+ZYPXCUBOuVMdF0va6l1kny1f/d+YHoTck9mcVfrRUYyGh0MB8fw99pGxlWzt6LtlGKKaYM2gOSAbYWtjWWZOqi4uVnNguKR+NgOrSRmOWBMCl3hanp1gnzFfyd/rXp8ctJmCViVRv4y2x3RB4vxttv6xvqzSaNolcOKrINbgOmAUoVzjQ2ZxqcrubbMzuHP9w4O4COaOJxLUlw6aul0DHxrf+1+lXqGcv9mWFgFR4szgx6PCFvykdzdx920JqQ6loOLVoTqgFiBnYWZjQuZnKfauD/MNOEW9zoN9iKhN5tKT1s9afhzLnuofkl+F3oxctVmXVg4R+wzDx9ECTTzid3syP21TqVil6SMZoXhgTCCT4YejmCZvafGuPXLteBm9l0M8iF9Nl5JAlrqZ6ly7Hl8fT19Mnl8cVVmFlgtRx80fx/uCRT0md4lyle3v6bfmCKO24ZBg3CDZocDjwyaKqjvuNnLVODC9XoL1iAuNedHblhDZvxwRnjoe8l76XdncH5lg1flRiM00B+LCvr0wd+Iy+m4d6ivmv2Ps4gIhRiF4ohHkA6b4qhXue3LE+Ar9ZIKox+5MzlGk1ZKZPNuPXbvee55O3bzbk9kpFZdRvczAiAbC+P1/+AQzbK6c6rQnDKS7IozhyaHworrkWic6Kn/uTLM8d+k9KgJXB4eMlZEdlQCYpJs1HORd613KXQgbcpieVWVRZkzEyCaC872T+K8zq+8saw+n7+UhI3DiZiJBY3tkxmeOavnuqjM8d8t9L0IAx1hMEFCGFJuX9ppDnHRdAl1tXHvau9gAlSNRAozAiAIDLj3sOOK0Ny+Lq/4oaGXeJCzjG6MqY9Llh+g16wPvFDNFODJ89MHmhuDLvw/fU+PXM5m7G2xcQNy4W5jaL5ePlJFQ0kyzR9iDKD4H+V30jjB57H7pNaaxpMCkKOPrZIFmXqiwK53vSvOW+B48+0GJBqILIo9p0xqWXJjcmo0bp5urmt8ZTlcL1C9QVQxdB+oDIT5m+aA1L/D2bRCqFmea5eskzeTDpYZnCil9LAevznPxuA98wwGoxhyKu86mUkCVshfo2Zeat1qIGg8YmJZ1032Py0w9h7ZDGL6Ieii1m7GAbjLqymiY5uulyWXyZmEnyiocbMFwXrQV+EY8zIFGhdEKCw4WEZZUtVbgmIwZsNmOWSnXjpWNUvwPdIuUx7yDDj7runb2ELJXLuSr0Cmq58GnGqb251Eo3irNrYqw+7RDeIK82AEihUBJkc15UJ0TptXFF6wYVNi/F++WsNSTEisO0UtiR3zDAX8QOso2zjM5b6Ts5uqPqSuoASgQqJVpxWvQrmNxZTT6uIW85kD9hOrI0EyRj9XSiBTXVnhXJFdbFuEVgBPHkUrOYYrmhzbDMb81eyG3U3PmcLLtzavGamjpe2k+aa2q/2yk7wsyGzV7eM6894CYBJGIR4vfjsGRmZOYFTGV4JYjlb9UfRKrEFvNpUphBupDHv9a+7y333SdcY1vAy0N67hqiKq/qtjsC23JsAFy3bXFuV58zACyhDUHuIrkDeEQXRJIk9mUihTZVEsTaFG+T15M3MnSBpdDCH+APBp4sTVdMrNwBq5k7NjsJ+vS7FXtaK7+MMYzrDZZebT85IBNw9YHJAogTPXPExEqEnETIlN9EsVSAtCBzpLMCIl5hj1C7j+kfHp5CDZks6OxVq+Krkktl+13baQulnACMhh0Rjc2udJ9AMBqA3VGSslVS8DOPU+90PlRqpHQka8QjU92jXnLKIiXhdyCz3/HPNu543cy9J1ysfD9L4gvF27rrwIwE3FUszf1K/edOna9IYAIQxOF7ghDysMM3M5FD7OQI9BUkAlPSI4dDFPKfYfsRXTCrH/oPT26QbgHNd7z13J78RQwpTBu8K8xXzK09CP2HHhMuuH9RwAogrFFDketCb3LcozBDiFOj07KjpVN9gy2CyHJR4d4RMYChEAGvZ/7IrjgNue1BfPE8uxyP7H/siny+HPiNVv3F7kFe1Q9sb/LQk+ErIaSCLIKAEuzDEPNLs0zTNQMVotCyiQIR0a7RFBCV4AifcF7xTn89/X2e/UXdE7z5fOcs/E0XjVbdp84HPnGu8194T/xQe6DyYX0B2FIxsocitxLQ0uQy0cK6wnECNuHfUW1w9OCJYA6viF8aDqcOQj3+Daxtfq1VjVEtYP2Dzbft+y5K7qQPE1+Fb/awY9DZkTThkyHh8i+ySyJjknjya9JNMh6h0kGacToQ1AB7gAPfr+8yzu9Oh85OXgSd643D3c2NyB3ijht+QP6QzuhvNR+T//IAXKCg8QyRTTGBIcbh7XH0UguR85HtMbnhi1FDgQSwsXBsUAf/ts9rTxe+3e6fnm4OSf4z/jvuMW5TnnFeqP7Yzx6/WH+j3/5gNhCIoMQxBvE/kVzxflGDcZxRiVF7MVMRMkEKgM2AjUBLsAsPzO+DX1//FE7xftheua6ljqvurI62ntku8v8iv1bPjX+1L/vwIGBg4JwAsJDtkPJBHkERUSuRHWEHYPpQ12C/sISQZ3A5sAzf0h+6v4f/ap9DjzNPKh8YLx1PGR8rLzKvXr9uX4CPtB/X3/qwG8A54FRQemCLcJdArYCuQKnAoDCiEJAQiuBjQFoQMCAmQA1/5j/RT89PoJ+lj55fiw+Lf4+Pht+RD62Pq++7j8vP3C/r//rACDAT0C1gJLA5oDwwPIA6wDcgMgA7sCSQLQAVYB4QB1ABcAy/+S/23/XP9f/3L/lP/A//L/JABUAHwAmAClAJ8AhgBZABcAxP9g/+/+d/79/Yb9Gf27/HL8Rfw2/Er8g/zh/GX9Df7T/rT/qQCrAbECsgOkBH8FOQbKBioHUwdBB/IGZQacBZoEZQMGAoYA8P5R/bX7Kvq/+ID3efa09Tz1FvVH9dD1sfbk92P5JPsc/Tv/cQGuA+AF9AfYCX0L0gzKDVwOfw4wDm0NOwyfCqMIVgbHAwoBNP5a+5L49PWW843x6e+87hDu7u1b7lXv2fDd8lT1LPhR+6z+IQKZBfYIHQz1DmQRVxO6FIEVoRUZFecTExKpD7gMVgmbBaQBj/17+Yn12PGH7rLrcOnW5/Tm0+Z3597oAevR7TvxJvV1+Qf+ugJqB/ELKxD1EzEXwxmTG5IctBz2G1oa6he1FNQQYgx/B1ICAv24953y2u2W6fTlEuMK4e7fyt+h4HHiLuXE6BztFPKJ90/9OwMgCc4OGRTWGN4cECBQIoojsiPCIsAguR3BGfQUdw9zCRQDjvwQ9s/v/OnG5Fjg1txe2gXZ2tjg2RPcZN+84/vo++6P9YT8pAO5CowR5heUHWgiOybsKGMqkyp3KRUnfCPGHhUZkxJzC+kDMfyF9CLtQuYc4OLav9bV0z7SCNI508nVqdm73tzk3euJ86b79QM2DCgUjRsqIsknPCxgLxcxUzEPMFItLSnAIzIdsxV9Dc8E7PsX85fqruKb25jV1NB3zZ7LW8uxzJrPAtTI2cLgveh68bj6LgSUDaEWDR+VJv0sETKnNaE37TeFNnIzyS6rKEch0xiRD8YFv/vI8THoQ99H13zQGMtIxyzF18RPxovJdM7m1LLcneVj77n5TwTUDvUYYiLRKgAysze8O/o9WT7SPG85STSDLVEl8RuqEcsGqfuY8PDlBNwj05PLkMVNwe2+g74YwKDDA8ka0K/YguJH7a34WQT0DyIbiiXdLs42Hj2bQR9Ek0TyQkY/qDlCMkwpCR/IE98HqvuI79fj89gxz+DGQsCMu+W4ZbgRuuC9tsNpy73Ubt8p65P3TQT1ECcdhCizMmM7T0I+RwhKlUrfSO9E4j7lNjQtGCLnFf4IwvuX7ubhEdZ2y2jCMLsIthqzgLJAtE+4kb7WxuHQZdwK6W/2KwTVEQMfTStTNr0/QEehTLNPW1CTTmZK8kNmOwUxGyUFGCgK7vvG7R7gYdPzxy6+YLbHsJKt2qyprvOymLlnwh3Nadnt5kD18wOWErYg5C25OddD70u/URlV31ULVKZP00jDP7o0DiggGloLMPwV7YHe5NCrxDW61LHNq0+oeadSqc+t0LQfvnbJf9bV5Ar0qAM3Ez4iRjDiPK9HV1CVVjZaHVtAWatUgE31Q1I47yo1HJMMhPyE7A7dnc6gwX+2ka0dp1ejYKI/pOqoPrADuu/FqNPE4s/ySgO5E5sjczLOP0JLdVQeWwdfEGAvXnBZ9lH6R8c7ui1BHtEN7PwR7Mfbi8zUvg+zmKm7oq6elJ12n0ek5asWto3C6dC94I/x2gIcFM0kajR6Qo5OR1hXX4djtGTTYvBdMFbNSxY/bDBCIBIPZP2+66var8pJvOiv7qWrnliaGZn5muufy6deslK/Rc7D3k3wWgJhFNMlKTbkRJBRyFs9Y7NnBWkoZydiKVpqTztCAjM1IlQQ6/2I67rZDMkAugytlqLwmliW85TNltmb86PdrkO8vsvY3AzvywGIFK4msTcMR0ZU+F7NZodrAG0qaxJm313NUjNFeTUXJJURgf5w6/XYoMf6t3yqkJ+Ml7GSJZH2kheYYaCXq2K5WMn+2sztLwGSFF4nADnwSK9W02EEagBvoHDVbqxpTGH0VftHzTfnJdISJP9z61rYbcY4tjqo35yDlGaPs413j6aUGZ2QqLS2Fsc52ZHshwCBFOMnFzqPSspYWGTfbBty43MncvNsb2TbWJBK/TmhJwoU0v+S6+rXcsW7tEemhprWkXuMn4pTjIqRHZrLpTq0+sSL113r1f9VFD4o9jrpS5VahWZdb9d0xnYcdeNvQ2d+W+5MBDxDKTsViADL66TXsMSDs6SkhZiHj/CJ7YeOiceOcpdLo/ixCMP21TDqGv8PFHAonDv+TA9cWWh8cTB3R3mxd3hyxWnaXRJP4T3KKmIWRgEc7IfXJsSRslKj3paYjcmHnoUph1+MGZUTofKvQsF91A/pWP6yE3koCjzOTTld02k7cyV5ZHvkebJ09GvtX/tQkD80LH0XCwKF7JHX08PksVGikZUKjAaGtIMnhVWKFZMmnyiuqr8i0/vnkv0/E1soQjxYThJe82qYdLV6Gn20e412zG21YaVSEEF/LYoY0wID7cLXt8N8saGhoJTeiqqEMoKLg6qIaZGFnZ+sQ77n0fXmyPy2EhcoQzyeTplet2uTdd57aX4dfQd4S28uYw1UXkKpLocZnQOV7RnY0MNYsUKhCZQVirSDF4FUgmGHF5AznFirD73P0AHm/fsbEq4nDzygTtBeIWwrdqB8Tn8gfh55cHBXZDNVd0OvL3MaaAQ67pTYHsR4sTOhzZOuiSaDZoCFgXuGII8zm1SqELzczx/lNPtuESInqDtfTrZeL2xgdvt8y3+7ftN5OHEvZRNWW0SPMEobMAXv7jHZn8TasXSh65Oqif+CH4AfgfmFho6EmpepSLsPz1LkbPqxEHUmDjvcTU5e5Gszdu183X/tfiJ6pHGzZa1WBkVIMQsc9gWz7+7ZUsV+sgOiZJQIikCDQYAigdyFSo4qmiGpubprzp3jqvnmD6clQzoZTZhdP2uldXl8hn+1fg16sXHjZf9WeEXXMbUctQaE8MvaNMZgs+CiNZXHiuiDzYCOgSSGbI4lmvSoZbrxzQDj7vgQD7wkSTkXTJVcQmq1dJ57xX4VfpJ5X3G+ZQdXr0U8MkUdbQdf8cTbRceBtAmkXZbmi/aEwoFjgtKG7Y51mhCpTLqizX3iOvgwDrUjIjjYSkdb72hnc116nH0MfbF4rnBCZcZWqkV0MrodHAhE8tncgsjdtXul2pdkjWqGIIOgg+WHzo8cm3epcLqBzRfikfdHDZQi0DZfSbFZR2e6cbd4C3ybe2x3nm9wZDlWZ0V/MhIewAgv8wbe6clztzWnrJk/j0CI5IREhV2JDZEZnCqq0bqOzc7h8/ZZDFshVTWtR9NXTWWxb692E3rDecJ1MG5IY2FV50RaMkseVwkg9Erfd8tBuTWpz5t1kXmKDodPhzmLq5JsnSercbvKzaThY/ZnCw0gtDPERbJVAmNObUd0t3eGd7RzY2zKYT5UKEQGMmUe3wkT9aLgKs1Du3erQJ4ElBGNnIm/iXeNp5QVn3CsT7w2zprh4/VyCqse7zGoQ09TamCUaoBx+XTldEVxOWr2X89SKkOBMV8eVwoI9g3iAc94vfqt/qDplgaQi4yRjBaQ/5YToQWubb3UzrLhc/V+CTgdCDBcQa1Qh12GZ11u2nHicXZus2fOXRVR7UHLMDYevgr89ofj99Dcv7qwBqQgmlWT2I/DjxWTspllo+Ovyb6jz+zhFvWLCLcbAi7hPtBNXFomZOJqXm6Abklr02RSWxFPcUDjL+odEQvt9w/lC9NtwrWzU6eonfyWgpNTk3CWvpwKpgyyZcCj0EnizfSdByka4Ss7PLpK7VZ4YBFniGrDasFnnGGFWMRMtj7KLnodUAvZ+KLmOtUnxea246p7ofaahJc+lyWaIaAAqX60PsLW0cvimfS0BpEYpiltOW5HPVN/XO9iW2arZt9jDl5nVS9Kvjx+LecceQu++T7ogNcHyEq6sq6YpUCf25uBmzKe2KNFrDa3VcQ603Hje/TSBfIWVCd7NvFDUE9AWH5e22E+YqhfLVr7UVNHiDoBLC4ciwuc+uDp3NkLy969vLL5qdejg6AXoJOi4afXrzW6qcbQ1DzkdPT5BE0V7yRoM0dAKku+U8NZC11/XR5b/FVETjJEFzhSKlAbhgtv+4frStwuzp/B/baarrWoeaX+pESnOay0s3i9OMmX1i3lh/QsBKUTeSI2MHI8z0b+TsJU8FdyWEZWflFDSs5AazVzKE0aZws2/C/tx95t0YfFcrt4s9etuKoxqkOs3bDYt/zAAcyO2EPmsvRrA/0R9h/qLHY4QkIESoBPj1IbUyJRtkz8RSo9hjJkJiUZLwvx/NfuUeHF1JTJFcCOuDizO7Crr4qxyLVBvMDEAs+12n7n9/S3AlUQZx2HKVk0ij3URAFK60x+TbhLqUdyQUc5aS8mJNcX3Aqd/X3w4+My2MHN4sTWvdS4/rVptRa397rrwMDIOdIK3d7oV/UTArIO0BoRJh0wqTh0P0tEC0ehRwtGWUKpPCo1Fyy6IWUWbwo4/h7yfeax2wvS1clNw6S++7tlu+K8ZsDSxfvMpdWM32Lq0fWAARUNNRiLIscrpTPnOWE+8kCIQSFAzDykN9QwkygjH84U5wnD/rfzGuk932zW6c7tyKXELsKawerCEcb0ymzRQtk64grsZ/b+AH8LlxX4Hlwngi41NEo4pjo4O/45BTdmMkgs3SRgHBQTRAk8/0n1uOvV4uHaGtSyztDKkcgDyCfJ8stM0BDWD90R5dbtGPePAPMJ+RJdG94iRSlgLgwyLTS3NKczCjH1LIwn+iB1GTgRhQih/8/2Ve5z5mbfYtmV1CHRH8+bzpbPBtLW1eTaCOEQ6MPv5fc0AHIIXxC8F1Me8iNvKKorjC0KLiIt3ypUJ6Ei6xxiFjoPqwfy/0n47PAV6vbjvt6S2pLX0dVb1TDWR9iM2+TfK+U169HxzPjv/wAHyg0aFL8Zjx5nIislySY3J3QmiSSJIYwdtRgrExsNtgYtALT5ffO37Y3oJ+Sk4B3eo9w/3PHcsN5s4Q3ldOl97v/zz/m9/5wFPgt6ECYVIRlNHJUe6h9DIKIfDh6XG1EYWhTSD94KpgVTABD7BPZV8SftmenF5r3kj+NB49LjPOVv51nq4O3m8Uv26/qi/0gEvQjeDIwQrBMnFu0X9Bg1GbMYcxeDFfUS3g9ZDIQIfQRkAFv8fvjs9MDxEO/v7Gvrjupa6s/q5euS7cXvbPJu9bT4Ifyc/wcDSgZLCfULNA75DzkR7RETEqsRvRBTD3oNRAvDCA4GOgNeAJP96vp6+FT2h/Qe8yPymvGE8eDxpvLO8031E/cR+Tf7cP2t/9kB5gPEBWUHwAjKCX8K3AriCpIK8wkMCecHkAYTBX8D3wFCALf+Rv36+976+PlM+d74rvi6+AD5efkf+uv60vvO/NL91/7U/78AlAFLAuECUwOeA8UDxwOoA2wDGQOyAj8CxgFMAdcAbQAQAMb/jv9r/1z/YP91/5f/xP/2/ygAVwB/AJoApQCeAIMAVAARALz/V//l/m3+8/18/RD9tPxt/EL8NvxN/In86/xy/Rz+5f7I/74AwQHGAscDuASQBUcG1AYvB1QHPQfpBlcGiAWCBEoD5wFkAM7+Lv2T+wv6ovhn92X2p/U29Rf1T/Xg9cf2AfiG+Uz7SP1p/6AB3QMNBh4I/gmcC+oM2g1jDn0OJA5YDRwMeAp1CCIGjgPOAPf9HftY+L/1Z/Nl8cvvqO4I7vLtau5x7//wDfON9Wz4l/v1/msC4gU8CV0MLQ+TEXoT0RSKFZ0VBRXGE+URbw90DAkJSAVOATj9Jfk49Y7xRu5860fpvOfq5tnmjucF6TfrFO6K8X711Plr/h8DzAdODIAQQBRvF/EZsRudHK0c3BsuGqwXaRR6EP0LEwfiAZH8SPcz8nrtQumv5d/i6eDi39Lfv+Cj4nLlGumA7YXyAfjN/boDnAlED4QUNBkrHUogdSKYI6gjoiKJIG0dYhmGFPwO7giKAgL8h/VO74bpYOQE4JfcNtr22OTYBNpP3LffI+R06YPvIPYb/TwETgsZEmYYBB7EIn8mFyl0KogqUSnUJiIjVR6RGAES1QpFA4z74/OJ7Lflo99/2nXWptMs0hTSYtMQ1graNN9q5XvsM/RX/KYE4wzMFCMcrCI0KI0ski8rMUcx4y8HLcYoPyOaHAoVyAwSBC77XvLn6Q7iENsl1X7QQM2Jy2jL4Mzqz3DUUtpk4XDpO/KA+/gEWg5cF7cfKSd3LWwy4TW4N983UzYdM1QuGSicIBUYxA7xBOn69/Br54/eqtb6z7fKCscTxeXEg8bjye/OgNVm3WbmO/Ca+jEFsQ/GGSEjeCuIMho4/jsVPks+nDwSOccz4SyUJB4bxxDfBbv6sO8U5TvbdNICyyTFCMHQvpK+UMABxIvJw9B22WDjNu6k+VMF6BAIHF0mlC9lN5A95EE9RIVEt0LgPhs5kjF9KCIezxLcBqX6ie7l4hbYcc5Cxsq/P7vFuHO4TrpJvknEIcyV1V/gLOyh+F0F/xEjHmopfDMJPMxCj0cqSodKoEiCREo+JjZULB0h2RTlB6f6gu3g4CLVpcq7wa66tLX3so6ygLTAuC6/nMfJ0WndIuqS91AF9RITIEYsLDdxQMlH+UzYT01QUU7ySU9DmjoUMA4k4xb6CL76newE31/SEcdzvdK1a7Bqreis7a5qsz+6OcMVzn/aGOh49i4FyhPaIe8uojqYRIJMH1JDVdJVxlMsTyZI6T67M/Am6xgYCuv61+tT3dHPucNsuTyxaasjqIanmKlNroG1/r59yqXXEuZV9fYEfxR1I2Mx3D1+SPRQ/FZlWhBb+VgrVMtMEENEN8Ep7ho/Cy37M+vO23jNn8Cqte6ssqYno2yiiKRtqfew7boEx9/UE+Qs9KsEExXjJKAz1kAdTB1VjVs6XwVg5V3qWDlRCkesOn0s6hxrDIL7r+p22lbLxb0tsuyoSaJ6np+dwJ/PpKesC7euwy7SHOL98k0EiBUmJqc1kEN1T/hYzV++Y6pkiGJmXWtV00ruPSEv2x6cDen7SupJ2WvJLLv7rjilMZ4fmiKZRJt3oJOoXLN/wJfPMeDL8d0D3RU8J3U3CEaDUoNcumPuZ/1o22aZYV5ZZ04JQaoxwCDODmH8BepJ2LnH1bgTrNahb5oalvqUGpdpnMKk5K96vR3NU96Y8F0DExYmKAs5PEhEVbxfUWfGa/ls3WqBZQ1dw1H3QxU0lSIBEOj83ul210DGw7Z4qceeBZdvkiuRQ5OpmDWhpqyjusLKhtxm788CKxbkKGc6LEq4V6BijmpEb5twiG4YaXZg41S2Rl82WSQyEX791OnO1gHF9rQspw+c9ZMgj7eNxI87lfGdpan9t4rIzNo37jMCJhZ1KYk71kvcWS1lcG1kcuBz2XFdbJRjw1dDSYU4CSZfEiD+5+lS1vvDb7Mwpa6ZQpExjKGKoIwhkvma5qaKtXfGKNkN7YsBBRbbKXM8Ok2wW2Fn9G8jdcZ2z3RLb2VmYVqaS4Q6oieFE8z+FeoC1i7DLrKFo6aX7o6iieyH2olfj1GYaqRPs4zEm9fq69oAyhUXKiI9WE4yXTxpGHKAd0l5ZXfgceVouVy6TVo8ISmkFIL/Xerb1ZvCM7EroviV+ox3h5qFdYf4jPqVNqJNscvCKdbR6iAAdRUpKpk9ME9jXr1q3HN5eWh7mXkZdBJryV6eTwQ+hSq4FT4Avure1UHCf7AjoaaUZ4uwha6DcoXtiveTSqCHrzjB1NTC6WL/CRUSKtg9wU9CX+FrPnUNeyF9anv0delsj2BEUYA/zCvAFgABNusJ1h7CEbBuoK6TN4pQhCmC04NCiUySq54ArtS/ndPB6J3+hhTTKd89DFDOX6tsPXY6fHJ+1nxvd2huB2KrUstA8iy5F8YBw+ta1jLC6K8KoBOTaYlXgwyBm4L4h/mQWp26rKK+iNLQ59b97xNvKa89ElAJYBht2Hb/fFt/2n2IeI5vMWPQU+NB9i2iGI0CZOzR1nzCBLD3n9SS/4jFgliAyoEQhwGQWZy3q6S9ltHw5g/9RBPmKEs91U/0XyptEXdcfdp/d34/eVhwCWSxVMdC1i54GVUDGO1s1/vCY7A2oO+S+Iicgg6AYYGMhmWPqZv4qty8ydAk5kj8iBI6KLI8VE+NX+Fs53ZSfe9/rH6RecZwj2RMVXRDjy86GhoE2+0p2K3DBbHDoGWTU4nbgi6AYYFshiePTZuAqku8I9Bt5YX7vRFsJ+g7kk7YXj5sWnbffJt/d35+edZwwmShVehDITDmGtsEre4G2Y/E6LGfoTWUEYqAg7eAyoGxhkaPRJtQqvO7pc/N5Mb65RCAJu06j03WXUJrbHUGfNx+2n0GeYhwoGStVSNEiTB5G5YFi+8C2qLFCbPIol2VL4uNhKqBnIJch8OPkJtoqta7U89G5A/6ARB2JcQ5T0yHXO9pHnTHerV91HwpeNtvKmRxVSNExzDzG0oGdPAa2+LGaLQ8pNuWrIz/hQWD1oNriJ+QMpzJqvS7K8/a42D5FA9QJG4400rvWkZocnIjeSZ8ZnvodtBuXWPqVOdD2DBRHPQGZvFM3E3IAbb4pa6YiI7Vh8iEeIXeidmRKZ11q068Mc+K47v4Hw4RI+42HEkPWUpmaHAcdzF6kXlCdWdtPGIZVG5DuzCTHJIHXfKX3eHJ1Lf8p9Oav5ANivCGf4e2i3GTdZ5rrOa8Zc9Y4yP4JQ28IUc1L0fpVv1jBG6zdNd3V3c6c6BrxWD+UrdCcDC2HCQIWvP33pvL3LlDqkidT5OljHuJ64nvjWeVF6Csrbu9yM9E45n3JwxRIHozDEWBVGFhSGvscRp1unTQcHxp+V6YUcNB9S+6HKcIWPRr4HrNGLzLrAqgNpaaj2mMuoyJkLiXDaI3r86+WtBQ4x73KAvUHooxuELZUXleN2jJbv1xu3EGbv5m2VzoT5FASy+dHBkJWPXw4XrPhL6SrxajcJnqkrWP6Y+Ck2OaVqQLsR/AHdF+47T2KQpIHXovNED0Tklb1GRNa4JuXG7faiZkZ1rvTSE/cC5eHHoJVfaE45nRH8GUsmmm+5ySll6TdpPYlmid8aYps67BENLO4132LQmtG00thD3WS9RXImF7Z61qompcZ/Zgo1etS3M9ZC39G8cJUPcl5dTT5MPOtQCq06COml+XXZeHmsKg3amOtXrDNNNA5Br2NQgHGgUrqzqBSB1UJV1WY4BmjmaAY3BdkFQkSYk7KCx5GwAKRfjP5ijW0MY8udat9aTanrabnJuOnnGkF606uIPFidTW5Oz1QwdYGKUorDf6RChQ4FjiXgBiJGJPX5hZL1FVRmI5uirRGiMKM/mC6JPY4MncvOmxW6l0o16gMKDponKonrAsu8jHDtaQ5dT1WQajFjEmizREQflLWFQkWjFdaF3LWnBVg01CQwA3HSkFGi8KGPo66hDbEc2owDO2A65WqFSlFKWUp8Gsb7RgvkfKxNdu5tP1eQXpFKsjSzFiPZNHkU8gVRVYXlj5VftQjkntP2Q0TycVGSQK8/r0657dX9CdxLK66LJ8rZOqQ6qNrFuxh7jWwf/Mqdlx5+v1pQQuExUh7y1aOf1CkErZT7NSCVPbUD1MVEVYPJAxUyUAGAAKwfuw7TrgyNO4yGC/Brjhshewu6/OsT2247yKxe7PvduY6Bv23QNzEXQefCouNTk+WEVWSg9Nb013SzlH1kCEOIUuKCPHFsMJgvxp7+DiRtf0zDnEV72BuNu1drVUt2K7gMF7yRTT/t3j6WX2IwO7D8ob9CbjMEw57j+aRCxHlEfRRfNBGjx3NEYr0SBqFWwJNP0g8Y3l1tpN0TnJ18JXvtq7cLsavcjAW8amzW3Wa+BR68r2eQIIDhoZWyN9LDs0WTqrPhJBfUHtP288IjcxMNQnTh7qE/oI1f3Q8j/odt6+1VrOgchexA/Co8Ebw2nGb8sG0vfZBOPj7Ej34AFbDGcWth8BKAovnDSOOMQ6LzvPObI28jG2KzIkoRtHEm8IZf549PPqIeJE2pnTUM6QynXIC8hTyUDMutCa1rHdxeWX7uH3WgG4CrMTBhxyI78pvS5IMkg0sDR+M8EwjiwKJ2IgyxiCEMgH4/4W9qbt1OXb3u/YPtTo0AXPoc68z0rSNtZd25bhruht8JX45gAgCQIRURjVHl0kwSjgK6QtBC7/LJ8q+yYwImcczxWcDgcHTf+o91Xwiul941reRtpg17vVYdVR1oLY39tM4KXlvetk8mT5hgCUB1YOmhQvGuserSJZJd4mMidWJlMkPSEtHUUYrxKWDCsGov8t+f3yQu0n6NPjZODz3ZDcRNwM3eHeseFk5drp7+559E36OwAXBrML4xCCFW0Zhxy7HvsfPyCJH+IdWBsDGP8TbA9xCjUF4/+i+pz19vDV7Fbpkeab5IDjRePo42Plp+ef6jHuQfKs9k/7BQCqBBkJMg3UEOcTVBYLGAEZMhmfGFAXUhW3EpcPCgwvCCYEDQAG/C/4pfSC8d3uyexT64PqXerg6gPsvO3676nysvX8+Gz85v9OA40GiAkpDF8OGRBOEfYRDxKcEaQQMA9ODRELiwjTBf0CIgBY/bT6Sfgq9mX0BfMT8pTxiPHs8bvy6/Nw9Tz3Pvlm+6D93P8GAhAE6QWFB9kI3QmKCuAK3gqHCuIJ9QjMB3IG8gRcA7wBIQCX/ij94fvJ+uf5QfnY+K34vvgI+YX5L/r9+uf74/zo/e3+6P/SAKQBWQLsAloDowPGA8YDpANmAxEDqQI1ArwBQgHOAGQACQDA/4r/af9b/2H/d/+b/8j/+v8sAFsAgQCbAKUAnQCAAE8ACgC0/07/3P5j/un9c/0I/a38afxA/Df8UfyQ/PX8f/0s/vf+3P/TANYB3ALcA8sEoQVUBt0GNQdUBzkH3wZIBnUFagQuA8gBQwCr/gv9cvvr+Yb4UPdT9pv1MPUY9Vj18PXe9h/4qvl1+3T9mP/QAQ0EOwZICCMKuwsCDeoNaQ56DhcOQg39C1AKRgjtBVUDkgC6/eH6H/iK9TnzP/Gu75buAO727Xvuje8n8T/zx/Wt+N37Pv+2AisGgQmdDGQPwBGcE+YUkhWWFfEUpBO2ETQPLwy8CPUE9wDg/ND45vRD8QXuR+sg6aPn4ebg5qXnLelu61nu2vHX9TT6z/6DAy8IqwzVEIoUqxceGs0bpxykHMAbABpuFxsUIBCYC6cGcQEf/Nn2yvEa7e/oa+Ws4srg19/c397g1uK45XHp5u328nv4S/44BBcKuA/uFJAZdh2CIJcipCOdI38iUSAfHQIZFRR/DmgI/wF3+//0ze4S6frjsd9Z3BDa6djw2CnajdwM4I3k7+kL8LL2sv3UBOMLpRLlGHIeHiPCJkApgip7KigpkCbGIuMdDBhtETcKoQLn+kPz8ust5SzfHtos1nnTHNIi0o7TWNZt2q/f+eUa7d30B/1YBZANbxW3HCwjnCjaLMMvPDE4MbQvuSxcKLsiARxgFBIMVQNw+qXxOelw4YbatdQq0A3Nd8t3yxLNPNDh1N7aB+Im6v3ySvzCBR4PFRhgILsn7i3FMhg2zDfPNx82xjLdLYUn8B9VF/YNHAQS+ibwpubc3Q7We89Yys/G/sT2xLrGP8ptzxzWHN4x5xTxe/sTBo0QlRrdIxwsDjN+OD08LD45PmI8sjhDMz0s1CNJGuMP8gTN+cjuOeR12sfRdcq6xMbAuL6kvozAZsQVym/RPto/5CXvnPpMBtsR7hwuJ0ow+jf/PSpCV0RyRHlCeD6LON4wqyc4HdUR2AWh+Yvt9eE817PNpsVWv/W6qbiFuI66tr7fxNvMb9ZS4THtr/ltBggTHR9OKkM0rDxGQ9xHSEp0Sl5IEUSuPWQ1cSshIMoTzAaM+W7s29801NbJEsEuumO117KhssS0NLnPv2XItNJv3jvrtfh2BhMUIiE8LQM4IUFNSE5N+k86UAtOekmpQso5IS//IsEVzAeO+XTr7N1g0TLGvLxItROwRq37rDWv5bPruhDEEM+X20XpsPdoBv0U/CL3L4k7VkURTXtSaFW/VXxTrU52Rw0+uDLQJbUX1win+ZvqKNzAzsvCqLiosAqr/KeYp+Opz642tuG/hsvO2FHnofZFBsUVqSR8MtI+SUmOUV9Xjlr/WqxYplMSTChCMzaQKKYZ6gnV+ePpkdpWzKK/2LRQrEum/KJ9otak9am1sdu7G8gX1mPlifUMBmwWKibLNNtB9UzAVfdbZ1/0X5ddYFh3UBZGjTk8K5EbBQsY+k3pJ9kjyrm8ULFEqNuhSp6vnRCgXKVsrQS408R2033jbPS/BfIWfifhNqNEWVClWT5g8GOaZDdi11yiVNVJxDzSLXMdJQxu+tfo6tcqyBK6Ea6HpL2d7JkxmZabCKFgqV+0sMHt0KDhSvNgBVcXpCi+OChHclM5XTJkJGjuaIlmBmGOWGBN0z9OMEkfSA3W+oLo29Zpxq+3HqsbofSZ45UIlWyX/pyVpe+wtb5/ztHfJvLvBJwXnClhOmlJPlZ7YM9nAGzsbIpq6mQ3XLRQt0KtMhIhbQ5P+03o+dXjxJG1eagEnoSWM5I3kZaTQpkOormt6LsvzBDeAfFuBMMXZyrKO2RLvFhnYxNrgm+QcDRuf2ibX8xTbUXtNMoikQ/Y+zboRdWXw7izJKZDm26T4I7AjRiQ1pXPnr+qSrkAymHc3u/fA8oXBSv4PBlN6Vr8ZfptpXLXc4ZxwWu1YqZW8kcJN28kshBu/D3ovdSGwieyHqTbmLWQ7YupivSMvpLbmwWo37b2x8bav+5CA7UXdivsPYdOxlw4aIRwaXW/dnt0rm6CZT9ZQ0oBOf8lzxEQ/WDoYtSwwd2wa6LMlluOWonyhy2K/Y81mY6lqbQSxkLZpe2bAoQXuyulPq5PUF4aaq5yyndFeRJ3QnEAaJNbXEzQOnYn5RK9/Z/oMtQUwdqvCqEYlWGMK4eehceHl43gll2jrLJYxNfXk+zqATcX1iskP41QiF+ga3d0x3lme0h5enMraqBdPE51PNQo8hNy/vjoLdSywB6v+5+/k8qKYYWvg8OFjIvflHSh6rDJwofWi+sxAdIWxitqPyVRbWDKbN11XnsifRp7VnUBbGRf4E/tPRYq9RQu/2rpUdSJwKquQJ/DkpWJ/YMngiOE4Yk1k9efZq9pwVXVj+pyAFUWjSt3P3ZR/2CYbeB2jnx2fod80XaAbdtgRVE1Pzgr6hXw//LpntSYwHyu154kksSIAYMIgemClYjikYaeIa45wELUoemw/8EVLStMP4FRPmEKboB3V31hf4597HembgRiaVJMQDos0BazAJDqEdXewJSuwZ7gkVaIbIJRgBaCrIfpkIWdHq08v1LTw+jq/hoVpyrqPkZRK2Efbrx3t33jfy1+pHhyb95iSlMvQRotpRd5AUHrqtVawfGu/J75kUyIQIIEgKqBJYdLkNScX6xzvoTS9+ck/l8U/SlUPsdQyGDYbZR3r336f2R++Hjhb2Zj51PdQdQtaBg+AgXsZtYLwpGviJ9tkqWIfIIhgKiBA4cJkHWc5Kvgvd3RP+dg/ZQTLymKPQZQFGA3bQl3P32ofzJ+6Hj0b5xjP1RUQmguFRkBA9jsRNfuwnOwZKA7k2GJIIOogA6CRYclkGmcsKuFvV3RnOaf/LkSQSiOPARPEl88bB12aHztfph9dHiqb35jT1STQtQurBm/A7ntQtgCxJaxjaFjlH6KKoSZgd2C7IefkLGcxKtjvQXREebk+9IRNCdjO8JNwl3patB0KnvIfZV8m3cCbwxjF1SYQhcvKxp3BKbuXdlExfayAqPhlfuLm4XxghOE94h2kU2dIKx8vdjQn+Uw++AQCiYKOkJMKFw/aSNzh3k7fCp7Xnb7bUVillNiQi4vkBonBZ3vldq0xpO0wKS1l9aNb4eyhLGFZoqrkj6exazPvdfQSOWE+uUPxiSFOIhKRVpBZxlxgXdIell5vXSYbCphzVLxQRkv2RrOBZzw5ttNyGq2x6bcmQ6Qp4nYhraHOYw9lISftK1fvgLRDeXk+eMOaSPXNpVIHFjyZLRuGXXwdyN3uXLXarpfuVFDQdcuBRtoBqHxTt0Pyni4E6lUnJ+SPoxiiR6KbY4slh6h7K4rv1vR8ORP+dsN9iECNWxGrlVSYvdrUnI1dYl0VHC6aPZdXVBZQGcuFBv1Bqnyy972y7u6oasan4iVNI9NjOmMApF2mAujbbAzwOPR8eTJ+NEMbyAJMxBEAFNmX+NoL28Zco1xkG1DZt9bt04xP8gtAxt0B7TzW+AAzjC9bq4rosaYhZKYjxWQ9ZMam0ulN7J5wZnSEuVT+McL1x7vMIRBFFAxXH1lsmugbjJubmpyY3ZZyUzNPfos0RriB7/0++Eq0NS/eLGEpVScLpY/k56TRZcXnt2nSbT7wn/TVOXu970KLx22Lso+7ky2WMdh3mfMantq8WZLYLxWk0otPPwrfxo+CMf1qeNx0qPCu7QhqTCgK5o/l4KX75ppob6qo7a6xJXUt+Wc97YJextiLOY7kEn4VMZdt2OgZmtmHGPOXLRTFkhQOs8qChqGCMz2YuXS1JvFM7j/rFakep6Vm76b754Qpe6tQrm0xtrVPeZd97QIvRn0Kdo4/kX7UHxZQl8hYgVi8V7/WF5QVEU5OHIpcxm6CMr3JedL17nI3bsascOoFqM9oE6gRKMHqWmxJrzpyE/X5eY097kH+BdwJ6w1PULDTO5UgVpRXUxdc1rgVL5MT0LmNeUnuRjZCMH47ujZ2fjLtb9utXGt+6czpS6l6adNrS61TL9Yy/PYsecg98YGLBbaJF0yTz5USCBQeVU2WEVYp1V0UNVICD9bMyom3BfhCK/5uup43FXPt8P2uV2yJK1zqluq26zesTm5s8IAzsXaoOgk994FXhQzIvIuOjqzQxdLLlDTUvNSkFC/S6dEgjuYMEAk2xbRCJL6iewl383S38evvoK3jrL4r9CvFrK2tom9WMbe0Mbcs+lA9wIFkBKAH24rADbkPthFpkouTVxNM0vFRjdAvzefLSkithWpCGj7V+7e4VzWKcyTw9u8M7i9tYi1lbfRuxnCOcrx0/Pe6ep09zMEwxDCHNUnpjHrOWZA5kRKR4RHk0WJQYg7wTNyKuYfbxRoCC/8IvCf5P7ZkdCfyGTCDr69u3+7Vb0twebGU84310zhQuzC93ID+g7+GSokMS3ONMc68T4uQW9BtT8PPJ02iy8TJ3gdBRMNCOj86fFm57HdE9XOzRfIG8T0wbDBUMPExu3Lo9Kv2s/jve0p+MICNw02F3IgpCiQLwA1zjjeOiM7njlcNnsxIiuEI+AaeRGZB4/9qPMv6m/hqtka0/DNU8pbyBbIgsmRzCrRJtdU3nvmWu+r+CMCfAtsFK4cBCQ3KhcvgjJgNKY0UzN1MCUshybIHyAYyw8LByX+XfX47DblUd5/2OnTsdDuzqrO5M+R0pjW2Nsm4k7pGPFG+ZcBzAmlEeUYVh/HJBApEyy6Lfwt2SxeKp8mviHiGzoV/Q1iBqj+CPe+7wHpBuP43f3ZMden1WjVdNa+2DTctuAg5kbs9vL8+R4BKAjiDhgVnBpFH/EihSXxJisnNiYcJO8gzBzUFzESDwygBRf/pfh98s7sw+eA4ybgy91/3ErcKd0U3/jhvOVB6mHv8/TL+rkAkQYmDEwR3RW3Gb8c3x4KIDogbx+0HRkbtBeiEwUPAwrEBHL/NPo09ZnwhOwT6V/me+Ry40rjAOSM5eDn5eqE7pzyDve0+2kACwV0CYQNHBEhFIAWJxgMGS0ZihgsFyAVehJPD7sL2wfOA7f/svvg9130RPGr7qPsO+t56mLq8uoi7OftL/Dm8vb1RPm2/C8AlgPPBsQJXQyJDjgQYRH9EQsSjRGJEAsPIg3eClMIlwXAAub/Hv1++hn4APZD9O3yBPKP8Yzx+fHR8gj0lPVl92v5lfvQ/QoAMwI5BA4GpAfyCO4JlQrjCtoKfQrRCd8IsQdTBtEEOgOaAQAAd/4L/cj7tPrX+Tb50vis+ML4EPmS+T/6D/v7+/n8/v0C//3/5AC1AWcC9wJiA6cDxwPEA6ADYAMJA6ACKwKyATgBxQBcAAIAu/+H/2f/W/9i/3n/nv/M//7/MABeAIQAnQClAJsAfQBKAAQArP9E/9L+Wf7f/Wn9//ym/GT8Pvw4/FX8l/z//Iz9O/4J//D/6ADsAfIC8APeBLEFYgbnBjkHVAc0B9UGOAZhBVEEEQOpASIAif7p/FD7zPlr+Dj3QfaP9Sv1GvVh9QD29vY9+M75nvug/cf/AAI8BGgGcghICtoLGQ35DW8Odg4KDisN3QsoChcIuAUcA1YAff2l+ub3VvUL8xnxku+E7vrt/O2M7qrvT/Fx8wH27/gk/Ij/AAN0BsYJ2wybD+0RvRP7FJkVjxXcFIEThhH4DukLbgiiBKAAifx6+Jb0+vDF7RPr+eiM59nm6ea/51bppeue7iryMfaU+jP/6AORCAgNKRHTFOYXShrnG7AcmhyjG9EZLhfME8QPMgs6BgABrvtr9mLxvOyd6Cjle+Kt4M7f6N/+4AvjAObJ6UzuZ/P0+Mn+twSSCiwQVxXrGcAduCC4Iq4jkCNbIhYg0BygGKQTAQ7iB3QB6/p49E7unuiX42DfHtzs2d7Y/9hR2s3cYuD35GvqlPBF90r+bQV3DDATYxnfHnYjAydoKY4qayr9KEsmaCJvHYYX2BCYCf0BQvqj8lvrpeS23r7Z5tVP0w/SM9K906PW0tos4Inmuu2I9bj9CQY8DhEWSR2rIwMpJi3wL0oxJjGDL2ks8Cc2ImYbtRNaC5gCs/nt8Izo0+D/2UfU2c/bzGfListGzZHQVNVs26vi3OrA8xP9jAbjD84YBiFMKGMuGzNNNt03uzfnNWwyYy3vJkEfkxYoDUYDPPlW7+LlK9111f/O/MmXxuzECsX0xp7K7c+71tXe/efu8Vz89QZoEWQbmCS9LJIz3zh4PD8+JT4lPE84vDKWKxMjchn+DgYE4Pjh7WDjsNkc0evJVMSHwKO+ub7MwM7Eosoe0gnbIOUV8JX7RQfNEtId/Cf9MIs4az5sQm5EXUQ3Qgs+9zcoMNgmTRzaENUEnPiN7AfhZNb4zA7F5b6vupG4nLjSuia/eMWZzUzXR+I37r76fAcQFBYgMCsGNUs9vEMlSGJKXkoXSJ1DDz2fNIwqIh+6ErIFcfhb69jeSdMKyWzAs7kWtbuyt7INtay5dMAxyaLTd99V7Nr5mwcxFS8iMS7XOM5BzkieTRdQJFDBTf5I/0H3OCsu7iGcFJ0GXvhM6tXcYtBXxQm8w7S/ryetEa2Br2W0mrvpxA3Qsdxz6un4ogcvFhwk/TBtPBBGnE3SUolVqVUuUypOwkYtPbMxrSR+FpQHY/hf6f7asc3gwee3GLCvqtmnr6czqlWv77bHwJPM+dmS6O33kgcLF9wlkzPEPw9KI1K9V7Ja6FpbWB1TVEs7QR81XSddGJUIfviU6FXZNsunvgu0tqvppdWilKIopYGqd7LNvDbJUte15uj2bAfEF28n8jXcQshNX1ZcXI9f3l9DXdFXsU8fRWw4+ik3Gp0Jr/js59nX9Miwu3ewoKdzoSCexZ1koO2lNq4BufrFwNTf5Nz1MQdbGNMoGDiyRThRTVqqYBxkhWThYUNc01PTSJY7gSwJHK0K9Phm54zW68b8uC2t2qNOnb6ZRpnsm5+hMqpltePCRNIS48r04gbRGAkqAzpFSFxU612kZFRo2mgyZm5guVdVTJk+8C7RHcELTPkB527VHcWMti+qZqB/mbGVG5XEl5mdbab/sfS/489Q4bTzgQYlGRArtDuSSjNXNWFIaDRs2Wwxak5kXFugT3NBQzGMH9cMt/m95n7UicNitH+nRp0Ilv6RSJHvk9+Z7KLQrjC9n82c353yDgZZGegrKj2ZTLtZKWSSa7pvf3Dbbd9nul6xUiBEeDM4Ie8NMvqZ5r3TMcJ/siClfprskqeO0Y1xkHaWsp/dq5u6esv43YbxiwVtGZIsZD5YTvFbxmZ/buFyyHMscR9r0GGFVZ1GizXTIgUPvPqU5irTFcHjsBKjDpgtkK+Lt4pOjWCTwpwpqTe4eMln3HHw+gRjGQ8tYj/QT9ddCWkPcal1snYidApummQZWOdIezdZJBgQVPut5sTSNcCPr1ah+JXOjRiJ/oeHiqGQH5q3pgi2nMfs2mHvXAQ8GV4tJUD/UGlf8Wo+cw54Onm5dp1wFGdpWvtKQznJJSUR9/vj5ovSkL+Eru2fPZTPi+aGqIUgiDuOzZeJpBC06MWI2VfuswP4GIEtrEDmUadgfWwLdQ56XnvveNVyPmlyXNdM4johJysSpfw0537SJr/Crdme35IzihiFt4MahjGMzZWkolKyXsQ92FXtAQOaGHgt+UCFUpJhrW12dql7HH3DerF0E2s0XndOVjxdKCgTW/2f55zS975HrRie3pH6iLGDLIJ5hIWKI5QIodCwAcMP117sRwIiGEUtC0HbUipigG59d9x8cn4yfC12kmyqX9pPmz19KRkUGP4i6OTSAb8UraqdOpEliLGCCoE9gzmJ0JK4n42v1MH/1XPriAGTF+os5UDqUm1i9W4heKh9YH87fUl3uG3TYP1QsT58Kv0U2v696FPTQ78prZCd85CzhxqCUYBogk6I1pG2noqu18AQ1ZfqxQDuFmYsh0CzUl5iDm9geAt+5H/cfQN4hW6tYd9RlD9bK9EVnv9s6erTvb+DrcidCZGnh+uBAYD6gcWHNpEDnsmtDsBD1MvpAAA=" type="audio/wav" />
    Your browser does not support the audio element.
</audio>

## Video

More exotic objects can also be displayed, as long as their representation supports the IPython display protocol.  For example, videos hosted externally on YouTube are easy to load:

```python
from IPython.display import YouTubeVideo
YouTubeVideo('sjfsUzECqK0')
```

Using the nascent video capabilities of modern browsers, you may also be able to display local
videos.  At the moment this doesn't work very well in all browsers, so it may or may not work for you;
we will continue testing this and looking for ways to make it more robust.

The following cell loads a local file called  `animation.m4v`, encodes the raw video as base64 for http
transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control bar at the bottom with a play/pause button and a location slider.

```python
from IPython.display import HTML
from base64 import b64encode
video = open("../images/animation.m4v", "rb").read()
video_encoded = b64encode(video).decode('ascii')
video_tag = '<video controls alt="test" src="data:video/x-m4v;base64,{0}">'.format(video_encoded)
HTML(data=video_tag)
```

## External sites

You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia
page for mobile users:

```python
from IPython.display import IFrame
IFrame('http://jupyter.org', width='100%', height=350)
```

## Links to local files

IPython provides builtin display classes for generating links to local files. Create a link to a single file using the `FileLink` object:

```python
from IPython.display import FileLink, FileLinks
FileLink('Cell Magics.ipynb')
```

Alternatively, to generate links to all of the files in a directory, use the `FileLinks` object, passing `'.'` to indicate that we want links generated for the current working directory. Note that if there were other directories under the current directory, `FileLinks` would work in a recursive manner creating links to files in all sub-directories as well.

```python
FileLinks('.')
```

## Rich output and security

The IPython Notebook allows arbitrary code execution in both the IPython kernel and in the browser, though HTML and JavaScript output. More importantly, because IPython has a JavaScript API for running code in the browser, HTML and JavaScript output can actually trigger code to be run in the kernel. This poses a significant security risk as it would allow IPython Notebooks to execute arbitrary code on your computers.

To protect against these risks, the IPython Notebook has a security model that specifies how dangerous output is handled. Here is a short summary:

* When you run code in the Notebook, all rich output is displayed.
* When you open a notebook, rich output is only displayed if it doesn't contain security vulberabilities,...
* ..or if you have trusted a notebook, all rich output will run upon opening it.

A full description of the IPython security model can be found on [this page](http://ipython.org/ipython-doc/dev/notebook/security.html).

## Rich output and nbviewer

Much of the power of the Notebook is that it enables users to share notebooks with each other using http://nbviewer.ipython.org, without installing IPython locally. As of IPython 2.0, notebooks rendere on nbviewer will display all output, including HTML and JavaScript. Furthermore, to provide a consistent JavaScript environment on the live Notebook and nbviewer, the following JavaScript libraries are loaded onto the nbviewer page, *before* the notebook and its output is displayed:

* [jQuery](http://jquery.com/)
* [RequireJS](http://requirejs.org/)

Libraries such as [mpld3](http://mpld3.github.io/) use these capabilities to generate interactive visualizations that work on nbviewer.


Why SoftMax? Full Bayesian filtering of arbitrary states.
Is it possible to model dynamic targets/groundings with G^3? Is there a one-to-one mapping between our state-space representation, and factor graph representation?
If you could do it, what would it require you to do?
What assumptions they make don't scale?

we're not focused on the grounding problem - they are
we're focused on providing perception, given groundings

Extracting Meaning from Human Sensors

# i. Preface

This document provides the rough, unformatted run-through of the paper being submitted to the Robotics Science and Systems 2015 [Workshop on Model Learning for Human-Robot Communication](http://www.ece.rochester.edu/projects/rail/mlhrc2015/#importantdates).

# ii. Big Picture
Answers to [Heilmeier's Catechism](http://en.wikipedia.org/wiki/George_H._Heilmeier#Heilmeier.27s_Catechism):

## ii.1 What are you trying to do? Articulate your objectives using absolutely no jargon.
We're developing a technique for humans to inform robots of the world around them. Put another way, we're developing a Bayesian framework for a (noisy) *human sensor* that the robot can use to understand its environment. We want to be able to plug this human sensor into existing perception algorithms.

## ii.2 How is it done today, and what are the limits of current practice?
Most researchers focus on providing robots with a spatial understanding of the environment, but this doesn't allow for many of the descriptions in human language. Moreover, they focus on control, and so they're looking for a single best estimate.

3 types of uncertainty - humans are not oracles. We're looking at typical Bayesian uncertainty - sensor error/imprecision/accuracy, association error.

talk about cops and robots

Physical vs. abstract concepts

scalability & implelmentation - dynamics? larger space-time scales for a grid?

## ii.3 What's new in your approach and why do you think it will be successful?
Our approach is more general than simply focusing on Euclidian space: we want to translate arbitrary *state space*, which includes Euclidian space. A state could be position, velocity, heading, a target's tactics -- anything a human can sense.

This approach will be successful because it captures the richness of human language instead of focusing solely on prepositional relationships, allowing for far more information to be provided by a human sensor (as long as the robot has a model for how to *use* the state estimate).

use GMMs instead - they scale far better than particles/grid models

we want to human to do more than labeling - we want the human to express a broader understanding

human doesn't necessarily know all the answers, but can provide helpful (positive or negative) information

think of difficult environments for sensors - constrained computing, out on the road at night

In the event of sensor failure, a human can step in to make perception more robust

big difference because humans are used as multi-state sensors, not simply labelers of the world. we have the human in the loop. they focus on human as an augmentation for planning, we focus on human as an augmentation for sensing.

we need our model to work well within a Bayesian filter. our focus is more on *dynamics* (*aerospace* - computation constraints are IMPORTANT).

estimation-friendly models for state-spatial language (sticking with codebook)

## ii.4 Who cares?
We can break down the, "Who cares?" question into three types of people interested in using humans as sensors to inform an autonomous system of its environment:
* *Researchers* can use and build upon our model;
* *Developers* can incorporate the use of human sensors to make their robots and autonomous systems take in a rich new spectrum of information;
* *End-users* can use the products of the developers.

## ii.5 If you're successful, what difference will it make?
The ability for humans to explain the world around them to robots is huge: robots are fantastic at intensely complicated and quick computation, but poor on developing deep understanding. Humans are the opposite.

The ability to tell the robot about aspects of its world is akin to telling a toddler about its world. Currently, we can only tell our toddler-bots about spatial relationships: the box is in a corner, the kitchen is down the hall from the office, etc.

Imagine how much more they'll learn if we can tell them about all the rest of the concepts described human language: height, texture, movement models, etc.

## ii.6 What are the risks and the payoffs?
We might be wasting our time/AI is dangerous/We might miss a better technique.

The payoff, if our model works well, is that we can take a big step towards conversational interaction with autonomous systems.

## ii.7 How much will it cost?
For a system that already has humans to interact with, this will not cost any money. However, the cost of interaction is an interesting problem: humans intuitively know the rules of when and how to interact with each other (to a varying degree...). Robots don't.

If a robot is able to ask questions about its environment, how does it determine what the correct amount of questions to ask is? How does it understand when it has annoyed its teammate? This is one of our core research questions: what is the cost, in term of a human operator's attention and willingness to answer, of a robot asking questions and providing information?

## ii.8 How long will it take?

Depends on how complicated and exact it needs to be. We can propose models, or we can learn models from human experience. The first is simply the length of building up a library for the ways in which humans describe environments - the second would be an ongoing process of calibrating a human's meaning to a probabilistic understanding of the state space.

## ii.9 What are the midterm and final "exams" to check for success?
We'd run experiments to determine:
* How well does a human-robot team work with a human acting as a sensor?
* Do some states work better than others? Are some more variable between humans?
* Instead of re-learning all human models, can we effectively transfer 'calibrarion profiles' between humans?

# iii. Outline

1st technical nugget: Generalized MMS with GMMs
2nd technical nugget: Extension to velocity/Heading
3rd technical nugget: learning

1. how do you get the models?
  1. binary softmax
  2. deformable templates
2. what properties of this model makes it good for inference?
  1. dynamics
  2. motion models
3. what properties of this model makes it good for learning?
  1. GPs
  2. Population learning (priors based on hyperpriors shared among human sensors)
  3. Concept transfer (how are 'front' and 'nearby' related) & online learning (ICCPS)

Think about:
key figures, demos (esp. for 1, and how it connects to 2 and 3)
start document

1. Introduction
  1. Ground Cops and Robots
  What's in this problem that other related research can't solve
2. Related Work
3. Generating SoftMax Models
  1. From Weights
  2. From Class Boundaries
  3. From Polytope Templates
  4. In n-dimensions
  5. Multimodal SoftMax
4. Learning Spatial SoftMax Models
  1. From Collected Data
  2. With Prior Boundaries
  3. Using Symmetry to Minimize Data Collection
5. Simulations
6. Ongoing Work

# iii.1 Key Equations

### Chapman-Komolgorov
Used for dynamics prediction step in Bayes' filters (like KF, UKF, EKF, PF, GSF).
\begin{equation}
p(\left. X_k \right| \zeta_{1:k-1},D_{1:k-1})
= \int p(\left. X_k \right| X_{k-1})
p(\left. X_{k-1} \right| \zeta_{1:k-1},D_{1:k-1})
dX_{k-1}
\end{equation}

### Bayes' Fusion (robot update)
Done *before* human update.

\begin{align}
\begin{split}
p(\left. X_k \right| \zeta_{1:k},D_{1:k-1})
& = \frac{p(\left. \zeta_k \right| X_k)  p(\left. X_k \right| \zeta_{1:k-1},D_{1:k-1})}
{\int p(\left. \zeta_k \right| X_k)  p(\left. X_k \right| \zeta_{1:k-1},D_{1:k-1}) dX_k} \\
&\equiv p( X_k )
\end{split}
\end{align}

### Bayes' Fusion (human update)
The focus of our paper. We want to generate the likelihood model.
\begin{align}
\begin{split}
p(\left. X_k \right| \zeta_{1:k},D_{1:k})
&= \frac{p(\left. D_k \right| X_k)  p(\left. X_k \right| \zeta_{1:k},D_{1:k-1})}
{\int p(\left. D_k \right| X_k)  p(\left. X_k \right| \zeta_{1:k},D_{1:k-1}) dX_k} \\
&\equiv p(\left. X_k \right| D_{k} )
\end{split}
\end{align}

### Softmax Likelihood
Widely used. Well-suited for modling hybrid continuous-to-discrete mappings (e.g. human utterances to continuous state space probabilities. Always leads to complete convex decomposition of the state space, so the state can be fully partitioned.

Problems: do *not* (necessarily) lead to closed-form posteriors. Thus, grid-based and particle approximations could work, but they scale poorly with state dimensionality, provide a cumbersome posterior, and, for grids, don't mesh easily with typical filters for hard sensor data. Gaussian mixtures via EM are prone to poor local maxima **(?)** and high computation.

\begin{equation}
P(D_k=j \vert X_k = \mathbf{x}) = \frac{e^{\mathbf{w}_j^T \mathbf{x} + b_j}}{\sum_{h=1}^m e^{\mathbf{w}_h^T\mathbf{x} + b_h}}
\end{equation}

### Linear Hyperplane Class Boundaries
Could be critical or non-critical boundaries.

\begin{equation}
L_{log}(i,j) = (\mathbf{w}_i - \mathbf{w}_j)^T\mathbf{x} + (b_i - b_j) = 0
\end{equation}

### Shifted and Rotated Coordinate Frame
**Should we consider a quaternion representation? What about generalized rotations?***

\begin{align}
\begin{split}
\mathbf{w}_i^\prime &= \mathbf{w}_i^T R(\theta) \\
b_i^\prime &= \mathbf{w}_i^T R(\theta) \mathbf{b}
\end{split}
\end{align}

### Softmax Gradient
Defines the slope of a given class.

\begin{equation}
\frac{\partial P(D_k = i \vert \mathbf{x})} {\partial \mathbf{x}} =
P(D_k = i \vert \mathbf{x}) \left(\mathbf{w}_{i} - \sum_{h=1}^m \mathbf{w}_{h}P(D_k = h \vert \mathbf{x}) \right) \\
\end{equation}

### Weight-Normal Transform
General transformation:

\begin{equation}
\mathbf{n} = \mathbf{A}\mathbf{w}
\end{equation}

Or, for strict ordering and zero-weight reference class $i$:

\begin{equation}
\mathbf{n}_{i,j} = \mathbf{w}_j
\end{equation}

### Rouché-Capelli Theorem
Used in conjunction with the rank check to ensure proper A matrix.
\begin{equation}
rank\left(\mathbf{A}_{min}\right) = rank\left(\left[\begin{array}{r|r} \mathbf{A}_{min} & \mathbf{n}_{min}\end{array}\right]\right)
\end{equation}

### Polytopes to Weights
Sample points from polytopes to find exact weights. Use SVD or other matrix decomposition technique.

\begin{equation}
\begin{bmatrix}
\mathbf{x}_{i,1} & \mathbf{x}_{i,2} & \dots & \mathbf{x}_{i,n} & \mathbf{1} \\
\end{bmatrix}
\begin{bmatrix}
w_{i,1}\\
w_{i,2}\\
\vdots \\
b_i
\end{bmatrix}
=\begin{bmatrix}
0\\
0\\
0
\end{bmatrix}
\end{equation}

### Normal check
*Sum of *all* normals *must* equal 0*.

### Multimodal Softmax Likelihood
Groups subclasses $\theta(j)$ together into classes. No longer convex, though subclasses are. *Boundaries *or* gradients shift, but* not both. Possible to estimate MMS class weights from data (i.e. through symmetry).

\begin{equation}
P(D_k=j \vert X_k = \mathbf{x})
= \frac{\sum\limits_{r \, \in \, \sigma(j)} e^{\mathbf{w}_r^T \mathbf{x} + b_r}}
{\sum\limits_{c = 1}^S e^{\mathbf{w}_c^T\mathbf{x} + b_c}}
\end{equation}

### MMS Boundary Shaping
(Fixed boundaries vs. fixed gradients)

Take three arbitrary classes `A`, `B`, and `C`. We will sum `A` and `C` together to make superclass `D`:

\begin{align}
L_{log}(B,D)
&= \mathbf{w}_B^T \mathbf{x} + b_B - \ln{\left( e^{\mathbf{w}_A ^T \mathbf{x} + b_A} + e^{\mathbf{w}_C^T \mathbf{x} + b_C}\right)}
= 0\\
L_{log}(B,A) &= (\mathbf{w}_B - \mathbf{w}_A)^T \mathbf{x}_{AB} + (b_B - b_A) = 0\\
L_{log}(B,C) &= (\mathbf{w}_B - \mathbf{w}_C)^T \mathbf{x}_{BC} + (b_B - b_C) = 0
\end{align}

Where $x_{AB}$ and $x_{BC}$ are the solutions to the above equations for fixed weights (i.e. the locations of the boundary in the state space). [Must be solved numerically](http://math.stackexchange.com/questions/129504/solving-a-sum-of-exponentials).

### Complete Multi-shape MMS Algorithm

*Inputs*:
Map object shapes + scales
Scaling factor for object interiors

*Outputs*:
Multiple binary, convex, linearly/non-linearly separable probabilistic decompositions of the state space.

1. Find normal vectors for all shapes
1. Find *independent* shape weights (i.e. through learning - following section.)
1. Use MMS boundary shaping on all shapes
1. Account for object interiors

Note: template concept applies to non-physical shapes (i.e. motion models for velocity states)

# iii.2 Examples

### Speed example

State space: $s$

### Non-MMS and MMS Pentagon examples (regular 2D polygon)

State space: $\begin{bmatrix} x & y \end{bmatrix}$

### Football stadium example (curved 2D shape)

State space: $\begin{bmatrix} x & y & x^2 & xy & y^2 \end{bmatrix}$

### Full room example (many objects, many barriers)

State space: $\begin{bmatrix} x & y & x^2 & xy & y^2 \end{bmatrix}$

Show near: clusters of objects, rooms

Video example for demo: "The ball is between three robots." as the robots are moving.

# iv. Abstract

* **Key words**: Human-robot dialog, spatial language modeling and interpretation, Spatial-semantic mapping, Semantic perception

# 1. Introduction

 Questions this section answers:

 What's the importance of a physical understanding of the world?

 How does it apply to a human-robot team?

 How can humans convey a physical understanding of the world to the robot?

 What types of physical understanding can we convey? How do we convey them?

 What domains does this apply to? When would it be used?

# 2. Related Work

 Questions this section answers:

 Who else has worked on communicating spatial understanding to a robot?

 How does our research differ from theirs?

 What have we worked on in the past, and how are we improving it?

* Nisar's previous work
* Nick Roy's Group (Tellex, Walter)
* Jensfelt and Burgard
* Dieter Fox, Cynthia Matuszek
* Gaardenfors
* Kuipers
* Kaupp
* Terry Regier (?)
* Jamie Frost, Alastair Harrison
* Marjorie Skubic ([this?](http://eldertech.missouri.edu/docs/HCC%20Small.html))

# 3. Generating SoftMax Models

 Questions this section answers:

 What is a SoftMax Model and why does it best represent a spatial understanding?

 What different elements compose a SoftMax model, and what do they mean?

 What different ways can we construct a SoftMax model easily?

## 3.1. From Weights

 Questions this section answers:

 What are the core insights we can get from SoftMax models?

 How is the slope of each class's probability derived and manipulated?

 How do manipulate (i.e. rotate/translate) the model?

## 3.2. From Class Boundaries

 Questions this section answers:

 How do we compute SoftMax weights from class boundaries?

 When *can't* we use class boundaries?

## 3.3. From Polytope Templates

 Questions this section answers:

 How do we derive normals from Polytope templates?

## 3.4. In n-dimensions

 Questions this section answers:

 What do 1D examples looks like, and what purposes do they serve?

 Can we combine multiple states (i.e. position and velocty) into one SoftMax model?

## 3.5. Multimodal Softmax

 Questions this section answers:

 Can we compose 'superclasses' from multiple SoftMax classes?

 Can we merge multiple state types (i.e. position and velocity) into a superclass?

 Can we fix the normal boundary problem using our classes as superclasses?

# 4. Learning SoftMax Models

 Questions this section answers:

 Instead of specifying the SoftMax Models, can we learn them from user data?

 What use is collecting data from individuals? How different are they? Are humans good estimators?

 What language do humans use to express spatial representations? How many prepositions exist? Does their usage vary?

 Can we use negative information well?

## 4.1. From Collected Data

 Questions this section answers:

 How do we learn distributions from experimental human data?

## 4.2. With Prior Boundaries

 Questions this section answers:

 Given a gounding polytope, can we simply learn the gradients of the SoftMax classes?

 Can we represent the polytope boundaries probabilistically?

## 4.3. Using Symmetry to Minimize Data Collection

 Questions this section answers:

 Can we minimize the amount of data needed to be collected by exploiting symmetry?

 Which prepositions or prepositional phrases imply symmetry?

# 5. Simulations

 Questions this section answers:

 Is this SoftMax decomposition effective?

 Can it run in real-time?

 How did the robot perform on its own?

 How did the human-robot team perform when using positional statements? Velocity statements? Both?

 How useful was negative information?

# 6. Conclusion

 Questions this section answers:

 What model did we introduce?

 What validation can we provide?

 What's next?

```python
from IPython.core.display import HTML

# Borrowed style from Probabilistic Programming and Bayesian Methods for Hackers
def css_styling():
    styles = open("../styles/custom.css", "r").read()
    return HTML(styles)
css_styling()
```

<link href='http://fonts.googleapis.com/css?family=Roboto:100,100italic,500,300,300italic,400' rel='stylesheet' type='text/css'>