From f70139ed17334ffe14102e834ecfe78272d53e0d Mon Sep 17 00:00:00 2001 From: "pavel.muhortov" Date: Sun, 12 Mar 2023 14:27:03 +0300 Subject: [PATCH] secuences.sh absorbed ssv-scheduler.py --- .vscode/launch.json | 24 + README.md | 68 +- archive/0.1/README.md | 245 ++++++ cctv-scheduler.conf | 81 ++ cctv-scheduler.py | 1240 ++++++++++++++++++++++++++++ info/images/cctv-scheduler-0.2.png | Bin 0 -> 285826 bytes 6 files changed, 1620 insertions(+), 38 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 archive/0.1/README.md create mode 100644 cctv-scheduler.conf create mode 100644 cctv-scheduler.py create mode 100644 info/images/cctv-scheduler-0.2.png diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..ae932d2 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2", + "configurations": [ + { + "name": "Python: cctv-scheduler", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true + }, + { + "name": "Python: cctv-scheduler -s", + "type": "python", + "request": "launch", + "program": "${file}", + "args": [ + "-s" + ], + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 4bb2ffc..e53bdd7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,16 @@ # cctv-scheduler PTZ IP-Camera management +____ -![cctv-scheduler](info/images/cctv-scheduler-0.1.png) +- [`cctv-scheduler.py`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#cctv-scheduler-py) +- [`converter.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#converter-sh) +- [`publisher.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#publisher-sh) +- [`streaming.py`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#streaming-py) + +____ + +![cctv-scheduler](info/images/cctv-scheduler-0.2.png) ## `Installation` @@ -22,8 +30,8 @@ Look at the description of dependencies and install the necessary. Download scripts and configs. ```bash -wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/sequences.sh -O /home/user/cctv-scheduler/sequences.sh -wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/sequences.conf -O /home/user/cctv-scheduler/sequences.conf +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/cctv-scheduler.py -O /home/user/cctv-scheduler/cctv-scheduler.py +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/cctv-scheduler.conf -O /home/user/cctv-scheduler/cctv-scheduler.conf wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/converter.sh -O /home/user/cctv-scheduler/converter.sh wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/converter.conf -O /home/user/cctv-scheduler/converter.conf wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/publisher.sh -O /home/user/cctv-scheduler/publisher.sh @@ -37,7 +45,7 @@ wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/strea Edit configs. ```bash -nano /home/user/cctv-scheduler/sequences.conf +nano /home/user/cctv-scheduler/cctv-scheduler.conf nano /home/user/cctv-scheduler/converter.conf nano /home/user/cctv-scheduler/publisher.conf ``` @@ -50,19 +58,10 @@ Look at examples and edit scheduler tasks: crontab -e ``` -____ - -- [`sequences.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#sequences-sh) -- [`converter.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#converter-sh) -- [`publisher.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#publisher-sh) -- [`streaming.py`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#streaming-py) - -____ - -## `sequences`.sh +## `cctv-scheduler`.py **Description:** -> [Hikvision](https://git.hmp.today/pavel.muhortov/cctv-scheduler/src/branch/master/info/hikvision/manual/isapi.pdf) PTZ-camera sequences. +> [Hikvision](https://git.hmp.today/pavel.muhortov/cctv-scheduler/src/branch/master/info/hikvision/manual/isapi.pdf) PTZ IP-Camera management. > Additionally: > > - getting temperature from DS18B20 over SSH, @@ -72,26 +71,27 @@ ____ **Dependencies:** > -> - [bash](https://www.gnu.org/software/bash/) (tested version 5.1.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) -> - [curl](https://curl.se/download.html) (tested version 7.74 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) -> - [sshpass](https://www.cyberciti.biz/faq/noninteractive-shell-script-ssh-password-provider/) (tested version 1.09 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [Python 3](https://www.python.org/downloads/) (tested version 3.9.5 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [paramiko](https://www.paramiko.org/) Python 3 module (tested version 3.1.0) -| POSITION | PARAMETERS | DESCRIPTION | DEFAULT | -|-----------|--------------|------------------------|---------------| -| 1 | **[qn]** |execution without pauses|| -| 2 | **[/path/to/conf]** |path to config| ./sequences.conf | +| PARAMETERS | DESCRIPTION | DEFAULT| +|-------------|-------------|--------| +|**[-h]**|print help and exit|| +|**[-s, --sequences]**|run sequences from config file|`None`| +|**[--config]**|custom configuration file path|`./cctv-scheduler.conf`| -Example usage in terminal with bash: +Example usage in terminal with make the script executable: ```bash -bash ./sequences.sh - ./sequences.conf +chmod u+x ./cctv-scheduler.py +./cctv-scheduler.py -s --config /home/user/cctv-scheduler/cctv-scheduler.conf ``` Example usage with cron: ```bash # crontab -e -0 * * * * bash /home/user/cctv-scheduler/sequences.sh qn +0 * * * * /usr/bin/python3 /home/user/cctv-scheduler/cctv-scheduler.py -s ``` ____ @@ -132,8 +132,8 @@ ____ | POSITION | PARAMETERS | DESCRIPTION | DEFAULT | |-----------|--------------|------------------------|---------------| | 1 | **[qn]** |execution without pauses|| -| 2 | **[/path/to/conf]** |path to config| ./converter.conf | -| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - today \| '-d' - yesterday \| '-w' - last week \| '-m' - last month \| '-y' - last year|| +| 2 | **[/path/to/conf]** |path to config| `./converter.conf` | +| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - today \| '-d' - yesterday \| '-w' - last week \| '-m' - last month \| '-y' - last year|`''`| Example usage in terminal with bash for today's MP4 making: @@ -176,9 +176,9 @@ ____ | POSITION | PARAMETERS | DESCRIPTION | DEFAULT | |-----------|--------------|------------------------|---------------| | 1 | **[qn]** |execution without pauses|| -| 2 | **[/path/to/conf]** |path to config| ./converter.conf | -| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - 0 day \| '-d' - -X day \| '-w' - -X week \| '-m' - -X month \| '-y' - -X year|| -| 4 | **[1\|2\|3..XXX]** |multiplier for period: '' - 1 day\|week\|month\|year|1| +| 2 | **[/path/to/conf]** |path to config| `./publisher.conf` | +| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - 0 day \| '-d' - -X day \| '-w' - -X week \| '-m' - -X month \| '-y' - -X year|`''`| +| 4 | **[1\|2\|3..XXX]** |multiplier for period: '' - 1 day\|week\|month\|year|`1`| | 5 | **[--onlytg\|--onlywp]** |'--onlytg' - only publish to Telegram \|'--onlywp' - only publish to Wordpress|| Example usage in terminal with bash for publish to Telegram today's MP4: @@ -235,11 +235,3 @@ Example usage with cron: * * * * * /usr/bin/python3 /home/user/cctv-scheduler/streaming.py -s rtsp://user:pass@host:554/Streaming/Channels/video,http://Streaming/Channels/audio --dst rtmp://a.rtmp.youtube.com/live2/YOUKEY --mono --watchdog --sec 30 >> /dev/null 2>&1 * * * * * /usr/bin/python3 /home/user/cctv-scheduler/streaming.py -s ~/media.mp4 --dst rtmp://b.rtmp.youtube.com/live2?backup=1/YOUKEY --mono >> /dev/null 2>&1 ``` - -Example usage in Python: - -```Python -from streaming import FFmpeg - -FFmpeg.run(src='null, anull', preset='240p', fps=10) -``` diff --git a/archive/0.1/README.md b/archive/0.1/README.md new file mode 100644 index 0000000..4bb2ffc --- /dev/null +++ b/archive/0.1/README.md @@ -0,0 +1,245 @@ +# cctv-scheduler + +PTZ IP-Camera management + +![cctv-scheduler](info/images/cctv-scheduler-0.1.png) + +## `Installation` + +### `Requirements` + +Cameras settings: +> +> - Configuration -> System -> Security -> Authentication -> RTSP Authentication: digest/basic +> - Configuration -> System -> Security -> Authentication -> WEB Authentication: digest/basic +> - Configuration -> Network -> Advanced Settings -> Integration Protocol -> Enable Hikvision-CGI: Enabled +> - Configuration -> Network -> Advanced Settings -> Integration Protocol -> Hikvision-CGI Authentication: digest/basic + +Look at the description of dependencies and install the necessary. + +### `Downloading` + +Download scripts and configs. + +```bash +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/sequences.sh -O /home/user/cctv-scheduler/sequences.sh +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/sequences.conf -O /home/user/cctv-scheduler/sequences.conf +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/converter.sh -O /home/user/cctv-scheduler/converter.sh +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/converter.conf -O /home/user/cctv-scheduler/converter.conf +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/publisher.sh -O /home/user/cctv-scheduler/publisher.sh +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/publisher.conf -O /home/user/cctv-scheduler/publisher.conf +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/publisher-template-page-1007.xml -O /home/user/cctv-scheduler/publisher-template-page-1007.xml +wget https://git.hmp.today/pavel.muhortov/cctv-scheduler/raw/branch/master/streaming.py -O /home/user/cctv-scheduler/streaming.py +``` + +### `Configuration` + +Edit configs. + +```bash +nano /home/user/cctv-scheduler/sequences.conf +nano /home/user/cctv-scheduler/converter.conf +nano /home/user/cctv-scheduler/publisher.conf +``` + +### `Scheduler` + +Look at examples and edit scheduler tasks: + +```bash +crontab -e +``` + +____ + +- [`sequences.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#sequences-sh) +- [`converter.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#converter-sh) +- [`publisher.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#publisher-sh) +- [`streaming.py`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#streaming-py) + +____ + +## `sequences`.sh + +**Description:** +> [Hikvision](https://git.hmp.today/pavel.muhortov/cctv-scheduler/src/branch/master/info/hikvision/manual/isapi.pdf) PTZ-camera sequences. +> Additionally: +> +> - getting temperature from DS18B20 over SSH, +> - saving pictures to FTP. +> +> This is only a local "proof of conept" for testing and debugging. + +**Dependencies:** +> +> - [bash](https://www.gnu.org/software/bash/) (tested version 5.1.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [curl](https://curl.se/download.html) (tested version 7.74 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [sshpass](https://www.cyberciti.biz/faq/noninteractive-shell-script-ssh-password-provider/) (tested version 1.09 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) + +| POSITION | PARAMETERS | DESCRIPTION | DEFAULT | +|-----------|--------------|------------------------|---------------| +| 1 | **[qn]** |execution without pauses|| +| 2 | **[/path/to/conf]** |path to config| ./sequences.conf | + +Example usage in terminal with bash: + +```bash +bash ./sequences.sh - ./sequences.conf +``` + +Example usage with cron: + +```bash +# crontab -e +0 * * * * bash /home/user/cctv-scheduler/sequences.sh qn +``` + +____ + +## `converter`.sh + +**Description:** +> JPEG to MP4 converter. +> +> This is only a local "proof of conept" for testing and debugging. + +**Dependencies:** +> +> - [bash](https://www.gnu.org/software/bash/) (tested version 5.1.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [ffmpeg](https://ffmpeg.org/download.html) (tested version 4.3.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - filesystem organization: +> +>```bash +> # filesystem organisation example +>/root/ +> /2022/ +> /12/ +> /52/ +> /31/ +> /image-01_2022.12.31_time.jpeg +> /image-02_2022.12.31_time.jpeg +> /2023/ +> /01/ +> /01/ +> /02/ +> /image-01_2023.01.02_time.jpeg +> /image-02_2023.01.02_time.jpeg +> /03/ +> /image-01_2023.01.03_time.jpeg +> /image-02_2023.01.03_time.jpeg +>``` + +| POSITION | PARAMETERS | DESCRIPTION | DEFAULT | +|-----------|--------------|------------------------|---------------| +| 1 | **[qn]** |execution without pauses|| +| 2 | **[/path/to/conf]** |path to config| ./converter.conf | +| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - today \| '-d' - yesterday \| '-w' - last week \| '-m' - last month \| '-y' - last year|| + +Example usage in terminal with bash for today's MP4 making: + +```bash +bash ./converter.sh - ./converter.conf +``` + +Example usage with cron: + +```bash +# crontab -e +1 0 * * * bash /home/user/cctv-scheduler/converter.sh qn - -d +7 0 * * 1 bash /home/user/cctv-scheduler/converter.sh qn - -w +30 0 1 * * bash /home/user/cctv-scheduler/converter.sh qn - -m +36 0 1 1 * bash /home/user/cctv-scheduler/converter.sh qn - -y +``` + +____ + +## `publisher`.sh + +**Description:** +> Uploading MP4 to [Wordpress](https://wordpress.com/) and [Telegram](https://web.telegram.org/). +> Additionally: +> +> - editing [Wordpress](https://codex.wordpress.org/XML-RPC_WordPress_API) page from template +> - recompressing video if size [over 50MB](https://core.telegram.org/bots/api#sendvideo) +> +> This is only a local "proof of conept" for testing and debugging. + +**Dependencies:** +> +> - [bash](https://www.gnu.org/software/bash/) (tested version 5.1.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [curl](https://curl.se/download.html) (tested version 7.74 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [ffmpeg](https://ffmpeg.org/download.html) (tested version 4.3.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [libxml2-utils](https://gitlab.gnome.org/GNOME/libxml2) (tested version 2.9.10 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [jq](https://stedolan.github.io/jq/download/) (tested version 1.6 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> + +| POSITION | PARAMETERS | DESCRIPTION | DEFAULT | +|-----------|--------------|------------------------|---------------| +| 1 | **[qn]** |execution without pauses|| +| 2 | **[/path/to/conf]** |path to config| ./converter.conf | +| 3 | **[-d\|-w\|-m\|-y]** |periods: '' - 0 day \| '-d' - -X day \| '-w' - -X week \| '-m' - -X month \| '-y' - -X year|| +| 4 | **[1\|2\|3..XXX]** |multiplier for period: '' - 1 day\|week\|month\|year|1| +| 5 | **[--onlytg\|--onlywp]** |'--onlytg' - only publish to Telegram \|'--onlywp' - only publish to Wordpress|| + +Example usage in terminal with bash for publish to Telegram today's MP4: + +```bash +bash ./publisher.sh - ./publisher.conf - - - - --onlytg +``` + +Example usage with cron: + +```bash +# crontab -e +1 1 * * * bash /home/user/cctv-scheduler/publisher.sh qn - -d +7 1 * * 1 bash /home/user/cctv-scheduler/publisher.sh qn - -w +30 1 1 * * bash /home/user/cctv-scheduler/publisher.sh qn - -m +36 1 1 1 * bash /home/user/cctv-scheduler/publisher.sh qn - -y +``` + +____ + +## `streaming`.py + +**Description:** +> FFmpeg management from Python + +**Dependencies:** +> +> - [Python 3](https://www.python.org/downloads/) (tested version 3.9.5 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) +> - [ffmpeg](https://ffmpeg.org/download.html) (tested version 4.3.4 on [Debian GNU/Linux 11](http://ftp.debian.org/debian/dists/bullseye/)) + +| PARAMETERS | DESCRIPTION | DEFAULT| +|-------------|-------------|--------| +|**-s**, **--src**|sources urls|**REQUIRED**| +|**[-h]**|print help and exit|| +|**[--preset]**|240p, 360p, 480p, 720p, 1080p, 1440p, 2160p|`None`| +|**[--fps]**|frame per second encoding output|`None`| +|**[--dst]**|destination url|`None`| +|**[--ffpath]**|alternative path to bin|`None`| +|**[--watchdog]**|detect ffmpeg freeze and terminate|| +|**[--sec]**|seconds to wait before the watchdog terminates|15| +|**[--mono]**|detect ffmpeg running copy and terminate|| + +Example usage in terminal with make the script executable: + +```bash +chmod u+x ./streaming.py +./streaming.py -s rtsp://user:pass@host:554/Streaming/Channels/101 --dst rtp://239.0.0.1:5554 +``` + +Example usage with cron: + +```bash +# crontab -e +* * * * * /usr/bin/python3 /home/user/cctv-scheduler/streaming.py -s rtsp://user:pass@host:554/Streaming/Channels/video,http://Streaming/Channels/audio --dst rtmp://a.rtmp.youtube.com/live2/YOUKEY --mono --watchdog --sec 30 >> /dev/null 2>&1 +* * * * * /usr/bin/python3 /home/user/cctv-scheduler/streaming.py -s ~/media.mp4 --dst rtmp://b.rtmp.youtube.com/live2?backup=1/YOUKEY --mono >> /dev/null 2>&1 +``` + +Example usage in Python: + +```Python +from streaming import FFmpeg + +FFmpeg.run(src='null, anull', preset='240p', fps=10) +``` diff --git a/cctv-scheduler.conf b/cctv-scheduler.conf new file mode 100644 index 0000000..36acf93 --- /dev/null +++ b/cctv-scheduler.conf @@ -0,0 +1,81 @@ +[common] +# By default, a temporary files directory is created in the same path where the script is located. +# If you need change it, uncomment the parameter and set the path you want. +#temp_path = /tmp/cctv-scheduler +# +# By default, logs use the same directory where the script is located. +# If you need change it, uncomment the parameter and set the path you want. +#log_root = /var/log/cctv-scheduler +# +# The default log level is "INFO". +# If you get errors or want to change the logging level, uncomment the parameter and set the level you want: +# DEBUG, INFO, WARNING, ERROR, CRITICAL. +#log_level = DEBUG + + +[enable-sensors] +# List the sensor block names. Only blocks with the TRUE value will be used. +sensor.test.local = true + + +[sensor-config:sensor.test.local] +# Remote host's sensor parameter description block always starts with "sensor-config:". +hostname = 192.168.254.252 +username = user +userpass = pass +# To recognize options for polling a sensor, you must specify the type of sensor. +# Supported types: +# ds18b20 +nodetype = ds18b20 +nodename = 28-1a2b3c4d5e6f + + +[enable-sequences] +# List the sequence/camera block names. Only blocks with the TRUE value will be used. +camera.test.local = true + + +[camera-config:camera.test.local] +# Camera parameter description block always starts with "camera-config:". +hostname = 192.168.254.253 +username = user +userpass = pass +# If a record directory on a remote host is used, a username and password must be specified. +# Supported protocols: +# FTP, SFTP. +records_root_path = ftp://192.168.254.254/Records/camera.test.local +records_root_user = user +records_root_pass = pass + + +[camera-sequences:camera.test.local] +# Camera sequence description block always starts with "camera-sequences:". +# Place only the sequence of PTZ-actions in this block! +# Variable name can be anything. Only 'downloadjpeg' is using this for filename prefix. +# Available actions: +# setcamerapos, setcameramov, settextonosd, downloadjpeg, capabilities, getcamerapos, +# setptzmovyyu, setptzmovyyd, setptzmovxxl, setptzmovxxr, setptzmovzzi, setptzmovzzo, +# setptzpreset, setptztostop, setmovtohome, setposashome, rebootcamera. +# +# Format (spaces are used for readability only): +# name = action, x, y, zoom, preset, speed, d(ms), w(s), text, notes or anything +step001 = capabilities, -, -, -, -, -, -, 3, , +step002 = getcamerapos, -, -, -, -, -, -, 3, , +step011 = setmovtohome, -, -, -, -, -, -, 15, , +step021 = setptzmovyyd, -, -, -, -, 2, -, 5, , 'speed: 1..7' +step022 = setptzmovyyu, -, -, -, -, 4, -, 3, , 'speed: 1..7' +step023 = setptzmovxxl, -, -, -, -, 4, -, 3, , 'speed: 1..7' +step024 = setptzmovxxr, -, -, -, -, 2, -, 5, , 'speed: 1..7' +step025 = setptzmovzzi, -, -, -, -, 7, -, 3, , 'speed: 1..7' +step026 = setptzmovzzo, -, -, -, -, 7, -, 3, , 'speed: 1..7' +step027 = setptztostop, -, -, -, -, -, -, 3, , +step031 = setptzpreset, -, -, -, 2, 1, -, 15, , 'speed: 1..7' +step041 = setcameramov, 33, 33, 66, -, -, -, 5, , 'x: -100..100, y: -100..100, z: -100..100, duration: 0..180000' +step042 = setcameramov, -66, -66, -99, -, -, 5000, 0, , 'x: -100..100, y: -100..100, z: -100..100, duration: 0..180000' +step043 = setcamerapos, 0, 0, 0, -, -, -, 15, , 'x: 0..3600, y: -900..2700, z: 0..1000' +step051 = setposashome, -, -, -, -, -, -, 3.5, , +step061 = settextonosd, 0, 0, -, -, -, -, 3, hello, 'x|y: osd text position, text: text for osd without quotes or commas' +step062 = settextonosd, 0, 0, -, -, -, -, 3, sensor-config:sensor.test.local, 'if a sensor configuration is specified, the sensor value is used instead of text' +step063 = settextonosd, 0, 0, -, -, -, -, 3, , 'an empty text value is used to clear the osd' +step071 = downloadjpeg, 1280, 720, -, -, -, -, 5, , 'name: filename prefix, x|y: camera width|height resolution' +step999 = rebootcamera, -, -, -, -, -, -, 120, , diff --git a/cctv-scheduler.py b/cctv-scheduler.py new file mode 100644 index 0000000..e119e78 --- /dev/null +++ b/cctv-scheduler.py @@ -0,0 +1,1240 @@ +#!/usr/bin/env python3 + + +import logging +import urllib.request +from argparse import ArgumentParser +from datetime import datetime +from ftplib import FTP +from os import path, sep, makedirs, remove, replace +from time import sleep +from paramiko import SSHClient, AutoAddPolicy + + +class Parse: + """Parser of configs, arguments, parameters. + """ + def __init__(self, parameters, block: str = None) -> None: + """Object constructor. + + Args: + parameters: dictionary as "key":"value" or + ArgumentParser class object or + string path to the file or + string as "var1=val1;var2=val2". + block (str, optional): name of target block from text. Defaults to None. + """ + self.path = '' + self.data = {} + if type(parameters) is dict: + self._dict2dict(parameters) + if type(parameters) is ArgumentParser: + self._dict2dict(self.argv2dict(parameters)) + if type(parameters) is str: + if path.exists(parameters): + self._dict2dict( + self.strs2dict( + self.conf2strs(parameters), + block + ) + ) + self.path = parameters + else: + self._dict2dict(self.strs2dict(parameters, block)) + + def __str__(self) -> str: + """Overrides method for print(object). + + Returns: + str: string with contents of the object's dictionary. + """ + string = '' + for key, val in self.data.items(): + string += str(type(val)) + ' ' + str(key) + ' = ' + str(val) + '\n' + return string + + def _dict2dict(self, dictionary: dict) -> None: + """Updates or adds dictionary data. + + Args: + dictionary (dict): dictionary as "key":"value". + """ + self.data.update(dictionary) + + def expand(self, store: str = None) -> dict: + """Expand dictionary "key":"name.conf" to dictionary "key":{subkey: subval}. + + Args: + store (str, optional): path to directory with name.conf. Defaults to None. + + Returns: + dict: expanded dictionary as "key":{subkey: subval}. + """ + for key in self.data: + if store: + config = store + sep + self.data[key] + else: + config = self.data[key] + with open(config) as file: + self.data[key] = Parse(file.read()).data + return self.data + + @classmethod + def argv2dict(cls, parser: ArgumentParser) -> dict: + """Converts startup arguments to a dictionary. + + Args: + parser (ArgumentParser): argparse.ArgumentParser class object. + + Returns: + dict: dictionary as "key":"value". + """ + parser = ArgumentParser(add_help=False, parents=[parser]) + return vars(parser.parse_args()) + + @classmethod + def conf2strs(cls, config: str) -> str: + """Builds a dictionary from a file containing parameters. + + Args: + config (str): path to the config file. + + Returns: + str: string as "var1=val1;\nvar2=val2;". + """ + with open(config) as file: + raw = file.read() + strs = '' + for line in raw.splitlines(): + if not line.lstrip().startswith('#'): + strs += line + '\n' + return strs + + @classmethod + def strs2dict(cls, strings: str, blockname: str) -> dict: + """Builds a dictionary from a strings containing parameters. + + Args: + strings (str): string as "var1=val1;var2=val2;". + blockname (str): name of target block from text. + + Returns: + dict: dictionary as "key":"value". + """ + dictionary = {} + if blockname: + strings = cls.block(blockname, strings) + for line in strings.replace('\n', ';').split(';'): + if not line.lstrip().startswith('#') and "=" in line: + dictionary[line.split('=')[0].strip()] = line.split('=')[1].strip().split(';')[0].strip() + return dictionary + + @classmethod + def str2bool(cls, value: str) -> bool: + """Converts a string value to boolean. + + Args: + value (str): string containing "true" or "false", "yes" or "no", "1" or "0". + + Returns: + bool: bool True or False. + """ + return str(value).lower() in ("true", "yes", "1") + + @classmethod + def block(cls, blockname: str, text: str) -> str: + """Cuts a block of text between line [blockname] and line [next block] or EOF. + + Args: + blockname (str): string in [] after which the block starts. + text (str): string of text from which the block is needed. + + Returns: + str: string of text between line [block name] and line [next block]. + """ + level = 1 + save = False + result = '' + for line in text.splitlines(): + if line.startswith('[') and blockname in line: + level = line.count('[') + save = True + elif line.startswith('[') and '['*level in line: + save = False + elif save: + result += line + '\n' + return result + + +class Connect: + """Set of connection methods (functions) for various protocols. + """ + @staticmethod + def http( + url: str, method: str = 'GET', + username: str = '', password: str = '', authtype: str = None, + contenttype: str = 'text/plain', contentdata: str = '' + ) -> str: + """Handling HTTP request. + + Args: + url (str): request url. + method (str, optional): HTTP request method. Defaults to 'GET'. + username (str, optional): username for url authentication. Defaults to ''. + password (str, optional): password for url authentication. Defaults to ''. + authtype (str, optional): digest|basic authentication type. Defaults to None. + contenttype (str, optional): 'Content-Type' header. Defaults to 'text/plain'. + contentdata (str, optional): content data. Defaults to ''. + + Returns: + str: HTTP response or 'ERROR'. + """ + + # Preparing authorization + if authtype: + pswd = urllib.request.HTTPPasswordMgrWithDefaultRealm() + pswd.add_password(None, url, username, password) + if authtype == 'basic': + auth = urllib.request.HTTPBasicAuthHandler(pswd) + if authtype == 'digest': + auth = urllib.request.HTTPDigestAuthHandler(pswd) + urllib.request.install_opener(urllib.request.build_opener(auth)) + + # Preparing request + request = urllib.request.Request(url=url, data=bytes(contentdata.encode('utf-8')), method=method) + request.add_header('Content-Type', contenttype) + + # Response + try: + response = urllib.request.urlopen(request).read() + logging.debug( + msg='' + + '\n' + 'uri: ' + url + + '\n' + 'method: ' + method + + '\n' + 'username: ' + username + + '\n' + 'password: ' + password + + '\n' + 'authtype: ' + authtype + + '\n' + 'content-type: ' + contenttype + + '\n' + 'content-data: ' + contentdata + ) + if response.startswith(b'\xff\xd8'): + return response + else: + return str(response.decode('utf-8')) + except Exception as error: + logging.debug(msg='\n' + 'error: ' + str(error)) + return 'ERROR' + + @staticmethod + def ssh_commands(command: str, hostname: str, username: str, password: str, port: int = 22) -> str: + """Handling SSH command executing. + + Args: + command (str): command for executing. + hostname (str): remote hostname or ip address. + username (str): remote host username. + password (str): remote host password. + port (int, optional): remote host connection port. Defaults to 22. + + Returns: + str: terminal response or 'ERROR'. + """ + client = SSHClient() + client.set_missing_host_key_policy(AutoAddPolicy()) + try: + client.connect(hostname=hostname, username=username, password=password, port=port) + stdin, stdout, stderr = client.exec_command(command=command, get_pty=True) + if 'sudo' in command: + stdin.write(password + '\n') + stdin.flush() + stdout.flush() + data = stdout.read() + stderr.read() + client.close() + return data.decode('utf-8') + except Exception as error: + logging.debug( + msg='' + + '\n' + 'host: ' + hostname + ':' + str(port) + + '\n' + 'user: ' + username + + '\n' + 'pass: ' + password + + '\n' + 'command: ' + command + + '\n' + 'error: ' + str(error) + ) + return 'ERROR' + + @staticmethod + def ssh_put_file(src_file: str, dst_file: str, hostname: str, username: str, password: str, port: int = 22) -> str: + """Handling SFTP upload file. + + Args: + src_file (str): /local/path/to/file. + dst_file (str): /remote/path/to/file. + hostname (str): remote hostname or ip address. + username (str): remote host username. + password (str): remote host password. + port (int, optional): remote host connection port. Defaults to 22. + + Returns: + str: '/remote/path/to/file' or 'ERROR'. + """ + client = SSHClient() + client.set_missing_host_key_policy(AutoAddPolicy()) + try: + client.connect(hostname=hostname, username=username, password=password, port=port) + client.exec_command('mkdir -p ' + path.dirname(dst_file)) + try: + sftp = client.open_sftp() + sftp.put(localpath=src_file, remotepath=dst_file) + sftp.stat(dst_file) + sftp.close() + return dst_file + except Exception as error: + logging.debug( + msg='' + + '\n' + 'dst_file: ' + dst_file + + '\n' + 'error: ' + str(error) + ) + return 'ERROR' + except Exception as error: + logging.debug( + msg='' + + '\n' + 'host: ' + hostname + ':' + str(port) + + '\n' + 'user: ' + username + + '\n' + 'pass: ' + password + + '\n' + 'src_file: ' + src_file + + '\n' + 'dst_file: ' + dst_file + + '\n' + 'error: ' + str(error) + ) + return 'ERROR' + ''' + @staticmethod + def ssh_get_file(src_file: str, dst_file: str, hostname: str, username: str, password: str, port: int = 22) -> str: + """Handling SFTP download file. + + Args: + src_file (str): /remote/path/to/file. + dst_file (str): /local/path/to/file. + hostname (str): remote hostname or ip address. + username (str): remote host username. + password (str): remote host password. + port (int, optional): remote host connection port. Defaults to 22. + + Returns: + str: '/local/path/to/file' or 'ERROR'. + """ + client = SSHClient() + client.set_missing_host_key_policy(AutoAddPolicy()) + try: + client.connect(hostname=hostname, username=username, password=password, port=port) + with client.open_sftp() as sftp: + sftp.get(remotepath=src_file, localpath=dst_file) + client.close() + except Exception as error: + logging.debug( + msg='' + + '\n' + 'host: ' + hostname + ':' + str(port) + + '\n' + 'user: ' + username + + '\n' + 'pass: ' + password + + '\n' + 'src_file: ' + src_file + + '\n' + 'dst_file: ' + dst_file + + '\n' + 'error: ' + str(error) + ) + return 'ERROR' + ''' + @staticmethod + def ftp_put_file(src_file: str, dst_file: str, hostname: str, username: str, password: str) -> bool: + dst_path = dst_file.split('/')[:-1] + ftp = FTP(host=hostname) + try: + ftp.login(user=username, passwd=password) + for path_item in dst_path: + if path_item.strip() == '': + continue + path_item = path_item.replace('/', '') + try: + ftp.cwd(path_item) + except Exception: + ftp.mkd(path_item) + ftp.cwd(path_item) + except Exception: + pass + + with open(src_file, "rb") as file: + ftp.storbinary(f"STOR {dst_file}", file) + ftp.quit() + return True + ''' + @staticmethod + def ftp_get_file(src_file: str, dst_file: str, hostname: str, username: str, password: str): + ftp = FTP(host=hostname) + try: + ftp.login(user=username, passwd=password) + with open(dst_file, "wb") as file: + ftp.retrbinary(f"RETR {src_file}", file.write) + ftp.quit() + except Exception: + pass + ''' + ''' + @staticmethod + def xmlrpc(): + pass + ''' + + +class HikISAPI(Connect): + """Representing Hikvision device with ISAPI. + The class inherits the necessary connection methods of the Connect class + """ + def __init__( + self, + hostname: str, + username: str, userpass: str, + authtype: str = 'digest', + hostport: int = 80, protocol: str = 'http', + channel: int = 101, videoid: int = 1 + ) -> None: + """Object constructor. + + Args: + hostname (str): camera hostname or ip address. + username (str): camera admin username. + userpass (str): camera admin password. + authtype (str, optional): digest|basic camera authentication type. Defaults to 'digest'. + hostport (int, optional): camera connection port. Defaults to 80. + protocol (str, optional): camera connection protocol. Defaults to 'http'. + channel (int, optional): camera channel id. Defaults to 101. + videoid (int, optional): camera video id. Defaults to 1. + """ + self._host = hostname + self._port = hostport + self._user = username + self._pswd = userpass + self._auth = authtype + self._prot = protocol + self._chan = channel + self._viid = videoid + + def __call( + self, + url: str, method: str = 'GET', + contenttype: str = 'application/x-www-form-urlencoded', + contentdata: str = '' + ) -> str: + """Send request to camera. + + Args: + url (str): API path for request. + method (str, optional): HTTP request method. Defaults to 'GET'. + contenttype (str, optional): Content-Type header. Defaults to 'application/x-www-form-urlencoded'. + contentdata (str, optional): data for send with request. Defaults to ''. + + Returns: + str: HTTP response content. + """ + return self.http( + url=url, method=method, + username=self._user, password=self._pswd, authtype=self._auth, + contenttype=contenttype, contentdata=contentdata + ) + + def capabilities(self) -> bool: + """Get camera capabilities. + + Returns: + bool: True if successed. Printing a response with a logger at the INFO level. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._viid) + "/capabilities" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.info(msg='\n' + response + '\n') + return True + else: + return False + + def downloadjpeg(self, dst_file: str = path.splitext(__file__)[0] + '.jpeg', x: int = 1920, y: int = 1080) -> bool: + """Get static picture from camera. + + Args: + dst_file (str, optional): absolute path of picture to save. Defaults to scriptname+'.jpeg'. + x (int, optional): picture width. Defaults to 1920. + y (int, optional): picture height. Defaults to 1080. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/Streaming/channels/" + str(self._viid) + + "/picture?snapShotImageType=JPEG&videoResolutionWidth=" + + str(x) + "&videoResolutionHeight=" + str(y) + ) + with open(dst_file, "wb") as file: + response = self.__call(url=url, method='GET') + if response != 'ERROR': + file.write(response) + logging.debug(msg='\n' + dst_file + '\n') + return True + else: + return False + + def getcamerapos(self) -> bool: + """Get current camera position. + + Returns: + bool: True if successed. Printing a response with a logger at the INFO level. + """ + url = (self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + "/status") + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.info(msg='\n' + response + '\n') + return True + else: + return False + + def rebootcamera(self) -> bool: + """Set camera reboot command. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/System/reboot" + ) + response = self.__call(url=url, method="PUT") + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovyyu(self, speed: int = 1) -> bool: + """Start camera moving to up. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=TILT_UP&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovyyd(self, speed: int = 1) -> bool: + """Start camera moving to down. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=TILT_DOWN&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovxxl(self, speed: int = 1) -> bool: + """Start camera moving to left. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=PAN_LEFT&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovxxr(self, speed: int = 1) -> bool: + """Start camera moving to right. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=PAN_RIGHT&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovzzi(self, speed: int = 1) -> bool: + """Start camera zoom in. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=ZOOM_OUT&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzmovzzo(self, speed: int = 1) -> bool: + """Start camera zoom out. + + Args: + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=ZOOM_IN&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptzpreset(self, preset: int, speed: int = 1) -> bool: + """Start camera moving to preset. + + Args: + preset (int): saved preset number. + speed (int, optional): moving speed from 1 to 7. Defaults to 1. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=GOTO_PRESET&presetNo=" + str(preset) + + "&speed=" + str(speed) + + "&mode=start" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setptztostop(self) -> bool: + """Stop any camera moving. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/PTZ/channels/" + str(self._viid) + + "/PTZControl?command=GOTO_PRESET&mode=stop" + ) + response = self.__call(url=url, method='GET') + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setcamerapos(self, x: int = 0, y: int = 0, z: int = 0) -> bool: + """Set camera moving to absolute position. + + Args: + x (int, optional): horisontal camera position from 0 to 3600. Defaults to 0. + y (int, optional): vertical camera position from -900 to 2700. Defaults to 0. + z (int, optional): zoom camera position from 0 to 1000. Defaults to 0. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + + "/absolute" + ) + xml = ''.join( + '' + + '' + + '' + str(y) + '' + + '' + str(x) + '' + + '' + str(z) + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def __setcameramovcon(self, x: int = 0, y: int = 0, z: int = 0) -> bool: + """Set camera moving to direction until other signal or 180 seconds elapse. + + Args: + x (int, optional): acceleration of horizontal camera movement from -100 to 100. Defaults to 0. + y (int, optional): acceleration of vertical camera movement from -100 to 100. Defaults to 0. + z (int, optional): acceleration of zoom camera movement from -100 to 100. Defaults to 0. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + + "/continuous" + ) + xml = ''.join( + '' + + '' + + '' + str(x) + '' + + '' + str(y) + '' + + '' + str(z) + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def __setcameramovmom(self, x: int = 0, y: int = 0, z: int = 0, t: int = 180000) -> bool: + """Set camera moving to direction until other signal or duration elapse. + + Args: + x (int, optional): acceleration of horizontal camera movement from -100 to 100. Defaults to 0. + y (int, optional): acceleration of vertical camera movement from -100 to 100. Defaults to 0. + z (int, optional): acceleration of zoom camera movement from -100 to 100. Defaults to 0. + t (int, optional): duration in ms of acceleration from 0 to 180000. Defaults to 180000. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + + "/momentary" + ) + xml = ''.join( + '' + + '' + + '' + str(x) + '' + + '' + str(y) + '' + + '' + str(z) + '' + + '' + str(t) + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + sleep(t/1000) + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setcameramov(self, x: int = 0, y: int = 0, z: int = 0, t: int = 0) -> bool: + """Set camera moving to direction (polymorph abstraction). + + Args: + x (int, optional): acceleration of horizontal camera movement from -100 to 100. Defaults to 0. + y (int, optional): acceleration of vertical camera movement from -100 to 100. Defaults to 0. + z (int, optional): acceleration of zoom camera movement from -100 to 100. Defaults to 0. + t (int, optional): duration in ms of acceleration from 0 to 180000. Defaults to 0. + + Returns: + bool: True if successed. + """ + if t == '-' or int(t) == 0: + return self.__setcameramovcon(x=int(x), y=int(y), z=int(z)) + else: + return self.__setcameramovmom(x=int(x), y=int(y), z=int(z), t=int(t)) + + def setmovtohome(self) -> bool: + """Set camera moving to homeposition. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + + "/homeposition/goto" + ) + xml = ''.join( + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def setposashome(self) -> bool: + """Save current camera position as homeposition. + + Returns: + bool: True if successed. + """ + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/PTZCtrl/channels/" + str(self._chan) + + "/homeposition" + ) + xml = ''.join( + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + def settextonosd(self, enabled: str = "true", x: int = 0, y: int = 0, message: str = "") -> bool: + """Set message as video overlay text. + + Args: + enabled (str, optional): true or false. Defaults to "true". + x (int, optional): horizontal text position from 0 to video width. Defaults to 0. + y (int, optional): vertical text position from 0 to video heith. Defaults to 0. + message (str, optional): overlay text content. Defaults to "". + + Returns: + bool: True if successed. + """ + if message == '-': + message = "" + url = ( + self._prot + '://' + self._host + ':' + str(self._port) + + "/ISAPI/System/Video/inputs/channels/" + str(self._chan) + + "/overlays/text" + ) + xml = ''.join( + '' + + '' + + '' + + '1' + + '' + enabled + '' + + '' + str(x) + '' + + '' + str(y) + '' + + '' + message + '' + + '' + + '' + ) + response = self.__call(url=url, method="PUT", contenttype="text/xml", contentdata=xml) + if response != 'ERROR': + logging.debug(msg='\n' + response + '\n') + return True + else: + return False + + +class Sensor(Connect): + """Representing sensor connected to remote host. + The class inherits the necessary connection methods of the Connect class + """ + def __init__( + self, + hostname: str, username: str, userpass: str, + nodetype: str, nodename: str, + hostport: int = 22 + ) -> None: + """Object constructor. + + Args: + hostname (str): sensor's remote host hostname or ip address. + username (str): sensor's remote host username. + userpass (str): sensor's remote host password. + nodetype (str): 'ds18b20' or other sensor type. + nodename (str): 28-1a2b3c4d5e6f (ds18b20 example). + hostport (int, optional): sensor's remote host connection port. Defaults to 22. + """ + self._host = hostname + self._port = hostport + self._user = username + self._pswd = userpass + self._type = nodetype + self._node = nodename + + def __call(self, command: str) -> str: + """Send request to sensor's remote host. + + Args: + command (str): command to poll the sensor. + + Returns: + str: sensor's remote host response content. + """ + return self.ssh_commands( + command=command, + hostname=self._host, port=self._port, + username=self._user, password=self._pswd + ) + + def __temperature(self, nodename: str) -> str: + """Preparating request for ds18b20 sensor type. + + Args: + nodename (str): 28-1a2b3c4d5e6f (ds18b20 example). + + Returns: + str: formatted string with temperature in Celsius. + """ + command = 'cat /sys/bus/w1/devices/' + nodename + '/temperature' + response = self.__call(command=command) + if response != 'ERROR': + try: + temperature = str(int(response)//1000) + "'C" + return temperature + except Exception as error: + logging.debug( + msg='' + + '\n' + 'host: ' + self._host + ':' + str(self._port) + + '\n' + 'user: ' + self._user + + '\n' + 'pass: ' + self._pswd + + '\n' + 'command: ' + command + + '\n' + 'error: ' + str(error) + ) + return 'ERROR' + + def value(self) -> str: + """Public method to get sensor value. + + Returns: + str: sensor value. + """ + if self._type == 'ds18b20': + return self.__temperature(nodename=self._node) + + +class Sequence: + """Sequence handling. + """ + @staticmethod + def run( + device: HikISAPI, sensors: dict, sequence: dict, + records_root_path: str = None, + records_root_user: str = None, + records_root_pass: str = None + ) -> None: + """Sequences executor. + + Args: + device (HikISAPI): HikISAPI object. + sensors (dict): collection as key=sensorname:value=Sensor object. + sequence (dict): sequence steps collection. + records_root_path (str, optional): path (local|smb|ftp,sftp) to records directory. Defaults to None. + records_root_user (str, optional): username if path on remote host. Defaults to None. + records_root_pass (str, optional): password if path on remote host. Defaults to None. + """ + for key, value in sequence.items(): + action = value.split(',')[0].strip() + x = value.split(',')[1].strip() + y = value.split(',')[2].strip() + z = value.split(',')[3].strip() + p = value.split(',')[4].strip() + s = value.split(',')[5].strip() + t = value.split(',')[6].strip() + w = value.split(',')[7].strip() + m = value.split(',')[8].strip() + if 'sensor-config:' in m: + sensor_name = m.split(':')[1].strip() + sensor_value = sensors[sensor_name].value() + if sensor_value != 'ERROR': + m = sensor_value + else: + m = '' + logging.info( + msg=' action:' + key + ' = ' + action + + ',' + x + ',' + y + ',' + z + + ',' + p + ',' + s + ',' + t + + ',' + w + ',' + m + ) + if action == 'capabilities': + response = device.capabilities() + elif action == 'getcamerapos': + response = device.getcamerapos() + elif action == 'rebootcamera': + response = device.rebootcamera() + elif action == 'setptzmovyyu': + response = device.setptzmovyyu(speed=int(s)) + elif action == 'setptzmovyyd': + response = device.setptzmovyyd(speed=int(s)) + elif action == 'setptzmovxxl': + response = device.setptzmovxxl(speed=int(s)) + elif action == 'setptzmovxxr': + response = device.setptzmovxxr(speed=int(s)) + elif action == 'setptzmovzzi': + response = device.setptzmovzzi(speed=int(s)) + elif action == 'setptzmovzzo': + response = device.setptzmovzzo(speed=int(s)) + elif action == 'setptzpreset': + response = device.setptzpreset(preset=int(p), speed=int(s)) + elif action == 'setptztostop': + response = device.setptztostop() + elif action == 'setcamerapos': + response = device.setcamerapos(x=int(x), y=int(y), z=int(z)) + elif action == 'setcameramov': + response = device.setcameramov(x=int(x), y=int(y), z=int(z), t=t) + elif action == 'setmovtohome': + response = device.setmovtohome() + elif action == 'setposashome': + response = device.setposashome() + elif action == 'settextonosd': + response = device.settextonosd(x=int(x), y=int(y), message=m) + elif action == 'downloadjpeg': + records_root_temp = records_root_path + if records_root_temp != path.dirname(path.realpath(__file__)): + records_root_temp = path.dirname(path.realpath(__file__)) + sep + 'temp' + makedirs(records_root_temp, exist_ok=True) + dy = datetime.now().strftime('%Y') + dm = datetime.now().strftime('%m') + dv = datetime.now().strftime('%V') + dd = datetime.now().strftime('%d') + th = datetime.now().strftime('%H') + tm = datetime.now().strftime('%M') + ts = datetime.now().strftime('%S') + records_file_name = (key + '_' + dy + '-' + dm + '-' + dd + '_' + th + '.' + tm + '.' + ts + '.jpeg') + if device.downloadjpeg(x=int(x), y=int(y), dst_file=records_root_temp + sep + records_file_name): + hostname = 'localhost' + hostport, hosttype = None, None + username = records_root_user + userpass = records_root_pass + hostpath = records_root_path + if '://' in records_root_path: + hostname = records_root_path.split('/')[2] + hosttype = records_root_path.split('://')[0] + if hosttype == 'ftp': + hostport = 21 + if hosttype == 'sftp': + hostport = 22 + if hosttype == 'smb': + hostport = 445 + hostpath = records_root_path.replace(hosttype + '://' + hostname, '') + if '@' in hostname: + username = hostname.split('@')[0].split(':')[0] + userpass = hostname.split('@')[0].split(':')[1] + hostname = hostname.split('@')[1] + if ':' in hostname: + hostport = int(hostname.split(':')[1]) + hostname = hostname.split(':')[0] + if hosttype == 'ftp': + src_file = records_root_temp + sep + records_file_name + dst_file = hostpath + '/' + dy + '/' + dm + '/' + dv + '/' + dd + '/' + records_file_name + if Connect.ftp_put_file( + src_file=src_file, + dst_file=dst_file, + hostname=hostname, + username=username, + password=userpass + ): + try: + remove(src_file) + except OSError: + pass + elif hosttype == 'sftp': + src_file = records_root_temp + sep + records_file_name + dst_file = hostpath + '/' + dy + '/' + dm + '/' + dv + '/' + dd + '/' + records_file_name + response = Connect.ssh_put_file( + src_file=src_file, dst_file=dst_file, + hostname=hostname, port=hostport, + username=username, password=userpass) + if response != 'ERROR': + try: + remove(src_file) + except OSError: + pass + response = True + else: + response = False + else: + src_file = records_root_temp + sep + records_file_name + dst_file = hostpath + sep + dy + sep + dm + sep + dv + sep + dd + sep + records_file_name + try: + makedirs(hostpath + sep + dy + sep + dm + sep + dv + sep + dd, exist_ok=True) + replace(src=src_file, dst=dst_file) + response = True + except Exception as error: + logging.debug( + msg='' + + '\n' + 'src_file: ' + src_file + + '\n' + 'dst_file: ' + dst_file + + '\n' + 'error: ' + str(error) + ) + response = False + else: + response = False + if w != '-' or float(w) != 0: + sleep(float(w)) + if response: + logging.info(msg=' result:' + key + ' = OK') + else: + logging.warning(msg='result:' + key + ' = ERROR') + + +if __name__ == "__main__": + time_start = datetime.now() + + args = ArgumentParser( + prog='cctv-scheduler', + description='Hikvision PTZ IP-Camera management.', + epilog='Dependencies: ' + '- Python 3 (tested version 3.9.5), ' + '- Python 3 modules: paramiko ' + ) + args.add_argument('--config', type=str, default=path.splitext(__file__)[0] + '.conf', required=False, + help='custom configuration file path') + args.add_argument('-s', '--sequences', action='store_true', required=False, + help='run sequences from config file') + args.add_argument('-c', '--converter', action='store_true', required=False, + help='convert JPEG collection to MP4') + args.add_argument('-p', '--publisher', action='store_true', required=False, + help='publish content from templates') + args = vars(args.parse_args()) + + log_root = path.dirname(path.realpath(__file__)) + log_level = 'INFO' + if path.exists(args['config']): + conf = Parse(parameters=args['config'], block='common') + if 'log_root' in conf.data: + log_root = conf.data['log_root'] + if 'log_level' in conf.data: + if conf.data['log_level'] == 'DEBUG': + log_level = logging.DEBUG + elif conf.data['log_level'] == 'INFO': + log_level = logging.INFO + elif conf.data['log_level'] == 'WARNING': + log_level = logging.WARNING + elif conf.data['log_level'] == 'ERROR': + log_level = logging.ERROR + elif conf.data['log_level'] == 'CRITICAL': + log_level = logging.CRITICAL + logging.basicConfig( + format='%(asctime)s %(levelname)s: %(message)s', + datefmt='%Y-%m-%d_%H.%M.%S', + handlers=[ + logging.FileHandler( + filename=log_root + sep + path.splitext(path.basename(__file__))[0] + '.log', + mode='a' + ), + logging.StreamHandler() + ], + level=log_level + ) + logging.getLogger("paramiko").setLevel(logging.WARNING) + + if args['sequences']: + logging.info(msg='Starting PTZ sequences from config file') + sensors = {} + conf = Parse(parameters=args['config'], block='enable-sensor') + for key, value in conf.data.items(): + if value == 'true': + device_config = Parse( + parameters=args['config'], + block='sensor-config:' + key + ).data + device_entity = Sensor( + hostname=device_config['hostname'], + username=device_config['username'], + userpass=device_config['userpass'], + nodetype=device_config['nodetype'], + nodename=device_config['nodename'] + ) + sensors[key] = device_entity + + conf = Parse(parameters=args['config'], block='enable-sequences') + for key, value in conf.data.items(): + if value == 'true': + device_sequence = Parse( + parameters=args['config'], + block='camera-sequences:' + key + ).data + device_config = Parse( + parameters=args['config'], + block='camera-config:' + key + ).data + device_entity = HikISAPI( + hostname=device_config['hostname'], + username=device_config['username'], + userpass=device_config['userpass'] + ) + records_root_path = path.dirname(path.realpath(__file__)) + records_root_user = None + records_root_pass = None + if 'records_root_path' in device_config: + records_root_path = device_config['records_root_path'] + if 'records_root_user' in device_config: + records_root_user = device_config['records_root_user'] + if 'records_root_pass' in device_config: + records_root_pass = device_config['records_root_pass'] + Sequence.run( + device=device_entity, + sensors=sensors, + sequence=device_sequence, + records_root_path=records_root_path, + records_root_user=records_root_user, + records_root_pass=records_root_pass + ) + elif args['converter']: + logging.info(msg='Starting convert JPEG collection to MP4') + elif args['publisher']: + logging.info(msg='Starting publish content from templates') + else: + logging.info(msg='Start arguments was not selected. Exit.') + + time_execute = datetime.now() - time_start + logging.info(msg='execution time is ' + str(time_execute) + '. Exit.') diff --git a/info/images/cctv-scheduler-0.2.png b/info/images/cctv-scheduler-0.2.png new file mode 100644 index 0000000000000000000000000000000000000000..d71c082dd9f983a6b4e26b354e9b3dd6a935ad61 GIT binary patch literal 285826 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%0DTiUeNaJMNbqEfazer92+SD$RX1! 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

jXnIZ9d1zeqgTk&HcUISZCod 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

ly&Uz^8 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 z zbw3A17e6W+uD)8+=2pxfBM;gkSu`vK0RiBArXQ))a~rddw7ab=wKRu)8XTtFa~snNy+o+D zNpQGpzUdHr$8|5tz@Zepxamn%5kHl$J?7b8BSvz1e8VOWtIGI=t)S5)UlTQ+VA0@V zXkFnIu}_TYER>SyF;yD{jMcE(oZ7Qb<1qNMrXI%dyjT)-j_OL%%r~5=Jx6OuD+|z? z>e5_vu0aOT=eD2Ox6ma>rb5Sj02*frJvw7M&;eADONMy)66W^-)GdFGQYIwvqHA+a zPv%i`!Q)d&_AWlYzkiI0JVWN0BrWdXz8LLB4KBQz_e8w{S%9b4m*xN&_T0UG)2Oon zwJQ;R71MU@)9q}PzVVi;haoq$+*_)YN0r8pp_=K~^_)5aSI-nQe(^1|09G>C4jP?k z@c5~(nhh{G*MDgR^u{TeU?S$)$T@eq->hoWG4*$x9X1W}8d3f@L_7bMst!sRUHa8F84xs!<>L3G$H6GCHPf0CDeYt=Dxxuu8&|B|6 zly3c*YP&bA zWA7+*GjSoiL9(xzDJ~<@8>e7?XAH;6Y?+3G$j2c%1wTsfZxX&fSwD;bv?SZ-@P)t3 zjK0woMx-==0SWE6+H*g@gi-Siv&^EXMbWs*0T`HkyC(ZPk@B%a*eIH`Xi;y~Y21(S zm96G3x{n^bbhzCLI@O>cGV)X`@sr%>I41+`Ryr?Bx09AH@=gaA?W2(1f{g2c4;h@P zh#Rjm0B$1QCUdDxba}z42@eF73#ReD?c6)Wb(;N5 zApk=6m&A{x-ZoiyojAVW%~yE3@?AlnKuU|hllP@=m}2LzFWFqqAdTsej(m$Efh6a9 zWgUF7>Odg_#@&W|II7b!r96ycKDTE9 z{u6w3@fqc(Hb0+xLfrNY)GjbH*8WM1fz*Whw+T4t9fzI>n8dwT?h=8aSR+D%XSkJ_ z65f=ZjVj}Cb8dx}Il)`vFZA{5RTCsVX6ZiqUDvu%B|P^miTpXBZ#wTDX*PS@@$oC2 zNg+7@^laZB(yhykDm=yTa&F80Zq=%Vz6>?*UD!(FdY{0IN>dTMWLcOY_M1~}M2Xs~ zURs_G-XGFVFj>`T z$I?Y!rj*Xw>bO^<3T)85fQAYwpa?<6o9da&1_{OsC|1c*Bp*(JNw5ewW?PkX zPj3&C)cdg z7@`&2;oQS>-m5bnVMy`)H4zcpPj|Z~)29m0BJf$$0h3eJ#h*AkQ5Szp>?Ja(%@viW zj=8{Hy6DvE8SOlE^o92yE9;JFq7d~{EAS{-Ncm?3*r=o1(^T$F?caX~`u-!%NuLhI zuoHc6&zkBiv?f!EK^H9nMjFYZX1ZpE%ARiZ7XpmbKKC%tWf798mdQC+!ld&8K+x}A zJ}V#{y{*FmBi`mP8H*HyAfP;8#TC@bkc}ku=`o}@l;~2VG2x!WrL#FPQl43XPH*Tk zOf0|OEYN)YNyjO!MDa&QJ8zT1ro9jLoVcU3^y&e-9GZRS71UtxBK0WDJvYy6Qa#*? zMt2E0ZZe0)4UrKh%O@q8nx1Bst`lJm019ofYL@JhtEBZ6D*sWs;;pmD)j{&3!7y2# zlhw!!M%0>4+wy`ZLs_=7L6ZR}b-Efpr!5dT)-2fxxP9;`3wVur&of%aOZ~BM8_62z z9jpY1=vtn5QgP+uJ*fyy|9s=iBPtrY{-P@6pA71%s2-N-M|Na=<5NBD7nCam{RL*( z(5nE4OOmL~lakGcVOd!LCw08`6jibIt0f#u>aIUYK>5+>M2}vWC8szYd?o)?qhpT? z3|m#s53=bEkePN)H}!umr7or_3Q+rw26RHp_p(kuGUzdt{jr&O?;z?jKIitszOE)> zvG<_Hil${;4|xUm7q+sQYXQ#wlG}*gPqHUwd;E;_7G{qGoF02E<(-zI{pcv!&++N& ziF^0}>6-8I8G-BW9~sz$fQg5MA1c{6smwI3gC;i6{}L6KA0b3sbonRyh}ZhO6l2Rx zQ%zE4%7TGnbA_@-fOF4hX^TfSy8AeT(@sr1(agOrl z{V+NwnM{h3&dVYtc@)9+ek+3RPB6R&UtN1C*pw}rS-WdZ4Gd9lih;`HEmbnl-nS^! zf(9RsXir-4)0$7y+Zer{l%5So!`Ov}uVliz8jcstbiOye$;)`H0H#LQ*GFGWU(xq2 zk>yrodWJum^-W(j+D4l!8iDy-9@)Ip(ruL_=2V<_z(Vh)EQH6+2Ph5;%d+bc0G)sA zJ$3}b8@7X(#C(?~6}4yzYQ`J1WT{BmHR9e+@yK4IMFS+$4SXe*XFsa$qYaB#o{ZIa z_g+oMAZSW#rv0Smt%3%@a!(Z0HMUmKe)L2`h9~rRM z`<=tWG&tHA2#T@{LWQeSZ&U>GHa8V^xGszkVD~PNE>=0W^=e*iYi%~Z@zh#c`?yDM zz%yu1jIDJ}6lZsFT^iEC*LlRDLA+UVbI4%%ies0}C#r-LAxbVfz2BM__ZcPAvuvtH zW-|cZTvUz!p^ut7ikR5;`R)2dbL3+$-4VB@1nnTWNrf2p`-JJWPyV>iB01==p_uo!$;v10yydl-WoixmA9i~&E~_X!T>GYe=pHDj0ww`;xNpPw7@@Ussj z8Sd&WMeM=mL!N&j;9-&pAmidjlrNMRh0DFt)>ydRgiu(UdLgt!=$4&z7vn~2DsBs`z zNaXw7U0Z1a{q9tY^5wv#^~RD9g`&aU`tmBNo1=YUmer+>Fs&^Hn!fKu>D@nfql(@6 z*9YE9h0q9jvn8v%PHcI$r)7+5hH>MhXq3>|+&yO_>mj%bI;Jxr>{cbv{6@V4I%!$E zp^@x)!QLiw@330v%?;@gZOuMC3R#5~=dv5M7`?UOhr%n@{&c!siElqlIEOMIiSiBj}QXeL@ zg5t)$z3wpZJ#%28i@z`D^7OpM-7Ev|A}8|pp1oWiGkP!ZNsL0H3N9n6m0$Tws>IlD zU&~&+PM6_lEv4%cqGfksJaR|B*LVr5acTiU-tx1n1-H^ouuCV@WV%q108=M<_jOx> zR}|!l{#~DqQzu2ON0^*7&h?#LrPKx%qpB7RTA@ce)TYW_FL*B zXze_qS)Se&%s0Cm8&Bmq1~)eX^yC-@#|~z`o`v)IBpD(K-iP5v4M02)d@o_*x`xwc z9#?yqseY6Cv0bY^t`=R&G&wUG1P9I-L{Bb?Vhb&yw}ka)kNyjYXLP1@3OP+zC1)YO{RhhF;_AtNx3o;fGudh4`kVaP$jFj{v@ZB+@JG|Fj$aC zYN@Abw3=djSfQ|{oqw375UPr5t;C0H=kH?6W4=|bF6DT|xTd_PWFXs6V4C#LxMT-2 z4b(q3X57^VgoHf7b2Sv^~$F5?9(9@JQf;McW zzraLF(b<8*XY#z=h%%g*Ab9PBt4Cb`$&>ionIu}wuQ`**$KXsV)q{S_zbP!yFj>bz z^uH?Q!dBU0X<)9|;ooV#!~Cb$7|U?is31!!wfp_{vo5QAPJevYaln|*<#_n6VjPO0 zSVKa1k=_A{HCVl;Ea3G%{9fpXX#RDBQqEC3uyZ_5yh0gg8T~mreQnEQP^HE8&cW4d z{ssT`eXFP7Bx>6yrB{?#e_vo&jW?|^JRPTiWPmc}<@dvl_M|%S9|s$W$j%rJ1s+2i zgc$(|nyOvdL@H??0Y{?t_S(FhJ4WNT3)1MATo>W)hE0ctl#;0nF5c;l>yY8X-~yUc z<4Z{hSwrMeo$gJNh7+1VkxhGu$O2bZ<(;d_uB?BXWldi)cYv~cpRi-QJOA~4q4a8{ z3n`iIb=Y?+3N}TOeDA}Ta&&%KWm1hi4!`<%NZ`CX#`E_=JueyztV!)YBScH5G@`dF zb;$)?G+IjxUjnjN=fPfuRh&y8Fg2~(l$%g56ep=2z+G3v62aQdq*4v(TXnaBCdImo z7Awb%Z5t1N{zsbb7z&UekJ3IZv_ZI5L^V^`8J2{oKfA6XG83d>J{WQRX z)%5&KxDX(Ar3=Egb$ad!dpeasI3+zWV4XHa+(Fzts4);-gixc; zX7OrYc&Rv`xtXJ4D1fX?!%X2!!EiZbDvpjos_I-e5mGXwq%<3NAk;*Cjty_p6h8?} zByUjX>Nz&Gm~iedPLL?2aoObeZV*>j-$4uiq^+r#9f}~3)3h6gtAEqXw`sO75w9vXi|aPlOcouC8~63-6*!js ziViyVS4ANtKy?sl>8c4*+61ByIHd2l_isIU^<0pbqTU$!ciT16>ZD&@Vc+bxrw&M& z?wcGS8=%`K0Uo#>0`U97S!N_Z17<}NTk^wZ5ZpC;?+Jx4j>@@1twQv08o`1GpC z2W@^un?dL34i+O$64ZJ>34QN(-f+$#5*Rca*ajNDX_meNONwR#^nH`MTIrl5+KRcp zI6(^frrs|q3fgojb%9b2p7P;@u&1jh0uihb)(oc1PCi zB6LW1Db94cxs_@C5Vh(Azi9nLWkFNtF5&AkbdrV6ZO{9$ayo+WYO8ufI7NjiiDgeW ze)Y&$#xpBO|Jfk~#(7!Bqg^E4q1NTt+&r-6jvgbx)^pva^czt=^CeMS+guSN76^^M zl949w=f+8hfYOYljcTWF7Ifuklxoc2efv2MatJ4uovINq>l)UfL3=TDYP7`u1+8V1 zQOzdkF0TKKO)#biiXssOw^QK~V!5->_m|b;G1aeQlLxLY zFHl{zgkCPzseOG)cQa`r8+^*B`UTGM%<$r)ngNv1L_O4neBLNS-O{FolADa3zCjH= z^7sLR{9NWG7sN(X;81V=9s>Uc6mE{}+PeUuP|R56&W>aXtdhk1Z4{J30yA+48|4G~ zE+pmPvb;FANh53Q)S!{$nu<;cIn42z6dMQ@kz4Q3@J@{hxVKE>SZb+atVf8S=PB8z*~wMJ(br%*VNePg+4F zcd!G0AWK3)+(td+)=SfGg)Mj%FdN)oZ?$`mo#yB~(zW=2W+E$CM&0&Pg>Z2(yVG#$ zFm41YOI7Txt=Vq#v2LHw_CjKTM{rJyJi%aUoa$`$gA(o=?6lT&XE`R#KkD_@9G4`L z?mZ5RO>h-E(DP8qp1i)tzQdz8RTxWNJ)u%bxs>Ip-R!Zbcc!%+I%)H&J*+%?dz@p8 zP77SLHIXD<2|8y4#wqT1jBqHyVy%J@`Uqt4?49Dsn?aFPuA)_Q@ZGCe_zxC<6OafX zm(Qv{K`z{`<8haZyL-rM%Lrrp{MdvlPgfKQWR6%7Ull)>pSWH;UA2sO?Kn~ul9;-v z{H6UT(fsC48?UA`gXrFAm8U&d5rxov=S*SqL?W`Fjy>C>$tgGOS^G_L~ag8d%_`N?4RG|sXi(2agv|XpwOoENBS&Kx9wwt z?BLg3E{8$4dSbuV(9$wz?bu9R2b!jN99^cNfS`#LnoBQ%M@Ae~jJO^IH6J$FNxEQG z!+O8q+p=^&cuWRo=kFhRSG>LDSY7p8e?)}g6Ru5&M#BhO7^)dS;hp~#Qhw=mHC)zA znx@nICrmF74d^U}^p9|fV2d_VPG*es*Uc}W5{U~~|1SR&(<+(1g-qA``uT{4BDl$< zLqDItx?DK3?*R9vmO_k4g6ZRQ+woe9h~~xXQGMq${lKL(q~!)%b`U-0#xy;9`IpP( z`>YR`FtyaqrikG~IXET`CR13weD~<6c+KUq@;<3Po1L03c#`)*_RL6-k2`9&t@n`Z zX?x8`L1F@bDPmA)5%ulS?<^58gCL`$w#h0P`-Iu@SsOhZR$;8eDGO<0m zNz8V89)<(a6sRdtn-t5^f7D;{(FVLSeUQ)t`FE5L)usTko$9;{#;GOE zkX81h82jXFABUWW)_t^ER@HGJ|2h6Qe|liAM;BI+4E(sme;~f*m)kv;D79mvh`lRueNy1 zt-Q*OgHQ52TaR?d$VvKSs~+#%ZKJ$j+gTbpO-f6entodtgJax7NBm^pvxo8+beI)#GSAKvLDq6Ujt*MqL?*x2%D zpERl=&WM2gmsY-~)p+l+*gh1Nnm&3$eWZUhd&kWM?8FlHNoHy->Au4pnl~bdMb4*X zqw&q3whtu)nwY> zdxkA$Tp!arLoBf~IQFTZ_m1cIv!SP9kF7rSrwGV)E@Nr%3T3{5v?FR|7T$S%{a((- zy&HY%V1x0es2#5-_ga*l3rJ>14LzBau8w{ND zeZTi!)vJ2->R$h`1iJTLX|Fxkm}8F7HoNGN`7p&rKxs~*PX9>_&?Hk+u8x_x?0_{@0gHh3RJND?oH4=;H~vE zy~s(T?^7#W3S(w_1kuO$s!?|Ltm+y`?Ia$%Kwi3!?4oCS2bM9cr=-f6H0^ZODUO2< z`+e{Sd}aJo_*%t$FRYYL9&jw!5Vupv&T*VecHBLw-pV&d_jXWeb_O8Bk9Ka^mrYmD z8CRc*+F5_;x3aE@dQxv-bbJ~>`- zIP3YL*Q|lNx;G%=@9O-Pd=`HntVw-a`;u@YpUv|bl^HPcK9U-uC)mRgm@d$;`1He} z+_hA4gIFZ(@P)CeI=Z0fZ8eR8ZO|yCFzqvocYY|<{nM0trdvHl)&JfhW?lY9wa!1% z0ZqJ=mexCIaa?B9tMFlZQQQZ`L`TP2DNicu36~3Jhm|cmqx0Ih9LrE?jvJV zQS>HdZ>-Vp@>e8xGyG64?j!cmE9|5sX6y( zJQMZz6Ti5Ypl93Y!tl7{eFK|n`t*F$N%FH?6@#cg^XADfuLkHz2?DuabDw738yH84 zn?DuJY(5h^YCC+5Hh_{T(@@3l@eXgZ?};umcfoCmuCsvkWZDsz7j!&UXu5vsibw_l z4KcQXD&JS-zTthm)P=~qCN~MiZGW+Hk6;-yH=)0k!L(UmMZs}v@Z0d;~zEI86{U|TU#N@d|Y?~K0@uqg2p;@FkzpRvnHRYjf85E zKUT|KDHDS9+6ND$3bDrSCR}zF&rbLix3h-|)tY~MSHC7jeQ~nY1oziz@(%Vnx|;Xr z-(A73?tZ-371vRC#opnaZ$;Y5{=fkBa8K$1PXS-Ey%@uMT+ta&$txrN`Db}myvNYw zk;nYPmaUxAoHyEvcD#3j80A>=&>^d1kWUaWGJuHK4|;6; z5BYE=LvGjj@7^6>EiP!%-x{2JhtP;XG6@~@*{cGp=II?!IKk-KZ$)FWo>$0a`Lt|p z(M9rc@DRwcAQ^`PPn=7>$W)4#lQ5w*3l|IS7P&rDF5DZwY9XK*;KS*bcA1`h_ZyOl z^w<@bn?A5obfm@nX^A{y6J?fF>q~w`WQKe)fNUwqZ?P;Ji%Ds!o9)?tp{6sC!wJBv z%_p=KPEdZ5_=SSy0&3yKuVaT{)~HTZ8_9ojspXHri{E(9_Z}IUD3Jc+uj;0fh+9W; zEuuIVU+m%sfxQG`(R4 z|JbzJ2K=1by{@&#=i?17m+U*D2fW2D8vVY0m(g}rZQS6O)2gSZoxdDs*+)wqQFOVw z0Y%a~vr%)%5*Uyg9R@Gw=PL;esR1?FlPe#31wl8i1w^J=Lpl37eY2fQo)IGrqfZ7% z+LMM3vWgf)Wq(iJQUj*|Uq5@;n>+lpwf*k=lFq0nd-CLm$N^-@PGD~ z&!DpKXkyHs3yvAa_$vg-wH#m2?_rdsd;3+F^+G_P)wn6uQh|EdEC>vBWu5fMJgAAA zugV=DiOe2=)JIr){TracS&hg9L%kdBf(W}oclw?io#mI!E8HBH*Iv&WG?iIRP!Fgd zj-6elIRLT9ZC@xB|I3)#>v;lKuRj&-o*ZtPv??m&So4&a$dBtG8iD5F#We+T5wD0GAdg);YZV0# zA|huV(cQT1)ehQBg9c)C?Gei%n`O{HfZRB3z(U%fcEe7ZaHHyTdaire4maEf#=>K% z8uXx!ZU#x=TB=fCcB<#TA1)v|tF#OITLP9xPcoCYa@2M9hcbdIl=?H#>LcRMB7Nd+ z8G&kQO@PpFn4+q9A>&eYunqQMb=^@o;;9WlQ={vm{m1h;tuklTpOw{~wd@XISb9{x zcCLKwd^tS&dbi&0?lS+3Afz=%E^-Q36S4{O00LaR-ZhscT2Euc@WH&}o#hc#zf7)2 zl;MNbEj9=WmD}XpdrWiS;FzPfuSkDj4}`8I86o|X!=huLg$P-zN!zrQhU|7*JoP8_ zFYb`m9hc>PEU=RvU|t7+WKC^$4wGL`XCd$THgb$Az-?2?yhA1qF**0B=|F;{5JrmT zO5)8UFVB!(xpI;+;Qk$o*tyuYNS&4E?$f>QLyat_eGA4zALhqQf7I@3j@5QAi?vc? z(i@72aV94xPD8zVdKqY%Hob%gFtns`TlFRs77ki_6nZ!j`0WQa`)V@6g%)G2jW?x0ZO zjA5Y0r5MzSJe*r~A%A$f@$wr5x|_Nowq>;A`vO_Cf;AOp(IARG{y`wJa)FyF$p3^+ zu&B=~)QajiAo`@Mq z{rVEg(3gkw83fKoYL((}ycOB(@QtAHb4T~sG=_@fib%_-55?8+lCP7#Ov-29qb#xJ zK>M-bV{dUIh}!B-4pevlq3*3RVMA}+(uv4u%5A{vSz+VICag;c;2Bv4tHg&yXwKE>4v|{%tvf%A0P$S z-i`5;WIwuxo;F`&r%+eSsY2NuYmh5SQ=`SM4;Cllq6rJD zc#v0(1>x2lDYDiYk??q170^;Szh>v7Ym} z!aYvo>4mDG|GCUX{?T|g9&;9T-0SUb>QnZO7aso6=2|tAEf7Jj=#Da;u~QyiY_)WF z*3Z@(xpLMc3Kx{!LRxeUE2lLz+WO~-Vm70w08W#kF9cuNPLUI>W{&bG4m^#HnfQVo z`jzpyNGGO%Flo<7t6y-?_Op(P zbo%J!BxMed2JS6zmj&9SK9}t<+GzcgLU&#SYy;X)GAWnxgyY_Z zWKMHGPSQ=jIJN?$-?j}*XJ@JN^xrA`QiLc55A0Z%;w_QU2bwZTZ0G9G>tkEc(^aY+UQgK*oY{HB&hfnk(YdQPjp z=L^XKSrTKjLonQf=jiEp%Nu;^7MVmXJ`kIo-ivy#$VpV>)cXuB>YGy_o1iY?ipV24 z;qJX+5)JA-rX+U`iLr(a|71^0Jiom#6MYuX6@6u(FC(-6SHz+YwVP!{Y-dPnoP`U1LKWv&EqJZ;I?|x^cb-c zFA7m*@pEemPHZ0Xbfcf&-X&JO>>A#U2|Bb4)+Y{gt%wSC^pVIy_Q<`LWKzkx_+?Je zG#I=hL+JrKn>f^QgbDlN#R+mUlA07U(i-8(B7k#J;aT-EcMc_D$S9_iWF<68(=x=$ z0~bf6bCq+RVdD9g@>j(+VzTUlXrhko!K&9j!FK?Z+MMN*5k32Iddb}`BFMjiF9h?@ zB#JpVtW4W5Vq6pwTaGfk9oQG;3G~dq!x!u=2`-9G+y~yGl0wU0rDMkZR^BsowcNwx z%G%mX0ODPd;lVv@KkdiC)Dva88q;_uEtmU|qGF(ym7O={n2Gjq1ZK~$p+9aY5Pz!g zQzL25?1WrK4p~LbnG>bGhJ&u}RbpIcr#f_&N*R`p1}iLz+~_u`Q#%%Z{Agfyqfe%Wab^a)5@hYcKztxfi#RkHr97UeF>ix)zNc% zFy#$*83lAuBcg1CTea`lR)(cwHtP4^$BV-I5PKF+c9-Q=Kk6V|sOat4tjIY&Y+2w? zU7%_A1(V4<`}`LErjp53_fQP|%LcO4b0_!MWJF5qP)I6= zyi(jDrjgWK{^3klE+oR!8if)5pktGxW;LpVUeDHD^|13ZQEZvQ<&5xy+T8jHCyMe! z;-^qNp(pt#v0S6qNJ_hMZd>FS=dQEAT_*hyv{#|rnl~WCf@vW{yEAXMRb+SGOgOJU zw@FJoE_qmowI)dy<4}zvD(bQd<>7XjrXPzP{50S@tIaYf>L>w*MPu%$@B-huR#UVV zKYhe)M>{lzk>8Nx6=s7kU*4Z|M^zImZGoYHS;nb*2mVIacJl zSg4NZn#6Z!^bD_(E`x-7f8i7M=6)+uOs;`l`Q?w7CVbF3+}-J`?_*Nrq;4R%&lKaU?)gz|h{0viZ+Wb0jDOyu6PWKdMqI>D`Z}mtK(qyCCh?y1Z z%VS{lH1aI!)zLF>fGMjlNy}I1*%z3ZzY9sPd(*-hbl}U^F`$6Hp*(CkVl~Q()Z}mR zRQ4jvS@MXfgOrDJX}Q}rI*kgXMOAi}N_f&p5vJUS_FL^PpoNOAm!T;F{VoY5kUwX? z-c#TLeoKfu=8kvg;UDRC;9QYX6hcFko-KPShc3`19xQN%t^8i{cE%&mwbw3~750uPY3zE2qk^@EoXzdqOfbMhyPsM8q6s#Lo#Xt51J1*NXc8p7Ht8Jg z@W7PwUqbjdmEEMIH0?5@fB$NS<^dOa8^!iipaQB5eNz9iGIZX` zPVmt#(35zO2QHYc?h7oPMcA7$xAiZ$@--utb6Z5vFZ*2R2PQRBr>#5Grhgr)(x76u zJmoWI0F-Zf=^~7XHefwzPIl#*-na)@;-qEBvuaHCl@^wayzrsg;;?n{LA5Iel-?)D zAWQN(10c?^ycVUNeBs7P<*LsJLqkhBjLZ;8ytgrjYF|YTrc;g+Ssvbq9(bD?)EhlM zgz>=wdq*SMZ7jKFbq&Z}h914FnPuEFooLyoE2hubId1O#cc+)6y$a zj16eHj{z53-(w>F!o#upYX!hfNkF{SK8;27bZgL=YY|#9OCOh+S9@`1?8YZRTW ze`)VFG-}rTYWE%rCS}=q#PZE?&`;nTrFoyjjds^J_ue8N5yA&Ofv{E}>{t~>hBB?P zoc*Ah>eK0(PLkXKrVuJfPBOi*G{c=~Ck`krIl>T1r-tgfnI*ehKjVtT%mW7@Qx^=> z#sGhOU1KWlR0JJL1tLhkFdUy!kf81OT@*t!^&5|s`F!pidkIpi6B5isQ14DOzlq3x zt)FG+)Mxs|=je=q*Xv}L&DW1(rDVn(KY1PuO^DC^ka?k{>doTRV8`oKpD}-V4D-Z> z7iA6Swe#$Jv+q{;~5aanwoqhw=@Sd2Lpox8DK{ld~_x z;8_4yl|8>!zvVT_CYQ+NK0PguQURw;4ZE#gdcezGFT<_QwC_{w2<|ciVb&K$qjHP5aYTHj>$^VE8T&P#xqo-8>q~DS@($+2^b;>O;mi;$nGw% z`*!U&dFZSQouQ@ph!_P5fA&}-c64x<)vfNYWHg*F9ayubrP}~UGbaURuZ7Y96~yFa zyh3sL>}7aS@AXnq@$rrQ1guy2)JO9$M+N|Hh@zNk-3 zpkI4UWvxmhZika4+HB0*v>|>f%L5WKkCn?zi4y=(sKDbHrV;$ceL)p=3Vds9;UZYN zToZ%3RbsvuF;!0m)C8=FU&y_RgyDCoV4D$-a3fR1+~=<^VSMi0B&QQqk9HjnZ-Zw} z1>w#TvpL?(T@9YaX_6Hpbw=rTvvLcN3a>WECuzf}a(OgR{+yXu2~soFF8%aJ*O)OartjZg85NY@Y(u3^ps z=fq4kWJ5|N_ZYe0xKC)~O&26sDy}228WAygaCFZoBYYeSH;qYFi)~El0Gh2;TiJ2n z^&Z41X<<&FquxbU%q07U z#=ynt^-6@PWQ>F>KN`j>6I2*-#ysFbbNAnvwDHm!+RZb_(Shw$==u8Gi4L4!C?Z=; zR&mP+6IHC5P*$5VS-hYO*pORqlx_8iHpHD{VO47i+iW#=qJ4E`C{#~ZVo*u&%e}`| z3SI=u#^V92AK)#(J_)P@ZA9XsZi-B>FOeZFC@SqJb$= zU;v%l_@U2jJl)aX;!`^*CaB|y9N{r0k*UQAHtzQD*k*K3N?}V*SE4cDa;lN9Ol}ya z>18`cX-GnGokJW$qnK-D0X$_J6>`8Ro6819!mJzl+{l?Xh+SCEf<_}hYs__K`CwuH zVZk7b0@W=C8b>R;l%Nbgw+enQJ^oB#w_d2N(;A3v;AgMsT=n2x2we{t&I&BPq{_E( z0(*_W2EX2r%h2&yv7i^5Y{;#LsdUQr!`s;_zqEGsPkg1=Xt&y}*gk=Pp1F1n9^v@z zf%VA&x;~F!Q(fvc_NAydWZ>`0Pd;``Z0F#?&R#*X{VcW7QW9>bhdPZf0*vy4an)v+|h;ibX+IV|!u8CAeQSh(y_UxgL!%1A>!DCBdqll$h&T`Fv4-Z`nz*$@&j^x-VNXgI=R%z~do zsMv(=j?j8qZexU7g~?GxuN*y8g*MO5F65;Yqfhwsw1UsON1Nx*Z^xO_V(jsQ-oD{; zGk~*b^kFsLertX#a)>6D3B||nf!W2~QRf&D8iuYs9Ax%|*n1iY%4pSyF@ZhZIhShvsmMmP7rpaCqF+I)08jGZEB($1YS_-&sB}eZp&L@lOhqv6z`> zmGdJP>0MQEcb`rK85*>RUf|vt3jq-Ez@*D%_wbpPId*I)jZInhJVsqsWbirOV4a=g zeX%mZyCyBPyO(2h8We0s4#-z)c1KfJ72(1|S9q{ZzNvEb?{L$_%60)pX+!1pv!~ zNmqRis$P1rbIvH}Yg7TMF0fvO+W_+_@f@a)=`O`XM;ohLxnj>A(bkj`3Dqo)f&ifS zo4oiGLRvAqVDvCVL(ncElNJ*sWTOYqCabRZL{>f4z6Lu@~0j9w3Fp&>$KIxj+Y zjf)8zU)=yVmCQ<@C+=NHt0%fQolviJQE%mze?KHi4uAZtpl;{z2_q?|&wbazL2J0W ze#Z4UZdi7Q1KQ$FZt+_go9EiBtm>v;YcG8s^d5;~339j2LpShQ852|hWK4{re6;a} ze*MPO+4ckv3kVsbhsXWRwCJ?S9u2=_)QeE;CKzj@8cAPKdxSB4iw=G^%g9^8+o9=Z2H{WPoMC)mKX5K$XT`af z1A(EcM;YB$FU|%2@{XNUu-dz=5{t@ zkCc{)%kXkYShK47yi}N%-oW@AlLb8X(~gpknhZjCMH5c%UZa)3%o7zdIVNQMEEfDH zHFazHI#7|V+BUj7T+4J)O?*$rqB%L?nkQLUpKEuNpaa+H?nJbh$MiNK=8MaxA2d_u z<%akSL-BAdj>djN;p21u$&Z~U8dOoRQgG!_a}#DcE|_>fljc`q15~cV>@5}IbS*s$ zuH}c#W?#PJj&DE48>C6GXniMtc7Go!h9_KkW$X-vCS3?wC<|UcLyNJY>Ceom!wTZXfYZ3EyL3?HCx)V|(IS4l4VcfQ+pCXK-cev99wv-VV zK}CwZjYFvA&aBn4h{X#t`xyQe6YfVEJ)y5jJ!gY&lnY199c}ZyFWMXV_|>FXhf}@D zhRKHs->$M9iRZ#abIjNBLf;o~C=Hf3)M=h?p7nfz;y4q2FOq|grS0sO*|gf|thuxm ztJO}q!K6_waS}7sg7k*f)t>GQ*_d+NOLKH2Kb75j8P2bwlCK6Y%?|Gw7W{5ZkAE!x zf?@}dtDM;<5beyH91NXJKPu+7U>s&xRyu*kF(5IV=A*hT@pJvN*Lv)RQ-jwAc4H-6 zdcmeNmSIVcnxi45N@LEUxoMbNieSVq;}tKCSH}$m#x8evl&e0h4U&({V@?gezdKiR zDJ{#XXQp`~mY?Zh41b=G7r_nlp4pI_LnK&R>HJ)Ab)K{V1+Q|JV}Eh?e6AvYvXC?E zqc2=v$gK=T%*fH5S!!r*n!l+R+K{X`8ujGvZt1Hxxba8uc*jgHO+}NzimXV`Z+Lk;bAR z(UR(hVh@!^xng&w;=pp5jm=%0mD)Ee8gp89bGk(`PW+dUS)=?}Qa%cWn7I!M^B8kX zI1?&era!8533G2IxUhpOj_T0e0KHVj<2(Y|h?OpyR#Du|-*GSIT7@Y3s9j@9cS`}( zeZ29!X;dLc(VG|hK)qlVFk23Du4HA`!=`Q1Gj0N@mjaaETTO$RqGd~a*?v)TvYg}NR?uW+jXM1$uqU&VLNH-s8}Zo+w-%|2~YLIOV3b^Oa&zo{NWl!mQtL3cZjz9GG|G| zH{ojeNY2GYVmE11%Q_opxa3A2yUY@r2ZI0T^e4te3J))%NH zGLGJB^o!nmjc$tU7TybcFXE|ZL0YSLdCm-DYJdRwd~M_rehdFWCu$nVSL_9M7eP zHH=~%{bQxg^QSyWF&*q)TRMye);=rNR7N5Y_Ey z$3`}nFwqv5YO_yVK6zf@Y+Z~Vx~OZN{N(xO)i<@oF;|UMCP5HweZ+h&SG7o&cjft7 z;BLewQRmIZ+O&k`E7;Er-0YnG9?>%tl@SBXZ=7*L#G#v7u^UG^toMkeZqu zrUu#>K2-53y1cnnEXUFd^{SU4LE>@NBqgTj-rI{J9sIsRHhf>qZY^~Mh!)u;m^hA; zrbh0tBN!wOzwjVJrC8(+cEEhZ@GCY{h4Ygpf_biIlX%Q zl4@Ek@!A2_gV@Iphkau5{?eP{)$3(*^GlPA<&r4B<0-zcR=K^tn?P^^fK#c@xQk0< z@?NekNq4!RpI!oN*Oqo~j8!M~OjgsD0|oj!r1f6e^|FPUQ7o02*1lj3%yeI6b5l;U z09!vtIbm{`g?1K5n25`p{;FJUQib?dE8BB2vwSTjwEbsV{xC#G8=05ZC1lnM3J`Tt zi95I+Fbq~aj&@irI26Z`!{|!QYMs)TTG^Bvwk{NVu*zgc`Q!XrRbj<)xs1+LeX|9K zdYa>i2>F+04qFr2P)~en9>A2wW9FkRsCUL{Og0&=ko3(k>O;x)ixv^=|3HjrQGsj( z=t9@-aXdQY-Fg&(X;}455`sEywv8I?*y=mu6E*m$Gimncj$S!Z9Pos;?2qB$-}2 zk5)h-v`o+rkEvVa(_ZcH4XN8x;?B|$eV=UFpxf*8M)b!E=4`~)+ zM^bPa@A)*|gPpRyffA3;E0g9nw%fuMY$o1qZ1+~O!O&IAc%tPA4wH&Xji?_>oP@gT z^w|_h*}Ar|&94CRm0Qk{BRhpEKv6qmm_zd#?S{o0*93Kwnw{W~*=o<5X^K$9XceA{ zvPzm_mS@`D(Y)wA(-je%Jv+d20w)y|HkxBvDEc*+MSg^u_)_ShTM1ves8#071);pW}Ej2YA2wyJ^Gu=!(%xjL zfdMhLqliQ`kjOw}srciaxRFcyBpk5o5b$Ye(}=T_bsqIms+38u7tmk6e%F zb$e|%)oQZ?(ZIiMe=X+ZP?7Ym5lp5SK+;4m%qr7EIB?yLEW;wId0aGM9=XZ{^%ohT*H1a>{uT*eT^VJk2 zP*tdQDTbjxxkLrC);k9FDGWQH>%c9Q2(IKU09b}qa0IC}$QeZHuO@!bC8rg>j;BGG z&I`UTO}-5FYMEgZo6u93Q?U_#=N?7ezh|%aG9U;YaZrsrBN?B_-l0ev*i~2c5u-PJ zg3GFohw;X=(UGJ!_7iWTY#d%L_14XVQ=x6TpIMIGq(W$9Pg;y^{-B4YOo@rZHavYu z0BK59P;P65lb$50Jy*_@YnfnN%k=bHmO^U7^a(#?DCy;X*asK?})8VTGt z>J_Xt{Lt-+qMrV}QDlGPEkb&4Z?eeB;*3ZFMxpA`zV#eAUUc74O@A{~_e89)5sAN9 zRU?S3y>mZTIPnD6AV>Jtc$Z19l=<(dhgxIL#@e(I!AORjN+Xl*?6p7OsVj_Ut8Y&_|wJx2`?O~csvgP$*4T7?=5+1d<=eD5*{6HzIT1*t^ZddSa zNc>dB@QS~ohBW+ST>Cn~CaY_pk_UA$@sN~0=s`My z7*%Z^ZY%kLMqqQTV#OlWW}!M`TQ;47ga_ni-=N38KNm*2NCBa6LU6rujv7XH6~TdY z(K8>;x&}4}=R@Smzm#nBAu#_E6-p=*CuSGDsztbpxzCK{F|&w#_)#eEN}V|lvkQ4x zGNKPEd)FPzJ7 zV-cxn-q?ZK41!u&q&^$bL`vQYx>gE2wSaReLdn>=Wt=vdGw}7?j2tI5Sg)JL8u0~H z$XjP&EQSYy{LJlqgQ`BCaMpMvNPm#m3!86W?(4TIw$Pqv*wR?w+IA}FlqvV~6MBAT z89}SMQ{&naJ_iFlpL0g2HDtT~!K=}T+Xn&9bcctc7LWhMLc#Y8SRb5zP_We$9#=vr zG|ID^R@A!f1Ozpb>|E|=Ku}9iln6>!sOB2v?ohC1D=xWLTSFb8C=%4ukjo;3MXk~$ zOr!B4L^1w#+jnPyv$HUsvHC_pif~K_)|%EHH|u#btv&iAWyQ$^hD$fWGf7aOaZ%D{ zk8#KfR_!oZ_wa*{?V`5{5;Ya?j~{9>IbYup9?3->aIjxga5h#W{+o8f`XB%SiY`LtW8N!3nMj&c&6tM_IkcZc`S{{nZUJJ6$25&u_-YyI?#U zb&59Absq1^KRRR(KEpHZTHpsHE1L^_e84;6)RN44yYDA4i6Ki2-Z(wE1Mh>|oGCtL zYG;9yKd$1XCp2maKk*K_@=m7xajrns4VkHPM75{ zX%nEny)u2aWBI1cnH!ype!~^rP-&*d6ifMDhcB|#*9Ye?JQQD@D{jRjvvm1SDFV)w ze~8Dd*R&o*9xTirXkkIMs-ViYAUow_^0rNb^#i_WPGC^910$#`Lj+l~BQ=?G>zVfphHx;1~ z*!?paBd-1Yo(+q`nn)Hq`j8cs2b~1gWlvr)2T#aFdzW#S;fC>dTMvb}H%HFV*^-sq zOUKb_Rbk`&j^)<7RZryh71VdhAHAt7T5}gy%IgWq(UZ2_@ZR^X*uRheIN8=NhaAiP zM`+JdM*l5DnlwBDm&M;RESaR_m#6w}vD%zJ%mdBVf`dj<&veCkM!SU|8aZJ>rO~jz zuZ}IM6ysDvb$iP8)YmwhPPOmQ)5*!R_jqhAqV@XnCg`EFlq%_Jrtv zQHBmG$9+h_B?w;IH3a^P0rAMqHJw$v8&j|?s%K)DLfiW3U2)Ich$E2b4-V)_pt2T` zjiF4=Em}|U~lrkUqAXM0qk}q32-W?CC6sYjr9zEHQOdsMn)nJHf(Moh9pQM z$#dZ@b!sPc4;22J{1zor_9dx?78%FeXJz|$ra((L&v>T^B1dHvP|f#rgkXBYVIcCc zOOi;k{jWLQ!e_micb9)#@)EMfT%c7&Jhi-~o0;JKcJQ)3TKpt~_c=^NSw#HK_)-IX#`GfshfG%DEr1PKc&VIz>pe4 z)qgmr{AA)#LK0uClJ(nVDFTVl3pwb}acK9_4xfxV(tUH%pTDG}Sj!vgdE8Xi>lO`j zLaI~{<>=IR56LT%uqzAGnbr{3nPchrXsYxD9Y!uYey;R3EOCPznHsf@!xa|N7Vhxk zFl`eSoRY94^kpZN4%ptoFr0!P?9Aht|22k^h&Sm_n^7}d|0$NFLCb3%( z#Cf4LHxW9lYW@0V!}R@NVOhL)Kqmd4?eu;DU4L>epc**{a*_-uynU{Dk?in@tp2h& zu5NE_T=M~9Qx-zK zIBt$>vrI_8==J_369%+?zcwRyNZ-_VL$7m zVWjVIFtFZKx`kwi)qN^ARwXtjBQ_wDvA|;?)O9ZiwsPk2vaN|K0n5eat?;J+=&|L} z=+IvplRpj|ov&|y?w2Xn@kL(Mul9un96SX5ehxFPYi*Uc`CBJMG}GB4)fBmG(=M1R zx?^$_zZl;?RzW)>Ls21>3=0y9c~kDLzsO1=jL@`ck(b@0@z$+YJ%Ltzr@#Jg)$g(T zy{;hK{QV3fJKOJ_0oj9p@1hXi|DW*2spOKfySf#fR1SYXNX@D_ZnJ^d`XelgND2tn zqViccgEa>T){xh_x83gQ*yf>v>vdZJ&lK4yQ^x)`FUF1_(bL>T2rVV@KV997Vt%~s zkvPVC2%?D)d;4R^$I{d)(RsScrbuKdyc^fio;<3(dE2FHyvW$S>zJ&%jEW7QPbfwIuPE^?KeZpmmd77 zFMd)cniz;Y1Y7s_cmukMd^fxO(Y1eEU|-(h!@U;X#%jpWjVM&2TTi4@Y`b5RAriGwE4Tb-)b?Xa zp=@d@c&luxk`p4>cdv7Gf2C>}n!s?kEIRbf|9k;b&3*f(@+)&#krq0j^u@<~+aGWH z_((SNBETnU^!x1oXGgq0L9~A<^XWWtfH)2d>PD*u$F?in1R44M?+%y$!%(ur+Sb(X z+Ekqvrr@M^lo@}&?S6CW(2JT6E!%X+xBV4a<&vW$cidm9$*#b-a30(_+srwZ7P{>- zd58}%-WaiZ{;v-O%pet9fjw(t(;PmUEG$6ypE11~Sf2L(1F`w{NW?kpeEa4TYoZ6- zy!-}|+?BoDw9sMMV{Ei)ToHlv$`xwd^=3~DTm~Pl zd)RzE{Ei;BUKzi)hu_=7@95$GI=rjDRMPt>%4xX`E#nXkvwcCO5l6 zw=N?Gmr;DGbm3p!0|l8fxXcXmCxno3@H|}R5%)OLw#%>ssHt_QYYV(dg9J62_DSO} zp4*S>HSGluNc_4S4M1pFD*&hUWoFZDo0TTep(=Y5etPqyQuz_O$Vwr+bK8BkI*-t! z7QWM?D*X?H1vr&emi$uDxm|e`zA2wAv{gcoh6pD`#3pQm?Y>Xo@@arcV>QkGf;%{A z0PI}X)+X=^P$CThL2y0QM%&H1>hFfNK>6*|wn_ND2%1=-SGvLShDfh+p;yuD>Hgam zN!A_6sqc6BV~b@_hj2ew@q*j#vxVDvmm}Pdbc1ei_VDgQxF04u#3$eH0V@tEHN&X= zC^b{R1cUq+|K4r)`MxUWE&~AlP`bqk?l2JtSlwQqlx^;+`_cgIE9Z{ivg+~vhsM-) z0I^9Kdga-!n2Pku0(zyB`g(oaI?eh6#>4T9@ZQboxe1oS{YUGkwkGITqc`QzddI)Z zqlqx&NJ5!|335x1y2Jc?6?#aep$+wpOPh`kU!d-#yf* z09)0o$LMbR!1p0o1Au(o>ktuXUnv80>;BoXEpE!z;u=RZV+vnyiIjUI28Gm;If$;# z_A!POhY~>4lYgIZyaU&HL(NG~EWaoGvr_>6?u7xNjT7EFs)PaDEUsKT@SjWBNgC)L zYG;$_;rb(mfcOs(TimwYtmFv5tJQ59o8PQd*ePYVYg47{AFa_p132-8jW60WlAY(WNc6@9qM+YimW+nQ2C z)JQ_Y`%mO5#mk7y??10|JOo%ES!3yi(4jLbmFVl{#(BS7Fn4%c!DD1|Z6F`%kbV{n z(p~m9{@d~kTVuF~g`r5GC~%w;F8%}_DM}40zh7lwlKTJ9+v0>x?4gG9n{AnrtyUep z0)zWVrNb0@@tj3p{A?yla~t=pavr`|sJDw9nR)M>&@l3>k&Mp=DK(oBB39(3j4#~2!34dsA+w>(h;P%FC7c4g0 z!T>+)`YX@+KOf2Kcii`EZt~CJIXWA^zk6F_CC!ljsQm4|d5yzJe>S;M+di_{_v^t7 z#aA|eDGlUN>MMKvzVGqK_qMD`_rDO@?9M^x&cD()-#<%=@!K57Gw=c{^A*0i`^Tul zEsP<<5voF-zDXtWhI^1FHkE7(6~51azO!yeagS>H~VrN ze)v~L>wBlvpKXabd2_=e_^18`!{rc2S!ocPP9n?Z_#=3+NbXOM+_pZD)dOu&{jO{k zw-0*D_%UwFvvq5o9D@f?_s8OU0K`P`e`Qj(E_a*q_i$`mX1|By`_lToI{uM%{5>4M zhhytK{{M@ubVT(t)@$9K2>zBG)WwLt9)*%%e9r-45pN_k*kl1C@1I{G1E_D4EWGds*?aB~%Ar+EN=hVRakLK96&wRh&g(DCUTzW|i zLSC3~F8i1f(7x?}l0^$IqsgMuv7;nVIA%@svq2{yLZT@k8hFn3L7%u$tvHB*W~P9B zYK0q!Vx~k|mn4^bc|h}uO6w`QaQdz|QR!)!a@!|W4NHaqo*`^ILw`s z!*2^|^h2TT&dCupV|C9?UrgCckIoWCFMexfo$AU>Dgl+c6fjM7w@NoBsia@3y_f>k zGU=0LrFJhAmvNc_V)N?6H`5-|$IHD|YrN9Vm3^y9&szVySK@U)NWg_l5z=|+1rFnQ{Q&KnsQA{R@x$qxxA*mZP9IR9A%n;WtCsmk>+?Q=!+onwQ zdt1FI)tO{HakbCJ5S{ry=*6}B!0n+8%J6j%*J~BkoOQ4;R)N|ZSI5IkcMhC;4IaP? zZywI$B{p1%AU9Y1QRtPG`}{;QB5Xf40aIuaim1T~Lm>r zBQg?W-)4}7F$OO4Y3JZU9s@Pb@R8j5Cq2bVcN!$tMwL@7GKyazinC*JZs$kI@{`06 zF^p71KgL|~sDsy7a?;q^QIyha!T1G4k#DLF@x|G&;(fZBZsUbdsHG&Yf2(@*dH1pDg#$0X_PHfHnH+72;I#@e zF>gUB4C*x~m@RiO`GwC1@bkx;X$Hwf6jZb-eexeYPRlBMwx5#n%HL&QC@GJX#WPlj zT9k|ktxUYZ_T$qW=esRDR1HjUX+&LdY$-P6owJ1H$Mc_-I^Lm%eZCQ((muKo)DGBM z`==rvDIeLJ%_m6bj$U8FFYKw)!XLMZE?xk^wN-3$3QW`3hN`*x8E-geMS{j6wO4{31Ss?;`U)8{E!iqUwYh*(j(Qm{%m&D z0zKQF4o`(kvoJ1>eCDrmr(#Na%F*6BLv)Azs^=*)V4pC>ec*2nv!H~#R%VD8B7P6K zt>i0dx)}U#RO4TP@uC{be&kK4^Ud}Ox)~3iIECBWuNOr(n>MELiBHt&b;I z(w}Kfz2fR(rAE4{nH}!tPZ#mL>!f8U6SeKsnS~+fRcDmMAKeOSjNM6GRdIF}Zp|0z z>eyNt$6XFh&n7NdK(pA(I|kmoYX=@s@@}G^c&05j`HYX45gpNZ0FQ`ky7mS8R;S4q z0JW?H7%s@bCh?6%tG)3_A>*^x&ege9WNf>P`=)1rd)20=S^w@Ax+3BPGyphv|2Khi zI8&>z%lc`%@AfuQAI9Y!^o^+1S~I6zB5GwJqQW6C zCtNSmg#KX*bh57*pUYoMtq5h4*9%kSxE5|wOBB7UwhIu?%g_m9_tJ3tq2n??ZV7{Z zo_AM84KnY0_q8HXl(;Uo*0#5=W3yJ1=+}Kc%ugq-@xS7*vn?dsp6NN+9Tj#(tK)rm z)oogjgoASPAjo=E&xm6D7|SPxZewpcFCn>zqa(>?J^PfR1|#Qj$bb0yobQhFN-*q4 z)Mh}@TWmz3#w0tHXG)<1hQc5odA#0<<9+$Gc!}=5F`gYXLapRw{VPUJZ`=rUWC^hvVj0xP zv@}Fx*DFh&>@RE*p@V_QLmTyBO^LNQJIv33X5e>gtPDiO z0h5LlL2s*>8Qb1!-|Sk7H)eIny_MryqqK4_e$htxYw+&JpB_Lu34R}GHtVC8##b?r zbw@r?H6GQcR;oe@xzH(Q47AHA*?U`0ygDGjjNHtqy)6o#+jPT5vzw{tWjR&oJG2VOkZaT-5s51gg4DZ`>F z>GJ1H({z8YcENnx3)62pfzzHq?N&3txl&dJAGYwgbnx64IFGTmZX-sMT0U7F58MNR z|Mfj6Qz0$RgCgx1ioD60|+Sw!XbeotJ0nj7RXR;J`Y_BL`QvJdNQD9jA9O zVi3G$-RM?DyTw&|HQ3>+|Y1_uE6a+$!i` z7HZWSD&aKKqM2^m9B8HMt!&FOG}4U>+KGSAjMpu}6W0IuCj#s~3q;H!1}k zrE=}fzmz!(#O9FiRIcgYsJ*in`PRKdmxWFD6 zY8VRsvr!|{Ld=aL7!vqMsAv^R9hm?S;*HjW3_T|vd{r{2%ShG zQ8WFv%m}?P)CfE0!XUXGf>Af(_@Q^>bzp9QVZ}4q`aF3WG*?AY(E2=WpI2#Rf7~14 zOq{&J^y~QCPX%h(w&q*Mkb2oDvH58$`CbH=dd7_2g$h@;m#s zz$8j92eBV_IFjP(IXbU4%Ud?*LZ9PGDKh4Vo}(baUpNe8=nn><#^k{Dx}y(YRHD7_ zm0Dn%n3hfH5My)6f8d#;z4(p(^Ik9%v*f}h|DmpPEcmH8qgb0cd$)IJveFoA_L9V@ z_vDubTXGx*)eSp0za4@T*|vliPzu(-*T-jcX%Oi|^ipjj@6* z;iPJ>D5E=`5YauO>6U0Ggiw@TM~U850EmG`?xbStZ`SfeOR( zKLWhz+YGi4_)s|%pxf!3H~q^sPs4B#;zB$2hQ2_R{c^-D-bN~lni#up$@j}ewdAk2 zhcflS=1(DiVjse`$Rpk~o{WMf)v~~rwe}dIV9JV-xdj4T+Rq~s3IBrg2IejY0 zm}lT&-7Y8?aL;u+h*+rxQpIGqnP9YTyej~Na-Gn2!i!z9!0YLEPX7AJuRp4#AWXIK zYzi5yzabCq?f3Yn%)fpm1Z3Ilh9l*cYBJj3`gQra0T@TBG)RD@r))wrDE~Fi`zyw- z7hnLz^zEA4`Eoq} z3JftqV5s(uUn2?(?coMx!tZh-7X~itKns!hMjQ}|KoE$6n>!3%(tQgQZVcLo5xy2XU~|LNT{~Qz-rw;$SZ} z)eu4wo)C65Q^_#--M(W5*#>}YIseuUgzRmA>_^jq90>2HLvakHOf83xN_&_Bv&mPx4hL`&x2D#b>%A4Bxtv8g^H{I3w<4IJ(}? zUruxgPg+c-O-#9Rfqx$%fE`ZA?Rt>FZ7hL=+Hd^+5w36y?#0b^5XvXfoZz$`Cet@N z_|Csc7-V#Y7O95)4XNGWSvWZg4QYC(fz|SXgy##fC_U^XuKFT~V?(ZCRiq`1*LtCz zd}Ta4g*?0!I+u2X#-voZ-9oXfZ2Wo~__x9inl^ETw@{u7o9t`K*pKF7a%+o1bHx)P z&;dG`nwD21#h}SoPC^u{GRwZi!YgGg*Yb(9!sbC`t)%47_Nj^236p?+ez_g@lZT)^ z$_p4F#?ha*xX}Il!O3G$q4q{P`a(KQHL;q>Y_M^i(2X!?z&bldh-_*L{vl!75@Ld1drd=>d>qT^1pXl;Re)ul zc$8v?IB0m#jY*Eq-?Pl%zUl!-$qM$kK&hMMeAoL; zKC5mOr+wy0eLnd5C+_Zq_ZykUuQ`UZDRg$`h{q`hP9GorovXi6aK{_y1NPYK+uWE2T!+r^|%HDApQ5*?P zC=a1g!0I&4411+U?w;kAI6#xCouDh#NG<>2i6=GZd1w&l6#^V~KDb9PHIz4>)=9TnBYq&sLEJZbEWakJn=IF8I-5pbv$y1mu&(+{=V z#ccZxZz6er2%LA9n2VIe$EyW<@8*%RiM*CC%Jw&%5npf3Qtw??Hf_m1+zc%uwa!LF^n)8zd=DGb+j`LZgo7d)>2}n@_C>RHinPaRWgSEw zQbRDky915mj#fn}DOJQyKT_2`TH$oK!(-!T7*BN3!^twM1t{1O`A^Cu7sYxL9Os4$ zC!Ivtw{P#gYuer~B5lJcAfhQRJi_5EcD>1~JTbnm4e8^zF4FU9Jlx8!9c=ZX<&C)> z^3zYO!^<;THI{%wA{1SpY0vC;?MSyh71ngfwW8v#h~#EU`n@F`!NO)O(fVyMAMEa= z=7MLTzV=5w4CdhuaU3buaza;Y4CZVT7?$iBi2@J1A5F~WA7~?7YdLCdq3v%ZdAnId z3U?NNO)4_MVT{ey>iE<+AsyT59U|6+f&P270{3RL`yJ3P4fe8ZyQQB+TFjB+RJ7yv zbMPqK-{w*lDqb(LQF3lbP>1^SwH#zM0#n%EQD5is=A-fD_S#Xe%3+PEn)FN{tft@}TFt?uiW%)>K{ke z^^0_Qr`Jp=%VZCX)Hc~pQjhe4R#7edceQ1{3a9`lUZiCZ_{9U@7y5tj3-?_L62LTh zKQO)hLS9|42%>5749TSk&FgLsjaoX6!?IiVi4SIv&TQN{0bYhM9@jkn+^LH-CWqgF z#^*IImp=?n^D@`;W@5j@DDv%vbb2yu`zBg@zbY|gTa{?9?V^2EDtcC4S){cMc@0e~ zY5hEX42*FHJAxGDN16_mN>xiLj+)jBPG(y5Cb8MGgi=qE2Nnj?E_mTA-2(NThA-fw z%}GKUNdq}JXFuyK?Cbr(e4%!JvQ@IpL&tkYh9*;}owYX$jEgrKW?k_(PCKqVD99(`AwYh_P1h|`gCCxopA7{y&=+- z52*a)(;+oH@_J;B{>jTw9ISb>tIrHeKXma{fP_#fuefYra!R zc{9C~nP`GMT>g-Kwz5@I5ZMn7Wfpw5c6{-=VvZQr=3tHwEha7G&meAbQ(Yl7$jS{5 zJh$FoHQmQDhF>JI^KIYU`TLW`IWtz7{H|lePd&&x3l^z^x~8^=R7cF(WR-Tl-_Ge> zdpfwb?g+_9VXqvEsU4sFVac58h^omuQv&kYa+$F_Jt^QH1{c>b9#39l(?i2Ldv|X) za`W5S<<--N$p}Vspq#BxGu@`;jz<2m1Q?E0md{hWI zwYpPlwU2-H=Vz^Y

nT{nX7aIhK$?hi*9*mIu?iN3%w&xD~*+=B=;wHiE-0suxD! zDVpod^^;Zz=2m_E9LS--Of=k8kawxr&r9#;xYyoR%B{Qs)#<_7N80)a?%mCrk6kzY zu3)y2s=?$N@D(K{VbhXQSx28|pCIz|=(U~+1_sN(kOgr<_tKD;Kz7kUc6UG7d0{L{ z5y;-Oc{v~>;y1bJ`hZQ7HnpzX9ptd)RbkSqn9WE-&b(vZrtQtrwao?h1&rO&g|F86 zJmavBit9t}LYf}rrANeN&i(9&RiC)XgHF}H-LBK1tT=ik*!A(nk$;o38SI*J0{^HN z1<_=KQ+Bgc+uo$lRL#<(=6l(d^K6HI2!_6G{Th+B>yk_=@UJR&eHVy|uy zZ_zRN(Jrj7^^UTPkK;g7hC|kqbRNriIgYR|dDI09nYVg&kJ|I}K=bGouDc54%2vRS zU#S+&045aL{N*n3L<6264QYYP1D-)tUJhYswWe463 z(aw1Wrf4UYO%3HkDEv@|akGe)eDnIN;A36S4u#i{c~m`&mDq44jCTH4i?;I zh*Ah8_Do>1Z1Ziw*`npPYZGT4QVvYNg=Ct`3kZw2$kVqKTa&P4jEQYv`Ch!g^pIY5 zruU3JNqK~xm1VnE_*Gifbhb|0r=6ywlbcC4_L7guMfE$!qCp2+#=U*UiuV4TZV<6L z#-buW(zP%Tmg|+bJ=RYL>Wb~az9~AI3ov7e*YDh6O@!zrz`5r(8{2EQo zkV(K{n$^i$Uvuu8&oO))KK!fA<9!HQHvH)ODmSv2!_VJh_Zzt25o z9G~-;ou+}iivj=9m#9cgW_ySS9B9N6x{!Kr+b?on9%Rb(G)k_*wY0b#P}fgeR(pBX z7Q)0Lew zkO@IUDGwOe#0Zw9XL@BntyMNzC_#E;>37;g16zWr20fXCuguni<((|A1O6D^hfHOu z>+o$QA8OmeAo`W`(5v0t{TX340U_|$?sq(Mol69zV}M-YFc|S>4-I34bFE7R3onJF zf|*NFcz$eTzwDcNqSI^tBll3FxqB(tU4qR& z^vcZR(5%a}PKg4qTKW6U1CCY>iDMSdBc}rz+M<^n~SU%l|0sordI>&$%{fq7H4&`$OI_ zS#pL+Up<3y&@THCH=v%7;d8qP!_OCy!@%*?f3rRDCpoiRXDhi|S&%TlZ1_Hr zQ91e!@^^9pR>MC&>RCQ(yH2vF&6w8m{>d_0)B9|eZg)5owh^_8(S+Vs;h17-L#mp( za38s7L9kiQ__?iWUTZEzCD^niib=mQmnG{amr0{k?4T@t{|&rgE{z+@nm0O=lyf*T zHWxKoJu;oVN^%c~Xn;4yzQHi+vQ&LGrS+7In$UtcaV(?;&?b2v=BQ)-K0ZYG8AaB} z_ue)m`N1*NU_ZW@q%;fyFgD4`gUCSLy7zp*7y9u#GjjBuQ@cwGTuCV>PWs<|1gz$B zq4P!0?{qu93V6SU7O-kfU~zL37n(c4q+RCp*Y+d^@A)UTb@IH+`%V|~sqLyIC3T?~ zxCK;drVp1&1;4NBg~W_Z_o0Z#6&EB$a#^7netqzF#!g{vGV=vdt;7~vEje;g;=EH2 zkW0=XgjXjwyX}d0__P;XEbF9!1NwQLyT#gWvL=Qe>dY{79K1tg8GH`}x+9EG=y zmRmC@d8+E9)FiuW`>Dw(=S{7YKT;pN)N%9#kqzrnal{7*OKjgHbSL?Ni?=76Q}*MC zy(qh*=k)k-pX?sGB-B+0OAMe?J_CO1;dfvo^1mp`<c@K zj^HsPiQoul*zx7&MiDN`61hVMTnjnYKH*p!R$+LE*pv2$XZWQiCaL17C`~T0nnp9= zzSmja_K^oqGOjDrdd6evrp7VW+)Kw?3```%1G&|1xkTJE2UE~O)v0X=Wp?He1dwO+_y{HV>ohNZVe)Kz}>h_zOmyafI1JzXjboQ=Qh~beuGM#aUG1a-X*Rn%iqRO=N zP;cTyw2osKW$l#2ftJGz^}b>fW1GrSb03dVKlt$EF3-SSuLbjut#UN+{ibY zghno_ho~z563FWl=gLPhL{@z&yb>xg)(%ElWDzT7t>gk+JLPaMVMylPH^D`jwOz8Y z&4);4=C7y&UF^eg=x` zo^u}qG4#!l0;&|AjzPvpEOSJT>|56d3A2{$T*J3Z}eei|y52-+u^o}8f zu8jE5Qrf+1P5%Sfn<<^E?doMG=?xd2c1GuT|4!C1t5L+cu_1uvifK zt^L7Fpx&^FDbr6K1>B5K!0qwnRBp_1c0r6y;wa9W5UIo8g;14}%$NOt1LZxG+6v!4 zn|uY{tyTg(X5Pq19`l$Yl#n`(xXUeBb53BOOrGdiO&sVa{0`_g%~bhL9repL+6DW$ zLYm5q*$)K@jJj2@5ta@o%x}+b`YXMHO&}X0fbTU$c|fM(LLm0>^=04$CW4AP1xl&x zQO2c0uQ4dLX(4;8`F9M(9mPdsT0C-nYG{r0iiC3rctQA?0|UHeOY=YB=l`bgGw{r{>4a1uERq1qRP<_A zZ6;NWCzqo30&5_|OB5c2ZG8C&Zjx%Q%vJ?NAyyD$kJmffe|H%}%lai;`EYu8Rr_HR z!KWw-@6huZiD9U;2Xe->Z|`X!l*(>^E|Sybk4jwsz7G@-p5`a76hL(JkK~W=9dNCv zxKm6J0pe0oV&hrr*O;`AWjYQJf$h9ZK1iqvo&)&-u zm9_c8OU1T-z=*JuL$F-Iqb7IEhPz-?KsFg?I)UGzhV#YuwhFQQbu(8W6`qVXfvF1o zV-o<8HRUG=5@hKPt-QE&q66pPYl$z?%`q^|gi9pKLU>wt4IF4K?!P#J8alz_mICYv z*x3{YY?t;=1Zz>RX@2;xZ=)x0DCEebY0reU9q+-B+Ln&A4)80n#u5z>Sw_Jhe|Un_ zGP~Msg4(bze+0i5Htn^V?_2E|Rt`V+(5jlZ7Ys zGs0M>A(|iYQ+wss!1W1)i`(+>SR;Ll$(xh%gWm5a z7Pu6&d%OjxFva<}o9OBL_ z$+>uK@z^^bDg5Y{V96D)ZUIYCept*7EKk4?*x%93jDPc{@b9n_ zD#YA>|zs;uTN1&9&elo=BzAB1<+l!=$+Y#~&+~I-!Jy%f=;9qO6 z0A=Z5iqIO_@w#&;Hq#6z3d+*0l(R@24J`LRq#QAEMLMW?jsz5=N!#v zBx>r_kY3Z@myBXtGZV!uUKfyY3HYRg8&2T=xXfyV?Xq4QU z(_<)%{!xGvDCL`lLfX|Q@Sg@T@RQzgvo`GWOR#>hg=?hj3`y~B^$kl#!_vl;QOh2U z$6q56$isWkV#z%YsmQ%?KntMQy*q#5Z@lf=gSH4ZM+!wKCZ9aK6bQg7E-nYD-MGu7 z9&>N?FAE!9K)dk)=!la4y)TkoyO!6ASr>}YtixMit?{_{X2M#sgtcVT4b;&JLwWF< z7ojBJ4;D2?4qxRrT12cMCMJ2q5)$yF=y~ncXTih?;4yMIC`M4^N zVENRLuouGU$ARq%H+W%}^4V8+wll2nt;C znSY~a0UG!>ox<$z#?qjxdPc$^DsoFuX>AU{mj1Zie;GHwxA1H6pFj%!`o^f?4!nN~ zKJ*_d=~^jx0Bj+0L-^8lY(f^O4ga5@n3ed?WH9_bN{H`l(u zDYMMHP%bqB!B4K{<$Q7l2n+H*=b3?|u_|yP`&#!mJVHf=mhaZ@R;<(C!|DiG990FL zOjRfuKT;`7;?bF)m1ZddC|`4ZqTTO#$^bp_^?g)+la}d0OE|zwlb%DiyENGWLSd-N zvG6W7y9KG|$4n|OLcHL(?&m;tr{+OqbZ_Avg6Lrslml^5icK<7gca?Vjmzjt)Q0S@ z6v*F`c5R<-Ktq`iK)xO159E!OigIs9<$)+$@7Z0?l}1ggY{+G8P?qT-PKx+)*rKB& z^h2Sz0w2i9s?xqw}u5f2#rzPiAbWB?g3Ma6d^(~CkiVDKR^SLx1v6_GXFi==F+R<-nAa6BFE3Pla;7(4e-dSQcDrppSyTgw zZ)H*RI*x*~E0>|&0^IEzapzO_lwm-dUX1up5$Sn6szhI36#4q%FA-3xz zDiJieKUe}%bgza&A&|aM({eJ|>1v_4<}912Uljy3Cne{{QZ9bT9s&@NkCa@CDi>CHc!fA;yZWrLl)Q}l!vR%Cf4CG&B5UGTw>U+MvE#cAPUr_+LQC=+zM0G?e!QzS|=`0x7}AX=xTANMD5lb*S_<#j?9n zP{Mo>lAS6cv=)Xcwzm|Re{8wPN^9@^&B-=h8?voV+Cwqi{#g#ML+q5ng%+st2!$KA zDtND1fH+yB1XJpra65_4Hy4D|?X(5CkmFY17Kr@j+7L>!9R5ge(;v#Lv6;%x3{skVW1OHg z(=$-gwU2g77`VyL-6uaKUpVrHfAE8N(y^d}CdVM!q9XzTp@h((>JS=nPZ{r>EddOe zP$71lKgaUEmgNcWa2rcaGn#@Y>&w!p8q+vIUQDJmn0Yi;C)*$wa@q$c04aDJlIlX%aO8bBJOnn~_u@j}@ zE(I3mWJq8~HB4G>MKeBzvOtkcOq*?QD9Wr%ah{(+ z)p`2(5lAKp})eE%cV-wy6So&tcc8czOrg%=>H5DN!0*3u5bs2RFG#OY1WRiObc zz-DjpaxC6VMx4lJSc8mPR6+C8Gpb|ZZ1|)y7YXN6t<)3^X%|2<3P4D#5OVnb?v~z% zNOlF5w}U6OvPMarU^m@RN~;J$LkT6RtJOnt)uf#N;Ip`{g=Ry~5O}Q^jgKxO9%+{T z2I<0V^H9XR|4Ig`2?g+6@<_ZG+Ev0L{{HcOy)E1-4ecRcJaM;X4A}CLrL4CPV_Fc&2{Ord>=t+>hCv-@-hSDP5i-Mt}W}d zJST$Sy8gQ7qBw>os-cZx_Q|g)^edMDzP)EBXb~^3t8Ku?!M)i?PDFfy27UW3bFpYh zJ+|PWg!pGHB*bji?w=s|x=4D^tA7+HeFgVa{2v8kj7VLM4oEuCtZk8@qUC_{NYJRz)oW>Mr9LY z5RZxayf-T*wrZd`t7@#fs<1IFenk>Qf?4GFDf$Ga7u&yzY;=tf01E1PNeE53q$?PJ z2j0ZFJ>Zx^wfcip+gxDF+|Eu=-)UIvx3fE?>SSZqqYDt9f7S}^J+89qhgh8xfh47> z6vL|1ef-XRt{qT5uTb+OCrn`0)+)rnN315%v^kSE#R=L=yg;=AL3^Ch9aD(Unb1I0 zs|8T{JhXtao%;EW#-X_Z&zAr}4u^x%?PX%4iW7s7hu#rQP1-(tr?hVv@7m?&40RXJ zpX}GaVu5P(DdXhJq4t1Z39>!&Z8ayYmT5cxA+Q*w^~pyuvd|zJB;XNBGt_8qMd4NS z%>VR=XL5^B)hX4!Pwtu1Gn)4puU8+sOlEjoJw9WGsq$^i%H@T+4tQ#2E z#7pyZn4Ae!$Z|`6ytkF_*gbmwlZDJS=S6^hPkJRo&YmU2Q2Xa6k>t{{`}wF|ydu>e zRmea_LgVZ>N@$<@* znwn)j(DcM=))|t$PR}huO8UOuQsy1gbybjb@xbaw?m%X5QjXGCL#CB+W}BC2QceNg zUcoDU+;KHd+bv22pR^X4c0)UmV(B?lIod<3_t730TKm-;4pHCE-uqtdkYcM46@2|z z1C*t16>&k8B>bIa1&dyNysepq0lPEP^I(cRw`+IeM8chcu8Kqn>PV&P0*hr(LQH%l z>~<_zu}AfpMk1-F8$1}2qn(z+JIm0%xhY`GENxxtwNb1WRF?s$@b=SVH41DyrLIRU z8*(f7QGpJw+4e$->=>T)FUCU$ich?n6z^>u8CXK{e^_Pz7q7DE&CiLTi4WJoRy|wv zYDDr-7LYjQwsv_US&U)^c?)o9cSm%p6Q4n? zSFLKUU_3hL3g^YcMM|D!HZ4?e_9fw}!l z6K~_KS#Xe0Q9AgoOg2~;Wk zqH^MJA3XnFTdEfm%mJ-c1kO~O_-X92K zcTdA$1Rs97H|*nzv<8Y7Ac0qoD03diToc_xq^243k>ZIXe8yMklECL%YMQ%HBVAz3 z{Jf9Ng!|q>F1#zrCyB-BDOo2;E`vsQ%pMR59?`4i*jw$$aG%q+ns$dA1kD|7=UB># zv7jlJ1$}foHFkp!QJw0hmWaZ6fb$c&Pc~?QDS!J2?MDkeJ;&d3H^wDKZ-sPe5sIbfa6JZig)p1Za z`T*&E3qN%hcA^GVhMlD$-O&+V$66OA(yPE(6xQ)2NVsQ#S=9P@-qgK31=LleVs15^|3NoM+QrM76*k)$3qfqrWq13upW#bzV##Y{afPrLNyz zB|%rY;FioSDU1$Q40YBCYJ9bF49&8CAcx<5lnRiR>;=-)H z&TL1J8KF9Np}%#3Z~i;$!Uc__OT`S|0(xN|rLF^@`&(%wUX%?Kcd$lE$V^b)bWmSy zT-HG5)%iFS4mnAJPWX$$Xrj?fd!gQoXEFa+eI!3@du@c5H71aZlO!m4^77}${qw0p#x>6Yn^DjV&%q??wtT)=$Gwf6 z;0^5J!Uy!~ERO3`c{`6q#OTcw@f6%=bBM8k62+aLsal7S8*L8mI2EfG9fl_$JDF&G zyCk(H2;B#z2T`0Lc8g%g4YgH4ADB44Yd$FU-MNcwSm;zkUX0_LdzoN{k3rMA1M|?6 zuSn#MQu`;U4Em-GwoUC0@L%~Z%)~E>^d8EEVgawog+iA(`K|l%ps$)-^8*`6Zy&qf z@!>+&sJyw)d5W!z3zJ!1;=bZF-@zp)qEf+vK?X2ctX~`055kJF5b(NJXFu3uo1+P`i5t!5Ys}_r+=MInnwmwrP*WEr=aB~~Mqgi9<`a=w23s^|T0xg2NkGL3C<|?J z2xFUe`}`0Dk7?&o>|x6ZT5jJ8|JAOhp4-u36Eml zFjJo3_xc$q=)%qEOU|m-5TQm*%$@gV+1nR7T^2eGA+6kDa5HDvwI}fDlYf00C5aiP ztixEAH*gSV8({lQs=s`jQMz5QqRUBe3x;{MpV1ZX;hGf+AQ@WWmhTBDW2^3%RO_P1Q+WnCFCh~- zn83}otm`j#Pr58lR>i36NggOS^KqOUXzoVjvvt>ENb7V+%C+zBc=K8E7LcL7IJvl> zGxI=l`aud*Aqj4Ru$AO?_@DGq?5qd?HrE+IvZ9tA7Ri>dvBlWQr?hFc>kLuP7mXvdEP!xBcOyucmIRyJ1eAw6-z6{ElUa(|H8?HKwkp9@+HTPb zb=#G2<&u16koOvym#Dz!Y8=!!O8_4;tKN?+^qIHR&OR;RlIW||D`8!nD(psW>K5jq zv!SBo+;{3Ke;wy1^A47x-Y(}CK@%J}fCVZ*+6V|)HF@tjLeOl9oKW&xaqm*{+cKZP zg}VZSr{ne5N&9zL;QynmJR{~&jcYnnUFns1QT1T;m)cg1YM+RLKOC0}=;~-Bg5z?< z3_^e4=1EtX(-|7HdNp~()=Q2z!n3$$QpEQ&*VeDfcH9M{2qaLs>Z%N{--~xa%d%`$ z?ny$v0Oz+ORkp645<&$ZF;h-7AvDNY0s#~{f@9vT`8kI7K<5CT zZ0H=yh402CRiXq zC>FBvsI8`XG5O2*9bl8Py0WXYV^oj#+}A$$3-{lBWTw9VwGUOh%QfrK@${|xw0qh9 z@EY;=%t}c${$+G!=l6VlO<63|F8TViaCT2YBgMA#ksC`Hgv+Of)Gy#rOSxyupAKK* zP*lgmNdV59l&St;d=#)%{xuae7`V~=eVP8V3L=t!z(t0Tro(MC6%kkWh{_6KRH!}L z{L{wD$4Le^H*qP1_l<^m=Rxj}>$$7Q3y2|oWf%Nh=LPWin^e}jXLlcoJNF@AJpKkV z#@tl4!5>|`@_GO_u@dGb2%=)-rIag6CW%CuDLpY?Ft#PSaQ3LL$JtL#*v|z7fCBZQ zNeshM*Wg3pemPvcz8Oy#Kax$d6)UJ=p#u1j=&H`t|1*WcopntkD;{ z^)%C~m!M#spfuL}^#SyUKs8+ABU%#oFmh3s9C4X&g~u2^nSYI<>H6#mhl@WoYfAQ9 zT06}e-0V0Xd+UC!h(f(o!|AOi%EYAWA380J4&R$`RxVGY!h{VF3ij|P*pK%}U#FTb z>lvYn2N$PwL9AFfDHb&0_inT@99~K_UFMHmDA>ZO_I?u=%7Z0QIf8v2L>e({l@fPg zl}#gpki>{R=6_Z}DEJ3lPU-&q^vJ=3aUq(=`tlKkQCX_PM!|phG!cgmr~A{VS*^pi zXjk`&$t=h+ZHL*6&ucotEAu?Mw=saP*3zxatA8cxGmn)Ky8D3U9#o9-;$MO&2@^5i zkNp*p`mg$fU0@4H2ns7<9}V9P_bW7@Nk;b@thkmRPm19tNI?~Zf8L0#Paye(s#P>)5ZQxSZ+D7dRgr{wuy^JLA&xg)$tqoTM$zw zO5$GOXM|V7&%v2f_e6ccd{0>r4&Xue;X3BYXm8+FPDX~iNj#7db*yqZJiM$vLCprJ z^GhuQS6DRkU0|DD>ASGBPaFq{$3{P4;@G!AVm%&O^#i1yOpfGNmxH^%RK2F{Woq|37cukWwTpd-Av$BjHvkL&b~&hEwUE&&PtPQh{0BL9vp1m_&m^M@xAH; ztI-PA}!r~dcLihUO2@LS77c@0Y*YsKJ1Zv;YgkyhCG;8R8X$PAAJ&gAO%_5|JdU^YCwnQ zmlag6U~U7Xc1~aW`q>BrUl^7!avp$abqypl<_P+Fo@?m)A z)1wcr*eyPREq*0oMZW^5o#oNf!a!|94q&O=|JpHOIOU6`U4KH&T?Y8B0>x#Nk^2j? zFA$@9{N)*DI}GdKdl#ZlTh&0~c!-ADdd%+8tIBBpM^E*;W51W7iAGH={;1(of$wFr z-(v8)3}k!sDKCbU2`dJihIP1q9^8gmp9&ErAd}cJn|(SN=goW8B%feJ#cG@ zm`BN`e;d}I{-Y$14kTW@!G%3h8=4*m%ey@}qv(+KvJK z0mvTDCX!8)#VoxJ1*i_qUI&nC0SF{Jj!)<7c99lSMjW8|1(~HklsSOR80o6cVb+NbhF5+byC{VLZ#6R8 z_dW^^bOL$mnXHa^oPfaZNXW$5t7B93-a}H6#QE_g4FrOz#lGhCK3C4#NiMwSJ&@!< z{Am{>#Zk@?`SmnoQLb-fJk^eAl!r?dMjLK0r48BlGC=JL@c^gw&dYL}H|+7EC4IZ+ zz)6J#N#4|QnNu7j>Wn|!UCE1L=3iS3e+&)PZutolMl8yrUPt>paVWD3Ewkv{H#pV5 zTwj2b1E6lB;=!LLE#A!Fy6Ml&w}aO7faxxl@pkzD3~sx>q{E=E63(b(%<@u|Lm_m= ztr~0mAzANnAmw2KYV9Ld1HhNQ;wM!mv6N0g&#n7be$K zG*#x;E7Ihy?JTS6q7QHh2nh)_ej9l_@Q;n67sI#WTf+QfLe5KGPkU<9btFDPq$cLY z(R(Y~K+ovjC+2XeW7O+UTjlT`0caI_b3Gv@Eq<`=mh`V}Ed7C(fgNt%=7y?7RzzVJ zDq+xzqUOA64i&RjGNu4>`BSJ)D0^m*M&@U!oF zzLnDuR^ACKi!W71FI#~Is61J!$%~Iqp(PP-gc)l|z!d{%ERL6?DStx+Rz3;|EYy&Q z_Zydto7B=Te7Snw{z{w75mB|Y;{x{N0V}xx0C=syNNo&E2z$vSiHwReE*2VFh>26J zZ73d3jnPyMtHJWE{6i#;0*tpa#W7bOniKeB-w~{>dCq2M@^C9g=_i~>1l(#ZPcIl@ z+b93)CU^jDRd>~&WOZ%tKh%hMnsBTl&_=}K?OtMfEaS5QX`_MuScRwv^7zCeF6>l> z4*bMNl>aOP@j)!-I>#w2dtwGW4weg~V*Lmj03pLK9OIz+oC)(mO{7*K%^b9S?<37v zRq`QH-ab7a$Iu_H7gmXVpr7-U&90{H44My$U8o%0s3QrFF`khdIC3eUCcRbPT1Ofg z8F_{2d`sm&HcFu2YWDKkQNPp&z4E08$2K~3(VZ&{Og&&oi~ZdFQ@ZWcntCzKHP}5U zK!Ly5H0{na;cRyMB9vDV5Ny>4W@6g0-&9_Q*?9=^F7+7*VM+jS6mU*%#U0*^fR2C% zdoZLyAgc*LQ)6=4(lp^EKwd_Y@vw~+MvX5=i95&3nd{_yvezD|{u6V`ui@v|;H_AF zDjx|kmQ{%!2OwJ4!e(0dcq`{%9WM0`zYO_()QWuHQ&KD*5}relifonAP6gW&zSEfa zg0xulpmP6e>=O}lfUNgcG{8WGgq#<&+5sZ$Rlyx0?mZau#PfLB)nEeyvd`AYyK}s% z8tYz0$WZpr9~-me%W!WA`#RpEA)1l<*s8auN(752hTAu&<=T|f3Dt?q+krlYe)NJJ z4S^8V_pFr0J`O;}-3F+O9#D+MZ2n)=uLX{`!B3ox-A8<~nf0?UPZOxn4y>I{A^xuz zCEo{?m}!rm#){x=@Rv-$L@AO!$Q08Pm@k8Z@Mu=vw(%HvN`P&fURTVsGq)2v2fgtu^(**kh* ze0>CV#0b~jjJzfZ3or5=qH=BlL1;G%&`TSJt}~cQ0x{rbT?$PW3f2>XQ6#Ln$F=+V~vG5%&H#Q*BNJw z;S3rG9P2aJHbVD7-8&kXZxWzogcRyWRTr_)sslo9I)cfTSc6{&QjF8Wb^JPo|~!qb)m8pPG%Tr|0k4t zHU)%+#_g;vpH0rx)-v8*TbpF6<)pDn+_upSy*2nl)glZ5E;z3VwtngAy8lS`tY=BBq@#b(zd*s<{gqOv<)5H#9ll#BqP%8a#NVZ;R+QmXH}Kf=9q zZC}4ZYCRT7@D}bme5BY@2CH9Nf_%(A^1d27QNR!&6eZ+c{hF3j$w|5g%V8153Xq+@ z(aHhC0+f-g=6+CvWk<0<)afTf$K74q)xDKa?-eX90W*Yjy0;n_@l8a$gGB1OH(^@! z%Cn4H0s;dAO|ID;xB16L(VEKlaD!#XYfi?o9&Rib9eb*(#%x?u`CJzJIRQDmujEzF zL~Biqe8E9m9;uOb`G<;lfXaR89e?hS9d>wkgY-7czgwaX5y=r>v3egju-zzuTVh6l z4!x7FFj_d_!ZaY;xvb$NW|fB^8nio_tS}vKaL3_ed{Q>LOj08oH=IJPVOBva7Jg2> zu5llGV?+T>4qVs=%TamO%{R=N8a~;2Yrhhji(%FgNCLM)k=s`6%K3hHtXPiEUN}W zCvOKsGPE{Z1(WxI(*}6ieL0?rImabXXhSO!HgTQx5yS7`!VCvQi_j=QSWYa%mkYxh z@EZ{mG6>MXFd;TRfKW<@uf33K`%5K-RpC0o7%1A%22~jkr5~=RmNz6>w}mEhJI&RTK6AnPIs#K)oSMwv(sin+ z3Z*);?tJ5xUq=$?yx`F5FzIRX;ovS@I0pjHw&w>i;86fhCstpbuFcpd0U@&RPhNlb#+;h(Emv)Jrr_Mg6x3rCtRJ^2&*b%4RI z-BMzOjb=E&ul?$cm=;Tr0tvBHrl~vq6n@_1T@x!LcO1NdaH)CExc+C||06gM6Uq8!7#`pTCy#(G<{fO( z#XM7P{K8A9@WVw-thlP)g}6+^ogR{Ifb>MzK!ouxHmy8vv%?e^&B zN}!c6Uy4ysXUlA?_w2@n^TIDl9kJN88<5MawaE*^>$kvWwaXLauR<(E2A6KLtPrRX z14XUhaN)_O|E&9e1_$;8)Axb(bv-2occn#YI=BF?5nUPSpW*+tLgQKrpr3}szEsXRUU}b+(cyg z>}P`?{MYfoH0?&{q+zD%I0RXxWWp9?OVjoqT}O>P3P6NOENqJ=NWvwii61~R$|g+& zBcpUnVAFamxGRm6e)jk)(UT}ZbkyWOCCoM5*cM1{zG^3ixVkUE=LO8Jj(2As<6 zDS^P0SZn>u;5GOpAf(TM>86;q4Rk>La{UGfZOF`h*tiy?*DT*+{w@UAML$)IMrSIH(a7bq9RJ6QZyh*D6yM07%Ec9Tq$$P zJnl?QBF!1Q%9KQzGAk7-QOLZJnb_uWv!8QqWbL@#_kQ2s?>L_0d5+)xM|YRLzTdUZ zbOqigqG0?t{?^o3m^k5ckO}EVF=X4 zE|%MwXu#o{biEr`BFJC)btNG0LZ(gqvn8@~P!};YXb{YR8Mb63*i~h%xCbVV5{AX;08N)@K>Qv#YyTXuU$<*e%sZ0RCc| z9(!D7HUq7lN9yuQEEb+AH?$cT@%>ymy%ZRz!;qXdo^WdS^_uUSC}EAlr2}RAd>lA; z4lF)-8uCAAv?b92Sia}+{X-bb=RotVY{uh=M^m9I@d!L7u}pRKITl}`EzIYNHpJ+u zF;^tsPB>d~wO%8^cs|*gI+7(3*mcXi_xk~FkHT7*TTrp=m4NN#Z3c0hKuY@@jM{AkB^qbvj_QF9)!G+3Y+=i*>*nEcA~=g+?| zg30sI=76y8iDnDS*3MTBk5bhjQF4RaV78!n zu)U^#I`9-Y+pB>08^@e3fW^HN%a*o>-|mg&%ZrC_?U|#At{al(gkx9aP)>u=>Jb%D z@l3fXlFC(-Ljr-H?Q5?4@edMr&4G0Vu4Bjp11M#{tIpRq%3T7fM}z&)G2zU=5XKUB z`ZviM1T&eX4>h*#?M_VZi_(R$gv*+>xWiD02}}=x1TiUt|HYbK5rvM&SmM(q^BYhp z@c-$iAl8*YRwX6Lmzo9377GjkG}I!wz6fP^1jO=TiBa9bcxAgEci%4w8vM|jtv&Qv z-2-|{dWjF9Og)V+JvVHZ)d$X}dvyRT=@}n)vSwUkhK^|}S zQ|x;Ds?WHuA}6=KiqXyTFo)TeYVuCsWSZPyERGEH#@%+VA8_TT2z=mZaHeECtBypU zj^7~L|Js`kPz}yY1Gq%i4X%w#9rUD3$~n`A^2|J(M@yX9v`5NIUdZux`*^yA!3S$$ z#_^?6fDGb)OAhrjWq~0crq}EP09K_I#x}4cl$cV0gvbJX`7G$A;~VSZr(W{p-vK}s z)}>NE`vV73h0Z{KBRgfVFt9()u&TeL!;?lo=LKJCutXZ>vj)$$kTby)BO8BZnaohfJ@2(G!@yR=#HecozM!x zPIhS8kp-3Qk?~a2<42)1$w&7OR#lHybyhaXN&N=sgB`znptn-`gY&PF-SL&MrP|b< zZ;|J@GL&Q*?zPIC`Wlt^7OH3JRy2nmB{>(TDw6=AkqmKgLHejxg`Y7cEDV} z2&a{s`bdubu|X?IogPwdgJbQEdDOl*6_d-=CC^f+jbn+c(zCQ+R;p*@tKcXC5<7kKOL}_QJ{5qSmQ_v3t5zj; zHpx?mYD<6xBh4=_FwJ%uEXf$_>ojogHz>ACi`FvJ2C}{A><4HqHTUJzeluzU%cX3m zI`1m;EH&Hf(@%4ohmBqD;W8_E5^55?u zb=~g#Y9J@!0NuL_@7}#z3#eeM>~;mNFP1qqY}Afmc;4l=kZ&mGKu64x1=m5l2s;6SNwL(5BZ`V5c6pWiU;yseTIo(UV3c3yq5k%+n9ZI-Az$y|v76+W!E_RU z%e*kVaGhK*$abiU*YTIVv{T_hN@D=ef}jyaaq+!lN%@YihKJPCTGiN7m7Th7YO7L3 zZdALxIiL5W)z81tv!KF>S}c)kr@lxqx}?w$*x>>~Azgo}4f7reHBNBTuS|D2x*Wm_ zGmb?4!!TmYIJms*pw83dwoO`bCxc}_3fL~7RKe_>TJN!DZ!4C@D(Lzu&MoLD@}^GK z0*L4A7}(pb6>Z6wONG|OuI$p!5)}5Jy0c3|T79Kg^s#i{%Jc9Kv>(0+$#Uqp!dcW)BxfWQhA=^dii*|P8y4}&2QsDhD`PcR4 zn~rSD1-(~|p|;SMO7cM?T&`{6oczk7L2X=)dV_Lve>asZGC?zuI$wJ`Zc6QskB*X5 z7<-VIy0#LqPSi5xJ&Kx~KW=WxhTiH{w;`Sl?T#NgoE;MMI-Q-oyPoi@@amC+-axDE z#ZKb-;IC-?%t{}39lnM~LCi?b7_7cOkU<@--6v*u)TZUIc5FmF*wE_YdA8fyG-SM$!PQ&`Sx%vfCffg%WE4zxCZMrQpwBZ<> zJ6-uzceUFr9zLdxMmJ}1sh?S-XD;KB%srgko>1{(Nm6xhsFVoL?lZ=t?z19ZX_2 zyP|e=+bp)1y-tBK^QU~I=I)p8B(ejvo%GXTgN~A8VZPb6+JJUAc>bttX|F*YIgcMHyD7R~U5S7vtY36b2ca_s#V%>>xfwTJf_?c$MOg1qMiandd`LWqG2$|U}VN{WapET)X-sGu@0En z69WK9=08svxC0oF-cgswj~{c)Y3lMjX}79xl7Mksg3*bFk?1Cb5WoOAvoD8><{RR; z5pOs<-wA(ty&k)JCawUMz5M9dcFAw@mNEgKRd)-B5LK_%_o$sWFvvn}v&bWH2WX`< z7PDwD<3g$1T-$ad2cHCfG`BuEr;)_UeK1@&1Dvls^ zHGPxq`MQ#!eKb&xWJXA7S&}<4|3Uv{MeWRt)C;c*zc)oMa;?7^5X0x(f&3C=Mfq($ zy+Tfu7`0oh7Qz|L-rgbiR^uHIOx-uya}5R{&ohe_Zgm>ybMRaEBXmo)uCqwCxiy8C zfi(Ox(F1%MgYQ=R9jPLHM(K$ylz{^js=hP@wX?qY+LeYN+&sa7jY&@6_jY=9%Bt>z z7<4`dQEw~y@3EzsWze!YuZ?gj*@CyoHy<<7%v+7WNSQjnHtxNqie-L1lv~0jMoytSgbJYs^0R4dlV3s};G8$W*#+uAT_sSGV zTP2_LaoC!XWX;Zd!&E{+uK9X>SB4PH?YtNkkWhcUo^}20x>5D&t!)|yeNyFMIvrdq zt3!-;Mkov~+-(Kx5q-SyH0FMAJVJe%mw>S{Z!@qDc}3}Zdz!V~Tsv3T*{bfdd1hV0 zZ*#}iUEL>t9~1hLuuKs3{=fgot-V5vI$XkjQa_- zx9wJwVK|=L9objTfJ${jE>b<36p>$Hni93Wb_873u7$**biSH>qOAb}vNAGB7n)PJ z7s%JTE!j;mcp9Aq>ZmYRKSnbv9HsRh`4!QlpfS^G_bk zy~qnke+!}SGX&!EMVfCx0A#Q~0oK z38iqjZQ=2S%b%x#X?bxsS$niq-4o#VjKiEB>{z)y@FbtIk0YgyKSReyn#8X>sugco zeD#E@+p4>^J^Z9t-;y`e|PuPFr(|^>Z7HwC2 zHLP+B@EVwD9`*5{;i8wyg5GJ_r)2AvBNFLXZ} z08ljpc2hm1Qda@EoE+;nvAMa`-47Doz~)M&wwsu-dfOE}vqEk7uUL`4|H5U27H4no zQtd{zu@<2sWFfE*PY`0G8i9*vYzms3%d|6lL?2~1ML@_|?R>eKXqho$_snp+!j5K% z!lFLc)E!Mf3mUK2(<1+yTD|{tLR7yM1rA}>KcF0HFsgbuYGwL6p>$`_w>4LhE)*G* zyMD9Mrp~Ll`ZPxdfLhF182&S=ZM38)wfuBqOH)RoQv^9Zq45Gg1LJ27DDHS*B&=VQ zj9r%MEMSl`_nKYx0Au!h=wkVkzvV#}f-}RHfKNN*2_y|k0Kg^hZ8=%}*dTBja-L(r z$2`$s3Ujm_Abw!09__GxD9c2FsA9f&(I7xzWY>b2zUc7M&7=heZ@!2|zRwYJsAc7L zTe)??vaGB8l$v>a7Q|#rvTtt=-Vn^=`t|jA{+ZwkDp0iZwyI&3r zYNjg5=g|31?d{H=gWx!dB1QWWz~549n8b3nEASD`k{TXtaI=N6Ztiv7^676NP#SlF zV*pIBwOYS)L?++%+du5X4>KqYouN``EyN)2wvSDEPooDZsdX#K;Y#)yXlP{?Sjks! zyleZS9U3;)N(2oZ;nG5gq7Nw_xs=y>uj;nZUJynGh?~(-J^#!11%@)u?y1`Rdqm8% zac}q29P8wZ1=a>;L}Vp8S1PaZCYKMU-zK{ZzDfh+zN`as-FI3w9RVDsgL8{F`87$3 z5e5VvES7rn!P?59`h%JIb#m;()cUo>&KiwQdycLoXV`^Gq^rS&pMjYHNZ|t1YY_gZ z4fhTTz&o&|o_K|wtV?Dl?FxHNb^ToUtt&@#A_{G|S$zhWkFkQ%NUqC$)m2n#<~&kS zdsCaDHwb9J#{)X-07CM_stlWB10Ozo_~-bo*%>I0RD7|vn$jqhg`yl38wY}*c%mp* z&Bolcl$^ysW`2#jsgFxp!5O^x)S9*894oWh5YRyu3dP+42|?Xnw&kGm3x*%!{?gRA zZXVf;))$dTMV?{$RyV)pbw-oiK$4m>wO5&{>RwgBwpc>-)VyUnXX8lQERQPNRvQGz&^@fQJCkoyg9^-Y|ez6kro1a#w zLiHK3fzd95AL=Ew5_DxY$>V4!#8r$ArOO%eXtNI{>jIlm4~h2rl0^aq=ZNk~b(*3C zQjY=@SvSbEm>3XsA!__;Vd_JP$y&&JT{iF-1(-y_|MEAP;)t#+hxxwj&$gBBMB$$j zln2;0*;$GyjJ;4#+wgd4s}pr?VX6OaC>Hj=@dPr8F=#MN7#-YI9?E^S8BJnMqUncNy6=^>TG$7E$Z5vkJ8Iw~J6E~xU{2T8 zVVDfDPz_LRRE!;~x3+>D3M!DKtbcNcE)_KUHTv+E%m4pXJhfg<4xZi37a)-2dEpEL zN+-OBL>38orstcNWHgm%sryg>UWtX~qzrx0=0gt5)9VPQp{?x`Boi+!+0~sM9-AQy z8gvOcgVR$`A@G-K5!}BK1K{RlCmlY`1$3KwN;?wEOsgPNwpwJV!Npx>%Y3ZyNl26)x$Kj!7>kz2=tM%H$KOVjZo3;`% zYW}DP`)LJ)C{Ikwc-w5K9~BvMABJ>%U;^ZGKL=`vv@n#Eg#EJ)6vl6;1nG#N%d5sR z^ijkF@_t^xkBs>&q-Fx!n>m$S2y6@+Pq@c8wq0PI@9W*z)X~7CcY%V^@sO`zKjVOO zi_jf3&obUEN6L(}g47c@;I{GATRqRK2xZ(HL|e@M*AO_)yjlavCGKy(QKBEF{XVy9 zOycW9*s$Sf)$!~Ru?{%jAnRA^BK=18_q0n~PsVkP@jeesh~|Rp%1S3NWjqK6Kw8Qg zg#wdV_h4;s^_)V^;LRgYfI=(iFne4kEnX8KiYjA?a0!`YKqQQ3k$=X&5wO+t{kdw2 zfrpr(X5))wy@cp}EDz!H*oFPfW40qnm?fUk03TJ^F_J+JO+1PSsYWzT>KVpbR4`&hgLmb4b8!t?R9E-8U#hkuJK=oN;uILZCd$Mytl82IJRT!HWpxul#T4A0>FzS%M>Jg>J zz_=V?R=5@a!?*!{)XUE}jm=R5?MvG>tmc*24?<8OmAD2=88N|kxwjev(B%Iso1cO$ zoXgWloH_#LIJo;Dr6)lh+#l%|-b<^1eq9W)k^7aGig02@@RU|Y1lRmt8a0fLzNLLW$XiJ9R(1|%50K}^&3|36|*Q^@~b)bT%J z{y$Eeg+oj_VMEqn1Mi7^-WvWTVjUE zCxq6X^uT>1N?XE&-=piGu!19e7vYhG`CfA7yS&O>0+O@I=|$`Q;bUO5SkgR-?(6N! zJSsiHv@i|-hNDw=<4y7P_;}JYu&K)d{>dFLQDUM=Iu-$e)_b4_T-AIAWNKrnnVDVr_?8tryjFd^2mOl?@!Tc+f!%0HI>x9Z(t=ID zFcGgR)Z_*;-nQf?-cY9x4lX}$n%9)yAhNjx!^MiNiAl=9NmId@cxBt$8nUE=g8IjDXTiw2C8$0Vbp&= zDKamjzV3;yBig-y8vLTF&@)kdVUYYKxvy`^@dYIvpTZn_HR=1QNwz0x1wGx1 zrF-iY)!w1&oo)4!+v)l+ue-2oJYH}JM-r)rR-?eCO4X@WqhL|uE~Pc(_7>Id(<%%qE{?SmR$Um#5${gPn31<~Ywmoky@h-tG4t1ns1dh9evRe{#nb1rv-z zd{C4An`cMyrYTJ*av;Cw?3)r{9ciL2T35YlckS0I8n;zJphNyCYdLjVE(AO9cw6%J z?!&lkdJ7wIHsgL7uhc}ZM4~IEhX!;HjERYFfW#+9&$o!-3Pf0olZCqUEJi-Wko4Lb5 zV6qlqJcQWCvdL<>?Sh-tj%}YiA?;aPBVbgja|FLe7T2& zFVgPKoKW}k(LWIg;*9BaX~g#+L9EWR;{K%SRGw#23Uiv~=G0|mNAFQ4i7UuK``B=o z&9R}~M2r81_xop77UpoX_zV!1vic4wqxE4uoKYjnrry zg*T6&VW#f#v&vDrgl27ol>`F!r`zSX*LG;Adj#dbWJz0+)3j$3w;)+lUP>jsp@VCc zN3J7H1rUFLfE@OF>x5DN0z&LnG_l8Ygo;1So?lWln#zd~hzyYf{%k4a43pehw%#Gt za3?XW6-*)VM=#Lm=$CKj9JINJw8Tf2-Z8%zEu$4Ud(SV?4%* zLP5%!S$|SRF3?5~MFWdy?gc=XzAbPP}(4INtEcpXj2kEz9M0jD7Uiuq?Gj>Mm^7!9FB zRQxz;0j3gEldK_75J)ROt}}(Yukwl_ybW}s5ss5)C+5$mrPTztveT&}k=gujlc6*c zBef4I7~h?xGS#t5bOWARvfSesTE|3J>vO`?vKY5OD?`4G&7nUW3y+z=k;FAU+dlPJ z9Z-`0Vd}UIJOKZ^A}kaQrJVe>1*A9f&mC*Uk{<#HuFub3_xn4; z$>E%EU40FH6N;B|d)-N556#0X9CRkFG0MkgI_3@nLOS}>20XRq6N;&y7 zol6{HvZLmmLH7*r{_1*%TL!~f#lBNC0~&ylv0sWU{SnAp$K!F;I12wb&{V%+ihOXx z1zAkFm;NKzuLu-)0wMVoM5o$CRUTzh1Z;KNA$K{Oft~rQv48Nc8BkxQyRpnOc)P4{ zX7-!lgX48Jx=86YxKZc;O7<~iv@!&Z6gKb8=f zMdv8dlK1D=Vg7yeAUcTNaBz*zYrLS6=o$Zbddn&J4CY+SLf1q!)2@jQfVSXYTQVsI zlS>W(qCMQwVmAVC8{_qPf6Uz@IKmFwKmQ4TnX%m+_L2h>l>PGBEA7Ir?$_Rg+1U23 zoP_UYWfd>S6igi`ApYo#Doh#EHWmleDSUE3w0L@8I79q+3RZ3)zHT2DKhpHocq3)i zYZGwc=uu95?g9TDt5d;8|7aq``(tY#cKkGRcnjUozR-C*z&Z`l1@+VJ_+~Z5#e`rL zVnjql*=~)J@lX$=nGOK#S+IWyW=JzQPm5G{b)EU+D4^4n18HleGZvs1AXIcXDMJTM zjtrY7a4)%huOIn3I&`{pN=FgX(yQPG`+*3+MWoHCW!Cb-J;0{$@6X$b@jdz-f;xOWWqaBAk;Q*S;mr5YK<$2tCB_QSt`0p}zfNNnTQm~o zpvL=@J8O@|2-q&xS3zoNQg~N_AVJecJm!&P4#GFH<>zqWi$>dOLFXuO(|^Mv!TgJ- z4Ke#60At^~E7yh6B~Xx+Jg>@vJw~I=cv*Lns|K_knTMao%%8wAc+1)SPjL{2WYj7c zf4!9seFRp|1NkBc&NK@$m!Oz+|8`8T2HV108ok63(-SnRfHZvoq$Pga-= z2OGnp-ZVwqPf?z6IqIwADeeAq788rz1}iGNwc+vZY3Ogw;lR8H=0)PQj6c9rRMubk z0{a+^%oDAd^(Tn`A3Erd(V^bKPA7phG@*azFR9K2ZV-}Sai82gdU_x1QdCJz`L8Wy zZiX#oh2M7sy8NYK@{ooxGoFXhg@ucj*fDm5#LiQOaxCPdZH$=$ilDM^^DO{}iaV3F z*}MZ&qb>w~sATFR*5k<(<^^y8D|hROJ${BralQg$Yi;=^uYauq>1A{=rfh^!i`rj$ zU@nLSU1DuqjC=y%P^{J*{zqq5x8SE>d1gWl3iN|kb5#07)=q^{#&}*Y5#q5|u zpz$}L*bE8VHIM+sx#PDbK7*nM-jc^#fv112jyJTMYPbD$?6ZjTKmqSu;L6e)_!yc7 z&+*Rvco{b@5ax91MzRY&#CV9Ha}tsKb&J@aC7FLQY~#j#zQB{yiB`5&x2EU&Iac2w1^4VV9czF9QGOVqMsh z=h2NLeA6_{6O`g5l`h2S!nt9*t$Y}@l{3XnrNhQ$i-R_pC`^}U+%43tsiboY!PBUj z=4l|jbRJ1M69u2v7pq&`5v$wKTE;<%4&>v7X11>$F(zL`b=%TX z+!W<2)>3};bLsYIZhTT~GP&*f`CBCS?qP^sOdI}$B|H)CG7`uuDQraq0V3oW?= zSaN@PELTqGRIf?&*vVdg!ac{ke4s_Qge%25LEURnj+#zSzkOC>$Djk(x{MKLb&nnC zDKCDWSh&;ncsz+_!Q(&E!$S?Q4#qSb#P#jWe$w`hF%^3fJx9Gs$NC1SJL|0j_L9mD z8ogv?=sMd?9d0p*JmEy~Dy~frdKn%i0{HyGBA9-iMPvdt+6hyir?x!qnw~j~oiH4o z0nF?qFl+s^6*Qq`mJF)iP?Y7b~@Yiejr2UBB3 zA>wB2Gm}>O0iCHNDzW@d9_a6k(NA$tFDKetS!DhX?>7s{D@6^wCkhp zmwv@s&ytr5{m3txR4sOOo9+}!#tfV0&(rNc)1ayJ+d#*{wL6YWN>9tkin$=jHfpPp#g%d`h7f#Nrxrh`4YiMA&FpKNVK z=UWloU+*fi^!XePm0JJuQR)w0&!EZqR=+T+w!(VMs1z>FI-f;HzY5v6tNSz$J^J82 zbW|(oj*1=}?-VX0z^FTku7Pi5URGLeTaidTTWa~SqsmC-0OR%zF}5RVwUP29jsz3Z zS_+w36`vp)78cg9+^{f?4u{2xvy=E`2^}`zOi07bS5DUy+}-9LbC_A#ru1-@XqUFb zA^{(FbYAMz&i5SW_dFU(9A0<=tc)Jz2A+aCKHIt5x25JDrqc<-U^7s;6~0vgpTNwg zLS`>+*!{{H6G;1|y4MAox~T)6RMk<30OvhHP~>=fNfhChI5Rj3_RGnL6+tSKFk&lpE}A?ti>D z)LpYU&IDU2_ze(+ zhmlVh-P4zTH^MF)U`_iWQsbYUAI10yVeK}~E~Sez=fJDknH!$e6_u8g@ zg1$-{#krG>u^T1fX^>45z8i4HOgN_S*}vMTL7}0{<~J|ZJySJyf8ynW`S5Q_w~j8s zR`MJQ879h=VJDO8iGWxpOm0=*qLVN@r?Lw6z7pG0T+31!MoIQcE% zIT+jlmpP6xaA#wjrEvEWUhToSbZMvVm%DUdnF~5)T1+;1#i_aq_{M#~X}>=Uh6V`m zR#PRO72)`N>w)xP(p-}GHHZu0GegL{+-R7X+X-VEHyc+aOZs2>vrxOEexb3$=iwo}11nGsnX|4sOf(N%Ls;-?wU-Phj6- z-n6bJ>wy7Q5dmTfdz89{mzcoUn&Gl)XjGp|Fu$kkwotCNMef?#Yin*Z+qcK7za4Ik zWXe6j6CyCgY-5UPPZVNbt#=eiqO;sthGc35C$)rGM3Bg+cdPX2K7mmoVlzh z4ZXLsn_&51^E{hv}4D^aT3m_at)qJC3-N@inAXE!tHUv!Uye6gw;x}|jO z?6!Yc5}hwycZ*u`txBrpRIx3C{6*h5H)B4V&5PIFbZL`5YrvIwKJv__wF3M0?%i}j z^##xR;}?oG(*Xp_c21Gz+VayWCywrB-F2#ASIp3yIGr0R+uKB+g>Y_j3)@WW+!x%GE>P ztbcg0@&0({ILZ{@x=+y2*cFj*ce~hyWd>*Bd7>dRiw*Yd5@y(hq55<&W)Tt8ccrHXFk25ZNO}#OiCslnUvC2wg zB;Fv%(Q3FSi271tj94h!%{x4ru9d~HLWEADpUt7@2rBB z+?LN9qm6IY-{e<(Is~1zhBsRPmqc@W&sT{;G=e-qmh}5_o@7Z}&`5)r^W&c{PZb76 ztiL~dlj&qFz!7pqqF9w(TND~We(}o#krrrbGs<^>){g{tGU_C3Z?bAHFJ4;hcXgyC zEQn-U@wJq*)USKc9aenkz^bK+z8#=I}2iBy7U}6eku(9QZrTe;#ei*Sq#uQ2#*;#b0z-5Rc74Hx>w9sY}2Oa6=oSbHLrZ%cM-rW4&=RAe=`5;*Eq9o zzMs6g2!iHHotISTaV43Ms@U~18P!cozmzG;ICQPZ9!WayJz&4l_V{UMc%(ehL9D@~ zK2Iy#{?#)_&7M)kJCxVie1~Bu^q!HWea{@B=Uaj%AJsLad#&8^xBJdp?(43lgdh8_ zZ9yIyrQ0<=BJ-rb^nqWZHkw-8@-p_@^0w8smyde)o#+lFjNJ{Q2%1zS_dRkSX1Dn6 zc~lUH+Ej=dAN3!UYdeqjT>;3HIJ1@Vb+;rIt|SAmDh*USJC8K>SwAS?%9U5Rnmu+J zmMeXlZs^2;B`Si}|B;CHt{&=oaMSON?ePtcCa^@=6 zd)4Qq=lK=;=}}(GJrL6lv`ZruoL|XuGIXDZrl2;(cJofjXB9r{C2+K1l|&cMsN^0g zJRka)30QWH2AyBX_TLumT6(?Cjf2z;$A*w*=uG=4Q=4oGmg%WB)BrhfFE<1FIx8}+X51SCH; z3=It>ymdgPDK~B0G`$jeNUqM1M~G7gICHJZq^bw+GXU2oMBSKFr6z5lCX(y$GwwTiPNV<3&ZGPw-(TNi@pTYpgG-+zZv zW)Ngjy`OZi#82u|kX8A`_EUaRAEX)vB=Th?92+HqWd1qp^paWzd;8%GePcsE*rNWp z{U|#=uo%Qdo?cAA_^x>sLT`MZBjda7ZRnA)uM+vs!L7=0tg!0IZ}PvaG!oj?7* zkwPw zmz%x~P%6KZGOJSWr^;v_ziLJjb&};LJFOXlp2vU_(OQnBiQAZl!8x)$Xkc<<6h^)4 z*(Wr5b$OKmyja=NTP9M3{ue6-hw+8$6`sP<6M(gl1ggdF-tU3z&m^{l(Vg)Nr(9U_YWoE#}arMKd{omYy!9uh-6X-9__R(;Y{CKxerB1Cch8_VJCr>`gy}ec7|W zZDVH~X3;IBhhjq@$imW5aEQ2oz3f!EpUu%}Z?)Osk%Vru=@Rb-O&tGPL(+O3xSe^*(<3+o2kB@NlH)Je)dUH90L? z8GPQ1{UqH3R2{AKCxnOSMDKaT;wM@&3VW`u&QYiPp&MgDzA5k4YH4{X+uhY zmkc!p4CpLTUnx-}zN=BI9Oh6F)Mf}YTf12g^v$AqI(T6NvjYKs2+6E3 zm?jf2Pen1v#)iMMSs6g>6gI|B>Trq;S4`=s_USMzF16bN zA3O8u2y!4l{m!|K^8_5p{tdvT#~_<^(l;{(0!?}L(6IAYcpu!mWrihcT{6Ej$r>l& zLsd9(go70V7vY7ra5x;t;7rcG^mwrscJ3SOh0jsr0XlC!iqF+0ih`E27Uwd+>S}-r zqCjM8nUw}>I!S1Ac=n5N=FP!|zcO4tgDV0Ko+OvmLpf{AXE6wE3RZA>en-G{z2j*<0?J0&G9b0;xgk z*^WJNHn$Kq(4shRdK~zqD@#ZCpQUse;aa4n@KTF^(^4^A?;Ts7-*@e0H#ib1%@?!EnOSJ+O#AMU; zE{xmZ3s08fXO#(Cd;8bcz=YZD ztN9cnrPA-85Yc|PEjnXsl>f=%J9lMZfZ$Drk%j4Z#$uY(TfF9og_T$Z-0P=&>3&)V z)+nIpDt_kDg0Q_UblZDIh%Vth3o{V$=TLeq(^IT8XkE!l<1h8pi+KiVk7civd+*s5jmJ|JW>K1uW;kG36b$$Pl& zP2iC`vKym6Vk!~1reh)98HRx*C}|qu-$yooW66pmLP1WO6<@7<-ViyrL5 zs~;u#X9|QQ_KO{!M>_dnsn)3nV;x0;9 zxPUy+x17bU;s$1nlNn{ri|;31#K<8GHcyMA;so~giPx-PQk+8kgPDjJ6IHcl-#`y_n4XBGpu^}GAG_7@Ep!1=Oi0; zAq-u8oVhy|yXj*)=1>O4&wpIi#yOugB6m!mlgW)r~j5RQl zPsHSIV1L+`MLxyY5E@BV+a9=TjyvdjEWLJVyT0Zg!4^76bAjm0P!ZPlxinwjHX;i1 z;s_yNLpQLIO0nhL0}C!Ted-=K5HnD@3d{xh1fLRCAvO_xE~g8|Xzvex1Pd28W&Wk2{Uw_-K1S5By+Ul1K+e<|9FQR@nLg{d00(rg&(5yw6Gy07_) zbDw+`#-5&B(&zcTBaUev7L`^Q#{_Sg&3@)SlPT_ReTFYSq@NBu{yM@D;NnL~PjJaH zg($~*&Ac#7aS9;D%2e^9cXQDzR8(Q%!Ze8g$@EY75%|%YOfSrrCCI>MEa>KBP6+ok zuyTA7>c_FeEMS9&P3vnou^lra{^fabXF4%&fRoDIkgyCR+`Me4g}y(1TAs;pT_AbR~V^;L*;T9 z;ff%F&@$?7#KMJOB>0QY`(dw~*vSl3ZoUT(hy60=!I=FYpzndhMY7muCf*eSt37-W zPoNM_1AUDYNtM{coJciHw6kGM2CBgY#BlZ=Nqq1}08$OAD;DCaL6F!UTQN6Jw&(KQ zJD;}vJ?j@XL)2qHk?qq*30@e-gezvwQ8&5nhj)kQ!52Se)DQuz(H|($7goDAz8zEL1QYmC{904Ix8epICik<18El>k zh+*)%Ni8v*$^~oTVbPG2`#Y~Y@PR$mq{3vo3Fyd+{erjF6bl|q8zE`tzwm_pG^MK zbT^6E3LB5SS(%AFJVUm3`~}2tpz_hXlH3^KG$DyZ-p%rDQY8Zm5fp&FKChQ!rfuRE zW^j{K0$>A{cX+2d!)FnX!Dm9Aw@)V`hZ?8`!#9n%YG8$jH5J}1o7^L8gn1*%pXz!_ z;2;eX8zkOh@JrYf_h6uG{bVgbq_T2e^R}~B67YbpkHx0+g_QkW+^?7^ZAFul87K}o z4tG-b=t@sDHqU100$SIdGsMeqCkQ*;Wg?`(zWUCa;i)thPy*b91iHR%+6!i&I1FV4 zjUl|?0A{QN0)f`4M-(w$p5V?IT&8fy<)xB-E8^bfY&ckkoP_CWf*CmzkV(dDG$5Aj z>t5(yi@Q%B7LSJieHxG!gzW7T{E~$006kJdw7c!4m;xxhsnAN zU*@F7cnMT4y}*VI`6SGPhj(yXU4!kI17c*^^RGfNUY-oQrn^i<=ttU(>u@#U1D{z% zhh8@!gKnTE*m#p^){axsc<<=D@sMLp9)uizU-2+~l4U+K(?X6dMRXm< zyCLM@@-RJ%o$F`N5)UsWOn1%*XMoCY%bwsf*uFzf*;{Uo5GK+B;XvO49WTs%nbZ=~ zU8Zmq*vtC@FC0>28GL37U1Rj5GXb$QpOnU3jLMts;NkBEHH;X27!m(2fBAYkF=ud@ zxR5i!lY9qP4QoJHK9z}Lubd#_B~T4@=Z&^t)Y>lw$-dzQ{u4_?bRcHZLJk|*XV^j~ z?OV<|TFB8)3puu(!xK&_u@G`RDU{lQsgyGKV(gL%?Cq0UVmg%x21rXRad(|Oav%T) z%2?^WI6s4ynC>zaK|){a^6+_~$;CnrF$E6ON{<(N<-|YEKxLQ!u-ew(A9K8ScQw%W zz>(r3(}_9VWg@f?igq!kM>rSas$uJR z$Z-Thj_>;={_b)_$F+JqJiNv`b2j$QYY@`$NuIhqoh@c?nG7Ltjuy9+z_f%4y8U5}#g{oDcMKqg^A?s| zzzFx}Mik?wqd?zh>x^(LuL)vKcbO(H9C6T-8_0psO~4h;_!kK}AcmQ>%khr7J4iLi zGR(tO!y8)25twg`Ep(E#EauZfj-9lSgS9Lfdqh@|Vvw!I-;&O76iXm@iMb4?j}-WO@Np35Sr)Qc0k@ucf_! za25!c)A9so%%g}gx6dBIB#Q$sxMhvw=3)Xo!A-)`{X|u8R<-_{3GkE&>IDUQT|B0* zK)~mqPT>Q0tA>_{WmO(WKH=Am!KSm>H7uLV>@Zqvf$bU0O~6@Yg0D^jEn>be$L;rR zAe^-zb2cudp>UXA&nRN-Goj{Y@KVB|SRl27qKHf8dHBrN%m>pYlNs6XZKqu^{a3IE z9=^?3%Y%v02he=pk0T>6o|#x)H*Bqm9)-gaepC{W(Sl1Rn6bcR(=Zia6Em>c%(n>@ z28nD>A{v|4)v*~&54UDBFfpRK^*yrxqk(23`nk)OKdzAt{+QHT2HpzMeI;@=gEH*VS=xZpEI~g;pnpCM~xSL|LFwGN}&U2nRFn)vh(fG zF2s&`GfMe=AFjY-#!O%kVwNP1NHrlDNT;p-x(&;m1RsMR9debzah--h+I#3wG$vI; z0_^O!gCedPE+Ey=W@e4)`Kzqx%CB>g7xvr)KNAFQ(&F!ATKs*=O$37oA+$sMZJ05; z5vOG&eDMSw3c;k85B8gV#jEd_6g0cR!$NxIc;(GM$jev!IYTCSx|c#MhrJm6-?o6& zEVP2$#wS63x1<9fWAvIdt!KHL2S)7J%I=#?&=#2vLKIZ`7}DRe%%DuhUq`F~mU}m6 z8y}|U{*-i18KP@o|M+AyV=?}nv>A|W6?+^8Qv;txI{bAcA;ih)R zEDAf5)v3dFwi!v*o$d;(&6e0qi@zQB_h8RW(mZDsE&l#Zi@z7@7~wZMX%K(6M$ejs z37G{jc2iM2F1HgxK7(T^ikzucOa|D(1*RwSCS=s-6i``$4xA=j3urOCan^($La!nE z!;#BaMq%Wcv{~r)Et1dUHfzRQHjs?o=b9kJSrF}fdR(^`$YzbP%)&P?Q(+2i2{X9% zGv6lA1Y@pWklzBCpr_NBin)F%O)!$~MB!d!JP5`MFH#N0YxQWwBE~o}`GjCJ1C{D=rw*D`O`p^$!Tf0p(H$Y_YeX zWYgi^a6c9%2~79-CJs|&`qjV;HMfL+k9m<`?9{~>e)Ay^jH9g;cx6Q=O)#7k=3rd^ zM=%6vg3(G7jJeu}@kcVV9_*NWj>eU@fZoe4iOj&2r-3W4q~c*r@Emw}CG$JHlIq{x z+Ik>+KK&#xkgAk97-eTJk)^HgDVUZ$*+$Zs1kaSa|97WW3y7AQege~GkoivfZ{GZR zniKWd7@Vj^ml+cH0zRi`PSn|LbWt2!Db@USr8I*Qnc&Fx$i4S2b;0O%3v#UvZi5Lp zM^1M&Ce_pQjPy)5I{zN)L0*(kP7mj_&AWlPi+)vLP#DBg;EmTklGB}g!gTj67#)sX ztdtC9{vN}DPwSRLNqA2SXvF9czK+qYag%>xK z(DmMeppqLHEjbkU63#GSFPgdbm?kU*u*au$k}I%fuSB<=1m@eAP|c8CpY#W#VJlkN zk(ed|by2x;;-qORkT6qyB<=TSP}wp(EnFS4v}t92xb^=Ec#A_D^)&oazPKA_?+GU?i@P-L+*8dfc82>Cbq7;VV6=20bjLI-o^sYe2A=`r z?*9w=ine(-6jrQ^uEq8^^A#gRf_XpBV$_*yHJ)Ge9d88TzcXUCnW$6h$&1AFqlZOtRqV+5SR?HfM@Vkc0r zcFi_{NiqR3*B~cqReBW0Ue~5a#}is?hFjcLC4>8w%Hp4PtVu|TUy{K{@IFCL#IAaOG^t9E)`*R>|7+8W2 z>|q9rV?7U(HvylcI9g-m;S^yK3S8IzG+zj%+66V-2+ z$F<+?d#IB>W+EbIwgY`-hqDv>pX-Quy_sr;7$x1NDGEL|Z=g0O=;Q4gdfE literal 0 HcmV?d00001