From e7d2a9b6c4407217780be3a0d0cbb29fd3812cf5 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 4 Aug 2010 12:21:48 -0400 Subject: [PATCH] Remove the debian directory from the main git repository Once upon a time it made sense to keep all the Debian files in the main Tor distribution, since repeatedly merging them back in was hard. Now that we're on git, that's no longer so. Peter's debian repository at debian/tor.git on our git server has the most recent version of the tor-on-debian packaging stuff, and the versions in our own repository have gotten out of date. Resolves bug #1735. --- changes/remove-debian | 5 + debian/README.Debian | 16 - debian/README.privoxy | 18 - debian/TODO | 10 - debian/changelog | 1310 ----------------- debian/compat | 1 - debian/control | 74 - debian/copyright | 124 -- debian/hexdump-cell-struct.pdf | 155 -- debian/hexdump-interaction.pdf | 1031 ------------- debian/patches/00list | 5 - .../02_add_debian_files_in_manpage.dpatch | 45 - .../03_tor_manpage_in_section_8.dpatch | 45 - .../06_add_compile_time_defaults.dpatch | 118 -- .../patches/07_log_to_file_by_default.dpatch | 44 - debian/patches/14_fix_geoip_warning.dpatch | 38 - debian/rules | 211 --- debian/tor-geoipdb.copyright | 35 - debian/tor-geoipdb.dirs | 2 - debian/tor-geoipdb.lintian-override | 1 - debian/tor.NEWS | 16 - debian/tor.default | 39 - debian/tor.dirs | 6 - debian/tor.docs | 9 - debian/tor.init | 191 --- debian/tor.lintian-override | 1 - debian/tor.logrotate | 13 - debian/tor.postinst | 123 -- debian/tor.postrm | 11 - debian/watch | 2 - 30 files changed, 5 insertions(+), 3694 deletions(-) create mode 100644 changes/remove-debian delete mode 100644 debian/README.Debian delete mode 100644 debian/README.privoxy delete mode 100644 debian/TODO delete mode 100644 debian/changelog delete mode 100644 debian/compat delete mode 100644 debian/control delete mode 100644 debian/copyright delete mode 100644 debian/hexdump-cell-struct.pdf delete mode 100644 debian/hexdump-interaction.pdf delete mode 100644 debian/patches/00list delete mode 100755 debian/patches/02_add_debian_files_in_manpage.dpatch delete mode 100755 debian/patches/03_tor_manpage_in_section_8.dpatch delete mode 100755 debian/patches/06_add_compile_time_defaults.dpatch delete mode 100755 debian/patches/07_log_to_file_by_default.dpatch delete mode 100755 debian/patches/14_fix_geoip_warning.dpatch delete mode 100755 debian/rules delete mode 100644 debian/tor-geoipdb.copyright delete mode 100644 debian/tor-geoipdb.dirs delete mode 100644 debian/tor-geoipdb.lintian-override delete mode 100644 debian/tor.NEWS delete mode 100644 debian/tor.default delete mode 100644 debian/tor.dirs delete mode 100644 debian/tor.docs delete mode 100644 debian/tor.init delete mode 100644 debian/tor.lintian-override delete mode 100644 debian/tor.logrotate delete mode 100644 debian/tor.postinst delete mode 100644 debian/tor.postrm delete mode 100644 debian/watch diff --git a/changes/remove-debian b/changes/remove-debian new file mode 100644 index 0000000000..6eb1896bae --- /dev/null +++ b/changes/remove-debian @@ -0,0 +1,5 @@ + o Removed files: + - Remove the old debian/ directory from the main Tor distribution. + The official Tor-for-debian git repository lives at the URL + https://git.torproject.org/debian/tor.git . + diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 26a72d1cac..0000000000 --- a/debian/README.Debian +++ /dev/null @@ -1,16 +0,0 @@ -This is the Debian package for Tor, The Onion Router. - -Some changes have been made to the Tor source to integrate it better into -Debian. If Tor is started as root or the 'debian-tor' user, then: - -- RunAsDaemon is enabled, -- PidFile is set to /var/run/tor/tor.pid (No default upstream), -- default logging goes to /var/log/tor/log (instead of stdout), -- DataDirectory is set to /var/lib/tor (uses $HOME/.tor upstream), -- User is set to "debian-tor". - -If Tor is started as any other user it behaves just like upstream's. - --- -Peter Palfrader, Mon, 24 Jul 2006 05:20:30 +0200 - Sat, 23 Feb 2008 13:44:40 +0100 diff --git a/debian/README.privoxy b/debian/README.privoxy deleted file mode 100644 index 0f4b4f9d95..0000000000 --- a/debian/README.privoxy +++ /dev/null @@ -1,18 +0,0 @@ -Tor only provides TCP layer anonymity. It does not do any protocol -cleaning, so if you are going to browse the web you still give away a -lot of information to servers. - -The privoxy package provides a privacy enhancing HTTP proxy, which -is good at filtering headers, cookies, and much more. To view the -description of the Debian privoxy package just run "apt-cache show -privoxy". Please refer to the privoxy documentation for more details. - -In order to use privoxy over tor, add the following line to your -privoxy configuration file: - forward-socks4a / localhost:9050 . -(the dot is important) - -Then configure your browser to use privoxy as its HTTP proxy. - --- -Peter Palfrader , Tue, 17 Feb 2004 02:15:36 +0100 diff --git a/debian/TODO b/debian/TODO deleted file mode 100644 index a54d3bceec..0000000000 --- a/debian/TODO +++ /dev/null @@ -1,10 +0,0 @@ -Legend: - - Not done - * Top priority - . Partially done - o Done - D Deferred - X Abandoned - -- don't enable coredumps by default -- fix shipped html docs to refer to local stylesheet diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 90afa018bb..0000000000 --- a/debian/changelog +++ /dev/null @@ -1,1310 +0,0 @@ -tor (0.2.1.20-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 13 Nov 2009 19:02:47 +0100 - -tor (0.2.1.19-1) unstable; urgency=low - - * New upstream version. - - Make accessing hidden services on 0.2.1.x work right (closes: #538960). - [More items are in the upstream changelog.] - - -- Peter Palfrader Wed, 29 Jul 2009 12:49:03 +0200 - -tor (0.2.1.18-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 25 Jul 2009 11:15:11 +0200 - -tor (0.2.1.17-rc-1) experimental; urgency=low - - * New upstream version. - * Update upstream URL in debian/copyright. - - -- Peter Palfrader Mon, 13 Jul 2009 23:37:37 +0200 - -tor (0.2.1.16-rc-1) experimental; urgency=low - - * New upstream version. - * No longer inform the user if/when we re-create the /var/run/tor - directory in the init script. With /var/run on tmpfs this is - completely normal now so our message was just noise. - * Stop shipping /var/run/tor in the package. - * Only clean up permissions of /var/run/tor in postinst if the - directory actually exists. - * Update Standards-Version from 3.8.0 to 3.8.1. No real changes - required, we already support nocheck in DEB_BUILD_OPTIONS since - August 2004, and we already create our var/run directory in the - init script (tho we now no longer ship it either - see above). - * Change debhelper compatibility version from 4 to 5: - - Change dh_strip call from --dbg-package=tor - to --dbg-package=tor-dbg. - - Update versioned build time dependency on debhelper. - * Forward port 06_add_compile_time_defaults. - - -- Peter Palfrader Sat, 20 Jun 2009 13:16:02 +0200 - -tor (0.2.1.15-rc-1) experimental; urgency=low - - * New upstream version. - * Change build time dependency on gs to ghostscript. - - -- Peter Palfrader Sat, 30 May 2009 21:10:03 +0200 - -tor (0.2.1.14-rc-1) experimental; urgency=low - - * New upstream version. - * Change Section of tor-dbg to debug. - - -- Peter Palfrader Thu, 16 Apr 2009 19:54:19 +0200 - -tor (0.2.1.13-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 15 Mar 2009 00:58:07 +0100 - -tor (0.2.1.12-alpha-1) experimental; urgency=low - - * New upstream version, fixing several security relevant bugs: - - Avoid a potential crash on exit nodes when processing malformed - input. Remote DoS opportunity (closes: #514579). - - Fix a temporary DoS vulnerability that could be performed by - a directory mirror (closes: #514580). - * patches/06_add_compile_time_defaults: Only set the User option in - the config if we run as root. Do not set it when run as debian-tor - as Tor then always insists on changing users which will fail. (If - we run as any other user we don't set our debian defaults anyway.) - - -- Peter Palfrader Tue, 10 Feb 2009 00:19:53 +0100 - -tor (0.2.1.11-alpha-1) experimental; urgency=high - - * New upstream version: - - Fixes a possible remote heap buffer overflow bug. - - torify(1) manpage mentions DNS leaks now (closes: #495829). - * README.Debian: No longer claim we change the default 'Group' setting - when run as debian-user. That setting no longer exists. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Wed, 21 Jan 2009 01:00:15 +0100 - -tor (0.2.1.10-alpha-1) experimental; urgency=low - - * New alpha release. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Sun, 11 Jan 2009 12:06:28 +0100 - -tor (0.2.1.9-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Fri, 26 Dec 2008 20:51:53 +0100 - -tor (0.2.1.8-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Mon, 15 Dec 2008 23:00:32 +0100 - -tor (0.2.1.7-alpha-2) experimental; urgency=low - - * No longer set now obsolete Group setting in built-in debian config. - - -- Peter Palfrader Mon, 10 Nov 2008 16:28:31 +0100 - -tor (0.2.1.7-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Mon, 10 Nov 2008 09:39:30 +0100 - -tor (0.2.1.6-alpha-1) experimental; urgency=low - - * New alpha release. - * Forward port 14_fix_geoip_warning.dpatch. - - -- Peter Palfrader Tue, 30 Sep 2008 14:37:26 +0200 - -tor (0.2.1.5-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Tue, 02 Sep 2008 00:18:55 +0200 - -tor (0.2.1.4-alpha-1) experimental; urgency=low - - * New alpha release. - * Do not build with openbsd's malloc unless enable-openbsd-malloc is in - DEB_BUILD_OPTIONS. - - -- Peter Palfrader Tue, 05 Aug 2008 12:33:23 +0200 - -tor (0.2.1.2-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Wed, 16 Jul 2008 13:05:45 +0200 - -tor (0.2.0.30-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Wed, 16 Jul 2008 02:19:08 +0200 - -tor (0.2.0.29-rc-2) unstable; urgency=low - - * Upload to unstable. - - -- Peter Palfrader Tue, 15 Jul 2008 22:16:08 +0200 - -tor (0.2.0.29-rc-1) experimental; urgency=low - - * New upstream version. - * Warn the admin if the number of file descriptors on his system is - tiny. - - -- Peter Palfrader Wed, 09 Jul 2008 14:02:06 +0200 - -tor (0.2.0.28-rc-1) experimental; urgency=low - - * New upstream version. - * Remove debian/patches/11_tor_as_root_more_helpful.dpatch as - it is no longer needed: We now setuid() to the Tor user - when run as root and it all just works. - * Add comments to the dpatch headers so lintian shuts up. - * Add patches/14_fix_geoip_warning: Change geoipdb open failed message. - * Require unit tests to pass again. - - -- Peter Palfrader Fri, 13 Jun 2008 10:28:36 +0200 - -tor (0.2.0.27-rc-1) experimental; urgency=low - - * New upstream version. - * Add tor-geoipdb arch: all package for the geoip database. - * Update debian/rules so that there now is a binary-common target - and the binary-indep and binary-arch targets call make with - proper DH_OPTIONS options. This is taken from the template - that dh_make nowadays uses for multi-binary packages. - * Unit tests are broken, yay. - * Use ${binary:Version} to depend on the right tor binary package from - the tor-dbg package instead of ${Source-Version}. Some guy on the - internet said the latter was deprecated. - * Add Homepage: https://www.torproject.org/ field to control file. - * And mention www.tp.o instead of the old tor.eff.org in the long - description. - * No longer ignore failure of make clean in the clean target. - * Support passing of parallel= in build options. - * Change declared Standards-Version to 3.8.0. - - -- Peter Palfrader Fri, 06 Jun 2008 01:11:33 +0200 - -tor (0.2.0.26-rc-1) experimental; urgency=critical - - * New upstream version. - * Conflict with old libssls. - * On upgrading from versions prior to, including, 0.1.2.19-2, or - from versions later than 0.2.0 and prior to 0.2.0.26-rc do the - following, and if we are a server (we have a /var/lib/tor/keys - directory) - - move /var/lib/tor/keys/secret_onion_key out of the way. - - move /var/lib/tor/keys/secret_onion_key.old out of the way. - - move /var/lib/tor/keys/secret_id_key out of the way if it was - created on or after 2006-09-17, which is the day the bad - libssl was uploaded to Debian unstable. - * Add a NEWS file explaining this change. - - -- Peter Palfrader Tue, 13 May 2008 16:11:21 +0200 - -tor (0.2.0.24-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Wed, 23 Apr 2008 02:25:22 +0200 - -tor (0.2.0.23-rc-1) experimental; urgency=low - - * New upstream version. - * Mention OpenBSD_malloc_Linux.c in debian/copyright. - * Add a recommends on logrotate. - - -- Peter Palfrader Tue, 25 Mar 2008 09:34:37 +0100 - -tor (0.2.0.22-rc-1) experimental; urgency=low - - * New upstream version. - * Work around fig2dev failing to build the images on all archs - (re #457568). - * Build with --enable-openbsd-malloc, unless no-enable-openbsd-malloc is - found in DEB_BUILD_OPTIONS. Hopefully this deals with some of the - horrible memory fragmentation that glibc's malloc causes. - - -- Peter Palfrader Wed, 19 Mar 2008 08:03:47 +0100 - -tor (0.2.0.21-rc-1) experimental; urgency=low - - * New upstream version. - * Run --verify-config before start/reload/restart as root. No longer - su - to debian-tor tor run it. Given that we now even start Tor as - root (it setuids later on) this should be fine (closes: #468566). - - -- Peter Palfrader Mon, 3 Mar 2008 13:36:59 +0100 - -tor (0.2.0.20-rc-1) experimental; urgency=low - - * New upstream version. - * Change the default for MAX_FILEDESCRIPTORS in our init script to depend - on the number of system-wide available file descriptors: - /proc/sys/fs/file-max is bigger than 80k, set ulimit -n to 32k, if it's - greater than 40k set the limit to 16k, and when greater than 10k our limit - shall be 8k descriptors. If there are less than 20k FDs in the entire - system default to a limit of only 1024. - - Big servers at the moment regularly use more than 10k FDs, so our old - default of 8k no longer is sufficient. On the other hand we don't want - lower end systems to run out of FDs on Tor's account. - * If we run as root also apply debian defaults. - * Add User=debian-tor and Group=debian-tor to debian defaults. That allows - us to start Tor as root and have it setuid/setgid to the target user. - * Change the init script to start Tor as root. Now we should be able to - bind to low port. - - -- Peter Palfrader Mon, 25 Feb 2008 13:54:58 +0100 - -tor (0.2.0.19-alpha-1) experimental; urgency=low - - * New upstream version. - * It's 2008. Now is the time to add copyright statements for 2007. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Sun, 10 Feb 2008 01:12:04 +0100 - -tor (0.2.0.18-alpha-2) experimental; urgency=low - - * Work around fig2dev failing to build the images on mipsel like we do on - sparc and s390 (re #457568) - * Fix postinst find command that chowns stuff to the right user. Find - does weird things in the presence of !. - - -- Peter Palfrader Sun, 3 Feb 2008 18:17:16 +0100 - -tor (0.2.0.18-alpha-1) experimental; urgency=low - - * New upstream version. - * postinst: Remove the check that requires the debian-tor user - to have a uid between 100 and 999. There is no good reason - to require this. If the local admin moves the system users/uid-space - to some other range then they probably have a good reason for that. - * postinst: change wording if debian-tor's homedir is wrong, do not - print anything if it is ok. - * postinst: We were only fixing the permissions of /var/{lib,run,log}/tor - when we were not upgrading. Unfortunately the check doesn't work all - that well usually in cases where the package was removed (not purged) - and then later re-installed again. Now we ensure proper ownership - and modes for all the directories and files below /var/{lib,run,log}/tor - (the dirs themselves included) every time we run postinst. - * postinst: if we reboot between unpacking and configuring on some smart - systems this will mean that we just lost /var/run/tor - creating it - in the maintainer script if it doesn't exist. - * Create logfiles in logrotate so that they come into the world with the - correct mode (o-r). - - -- Peter Palfrader Thu, 24 Jan 2008 15:15:32 +0100 - -tor (0.2.0.17-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 17 Jan 2008 21:42:25 +0100 - -tor (0.2.0.15-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 25 Dec 2007 08:53:25 +0100 - -tor (0.2.0.14-alpha-1) experimental; urgency=low - - * New upstream version. - * Remove 13_r12907-fix-unit-tests.dpatch (Fix unit tests from HEAD) again - - it's included upstream. - * Work around fig2dev failing to build the images on sparc like we do on - s390. - - -- Peter Palfrader Sun, 23 Dec 2007 13:45:41 +0100 - -tor (0.2.0.13-alpha-1) experimental; urgency=low - - * New upstream version. - * Fix unit tests from HEAD (13_r12907-fix-unit-tests.dpatch). - - -- Peter Palfrader Fri, 21 Dec 2007 11:52:43 +0100 - -tor (0.2.0.12-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 18 Nov 2007 11:49:06 +0100 - -tor (0.2.0.11-alpha-1) experimental; urgency=low - - * New upstream version. - * remove 12_r12235_do_not_crash_when_myfamily_is_set again, it's - now part of upstream. - - -- Peter Palfrader Thu, 15 Nov 2007 11:07:06 +0100 - -tor (0.2.0.9-alpha-2) experimental; urgency=low - - * Do not separate required lsb facilities with commas in the - init script (closes: #448001). - * Add 12_r12235_do_not_crash_when_myfamily_is_set.dpatch, - from trunk/head. - - -- Peter Palfrader Sun, 28 Oct 2007 00:03:21 +0200 - -tor (0.2.0.9-alpha-1) experimental; urgency=low - - * New upstream version. - * Only create pid dir if we are about to start Tor (Luca Capello, - closes: #447508). - - -- Peter Palfrader Fri, 26 Oct 2007 14:29:56 +0200 - -tor (0.2.0.8-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 13 Oct 2007 16:27:04 +0200 - -tor (0.2.0.7-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 24 Sep 2007 23:50:14 +0200 - -tor (0.2.0.6-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 27 Aug 2007 15:41:31 +0200 - -tor (0.2.0.5-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 19 Aug 2007 15:10:49 +0200 - -tor (0.2.0.4-alpha-1) experimental; urgency=high - - * New upstream version. - - -- Peter Palfrader Thu, 2 Aug 2007 07:09:36 +0200 - -tor (0.2.0.3-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 31 Jul 2007 07:03:00 +0200 - -tor (0.2.0.2-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 3 Jun 2007 02:31:29 +0200 - -tor (0.2.0.1-alpha-1) experimental; urgency=low - - * New upstream version. - * Forward port 06_add_compile_time_defaults. - * teTeX is no more, long live TeX Live: - - remove build depends on tetex-bin, tetex-extra, - - add build depends on texlive-base-bin for dvips and bibtex, - texlive-latex-base for latex, and texlive-fonts-recommended for fonts - like ptmr7t. - - -- Peter Palfrader Sat, 2 Jun 2007 14:31:15 +0200 - -tor (0.1.2.19-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 17 Jan 2008 20:57:42 +0100 - -tor (0.1.2.18-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 29 Oct 2007 20:36:38 +0100 - -tor (0.1.2.17-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 31 Aug 2007 03:14:33 +0200 - -tor (0.1.2.16-1) unstable; urgency=high - - * New upstream version. - - -- Peter Palfrader Thu, 2 Aug 2007 06:43:09 +0200 - -tor (0.1.2.15-1) unstable; urgency=low - - * New upstream version. - * Change build-depends from tetex to texlive suite. - - -- Peter Palfrader Thu, 19 Jul 2007 22:33:43 +0200 - -tor (0.1.2.14-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 25 May 2007 21:49:20 +0200 - -tor (0.1.2.13-3) unstable; urgency=low - - * Always give a shell (/bin/sh) when we use su(1) in our init script - (closes: #421465). - - -- Peter Palfrader Sun, 6 May 2007 14:44:11 +0200 - -tor (0.1.2.13-2) unstable; urgency=low - - * In options_init_from_torrc()'s error path only config_free() options - if they already have been initialized (closes: #421235). - - -- Peter Palfrader Fri, 27 Apr 2007 13:06:37 +0200 - -tor (0.1.2.13-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 24 Apr 2007 21:21:10 +0200 - -tor (0.1.2.12-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 17 Mar 2007 11:35:31 +0100 - -tor (0.1.2.10-rc-1) experimental; urgency=low - - * New upstream version. - * Change recommends on privoxy to privoxy | polipo (>= 1) (closes: #413728). - - -- Peter Palfrader Fri, 9 Mar 2007 10:57:40 +0100 - -tor (0.1.2.8-beta-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 26 Feb 2007 11:50:49 +0100 - -tor (0.1.2.7-alpha-1) experimental; urgency=low - - * New upstream version. - * Install all the spec files into usr/share/doc/tor/spec now. - They moved to doc/spec/* from just doc/* in the source too. - - -- Peter Palfrader Tue, 13 Feb 2007 18:51:14 +0100 - -tor (0.1.2.6-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 9 Jan 2007 17:39:15 +0100 - -tor (0.1.2.5-alpha-1) experimental; urgency=low - - * New upstream version. - * Disable 02_add_debian_files_in_manpage.dpatch for now. - - -- Peter Palfrader Sun, 7 Jan 2007 13:57:37 +0100 - -tor (0.1.2.4-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 4 Dec 2006 00:13:37 +0100 - -tor (0.1.2.3-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 30 Oct 2006 11:06:52 +0100 - -tor (0.1.2.2-alpha-1) experimental; urgency=low - - [ Peter Palfrader ] - * New upstream version. - - [ Roger Dingledine ] - * Minor update of debian/copyright. - - -- Peter Palfrader Tue, 10 Oct 2006 03:26:00 +0200 - -tor (0.1.2.1-alpha-1) experimental; urgency=low - - * Forward port 07_log_to_file_by_default.dpatch. - * Previously our defaults for DataDirectory, PidFile, RunAsDaemon, and - Log differed from upstreams. Now Tor behaves just like before (with - our own DataDirectory and all) only when run as the debian-tor user. - If invoked as any other user, Tor will behave just like the pristine - upstream version. - * Tell users about the init script when they try to run Tor as root. - Should we also do this when they try to run their Tor as any other - (non root, non debian-tor) user? - add 11_tor_as_root_more_helpful - * Use tor --verify-config before start and reload. Abort init script - with exit 1 if config does not verify. - * Change Standards-Version to 3.7.2. No changes required. - - -- Peter Palfrader Tue, 29 Aug 2006 22:38:29 +0200 - -tor (0.1.1.26-1) unstable; urgency=high - - * New upstream version (Stop sending the HttpProxyAuthenticator string to - directory servers when directory connections are tunnelled through Tor). - - -- Peter Palfrader Fri, 15 Dec 2006 20:24:07 +0100 - -tor (0.1.1.25-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 4 Nov 2006 17:16:08 +0100 - -tor (0.1.1.24-1) unstable; urgency=low - - * New upstream version. - * Update debian/copyright: - - tree.h has vanished somewhere along the current branch - - ht.h is new and credits Christopher Clark - - We didn't mention Matej Pfajfar's copyright before. - * Forward port 07_log_to_file_by_default. - - -- Peter Palfrader Fri, 6 Oct 2006 23:32:45 +0200 - -tor (0.1.1.23-1) unstable; urgency=medium - - * New upstream version. - - -- Peter Palfrader Thu, 3 Aug 2006 03:13:24 +0200 - -tor (0.1.1.22-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 6 Jul 2006 02:55:37 +0200 - -tor (0.1.1.21-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 11 Jun 2006 18:27:13 +0200 - -tor (0.1.1.20-1) unstable; urgency=low - - * New upstream stable release: The 0.1.1.x tree is now the new stable - tree. Upload to unstable rather than experimental. - - -- Peter Palfrader Tue, 23 May 2006 20:16:25 +0200 - -tor (0.1.1.19-rc-1) experimental; urgency=low - - * New upstream version. - * Remove support for my nodoc DEB_BUILD_OPTIONS variable. It clutters - stuff and I haven't used it in ages. - * Update debian/tor.docs file. - - -- Peter Palfrader Fri, 5 May 2006 16:27:48 +0200 - -tor (0.1.1.18-rc-1) experimental; urgency=low - - * New upstream version. - * update debian/tor.doc: - - no longer ship INSTALL and README files, they are useless now. - - doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html, - doc/tor-hidden-service.html, doc/tor-switchproxy.html got replaced - by doc/website/stylesheet.css and doc/website/tor-* which is more - or less the same, only taken from the website. Some links are - probably broken still, but this should get fixed eventually. - - -- Peter Palfrader Mon, 10 Apr 2006 12:00:50 +0200 - -tor (0.1.1.17-rc-1) experimental; urgency=low - - * New upstream version. - * Forward port patches/07_log_to_file_by_default. - - -- Peter Palfrader Tue, 28 Mar 2006 09:48:04 +0200 - -tor (0.1.1.16-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 20 Mar 2006 02:03:29 +0100 - -tor (0.1.1.15-rc-1) experimental; urgency=low - - * New upstream version. - * Apparently passing --host to configure when not cross-compiling - is evil now and greatly confuses configure. So don't do it unless it - actually differs from --build host. - - -- Peter Palfrader Sat, 11 Mar 2006 20:04:36 +0100 - -tor (0.1.1.14-alpha-1) experimental; urgency=low - - * New upstream version. - * Include 0.1.0.17 changelog in experimental tree. - * doc/FAQ is no longer shipped, so remove it from debian/tor.docs. - - -- Peter Palfrader Tue, 21 Feb 2006 05:16:21 +0100 - -tor (0.1.1.13-alpha-1) experimental; urgency=low - - * New upstream version. - * Forward port patches/02_add_debian_files_in_manpage. - * Forward port patches/03_tor_manpage_in_section_8. - * Create /var/run/tor on init script start if it does - not exist already. - * Set default ulimit -n to 8k instead of 4k in /etc/default/tor. - * Print that we're raising the ulimit to stdout in the init script. - * Add CVE numbers to past issues in the changelog where applicable. - - -- Peter Palfrader Fri, 10 Feb 2006 14:38:11 +0100 - -tor (0.1.1.12-alpha-1) experimental; urgency=low - - * New upstream version, that was a quick one. :) - * Forward port patches/02_add_debian_files_in_manpage. - - -- Peter Palfrader Thu, 12 Jan 2006 02:53:27 +0100 - -tor (0.1.1.11-alpha-1) experimental; urgency=low - - * New upstream version. - - Implement "entry guards": automatically choose a handful of entry - nodes and stick with them for all circuits. This will increase - security dramatically against certain end-point attacks - (closes: #349283, CVE-2006-0414). - * Forward port patches/07_log_to_file_by_default. - * Forward port 0.1.0.16 changelog and change to copyright file. - - -- Peter Palfrader Wed, 11 Jan 2006 12:08:25 +0100 - -tor (0.1.1.10-alpha-1) experimental; urgency=low - - * New upstream version. - * doc/tor-doc.css and doc/tor-doc.html are no longer in the upstream - tarball, remove them from debian/tor.docs. - * add the following new files to tor.docs: doc/socks-extensions.txt, - doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html - - -- Peter Palfrader Sun, 11 Dec 2005 14:02:41 +0100 - -tor (0.1.1.9-alpha-1) experimental; urgency=low - - * New upstream version. - * Remove 08_add_newlines_between_serverdescriptors.dpatch. - * Update 06_add_compile_time_defaults.dpatch - * Use bin/bash for the init script instead of bin/sh. We are using - ulimit -n which is not POSIX (closes: #338797). - * Remove the EVENT_NOEPOLL block from etc/default/tor. - * Add an ARGS block to etc/default/tor as suggested in #338425. - - -- Peter Palfrader Tue, 15 Nov 2005 23:29:54 +0100 - -tor (0.1.1.8-alpha-1) experimental; urgency=low - - * New upstream version. - * Add patch from CVS to - "Insert a newline between all router descriptors when generating (old - style) signed directories, in case somebody was counting on that". - r1.247 of dirserv.c, <20051008060243.85F41140808C@moria.seul.org> - - -- Peter Palfrader Sat, 8 Oct 2005 20:24:39 +0200 - -tor (0.1.1.7-alpha-1) experimental; urgency=low - - * New upstream version. - * More merging from 0.1.0.14+XXXX: - - The tor-dbg package does not really need its own copy of copyright - and changelog in usr/share/doc/tor-dbg. - * Forward port 03_tor_manpage_in_section_8.dpatch - - -- Peter Palfrader Wed, 14 Sep 2005 17:52:35 +0200 - -tor (0.1.1.6-alpha-2) experimental; urgency=low - - * Merge 0.1.0.14+XXXX changes. - - -- Peter Palfrader Wed, 14 Sep 2005 15:05:16 +0200 - -tor (0.1.1.6-alpha-1) experimental; urgency=low - - * Experimental upstream version. - - -- Peter Palfrader Sat, 10 Sep 2005 10:17:43 +0200 - -tor (0.1.1.5-alpha-cvs-1) UNRELEASED; urgency=low - - * Even more experimental cvs snapshot. - * Testsuite is mandatory again. - * Forward port 03_tor_manpage_in_section_8.dpatch - * Forward port 06_add_compile_time_defaults.dpatch - - -- Peter Palfrader Fri, 9 Sep 2005 23:22:38 +0200 - -tor (0.1.1.5-alpha-1) UNRELEASED; urgency=low - - * Experimental upstream version. - * Allow test suite to fail, it's broken in this version. - * Update list of files from doc/ that should be installed. - * Forward port debian/ patches. - - -- Peter Palfrader Fri, 12 Aug 2005 17:02:23 +0200 - -tor (0.1.0.17-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 18 Feb 2006 02:49:45 +0100 - -tor (0.1.0.16-1) unstable; urgency=low - - * New upstream version. - * Update copyright file for 2006. - - -- Peter Palfrader Tue, 3 Jan 2006 13:59:34 +0100 - -tor (0.1.0.15-1) unstable; urgency=low - - * New upstream release. - * Forward port 03_tor_manpage_in_section_8. - - -- Peter Palfrader Sat, 24 Sep 2005 15:15:34 +0200 - -tor (0.1.0.14-2) unstable; urgency=low - - * Ship debugging information in a separate package now, instead - of simply not stripping tor. This is still useful while tor is - young. Ideally it would go away some time. - * Add LSB comments to init script as suggested by Petter Reinholdtsen - on the debian-devel list: - - http://lists.debian.org/debian-devel/2005/08/msg01172.html - - http://wiki.debian.net/?LSBInitScripts - * Work around broken chroots that do not resolve localhost or resolve - it to the wrong IP. We now catch such cases in debian/rules, shout - at the buildd maintainer, and ignore the result of our test suite. - - -- Peter Palfrader Wed, 21 Sep 2005 10:23:25 +0200 - -tor (0.1.0.14-1) unstable; urgency=high - - * New upstream version - changes, among others: - - Fixes the other half of the bug with crypto handshakes (CVE-2005-2643). - * Since gs-gpl on s390 is broken (#321435) and unable to - build PDFs of our images for the design paper this version - ships them in the source and uses them on s390, should building - them from source really fail. - * Increase standards-version from 3.6.1 to 3.6.2. No changes - necessary. - - -- Peter Palfrader Mon, 8 Aug 2005 23:55:05 +0200 - -tor (0.1.0.13-1) unstable; urgency=high - - * New upstream version: - - Explicitly set no-unaligned-access for sparc in configure.in. - it turns out the new gcc's let you compile broken code, but - that doesn't make it not-broken (closes: #320140). - - Fix a critical bug in the security of our crypto handshakes. - (Therefore set urgency to high). - and more (see upstream changelog). - * Slightly improve init script to give you proper error messages when - you do not run it as root. - - -- Peter Palfrader Fri, 5 Aug 2005 01:27:49 +0200 - -tor (0.1.0.12-1) unstable; urgency=medium - - * New upstream version: - - New IP for tor26 directory server, - - fix a possible double-free in tor_gzip_uncompress, - - and more (see upstream changelog). - - -- Peter Palfrader Tue, 19 Jul 2005 17:36:24 +0200 - -tor (0.1.0.11-1) unstable; urgency=high - - * New upstream version (closes: #316753): - - Fixes a serious bug: servers now honor their exit policies - - In 0.1.0.x only clients enforced them so far. 0.0.9.x is - not affected. - * Build depend on libevent-dev >= 1.1. - * Urgency high because 0.0.9.10-1 did not make it into testing after - like 3 weeks because of an impending ftp-master move. So I might - just as well upload this one. - - -- Peter Palfrader Mon, 4 Jul 2005 17:53:48 +0200 - -tor (0.1.0.10-0.pre.1) UNRELEASED; urgency=low - - * New upstream version. - * Add a watch file. - * Forward port 03_tor_manpage_in_section_8. - * Forward port 06_add_compile_time_defaults. - * Add libevent-dev to build-depends. - * Update URL to tor in debian/control and debian/copyright. - * Add a snippet to disable epoll in etc/default/tor, commented out. - * Add a snippet to set nice level in etc/default/tor. - * Wait for 60 seconds in init stop. 35 is too little. - * Don't depend on python anymore - tor-resolve is C now. - * If "with-dmalloc" is in DEB_BUILD_OPTIONS we build against libdmalloc4. - Of course the -dev package needs to be installed. - * Update README.Debian to say that upstream now does have a default - for DataDirectory. - * Don't fail in the init script when we cannot raise the ulimit. - Instead just warn a bit (closes: #312882). - - -- Peter Palfrader Wed, 15 Jun 2005 16:38:06 +0200 - -tor (0.0.9.10-1) unstable; urgency=high - - * While we're waiting for a newer libevent to enter sid, make another - upload of the 0.0.9.x tree: - - Refuse relay cells that claim to have a length larger than the - maximum allowed. This prevents a potential attack that could read - arbitrary memory (e.g. keys) from an exit server's process - (CVE-2005-2050). - - -- Peter Palfrader Thu, 16 Jun 2005 22:56:11 +0200 - -tor (0.0.9.9-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 23 Apr 2005 23:58:47 +0200 - -tor (0.0.9.8-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 8 Apr 2005 09:11:34 +0200 - -tor (0.0.9.7-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 1 Apr 2005 09:52:12 +0200 - -tor (0.0.9.6-1) unstable; urgency=low - - * New upstream version. - * Upstream used newer auto* tools, so hopefully the new config.sub - and config.guess files (2003-08-18) are good enough to build - tor on ppc64 (closes: #300376: FTBFS on ppc64). - - -- Peter Palfrader Fri, 25 Mar 2005 01:34:28 +0100 - -tor (0.0.9.5-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 24 Feb 2005 09:45:52 +0100 - -tor (0.0.9.4-1) unstable; urgency=low - - * New upstream version. - * Set ulimit for file descriptors to 4096 in our init - script. - * Use SIGINT to shutdown tor. That way - if you are a server - - tor will stop accepting new connections immediately, and - give existing connections a grace period of 30 seconds in - which they might complete their task. If you just run a - client it should make no difference. - - -- Peter Palfrader Fri, 4 Feb 2005 00:20:25 +0100 - -tor (0.0.9.3-1) unstable; urgency=low - - * New upstream version. - * Forward port 07_log_to_file_by_default. - - -- Peter Palfrader Sun, 23 Jan 2005 16:01:58 +0100 - -tor (0.0.9.2-1) unstable; urgency=low - - * New upstream version. - * Update debian/copyright (it's 2005). - * Add sharedscripts tor logrotate.d/tor. - - -- Peter Palfrader Tue, 4 Jan 2005 11:14:03 +0100 - -tor (0.0.9.1-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 16 Dec 2004 00:16:47 +0100 - -tor (0.0.8+0.0.9rc7-1) unstable; urgency=medium - - * New upstream release (candidate). - For real this time. Looks like our rc6 orig.tar.gz - was in fact the rc5 one. - * forward port patches/07_log_to_file_by_default - - -- Peter Palfrader Wed, 8 Dec 2004 15:22:44 +0100 - -tor (0.0.8+0.0.9rc6-1) unstable; urgency=medium - - * New upstream release (candidate). - - cleans up more integer underflows that don't look exploitable. - But one never knows (-> medium). - * Remove those 'date' calls in debian/rules again that were - added in rc5-1. - - -- Peter Palfrader Mon, 6 Dec 2004 11:11:23 +0100 - -tor (0.0.8+0.0.9rc5-1) unstable; urgency=medium - - * New upstream release (candidate). - - medium because it fixes an integer overflow that might - be exploitable, but doesn't seem to be currently. - * Add a few 'date' calls in debian/rules, so I can see how long - building the docs take on autobuilders. - - -- Peter Palfrader Wed, 1 Dec 2004 10:02:08 +0100 - -tor (0.0.8+0.0.9rc3-1) unstable; urgency=low - - * New upstream release (candidate). - - -- Peter Palfrader Thu, 25 Nov 2004 10:33:42 +0100 - -tor (0.0.8+0.0.9rc2-1) unstable; urgency=low - - * New upstream release (candidate). - * Nick's patch is now part of upstream, remove it from - the debian diff. - - -- Peter Palfrader Wed, 24 Nov 2004 09:03:13 +0100 - -tor (0.0.8+0.0.9rc1-1) unstable; urgency=low - - * New upstream release (candidate). - * Apply nick's patch against config.c (1.267) to handle - absense of units in BandwidthRate. - - -- Peter Palfrader Tue, 23 Nov 2004 11:57:49 +0100 - -tor (0.0.8+0.0.9pre6-1) unstable; urgency=low - - * New upstream (pre)release. - * Install control-spec.txt into usr/share/doc/tor/. - - -- Peter Palfrader Tue, 16 Nov 2004 04:49:32 +0100 - -tor (0.0.8+0.0.9pre5-2) unstable; urgency=low - - * Symlink tor(8) manpage to torrc(5). - * Make logs readable by the system administrators (group adm). - * Point to /var/log/tor (the directory) instead of a single - file (/var/log/tor/log) in the debian patch of the manpage. - * Do not patch the default torrc to include settings we really want. - Instead modify the compiled in default options. Those settings are - - - RunAsDaemon is enabled by default. - - PidFile is set to /var/run/tor/tor.pid. No default upstream. - - default logging goes to /var/log/tor/log instead of stdout. - - DataDirectory is set to /var/lib/tor by default. No default upstream. - - This is also documented in the new debian/README.Debian. - * Remove /usr/bin/tor-control.py from the binary package, it is - not really useful yet, and wasn't meant to be installed by - default. - * Change init startup script to properly deal with tor - printing stuff on startup. - - -- Peter Palfrader Fri, 12 Nov 2004 18:30:50 +0100 - -tor (0.0.8+0.0.9pre5-1) unstable; urgency=low - - * New upstream (pre)release. - * 04_fix_test can be backed out again. - * Make sure all patches apply cleanly. - * No longer use --pidfile, --logfile, and --runasdaemon - command line options. Set them in the configfile instead. - * Change the description slightly, to say "don't rely on the current Tor - network if you really need strong anonymity", instead of "Tor will not - provide anonymity currently". - - -- Peter Palfrader Wed, 10 Nov 2004 04:43:10 +0100 - -tor (0.0.8+0.0.9pre4-1) unstable; urgency=low - - * New upstream (pre)release. - * Apply patch from cvs to fix a segfault in src/or/test - (test.c, 1.131). - - -- Peter Palfrader Sun, 17 Oct 2004 19:04:31 +0200 - -tor (0.0.8+0.0.9pre3-1) unstable; urgency=high - - * New upstream (pre)release. - * Fixes at least one segfault that can be triggered remotely, - a format string vulnerability which probably is not exploitable, - and several assert bugs. - - -- Peter Palfrader Thu, 14 Oct 2004 13:36:45 +0200 - -tor (0.0.8+0.0.9pre2-1) unstable; urgency=low - - * New upstream (pre)release. - - -- Peter Palfrader Sun, 3 Oct 2004 01:29:13 +0200 - -tor (0.0.8+0.0.9pre1-1) unstable; urgency=low - - * New upstream (pre)release. - * Built depend on zlib1g-dev. - - -- Peter Palfrader Fri, 1 Oct 2004 21:28:49 +0200 - -tor (0.0.8-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Fri, 27 Aug 2004 14:08:10 +0200 - -tor (0.0.7.2+0.0.8rc1-1) unstable; urgency=low - - * New upstream release candidate. - * Install design paper in usr/share/doc/tor, not usr/share/doc. Ooops. - - -- Peter Palfrader Wed, 18 Aug 2004 09:59:13 +0200 - -tor (0.0.7.2+0.0.8pre3-1) unstable; urgency=low - - * New upstream (pre)release. - * Ship AUTHORS, doc/CLIENTS, doc/FAQ, doc/HACKING, doc/TODO, - doc/tor-doc.{css,html}, doc/{rend,tor}-spec.txt with the binary package. - * Build tor-design.{pdf,ps}, wich adds new build-dependencies: - tetex-{bin,extra}, transfig, and gs. - * Support DEB_BUILD_OPTIONS option 'nodoc' to skip building tor-design. - With nodoc the build will not need tetex-{bin,extra}, transfig, and gs. - * Support DEB_BUILD_OPTIONS option 'nocheck' to skip unittests - ('notest' is an alias') - * Enable coredumps by default, this is still development code. - * Modify 02_add_debian_files_in_manpage to still apply. - - -- Peter Palfrader Sun, 8 Aug 2004 15:03:32 +0200 - -tor (0.0.7.2+0.0.8pre2-1) unstable; urgency=low - - * New upstream (pre)release. - * Depend on python as we now have a python script: tor_resolve - - -- Peter Palfrader Wed, 4 Aug 2004 20:09:26 +0200 - -tor (0.0.7.2-1) unstable; urgency=medium - - * New upstream release. - Fixes another instance of that remote crash bug. - * Mention another reason why stop/reload may fail in the init script. - - -- Peter Palfrader Thu, 8 Jul 2004 03:21:32 +0200 - -tor (0.0.7.1-1) unstable; urgency=medium - - * New upstream release. - Fixes a bug that allows a remote crash on exit nodes. - * Logrotate var/log/tor/*log instead of just var/log/tor/log, in - case the admin wants several logs. - - -- Peter Palfrader Mon, 5 Jul 2004 19:18:12 +0200 - -tor (0.0.7-1) unstable; urgency=low - - * New upstream version - closes: #249893: FTBFS on ia64 - - -- Peter Palfrader Mon, 7 Jun 2004 21:46:08 +0200 - -tor (0.0.6.2-1) unstable; urgency=medium - - * New upstream release (breaks backwards compatibility yet again). - * Recommend socat. - * Since tor is in /usr/sbin, the manpage should be in section 8, not - in section 1. Move it there, including updating the section in - the manpage itself and the reference in torify(1). - * Update debian/copyright file. - - -- Peter Palfrader Sun, 16 May 2004 10:47:20 +0200 - -tor (0.0.6.1-1) unstable; urgency=medium - - * New upstream release (breaks backwards compatibility). - - -- Peter Palfrader Fri, 7 May 2004 00:24:49 +0200 - -tor (0.0.6-1) unstable; urgency=low - - * New upstream release (breaks backwards compatibility). - - -- Peter Palfrader Sun, 2 May 2004 23:58:36 +0200 - -tor (0.0.5+0.0.6rc4-1) unstable; urgency=low - - * New upstream release candidate. - - -- Peter Palfrader Sun, 2 May 2004 14:36:59 +0200 - -tor (0.0.5+0.0.6rc3-1) unstable; urgency=low - - * New upstream release candidate. - - -- Peter Palfrader Thu, 29 Apr 2004 11:52:07 +0200 - -tor (0.0.5+0.0.6rc2-1) unstable; urgency=low - - * New upstream release candidate. - * Mention upstream website and mailinglist archives in long - description. - - -- Peter Palfrader Mon, 26 Apr 2004 12:23:20 +0200 - -tor (0.0.5-1) unstable; urgency=low - - * New upstream release. - * Upstream installs a torrc.sample file now, rather than torrc. - Keep using torrc as dpkg handles conffile upgrades. - - -- Peter Palfrader Tue, 30 Mar 2004 20:54:00 +0200 - -tor (0.0.4-1) unstable; urgency=low - - * New upstream release (how the version numbers fly by :). - - -- Peter Palfrader Fri, 26 Mar 2004 23:46:09 +0100 - -tor (0.0.3-1) unstable; urgency=low - - * New upstream release. - * Also mention that tree.h is by Niels Provos in debian/copyright. - - -- Peter Palfrader Fri, 26 Mar 2004 20:36:08 +0100 - -tor (0.0.2-1) unstable; urgency=low - - * New upstream release. - * Uses strlcpy and strlcat by Todd C. Miller, mention him in - debian/copyright. - - -- Peter Palfrader Fri, 19 Mar 2004 12:37:17 +0100 - -tor (0.0.1+0.0.2pre27-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Mon, 15 Mar 2004 05:19:16 +0100 - -tor (0.0.1+0.0.2pre26-1) unstable; urgency=low - - * New upstream release. - * Mention log and pidfile location in tor.1. - - -- Peter Palfrader Mon, 15 Mar 2004 02:21:29 +0100 - -tor (0.0.1+0.0.2pre25-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Thu, 4 Mar 2004 23:05:38 +0100 - -tor (0.0.1+0.0.2pre24-1) unstable; urgency=low - - * New upstream release. - * Do not strip binaries for now. - * Add "# ulimit -c unlimited" to tor.default - * Always enable DataDirectory. - * Actually use dpatch now (to modify upstream torrc.in) - * Wait for tor to die in init stop. Let the user know if it doesn't. - - -- Peter Palfrader Wed, 3 Mar 2004 14:10:25 +0100 - -tor (0.0.1+0.0.2pre23-1) unstable; urgency=low - - * New upstream release. - * The one test that always failed has been fixed: removed comment from - rules file. - - -- Peter Palfrader Sun, 29 Feb 2004 12:36:33 +0100 - -tor (0.0.1+0.0.2pre22-1) unstable; urgency=low - - * New upstream release. - * Upstream has moved tor back to usr/bin, but we will keep it in - usr/sbin. That's the right place and it doesn't break my tab - completion there. - - -- Peter Palfrader Fri, 27 Feb 2004 01:59:09 +0100 - -tor (0.0.1+0.0.2pre21-1) unstable; urgency=low - - * New upstream release. - * 0.0.2pre20-2 removed the Recommends: on privoxy rather - than tsocks (which is now required) by mistake. Fix that. - * package description: Mention that the package starts the OP by default and - that OR can be enabled in the config. - * tor moved to sbin, updating init script. - - -- Peter Palfrader Wed, 18 Feb 2004 10:08:12 +0100 - -tor (0.0.1+0.0.2pre20-2) unstable; urgency=low - - * Add torify script, documentation, and config file. Means we also - depend on tsocks now rather than just recommending it. Right now - we install it in debian/rules, but upcoming versions might install - it in upstream's make install target. - * There's an upstream ChangeLog file now. Enjoy! - * Add a README.privoxy file that explains how to setup privoxy to - go over tor. - * As is the case too often, the INSTALL file not only covers - installation, but also basic usage and configuration. Therefore - include it in the docs dir. - * Add a lintian override for the INSTALL file. - - -- Peter Palfrader Tue, 17 Feb 2004 02:32:00 +0100 - -tor (0.0.1+0.0.2pre20-1) unstable; urgency=low - - * New upstream version. - - various design paper updates - - resolve cygwin warnings - - split the token bucket into "rate" and "burst" params - - try to resolve discrepency between bytes transmitted over TLS and actual - bandwidth use - - setuid to user _before_ complaining about running as root - - fix several memleaks and double frees - - minor logging fixes - - add more debugging for logs. - - various documentation fixes and improvements - - for perforcmance testing, paths are always 3 hops, not "3 or more" - (this will go away at a later date again) - * Add dependency on adduser which was previously missing. - * Change short description to a nicer one. - - -- Peter Palfrader Sat, 31 Jan 2004 10:10:45 +0100 - -tor (0.0.1+0.0.2pre19-1) unstable; urgency=low - - * Initial Release (closes: #216611). - - -- Peter Palfrader Sat, 10 Jan 2004 11:20:06 +0100 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff82de..0000000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index 79ba422307..0000000000 --- a/debian/control +++ /dev/null @@ -1,74 +0,0 @@ -Source: tor -Section: comm -Priority: optional -Maintainer: Peter Palfrader -Build-Depends: debhelper (>= 5), libssl-dev, dpatch, zlib1g-dev, libevent-dev (>= 1.1), texlive-base-bin, texlive-latex-base, texlive-fonts-recommended, transfig, ghostscript, binutils (>= 2.14.90.0.7) -Standards-Version: 3.8.1 -Homepage: https://www.torproject.org/ - -Package: tor -Architecture: any -Depends: ${shlibs:Depends}, adduser, tsocks -Conflicts: libssl0.9.8 (<< 0.9.8g-9) -Recommends: privoxy | polipo (>= 1), socat, logrotate, tor-geoipdb -Suggests: mixmaster, mixminion, anon-proxy -Description: anonymizing overlay network for TCP - Tor is a connection-based low-latency anonymous communication system which - addresses many flaws in the original onion routing design. - . - In brief, Onion Routing is a connection-oriented anonymizing communication - service. Users choose a source-routed path through a set of nodes, and - negotiate a "virtual circuit" through the network, in which each node - knows its predecessor and successor, but no others. Traffic flowing down - the circuit is unwrapped by a symmetric key at each node, which reveals - the downstream node. - . - Basically Tor provides a distributed network of servers ("onion - routers"). Users bounce their tcp streams (web traffic, ftp, ssh, etc) - around the routers, and recipients, observers, and even the routers - themselves have difficulty tracking the source of the stream. - . - Note that Tor does no protocol cleaning. That means there is a danger that - application protocols and associated programs can be induced to reveal - information about the initiator. Tor depends on Privoxy and similar protocol - cleaners to solve this problem. - . - Client applications can use the Tor network by connecting to the local - onion proxy. If the application itself does not come with socks support - you can use a socks client such as tsocks. Some web browsers like mozilla - and web proxies like privoxy come with socks support, so you don't need an - extra socks client if you want to use Tor with them. - . - This package enables only the onion proxy by default, but it can be configured - as a relay (server) node. - . - Remember that this is development code -- don't rely on the current Tor - network if you really need strong anonymity. - . - The latest information can be found at https://www.torproject.org/, or on the - mailing lists, archived at http://archives.seul.org/or/talk/ or - http://archives.seul.org/or/announce/. - -Package: tor-dbg -Architecture: any -Depends: tor (= ${binary:Version}) -Suggests: gdb -Priority: extra -Section: debug -Description: debugging symbols for Tor - This package provides the debugging symbols for Tor, The Onion Router. - Those symbols allow your debugger to assign names to your backtraces, which - makes it somewhat easier to interpret core dumps. - -Package: tor-geoipdb -Architecture: all -Priority: extra -Depends: tor (>= ${source:Version}) -Description: geoIP database for Tor - This package provides a geoIP database for Tor, i.e. it maps IPv4 addresses - to countries. - . - Bridges (special Tor relays that aren't listed in the main Tor directory) use - this information to report which countries they get access from. This allows - the Tor network operators to learn if certain countries started blocking - access to bridges. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index f89185257d..0000000000 --- a/debian/copyright +++ /dev/null @@ -1,124 +0,0 @@ -This package was debianized by Peter Palfrader on -Sat, 10 Jan 2004 11:20:06 +0100. - -It was downloaded from https://www.torproject.org/ - -Upstream Authors: Roger Dingledine - Nick Mathewson - -Copyright (c) 2001 Matej Pfajfar -Copyright (c) 2001-2004, Roger Dingledine -Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson -Copyright (c) 2007-2008, The Tor Project, Inc. -strlcat, strlcpy: Copyright (c) 1998 Todd C. Miller -ht.h: Copyright (c) 2002, Christopher Clark, 2006 Nick Mathewson -OpenBSD_malloc_Linux.c: phk@FreeBSD.ORG -Modifications for Debian: Copyright (c) 2004, 2005, 2006, 2007, 2008 Peter Palfrader - -Tor is distributed under this license: -=============================================================================== -Copyright (c) 2001-2004, Roger Dingledine -Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson -Copyright (c) 2007-2008, The Tor Project, Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - - * Neither the names of the copyright owners nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=============================================================================== -strlcat and strlcpy by Todd C. Miller are licensed under the following license: - - * Copyright (c) 1998 Todd C. Miller - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -=============================================================================== -ht.h by Nick Mathewson is licensed as follows: -/* - * Copyright 2005, Nick Mathewson. Implementation logic is adapted from code - * by Cristopher Clark, retrofit to allow drop-in memory management, and to - * use the same interface as Niels Provos's HT_H. I'm not sure whether this - * is a derived work any more, but whether it is or not, the license below - * applies. - * - * Copyright (c) 2002, Christopher Clark - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the original author; nor the names of any contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -=============================================================================== -OpenBSD_malloc_Linux.c: - * "THE BEER-WARE LICENSE" (Revision 42): - * wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp diff --git a/debian/hexdump-cell-struct.pdf b/debian/hexdump-cell-struct.pdf deleted file mode 100644 index 15710df743..0000000000 --- a/debian/hexdump-cell-struct.pdf +++ /dev/null @@ -1,155 +0,0 @@ -255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46 -696c746572202f466c6174654465636f64653e3e0a73747265616d0a789c5d90cd4ec3300cc7ef79 -0adf188795384ddae638560e48e3c09617d84a988a56a47e48686f4f9cafc114b5b17ffedbb13d02 -2f10389d7877031bd9d35ec27966b250f0c3107a5656356053c3e0ad1a2eecc0aa46444656601413 -4a7017e030594748afb488991245ce0d94ac4443fc7f3e629d9ef66678075599299991d698299991 -ea265332031d01fdd8e9ea0678366e70245234603e595808822a84ffccc056db7eea5edb47f3c5b0 -74db4127fc602b41400807d691ecede578255aa2a3dcb3c332d9e310b2a5ceb8edcf765eeeb43bfb -4da42a9368633604d6024924b9fb11bff5535651ba7d6b8352dc35f8a73cfa097893fb4df57d92d9 -51c64318312962599d4afa1214ccbd28aee1745dec1c22e8f791a35eef3d7e6b4926aff2b579f4a4 -6ec87f31f0cee8fc02f62c8fb3656e6473747265616d0a656e646f626a0a372030206f626a0a3330 -350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f78205b -302030203235342037345d0a2f506172656e742033203020520a2f5265736f75726365733c3c2f50 -726f635365745b2f504446202f546578745d0a2f457874475374617465203132203020520a2f466f -6e74203133203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a0a33 -2030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d202f -436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174616c -6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f547970 -652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f534d -20302e30323e3e0a656e646f626a0a392030206f626a0a3c3c2f547970652f466f6e744465736372 -6970746f722f466f6e744e616d652f524a464b46552b54696d65732d526f6d616e2f466f6e744242 -6f785b2d313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e7420 -3932340a2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963 -416e676c6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f5848 -6569676874203436310a2f43686172536574282f73706163652f7a65726f2f6f6e652f74776f2f66 -6f75722f666976652f7369782f65696768742f6e696e652f412f432f442f492f4c2f4d2f522f532f -542f612f622f632f652f672f692f6c2f6d2f6e2f722f732f742f79290a2f466f6e7446696c653320 -38203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f547970653143 -2f46696c7465722f466c6174654465636f64652f4c656e677468203131203020523e3e7374726561 -6d0a789c6556695453e7bade31247b3b715a737304ac496aadf6d409ad56a8536570442b838c2a83 -040886843109210904c2f83287210408934c822032aa200e60716aab56056d0fdada5b3b1ee939eb -7e9b7efcb83b9c75effd71d7cada2b6befef7bbeef7ddfe77d9e9745d82c20582c16cfebd0bec3fb -8eaff391c488133678c9634265d6d76be9152cfa9d05f44a36de89cfff59fda7236725e151cb5e5a -ff8eedc0325af8367af11734fa16c166b17aee7eeb2a8f4d8e974446258a3e38eee5f7b775ebd6ff -df9bcdcececea2b0e4fff922721327482265a235cc1f85582a8f8d11cb1277885c99d552a9e4b428 -529a1c1b95200a0d0f17875bb7f9864ac56744fb2452496cac5c21fac0f56fa22d8e8e9b37308f2d -3b44479362c4f1f2f522892c42229324268b4265e1a2cf62c491a1a298d070b115c02d4692189f2c -daea2891fdefeea39298b0a404d17cb4a2a372679187c84b1c99240d8dffff5f0882107aec4d969d -3ee22a768b8f4cf04a9478fb1c9486c6846ddeb275dbc74ece224782d840ac220289cf08376223b1 -9ad847bc4f781307081fe223e2387188d84a6c233e248e102ec451c2955846f0083ef1576239614f -38102ce26d42c45482b06100aeb076b0ce2fe02c885bf033fb20fba6cd2a0ec1a9e2aee62ab97748 -093940bea13650f7176a174e2d122c4a5cd4bef8ddc5c54b784b3296642df91115dad2082caa8bf4 -1bcbb2ef6696f362e907c885af166b1335eaa8709f6427a00e705d74255d423a8684875555cf8a29 -0bee52918f334d5a70a7e68e91bc0be0aed5b864512a92d9dec5bd825c38b6b3116041017df4bb75 -ac595f0bff54a1be3cea312ea0efd929b9387c2ef5305e939a12946baf4281163248696aad2cac2a -36092fa1851c64e6f6adab8c2d8d03ad3dc4ab337cf328153292733a54ce47246a45146ee5d8d239 -5836435f31b36839edcbc72b34dc8eeaf494ecbccc1c83f043dc8649549259956d820a7ba835970e -1450661ca6259bb36bd28c6ac4c579768519e698d680ea48d0d88326d1431da38d4b52692113d20b -f4c5aa5275911aa844a53221ba23beff8b2b37d1eaeb42b4915e6feaa8286f2ab467ce0733ed7083 -75771ab94db3abe955fc92c2f2fc0aa05acb3481429c4f82579ad63f9bd2a02833e95fa4a9846e0a -9d27af0c3554760235dc243d28c462123c74ea00eba2703319589c5a09c3144a267f0abeb9f7a454 -7d78bfe0196928084c96a4f9a430271ed33fa2396d2c9864d3ab90233fc89da115508e879f23f28f -1b0fbfe936a545940b4b928cf2dae47ab06f6eb034de74bfbc3dd05f1919260c0896ef879d14feeb -b38d883dd45b7dae5bd0d2646969bf45d9feb9142cb33616d6af8374ed0c7bf663fa017f2e8004a7 -54dd4ea6a6a8d342ba146babe021451f631860323d2e61181044e2b8b9029c42177070a08afb6d96 -29155ca8b90f4958ad55396532fb522de4ee227523bca1e8b5242a9abbcc70d2767693769076aa47 -cebd2c40147b96606a978e141c0537539192aa8474d0146a4a02ab038c27c0199ca4477cdc8f8837 -025e001bdbb75df5fafcd08fe2df0171e0f74b13df50c9b57bdd0ec63881bd0778d785f4f80c4b7f -00c4a6d0c1d768217a7f6c5471ba57d071c62cb71ca2acc9fb0ac93a10d9cda2d723277ed09e10d9 -61f0829036d958728fa13377824213dc8c7bfab6f88e98ee93f57e10002792c5921361b16ee04c61 -c1a36d88fcf9c92d44f40bf0145acfaf983a7f610226a0496eda4acdd35d75817e71416559f6fd0c -cd45ace5bc9a7f22161f5c53757be65b438a2e701105ffeabc7df3dead0bafe057f82166cae7c6fe -af30ab1baf048a57831b55dc6786b274d84bcd74f279d27315c6be97f75224570453c7fbb6012600 -2f0adbfec9097f9967ea56a04ea79675086dd14b30a37ffcc67a38cd2ea51df8558565f995409d2d -4b0916e24212020c86c3a90cbf0c66727fa1da0c63144a223b06465a4acab2f415826a6d45a609a8 -26734d6ba7a24e122a4b740b14fe486615f82645ea8ea9ece7db6c0cdd398ba22f16b72e8307b2bf -23f7c99696e53c4c47d376fc8bbb49255332656992d12eb63cb6388e89036ddcebeae8d122be1f2d -542527ab33b3a2653a2528415199daa7a478d8cd2f363ac2c1772af8e72753cdfda3829e73351dd0 -03b74ff4ef2dc4fc123bdf82f832a886baceae1663595e695e2158724d792570017acde75a3a5bcd -5d30026d598dda0e0a1be61cf89d86e799c340fd67a72ed2734f38e67ce4d936d8586aea1f11f250 -317acdbfd5da75e95cb33aa65a501b557912c2296f59d4c9cf42effd22b0a5edf50d29f5f4e63a5d -c332b88d9c1f3055435fa22ff8bcf5d9e81d4e1a373737dd9097970df699a02f482b668a644c4a2a -8a5bb1d3cbdfd5bbe3f48b20e1787497b22601a4f6c167e4fe12a9a94125509c4d6fd48d51295c9e -07763491a5e5450595500655b98d990c40666b4b76ed8ac9bbe30f46123a3feb1662e2aebc5a7316 -5aec7bcfb55e1a6b976c6914307d0216fa0f2b9b5ecc209d954d43b36b2d7c71a1b25c761e87a112 -bb2f4ced959d2d1dcd967eb80c03ba0b716d146fb24fecd4bc61056f08b7a9b84f32cad3c08d9a73 -675a599ffaa9b525db99962cd699e0118502c89b05281d4f70d036ee5c10fd92cf9b6cad30f6a2b7 -c7433604284223558293715199eb72295b744e3f4a2fe9608d4db3919169d73588e296e715660a0c -e999e906bdd8272428253bcd9069802cc8c9cf2dcca5aee1ebdceded21b7867b9a463b05ba0a45bc -5a9f04f6119a963b4274f10dc94032da796786f58c8174a543f878930f47431af32b0b4cf96560df -344f5e0d09aefab47d5671d49bc983c519e5d67b23d21f29f8b18989727943626b5b63435b6b62a3 -4c684b5fd3d52bbae823f5685ddfb2b69748fb66396f98f69e75e22bb8d98969696ad00323e9c688 -aa08e31908816075b42c4a9a1c0a7eb063d01bd91c7b241e0d3b2b2ed3152b2081e2690e049c74d9 -e27103d9060812b9bce1761cc569e0e65b2aabcc500135d916438fa637a3172844be7af6c7b73ef7 -b0dd43e1aaf1d041b84edde8efb93dd4af8aec129c3b5315577d8c3acb9d3759fab77e16d2cfb051 -e92cc19fcb21e1e3b43427abc20e5948e722ad09bea668e3751271a121b9112fa09ab8996837676e -829b8977739ab84d88d568413640595bfedf82cd6091568df95497ba3d87011a61800a53aaac408c -547f5d659a2e62a47a4445bec8aa4c6354653ef1d6ac5b66d9fc126e457e65be11a88e72ed09e15c -1c09c7b53a8f2c26dd6966d2a328b51c6e50f44f6476819f5aacdfa79ef79f71daae69197cbfef7b -f4de37cb79afe9a3f7f96a6d6a9686714a43d5a010f991309ad5a6694aea0eb11c63a46072c3de40 -8fc43a6563537d5d43515e715ea930b72ccf08a5544b4743ef708becb8e02889371e5167848829de -eb24a55612ede031183c31d8573f3a2128f6ab55f4c179a8afeceaa1f0a6bff3419a95ae484dd0ca -d3154045c9cf0f088b48b8d5d78d960e321a6c6158b57294f5601a79587f6c0b63caa642a3d5949b -cb528284b8c41aa3c63b8f8931de4cfa16682ae02285ba4828309697969e6d1ca8e9026ab021ca5d -889961c73b2dcdcbcabe4433e995afa981db142a26db073a6b2f0135561beb24c4918cc96764781a -9845723319571053a0ab858bf6288c448bc23fdfede91fe7795c903c2669390ec120d73a79504f18 -3ff757317eaeb14aabbe835e7c87757f1a29bf67a30db3bbf85905a19ad88c133a7b590627852cc9 -2f8252a07acbd2438573d5a4f445f47364378316a0f7d05ff6fcb4f6a86764a052e06b73f172f7e8 -d4c82e6c8bd941879dfd4e359e15cc4f27ac99976c34c874003ee0c8d19295c515454505b5a53545 -e540d59769ce08ad2e1f9d919892ae49d7e6845ab3d2662677e6a794c3158afe95b4823ca51b1fb3 -d0c44b362d472bf9bae2082f5dfa29b0c7195cb413b9bd7a7df1294cd9ffe393c9f77cfc924e4708 -ce483467d46ef55976bdbf75777c05d4f498d7f65d27376edf22c4fbb0272795769847ad476beed2 -bbea58e83c33ca48510aff7dda33988bbf98f3e41c46e7f18e49b46386c407eef2b1818b0ce817eb -b4473f7fc642530fd8e820fd9c8ffcb9d550545058daf3ca2ebd54a3d06729984b89b99885f579b9 -9007b9f6594539c68e5e83ae4f80c8886b47e0036addd14f7729d5a50d3182338d89e50c8164dad4 -78f1e58427d38f5aae8e082f0dd58fc15378a4ba1430123ce8d58817d53363438eb695b6b9c482d7 -a8e80736ed35fb291f73f59e2a177f4cec3e86b9801d606bcb4703013dc1d7136e3372f0d6cb9f91 -00fd87cb37980c5618c41ec216b40ed920026d6ea67018bec87f39e28adfc60bc28fba7f74fc27b4 -e9aab1b5ce2cacaf3e57c6506ffeb8595bc6679fba3f46f2af7c9e2ee7bd420334c9a8f3efd7bafa -bf74f8d6f5f3b598f5c901c74316d9bf360978af30e19c24ddeff0e1b3fd8883964cdeff6352328c -97fe20485ecdffdaaf2912bca943a74e1ddae33ffedddd86fef1cb82e149066bcb78e4a59b0ee343 -7d77be1c08dee7253fe5251664e50064e758af80f403b44d2b0b7e44865fd9b792f8c8c674c3f2e5 -f03f9f4ea0b700ada090f326b410f3f1e22d6bf00a6cfbe81344dce8afeebb2608c3db315b84d7c7 -51e8169ae583323b3d2d5d9e10a18b046a4fd013b478acfaf3fa66614dddd98a36a0be1bda867732 -f34ba135eae6d965cd2cf805997eb1caa313df0742d511519ede624c025e0898d589175ef6be107c -35611caec2404d77d7f88d1e669a424b2914ea88dec5cb053971fce921ccc1622c0e166ddb16fc5f -281c450d21f64ba1adb28ef6ad433e75dcf6452f16b71b972c7951bb642941fc37bd8f00ed0a656e -6473747265616d0a656e646f626a0a31312030206f626a0a333531350a656e646f626a0a31322030 -206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31332030206f626a0a3c3c2f5231 -300a3130203020523e3e0a656e646f626a0a31302030206f626a0a3c3c2f537562747970652f5479 -7065312f42617365466f6e742f524a464b46552b54696d65732d526f6d616e2f547970652f466f6e -742f4e616d652f5231302f466f6e7444657363726970746f722039203020522f4669727374436861 -722033322f4c61737443686172203235312f5769647468735b0a3235302033333320343038203530 -30203530302038333320373738203333332033333320333333203530302035363420323530203333 -3320323530203237380a353030203530302035303020353030203530302035303020353030203530 -3020353030203530302032373820323738203536342035363420353634203434340a393231203732 -32203636372036363720373232203631312035353620373232203732322033333320333839203732 -32203631312038383920373232203732320a35353620373232203636372035353620363131203732 -32203732322039343420373232203732322036313120333333203237382033333320343639203530 -300a3333332034343420353030203434342035303020343434203333332035303020353030203237 -382032373820353030203237382037373820353030203530300a3530302035303020333333203338 -39203237382035303020353030203732322035303020353030203434342034383020323030203438 -3020353431203235300a323530203235302032353020323530203235302032353020323530203235 -3020323530203235302032353020323530203235302032353020323530203235300a323530203235 -30203235302032353020323530203235302032353020323530203235302032353020323530203235 -30203235302032353020323530203235300a32353020333333203530302035303020313637203530 -30203530302035303020353030203138302034343420353030203333332033333320353536203535 -360a3235302035303020353030203530302032353020323530203435332033353020333333203434 -3420343434203530302031303030203130303020323530203434340a323530203333332033333320 -33333320333333203333332033333320333333203333332032353020333333203333332032353020 -33333320333333203333330a31303030203235302032353020323530203235302032353020323530 -2032353020323530203235302032353020323530203235302032353020323530203235300a323530 -20383839203235302032373620323530203235302032353020323530203631312037323220383839 -20333130203235302032353020323530203235300a32353020363637203235302032353020323530 -203237382032353020323530203237382035303020373232203530305d0a3e3e0a656e646f626a0a -322030206f626a0a3c3c2f50726f6475636572284553502047686f737473637269707420372e3037 -293e3e656e646f626a0a787265660a302031340a303030303030303030302036353533352066200a -30303030303030363138203030303030206e200a30303030303035373630203030303030206e200a -30303030303030353539203030303030206e200a30303030303030363636203030303030206e200a -30303030303030343039203030303030206e200a30303030303030303135203030303030206e200a -30303030303030333930203030303030206e200a30303030303031303535203030303030206e200a -30303030303030373335203030303030206e200a30303030303034373338203030303030206e200a -30303030303034363535203030303030206e200a30303030303034363736203030303030206e200a -30303030303034373036203030303030206e200a747261696c65720a3c3c202f53697a6520313420 -2f526f6f74203120302052202f496e666f2032203020520a3e3e0a7374617274787265660a353831 -300a2525454f460a diff --git a/debian/hexdump-interaction.pdf b/debian/hexdump-interaction.pdf deleted file mode 100644 index 24f0fdf01a..0000000000 --- a/debian/hexdump-interaction.pdf +++ /dev/null @@ -1,1031 +0,0 @@ -255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46 -696c746572202f466c6174654465636f64653e3e0a73747265616d0a789ca5596d6f143710febebf -c2e24b938a5dfcbe36aa2af11295aaa84072522b71454a2f4792723920490508e5bfd7f6d83e7b77 -0eb15b4e22f67ae699f1e3f18cd7fb91d08e11ea7ff1efeaaaf9d83c3896e4fca6b1e453c3c865c3 -6d6f09e7cc902b6833d1514a39d93427cd2b274f09179aba518fb069a46245230c6d9a8b8649d977 -8670aa9513654ac6f626b61965be1da5d09e62362018518c01c645f3c78f64dbc84e45afad05416f -4ad8a4040efbf1a13b1874ed04187afb63323213e0621a6b96769c30cb9993b4145a9bd032269007 -02588799a04ac56e04b44764058a82e495272eea1464955e60b8957930b2236a86b227c9c79fcd91 -67ff67dcb19ee6b80bed4d6acb628df01eac2debb928c7e8beb80b8231eea2d228eeb23b2874ed04 -c5e26e3240a214b603900a2ecea2951b13c07510e5d6c4f626b5adf6ed2485f5ac0aaeebde946311 -1f8d502f9a9210a8ed881d3a8482d76e045399d8b9001337b41621ce15d3b00014da9bd896c6cb25 -29b4a754d843d29a620c3046bc01575e34ad36a8150139700803afdd0053bb809c09302b11ca3e25 -42df82442845913fb00ee41ca98a9c03da7bc2cc4b42c6019d5122042f50dcca7c8f25c249ca9ea4 -d7c46dd89efce5ff3b6bfc860d9b578a5e427b5e42649ce684e8db292132a58be481f662d261c294 -631cddb99e462f98e20f94c60931b98342d74ef06adfce0598167f69cfd35ee57ce7db29dfb97f45 -66407b31a3502b8a31c0d813885e34e53b501be7bbe410065ebb01a646f96e2ac034dea4abe84ed7 -4a2f29b943f7cd4d6cf67e599208d2e15afa8e32c5880460417bbf4fbc60a088461d6806a12432ee -706bfdf603e00229afc46b22b4db71d46db84132f53a7e264646f5dd920c5c424c549ef4551a9da3 -ec976240304258c5ab4c7b6786daac4a674c2e74be19eb9c514541c03a50468c2eaa08a8e325ce0b -c60c033aa30297fc40702bf3062b6e9394e7143623635d333296354377c5006987f261f8ae7a8022 -9e480c8f05cd0c4fa3857104b2342b915af6fd8a13398144ad4cae50cae402a55991cbb10e540065 -8b0200ea586d52bba3911a9e8c6a2fc6a895713031ac4a93946755242572415222d723d517891beb -40ba57aac8f6a08e479052b912298516a2e407825b991758119aa43cab00499b0b906fc602a47891 -e4b00e2446458bc408ea781af282b13880ce8ea6811f63dcca3c18c934cd519e4653ac2b42e672ea -9bb19c0a56941ea413cb95e045b902f5114d811b2f18a30974463534f981e056e62556432729cfa3 -89b24c136589261e2e78a208d2891ef170475420eda3899bbce9f8e0fa6ae0c718b7320f4646344d -519e451357399ab8cad1c479b108482779248a8503f53d34891c4d5ca0d194fc40702bf30a8ba649 -cab38e48b010e15c24e24da748d11445b00e9c4660e10aa47db98917b7a1c3cbd0da8f316e657e10 -4d739467d1c459a689b34c13eb0b74ac132f246ce911db4f13b3bbcb3b8bd294fc18e356e6c1c890 -a649caf36852f9c0cd553e7043ac2611a413174e1467db3d9b2eefb4144dc337fada0f04b732afb0 -03f724e539076e58079b42c9e640b2c55a946d562c98fd4610e5c88957e9d8813b06c108b2343b0c -9f898ab36ed7b48e976b5a474e04ddd918b7e31d96d93dd768c4c46bb5748f2f0dc2091847204bb3 -5a8f39f97ec5599ce42f2fe9c38b51e9be3cbee0ecef834fe5b78e6f7d7fc99f5ff0af2fe5f79302 -72689ea15f5f2629a74f05505de1534168979f0a18396f0453fe3a520b621d314a5272bd2eea2736 -7ae2483f6f3e9240394d7f5657e4f1a27970ccfc1377825dbc6de08324734b4a3bef85ee04595c35 -072f8e0961878b7f9a9609ebec50b2386b0e1e6d2e576bffd4559efcd08b72ffd0013b2702aa212d -73af147ef8deb3c5e225f9e568d175ddbd806878c7b8b4a455324874c4fdfc48692a3f6c4b5bf929 -577dd7bbb4e416d23f5f1e2c9ebc2417a7dbb39b8bd377ebe561f46737d1decd4c5b47ae3bc27b8d -4febbf6f2e6fd7b5dfadd19d62dab9d6f320f5f5cfbbb67d747442d6dbd5f5970fb797efb7c127da -e9de4a6dfc5aa92079b43cf8bc3c6cdbe393470361de7752c28735107dbe3e5f6fcf1e0620c178c7 -8d2652c5796c2eb7efc8e50d593c3f6923cefa0ce6d372d159ed3c6ba58d50c7ebcde917b2625f8f -3edf3accfbe4c531bf4f9c2fe76f3ef3e5e19d5773c9dd093f2f84bf3e5e9f5f6ec94f91839f1f1a -7a7777f843e3b892ccbdfc0986c3af9d81f3375f9c8567cb83df123e136e626e0aadd0a512c7ac84 -69584fb2ea49cbfbdacad727efb7dbf5ca4df80e9015efb424b2f6861762400ba53ea010bca7a7b7 -a7f749158111593af1112e260ec1d6b9ed19f25bb77f9dd23279afa96431629707ff6e07ebe85e2b -29736f45adcb0b00b7fabd6d4fc9eaf27af5eb539892b51dd5cced2286cf697970bdbef9f07e7be3 -621da624a4cb324cedc2ac14819dec5e5b852b61fb265e6186998478f0e92a2a3cb95e9fba693895 -4120047ca93baa84db62a6100eb23920c10f47be4b37aa9262498a459222585ba19d0541679a81e9 -287cb420af1afffb0fd8e4d476656e6473747265616d0a656e646f626a0a372030206f626a0a3138 -36350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f7820 -5b30203020343531203233365d0a2f506172656e742033203020520a2f5265736f75726365733c3c -2f50726f635365745b2f504446202f546578745d0a2f457874475374617465203136203020520a2f -466f6e74203137203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a -0a332030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d -202f436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174 -616c6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f54 -7970652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f -534d20302e30323e3e0a656e646f626a0a31322030206f626a0a3c3c2f547970652f466f6e744465 -7363726970746f722f466f6e744e616d652f54696d65732d526f6d616e2f466f6e7442426f785b2d -313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e74203932340a -2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963416e676c -6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f584865696768 -74203436310a2f466f6e7446696c6533203131203020523e3e0a656e646f626a0a31312030206f62 -6a0a3c3c2f537562747970652f5479706531432f46696c7465722f466c6174654465636f64652f4c -656e677468203134203020523e3e73747265616d0a789cac7b07581457d7ff99597667c0c424928d -a0c9aed1c4ae4114053b0856ac805244447aefb02cbbc0d2e1d23b0b2cbdf7deedbdf796821a5335 -c5b4bb64c8fbfe6759497cdfe47b9efff73c9f8fccecccdc7bceb9e7fc4ebbb34b800607088278cd -d2c3c72568c93e3f1f475fd5f562e54c42f92ea97c8fc3ac655a7e2ffe5d8ffb1e9897725e2f7f0f -08c19569ef6aaf7debdda937de7877eaea37094b1208e8804bf0293c862fe17bf815c6092e319598 -41cc26961006c41ac298d842ec242c081bc281f020020811212352881ca288a8249a884e6288384e -5c20ee101f134f8967c42fc41f248f7c8de49333c90fc825e472722db991dc4e5a90074917d29714 -93b1642a994d1693d5640bd9450e92a7c8cbe41df233f22bf267729cc3e54ce1bccd1172e6735670 -5671367276702c39f61c578e1f278413c949e464738a39d59c464e076790739a7385739733caf99a -f382f387064f434b435be35d8dd91a8b345668acd3d8ae61a17150c345c35f2342234e234b43ae51 -aed1a0d1a931a4715ae392c66d8d4f353ed778aef1abc63897cb9dca9dce9dc55dc0d5e7aee19a72 -b7732db8365c3bae33d78b1bca8de22671b3b8726e15b799dbcf3dc1bdc4bdc17dc8fd92fb03f757 -eebf7814ef4d9e2e6f366f2eef239e016f2dcf8cb79b67cd73e279f00279125e222f9d57c4abe235 -f0da7843bca3bc8bbc3bbcc7bc67bc1f799822299a7a8dd2a67429213597d2a756526ba92dd43eca -8172a23c287f2a8c9252b15426554429a86aaa9d1aa64e5157a9dbd428f525f59c5252bfd340f3e8 -69b42e2da417d01fd106f4467a33bd93b6a4ede823b407ed4f87d191743c9d4ae7d072ba82aea7db -e85e7a843e4d5fa26fd20fe847f457f4f7f4aff4b82647534bf32d4d1d4da1e65ccd259a2b34d768 -9a686ed3dca37940f390a68ba6b76690a65853a699a499a199af59aa59add9a4d9a939a0795cf39c -e655cd3b9a9f687eaef9ade60b4da5e6bfb5785aaf6bbdad35536bb6d6022d3dad555aebb5ccb4cc -b52cb46cb51cb5dcb5fcb442b5a45a715a482b5bab48ab5cab4eab55ab476b58eb94d645ad1b5af7 -b546b5bed4fa4eeb172d660a394573ca9b53a64f114cf970cae229cba7ac9e623c65eb263ffff040 -0f37f7e059f3adf61d58b068d1e2bfee2c3332329a75247cf2c92c5397200f37df5973d90fa12ede -7efe3e2ebec16b666d62477b7b7b38cd72f30ef7770f9ae5e8ecece2ac9ab6dfd1dbc56bd6660f6f -0f7f7fbfd059f3372d98a5afa7b76c097bd05f336b57888f4ba0dfe2591ebeae1ebe1ec1e1b31c7d -9d67edf67171739ce5e3e8eca22260eae3111c183e6b859e87ef9fb37779f81c09099a35e198b376 -f919cd329fb5cfc52dc4db31f0ef4fcc4202fd4c5dbc831d7dfd825d02421cbdbdfdc42ebe6e2e81 -8ece1e4eec954b50d0c4eda0101f1fc7600f3f5fb74017c76097c0899b9372f93b06067b387a3b7b -b8ba0639b938b34b75dce4e81412ece23471dce4e418e8e7eb3471dc722490558cf1c4d16de2b8cd -d92fd8d1c989d593c5cbb9c63e8e4eec5047570f8f657a7a06862f3fac58f5f2c3f295fb26e8bebc -d437507f58a6b77c9b9f9b9faf8bd7cb0746fa56811ebe6e2faf0c975938f9b18b50f3329b90e6e5 -a3557ac6ff31d1c06892e524efe5abf6bd3a417fe5ae572458a6b76292e372ab600f6fe749c90cf5 -2d8f38069afdb9c04976cb5e7e58a937c96792e172c37daf08f992bcd1f249b6ab76bd22c5323d83 -49b693fc0d975b4e0c30fb0f0daed29fe437c9d86092f1f249c6fa86bbfece586fe5cba7cb566d7b -755d4606079c3c029d427c5cbd5d4493ac5758beaade3fd5be6af9a6bf8d5d392990c1a4402b2605 -d237da3d818a4909266dbecc70fbdfc8184d8a6768603531c9ec3facb86ac5a6ffd6bcc124e31593 -8c97eb4d729a34f532a31d7fd3849ed1aaadac2527d94df25d6560fa2a2a0c26edb46292cdf265bb -dd4358550486f8783b86fca9d63f953eb96a23439bbf56b7f5efba5d65f577327aab569ab246769c -bc5c398906834934ac989467b9feee5701b16cd99fda5e66feaa27194d0a666868f59f089a34c3ca -c9a51b4c725bf1929be18ac947cb5fb25db662728cbebef97fe056cf7682ebb6ed93ec8cacd496db -f2b7a5af9a34cbca49110c26f9fc497ef9e482f5979bff038897d9fe09836daf604bcf486fcbdf0d -bdcac8e2558dac9c646f30c9feaf65feb9ba15e62a062fb9e93baaa3da7fe8cf68d996ff86a2a19e -c55f8b357b55ae9546e23f07bbfd35c6454d31e8af3b4e7f0ef39d90d97b42c96eaf2c8a8de441af -5cfa3afafb050507faf9bbb363ffbaedf6279d1055bc7451dbe2d5791384bdd9611eea672113d120 -442db55a2edf57c6bbb3bee237f1d0fd2f69c3fefa18f22a9a83d9c1816a9dbf24ae26183cc13470 -e2e8f7dff05fb96cb981be37bbd8208f0951825fe11ef8ca673f352dcfbf787b4cc815fe8a306aae -2e13f75f5db587a7cb0473e789a3179bf85c7cbdd90cece1e4a1a62a9e90dae54fed394fb863903a -f3fdc5c07be24688af079b4e4cd52733f569f3c4c9485f7d5aae3ead9838e9e9a94ecb8d8dd457ea -79067aead34b2a9b264ea6c613a74d26132713f54d93651327e3956a9aea679bd537cdd4374dd537 -37bd9ca0a669a296c578957a9efad966f54d33f54dd3976cd5b298a89762a216ded8903d6d5eb949 -bd062335cdcdea676686ea9b06eae9ea67a66a914cd49a3051cf9b58344b453dd248cd61b3fa9999 -5a21462fd7a07e66aa1670d34b91d4f38c8dd5545eaa40cd61f34b9a6a2a666ad599aa9f99aae5dc -f45224f53c63133515f5da8dd51c36ab9762a6d6a099faa6a95ac04d6a594c5e4ed8a49eae9e60ac -26bdf92577b5228dd423cdd4cf4cd5026e52cb62f2729e5a59c613a497ad7c690ef54da397b2a86f -9aaaa57e690013352363b5968c97aba7bf3487faa699faca542dc4cb659aa8f562acd68bf14bcdab -afccd457a66ab62f1766f2127c6a4d18bf54b29aca66f54d330300c833370ef775b2de6922f673b6 -d9b5c9dfc576b76980eb1eb340b7bd9b83dcf76d09f6b0d81ae269b92dd4cb6a7b98b7e3fe1d229f -2307baeb23d62e9bdbdb2059a73fafaf51ba7ef9fcfea6c80d2b160c34576c345838d85269b772d1 -506bd5c1558bdf1f6eabb6375c327ba4a3e690d1d239b38e75d63aacfee883135d7587d7e87d78f2 -f7eba798c7a73f3ff3f5d96fce7d7bfed9c517977ebda2bc3a760d6009cc065bd80da660044b610e -d8c11e3083d5f0117c007b6133ac013df810f6c116580673c102b6823ecc034bd806cb613e58c176 -58010b603fec0003580807c01c56c222b0869d6002ab6031d8c02ed8048610086e7010de83694041 -10b8833d08401b6808060f380442781b3421043cc10166011fb42014bce030bc0fefc01408036f70 -84b5301d5e0311f8c01158073af03a90100ebee004eb4117a60207c4e007ceb00166c01ba0c136d9 -11e00f2eb01166c29bc0050904802b18c3bbf016f0400ab9900c91900729100508a2211564900631 -900eb19001719009f1900509900d89900349d00837a0148eb2ad7b2194c15db6811f821ec8679bf8 -5b701e86a11314f019dc860b700cbaa0186a6114eec01518816ea882727804757011ea61005aa100 -9ec03db80ca7a1179aa0062ae163b80a27a00f9aa1023e87fb70134e423fb443093c806b700ae4d0 -02d5f0095c873330086dd0000fe153784aa440119c85e3708e40442a9146a4131944269145641339 -442e9147e4130544215144c88962a2842825144419514e5410954415514dd410b5441d514f34108d -4413d14cb410ad441bd14e74109d4417d14df410bd441fd14f0c1083c410314c8c10478963c471e2 -04719238459c26ce10678973c479e2027191b8445c26ae1057896bc475e2067193b845dc26ee1077 -897bc47de201f190f898f884f894f88c18251e118f8927c4e7c453e20be24be22be26be21be25be2 -19f19cf88ef89ef881f8917841fc44fc4cfc42fc4afc466042498c11bf130c314efc41fc8bf83709 -2441922487d420b9248fa4489ad424b5c829e46be4ebe454f20df24df22d721aa94dbe4df2c977c8 -e9a40ea94bce206792ef92ef91025248ce22df27679373c80fc80fc9b9e43c723eb9805c482e2217 -934bc8a5e447a41eb98cd42797932b48037225b98a34248dc8d5e41a722db98e5c4f6e203792c6a4 -09b9893425cdc8cde416722bb98ddc4eee20cdc99de42e7237b987dc4bee232d484bd28adc4f1e20 -ad491bd296b4230f92f6e421d2813c4c3a92474827d29974215d4937d29df4203d492fd29bf4217d -493fd29f0c2003c92032980c2143c9305244869362328294905232928c22a349191943c69271643c -9940269249643299422232954c23d3c90c3293cc22b3c91c3297cc23f3c902b2902c22e564315942 -96920ab28c2c272bc84ab28aac266bc85ab28eac271bc846b2896c265bc856b28d6c273bc84eb28b -ec267bc85eb28fec2707c84172881c2647c8a3e431f23879823c499e224f9367c8b3e439f23c7981 -bc485e222f9357c8abe435f23a7983bc49de226f9377c8bbe43df23ef9807c48aee400eb93ac63b2 -f186751d620d102d407281ac038e3670fa81c380c616d0380d5c43e0d6024f08bc32e0fd0ba8ad40 -9d067a3dd003a0a90d9a29a0351db442618a254cf91a5e3b00affd08afbbc2eb2f606a024c7d006f -2c86372ec19bc6f0662bbc351dde7286b714f0d61f302d17b43540db1cb41fc1dbefc1db23c0e703 -bf0ade5902ef7c0ad38d60fa6998fe29e858814e3be85c02dd3741f732cc3086190e3023086664c1 -8caf60a60ecc5c06330b61e6cff0ee9bf06e21bcfb00ded382f7dae0bd672070024121081e807003 -08734078176615c3fbdaf0fecf30db0666d7c39c2530e700cc390b739ec107f1f0a10e7cf80dcc25 -61ee5298eb0073cb61ee73981707f38a61de6998bf05e61f80f979b0200b1694c3c285b0d01c160e -c3c2dbb0c8041699c1a20158bc1316635842c39275b0c412967c0b4ba7c0d271f8e821e8bd067ab6 -a03704cb2a60d949d077007d5fd0cf80e502583e0a2bde8715ddb0e234182c05834360f02518fc1b -569e8295bfc0aa55b02a000c4dc030010c4f80e1bfc0683718c5c26a02560b61f57158b307d65c80 -b58eb08e0febd260dd6d58bf08d67f0d1ba261e322d8e80a1b5f80f15630e182891c3699c1a66360 -ba1d4c2bc1ec106c9e099b4fc096c3b02500b6fc0e5b3d61db7e368bc0f653b0c31776a480f94230 -6f829d52d8d908bb48d8150dbb8a60f74ad8fd0dec39017b77c3de5ad8c7a6a41760e1091637c1d2 -162cbf06abb560d50b563fc0fe723840c38138b07e1dac6560331b6c76834d1fd8ae00db5b60e704 -76bfc1c16d70f02ed8ef05fb2770a8041cf4c1a1120ecf86c3b7c1510f1cbf862399e064084edf81 -f32e70f606e73a70be0dce2fc045175c9cc1250d5cf780eb5d70ab03f7f5e0de0d1e9bc0a31b3c03 -c193016f1abc1dc0673df834816f10f8fe047e1bc0ef2bf00f017f09f83f87000b08f80d020f40d0 -2208ba0ac14b20781042fc20743e849642d80608eb06d146106d03d143103d857067083f06620f10 -8f41441448a6822403a4bb407a0a220f43e453887c0651db20aa02a2b910ad00991fc4cc81982088 -e5436c1dc49943dc1f10af01f1d1107f1fe29f40c27c48a883447d48ec86c4a39074109230243b40 -f20348fe1c528a002d01b4125037a4ae80d4f590fa3ba479425a30a47d0ee9b6907e16327643c62f -90d9075926907511b21590b31272ce41ae19e49e843c43c87b0ef9b990ff2514e841c16a28b80885 -9650f82f284a06b92ec807407e1c8a3743f14928d90e25bf42a9184abf07453628fe05656228fb1a -ca3da1bc1a2af4a122132a5e40a51b54fa42e538541d86aaf350bd05aa87a0c60a6a1ca0e633a83d -04b537a12e1aea30d413509f06f53f40831534f443a3013411d0140acdcba15904cd51d0fc3bb404 -41eb01683d0cadeed0a60f6d61d0f66f68d784762b683f04edeed0fe05749842873974f441c771e8 -380f9d07a0f31c747d0add2ed0b30c7a8e41ef52e85d09bd9f409f37f429a07f21f4c7c3000f06de -80011d18380d835e30f80b0cfe01433c187a1386fa60980fc35930721046eec0516b387a038e59c1 -717338ae80e3757062099c380a27df8193517032094e66c1a97970ea2338350ea7dbe1cc7c38f310 -ce7ac0d94e38a70de7d2e0fc4c387f13ce3f840bcbe1c2105cdc011747e1d27ab8940b97d7c2e5cd -70f9295c09852b3fc1d538b8a609d72ae1fa1cb89e02d7ff0d373ae1e64eb8f92fb8550fb70de176 -27dc790bee1c83bb5e70ef35b83708f757c3837df0e0203c38050f6de0e14df858081f0fc127c1f0 -c9cff069267c9609a3d630da078f0ce151263ce6c3e30e7872109e74c0e7e5f0d4099efac0d33af8 -623e7c711fbe3c025ffe0e5f55c2d7def0cd7bf0cd1df8b61e9e75c3f315f0fc247cb700bebb0cdf -b7c20f2be0877cf841013fcae18536bcf080176df0d326f87919fcfc047e3901bfbe01bf4e875f2f -c16f36f05b33e0a5800740690c631a30160f6319f0fb06f8fd22fc7e03985dc0dc83716b187f007f -1c863fbe827f39c0bfcec1bfade0df8f098827e0194184116ce9417a12e418c129203436121adfe2 -f4a94a8c14a24ee58f8a694f5e4cd7f657dec0267cb18b3458227677b60c3744f4569e496456ab50 -e943a19b45450f336905d32aa2eec4174a91193dbe87d26e4766528949022da2d8e9adbc216cc29d -3ae68a14d8a65bf97e1931b65fc13f942ecb73bfc3a4292feb84f118e7f1a81dccdca808bb645d11 -b655507661857505e9459985c201acc9c5725ef7a202ffec0024d54581e2d8fd29b408e750e39138 -8f8f295c8769a68e3b5599c4f8be500ec909a59f723f9f9929e13515c74424a6c427c5091732f50c -85b3e28b120b51be2e2a9567f7a6d172e68894aa492c89ce11631e93a2931e2bf7a9b3297643125d -24093617fb4803424452148f62d26499a26c718618d1c16161419e4d813d57874ee10f4e08f152e5 -e2c2a6fcbcaa745d963f922b679c242e8d62d3514eb172363f2b3d2f351fd175b9125b21934aa17d -d152eb445a82dde5947586a400b5d1b8851aeaaf286846f47095f73621e34221f348b18d6a90b39c -b2cd8c2a40c3340ea7be7138656cef2ddeb145f0908a4bb30df788b68c6039ee91dd5272eb09749f -a39c8df5f876666e41fb10adb7e3634cfd74f2e6276d85d1ae79c2ac901cbfd2f072a45b53a1a83c -6536b8cad63acced88d0c6c16f0b5a4b33ef3c5c8a39fd5dc58d6d82da2a456dc3597ac254a2f231 -52314dbb7ccc7c6c219f8911f14e2417c7a16024890ef77563b88c40c7f1ecae4741bda8421795c9 -739a53eb527514cc49117539a954f21d23c404b3428759c658e9bf9f90689dc89a55aaa0f66684e7 -a04a249757b70fe02978beceb7ccac66db520f56e3da87517884cc2385d62e4f44d129512a138f28 -a8fd5992bcc367184b5cab83e7e2ed971f94155ccad09dfafbeb4831a6a1209ef7294b5f70c6562a -6ff0c76d28641815b996451d6e56502699d222749356ee61315a5878278bc5a81dc5048ca73111ca -342e632be27d9a5018854ce8f18514fa402a328c67e74529a8f519e24af423ad9c47e18cf1416e11 -6fead847ac36da714f172e681729a63d7b81135eacc6d474edd6125635226a34a1201a19ab708f8c -23230d9354a877c14f780fd0cdf2f696b6a6b27e3484fac2bbbceb7d6afd0bb6171f2b2ccfab2aa7 -b55bab2be4eddd33b086fe19c65860c43ce53f4703096d125adbe57450ad93f90c6415eaec14ec15 -7e24761ba26da5b94d42dcadc182417b657976ae5cd0c7c3d4793bfd75fb1d96085928a006e58c06 -42b912cfe48767c86ce22322c5ba52b1478c35a219010f57281770e5cc0f5412a3c52de5e5de96cb -cf211a0b788c627c0157a27c9d62f12bab53ead711e80b5cf40507a72b0ff39977f416310266e6d7 -73f1343cedd9af5880a77ff42df3b630d28f3f7a7611f31ec33db465a3b36b5557a8d0ef58c40d56 -e1df0e5eb82950d13aa69cc1d27a8cc34639f8b98c8fe71de31653e129c92809d16eb1f90342e525 -2a21cd4eec2edb21d68da07252b3500ea2db736547848c1ee5d2e49fefc44a4e2d65b1369b79fbee -0a4c9eea281b6c11eea030a181e2e2a264d1e16181325f441b5a7e8cdfc0dce13bf78e0f1fdc2f9c -80af0a1c78808586850abe7e22deb194925814846409513112660e13aac3ccc781d1c5f12513f1a0 -28b7292d03e5a1fc541627cd226a28b948fa03f33e9ece58ea3026145a2193e925b20039aba0f4d3 -a405e81e8df753783e0e3dff794dc551169063aed1e53215d7692c2497f74dd7ee572aa3f9ca4a0a -9dcb6b571416e515657464b0b4a34454475251a23ca64c9aeb8676d2cc17d4385f29e2321b44bc5e -5414db75901edf49698bfe0992ef522cd55d2c2859484afb9486e5d8a88b4098e68c011bf0627028 -3794171f1a1115866290245d92655b6c937310192143ef9d96663b5d962286444b1b0c8eee3bb7fd -2b97ef11e6a2ef07ce7f4287971a9b6ef33144bae6c8a2ec7087e5b0f717087368bced6bac893f3c -7d2cd4a94bd0e425f7536ca75531d6a7445c8af73629a79e9b766314873c9eae2dc955bec7cf4dcd -46b9886ec9961d148ebb53dac3e84074f49e785a4c694b7042296f636a643eba48e36554ab6795ac -87c59ed65758037f88df347bbad0c221d0ca41789f8a4fb30a758fb414ebe2851bf90da7da06ee0c -6f60688663bb71d3c17d6d0d0255c4bb8e7d9b30d54628176343bedd86c3be3bd03e74b8def77478 -475c73f2791a9fe7c55e96d50736f9b4d9971f4036e860b88bc7c123fea6c88875845b0698faf6ee -590c3d02e6015ecccf7fd0d27e1e9d47557e852b6855e6eb507ed641286f6253bed842161a161214 -e82065632a93c7539a2a7fe5cac72ba9306603b786973b9c5356525e59df5f74855d4c006f7cdbf8 -afac239da7aab0a92adb49db94ff6a63cdc353aec73c0efe63cc90cf5830ef321f30f64b9af44eec -159e317feafc393bd506bf8b6761fbef7d1f599e139a5f5fd5b68875108d013410dee675c2b67109 -62a6a03d919bc30ec4048a038383dddd0f85ef47f6e850a97be38101cf1f595ba11775cf7b06e9ce -dee18a93e865f86e573e5245abcf5f28799898ae5df23326f8685354e48689acec8ddb799846bf34 -5f3875f96cfb53f41c7de1f3c0f2e496eb0cd1c6bc8768ed12a652c47b18971bc346b617cd7c6def -c6fc9ceec797233c86040facba0d100388d13ab26af5416bdfbd512b10ed14c58627353cf0bef3ca -69754165d358e78f189daefd091e57aee36b3fafb5f7c9759ec9bcb588d1609530ed8afe37674ed6 -0cf5091936705a844b4c1368318e2ea22c0b6273500fadfd89f2db68ca84f98c8f82122365b12122 -cf286fe48dfcf3c2cabcea432fa32bb4f673ac75fccea30b8d9e5b0553f16336fbce6b223e63c3cd -0555fe7f03d3bc338ac68ef222996fa9a038a0405682e84a4569659b43cdee9dfbfded0384010eb1 -6e296b6823af4f99ab3c64121db54995780be594517a743eba4be3ab782a1b178fb3854b45171e51 -e973f4058e50e9f3393e84fbf835c9252935e8013a91d75b75aea9ed3cba827aa41dfef54e7d2bea -96b05afc842911f1eec4e6c9d0267adc8c42ab62651be2d4f9696dbaa408dda695a11aac66b2b36b -f1cc0b073f58b8c786a1c2a4a969c1027515d68e7bbbef9661830e91ba18132bbfc1ebf87e3c1b06 -0e07317310edcfb3458e9971d909e9c9f9a884c6082fa53e45f2c84243ba124b827971471225d1d2 -48b15fec4116c44b7120af2e2bab568067f258f7af90942ca3ab79dabd49780e77bc8e15f5cf12ee -af024eac6ce74d6817fff01d71739493ad9cc12f4acf4d2d4074756e84839049a7904d5cdc8e2856 -7571726a4bba588e4ed338846aea1da9cdca4d90e50b8aa5f9f18588ae9297d43587967938fa069b -da0abf62a3fffe10b7c83d22dd89d2ed34be588d3d3b33eba6a11bbe9f61b3fbb5b5d3b519a5a752 -87dfb99e0a63235a5876488e8e7f9e7f6600ab5abcd478939e79adcb154fa1283c5c1c9fe0e91b19 -86c2506841547718adcd981ef0f7749db1ff81c3b7771fd4f41c1374349634a10e74e1608f713ac3 -cfd2d99f16988b8a5159736b6d4e6e4a764a3a522417a664a176d4256fac6dae93b7a211549f5029 -6da299b8f119fce6b88fe38711fd6573a4dbde0dce0c77f9defabecaecc29e11a136cec45ff3cfd6 -b50e34d6887d8a05a5ee05f6c899b6f075b7dfed78f99980f547c6ac74acebaf6030b69759ce6778 -e96bfa56ff72adb0ad64a0ebce958e2f2782ae3df32efe808d13ea48e1b0a0c1e8ec0e41a76353d8 -cda0414b9d6b6bf1eb87f1722467432d9baab278cc176367f8bd6840d4ea7dc2ae691162b868beef -874ef6ae470e045b223be450e2d6b47fd0eb078435d1b3faefba07bafb06cbcfb0316202d4e7ff03 -5bbf288370049f050d15b5265cb28685cb872ab864aae0f2eeab7079fedf7061916d183d115954c8 -5e9fc1565eb768ec8b3fa43e41259282d52c3b5d594544b972595964c53474011bdd602312be86af -f2b51727e277b9d1bce4e498b8949444a41b8f6469d1996c00ca0909c90898b9769ff5268b26a747 -76c2339ead612541c85bd7c1cbcfdac3bbb0422408ad8ea98c3c4d47f0b4cd19bd422a3b2f23ad80 -d54c5172653c4b20beae36b174e6fd4b676e8c0435ef6e133270c9af58528d6a75bb1aeb064e3778 -e8570ad445fbcc13aaa27d171b3996e167fc9e8186924e448f54bb9909195b0a6d9145ee8d5757ed -5679f139e83a8deda85f1c4facdee318b4db5e804f5309e91e5181b11611bafeb1dc082a23351d65 -22ba3727f6b070dc8bf5a4f898bdb1ec7c6f39b5374b56c0ce9f2829953fa9e2c9a3173852154ffa -c7e629f82ee96179be2dcc119ca573b5b0a1a0b9b6a946d18306516f647b403dad7dbfdbc5b066c9 -4ced7ea65ec4bb1b9b178d4cd5ba97456d54950a0dacee33230b55bab7a14ea5e118e63c171bf0c6 -ed948ff9daf7ebf273baf05b670e2fb10975741309ec03dce31725ab9285b40b5f2cc59c72bcb06b -02a1b39e73c66cf06f7c26279cd79b549054102b8fc90a4687696625e5b5cb7f13b36a1ee6e15ddf -d47dd9372ce81bbe507b0d9d42c3a24eb706bf62ffea5d74252f16bb714378f1a270692892a188f4 -f0ec4372fb9c432ca20eb2a5d73ce6f082da8da7f608af6e7ee68249f418e1b75abb5a69ec40a1b3 -05856732e9a9b8912d1f5f6b224eb326c96183f95c3696e7a5a4c70be262e263e2642e9687ed2212 -a3e3e2e350024a4a4d4e4fa68f332778ab1a0e9f1deea83ad62c88cc0f0d14cb4290aeaba4f6a210 -77fe48b12459435f7c413c64496e5295b61f5972256cd5599056989a8b74ab26429984429b64d19b -55594026a7b665c6e6a99489296b1ccaf70f0ef6f3ab08aeabafaca8af0baef465b3ddf1c8f2d056 -e5ce72bca87b5afd632cfd71baf6b0d2824df4a1bcc4e0e86831bb78b669cc712d72cdf142879183 -d8d3d7dd3bdc111d406bfa2cb0c69e5b2ec78e54bbe4466686a2205a5bb2d5c6de44dffc249e6a23 -08e6690f3730eedc0a5eaaa2a0488ed8d89ea888eb9074c576b11503f5f4e14f9f5a5e66746e0a67 -9f71ec4327e8933d1d17fa7b446ead8246afa280e23dac9baa1beee13edcae203e7f814fbde06017 -ccf0d9ba15ddcacfbf9fcd16a38d22ea7e5c7ef464729245ad53b970a382da98c5c2e8268d8fe053 -cc817f7aa26aabfe4e85d93fd1459c51f24ba445d32e8ce2cda3aa423868849fc0b38f664b7efc8c -d2becfe88b7917920a64c88666a228e497209546fb877847f920dad9aba547a8dd8f1f3273a5d450 -529104d9d34c26b576c8fa767b67716dada0b7976b4865248f94b5e51f2dd2658daa7cf082c05b58 -9b5a29edf909e97b825d22f784b3ed4466aa3c4d9e9a87742b73c5ac1bbe41a10d4981d161f13269 -ac1449902c5b5c1e5e29cd8d603bfa7071885757f0094c9ebd87670badc736fc93a9d964acfcae87 -c032568dd963c01f4fa2d0cae86843955afa15945186b45095cd734e5098872ac22b1992aee2c5e3 -f5dcf1f3bc78663db78a5785894a05d660632f9b4cd5cd2b4b8b5295651b23a35625a9fb5da3f488 -89b280d5efeda2c25155cb3022a21ea95b4c56b9ca2d724219a0aa6f84125e53925c864448962c4b -94cd670a743ec4b9f14549452897ed68f2b35bd36939632da13a92b365031fe0d7982e9db4f8f4b8 -f4d8acf0acd82c9485b20be5edf86d7c47a7fe5a5676433aad0e864645c45d36cb8f71f8ac63b01a -a49bf322ed84e3a1143a9094b44995e523e55458aa531a5bbfb4ea62730acf6276a727a625a525a5 -27e9e6c8d2e351021d13131f251049b0af9ce790eead703cca2cc1fb75ea6b6f5eb930509fa32bcf -284a63abb11c397358caeb4cc94f4452141b239546b11de5541da5219598e612e51bbb3742d72776 -a296ee538e29882f5ee03ffa384aac2ce0a31705c59fe6b1ca9188a807f1c521681ecdb0bdd69638 -97081f7fbb1dde1b9129b2adf21f0c6f8a6b57751db727e0fab10aae6d22ea613c0b57139ab94c31 -c69f18e1f598b8db7aad5350d5933b80eeab9295b443f96fb67f5ccd1aa85139c247b7f3f33f51ed -207489a84fd573c79da84351a101d2f89cea3881ac35a298ad49fc4382fd1dbb7dce60387f0bbfa5 -ea4327ac758db596846a89cb8b436224890f8af65fc604eaacc2c1e2018450a12eaac8cf1ecc666d -e520a1da130ba2cbacb245d9a2ac703dc64e673e2e4acc4bce4379baa8bc20a725831db555425526 -e7c82aacf14ce65b9d029f1c69169b6e720a0b6ad8762a4ee74b26bac835233e0be966a3ccdce22e -b665ff5ea7b4273db38c65a10e83aa18a860ed9bc5cb4f2d48659beea63c29dbb40550c84a1a699e -c05a385a4e996744e5a193b4f21bd61607c42eb2cde289fda6334a9daa69e8f3cd9fe3399f4cd7fe -5ab9eb0a5f2c8d4a90b07e1457d427c46cb43896502fa90a693bacd8c39669f79718db9a07978555 -5695975564a464a6640b9373537250365ddb54d1355ceb6b25d845314b778a630fbbd0da5f878449 -3d3c6798f7399cefeb2e3f765e9079a034b41bb5b08b6feda0998fd866c03b2126342a48ea17138a -6877bf965e61069b35badbf0eb7df444133ef6ba8218dba96afa1d45bc9349a5d1c80f45c4f947f9 -30f3c6393acc22fca5e7edd84a24d7458aa23c55d39f9f5aa46afa15226a986dfa7bf571caf8808e -9c870395679a1fe6e70fa5ebfeb9a1f0c50b8e72d9d8747e414a1eca400dc905b16cc11912ec6369 -cd9831063ad891fa1329ed2a5c16444e66e868f5be54ab825aa7dad3bb4de3dd544df9afb3ef6d3c -618a827491541ae7979280a2d1c4bed719057520559aa7f79c91e2741dbc0fefb976b938e75aa6ae -8291536a2f359413b8f11d6c2fe779a3b062ef3ee66d6cadf3197e4d51db50dc94aa2b67f4255443 -725e3ceb5851512181de09f151e19161d2321dbf9ef01654888a0ab31b525934394972a906541cd9 -78f01be6031d86c718f91c91c57926e94af08772ca2f2ab3302b5b5e58267c88dff8929995119f16 -8fe27551785ca2a7aa7650b092bc778cb8318acd55ff390ae56c7e617a8e6ad3b32637c24ec864a9 -3025b14861311528a7f6a749f251278d5b29949693979d5d5dd95bd28ae8be0a77b6d2f261bbc0e8 -e87daadc1b2ca7f6a54a4ad0051a67520dbdcda503883e5dea6f2864dc28b42f36766f1c3bc84f4e -05a4f9a44596a24e5d7c84c25acee7d6efb50ed86b25083fed516b851c909fd4d09cbe4bc5a5598b -3ca22d25aa3643d6a49c7291b8328ac33ee7e02563ebf809698e12ffd88391babeaad22d2b350365 -23ba2b37c651385e4c793ff2fc18ebbcc0249e83dfd8f0cdbc5d7bdd6cc304fb353a07db8e3d1859 -c74c6538763b8c0e1caaac164cfddd548dbddf0d55d8b315f18e26b0d8f347a1f101323fe62de62b -1d46077f939c19539192ae1b531eaf60737a5565de0915f6ca44d4e994bc989635cd463ab39856e6 -03e56b71a589133b531545d947d3d921c922ea68823cbc7d09b61a6f51c173a9720d5e31be862be7 -3dc245797598c0838a63f9b9c7f3d8fc928edfc217f93e8101debed581f58d35d5f58d01353eaaf6 -1c5397f0c94bc4e96b78f01a2704037fc4e6d9773d7e9d9103487710751676d67db740676864d1b3 -fafebc1634a48b8665cdbebdcfbed3b11b5ab0c8b9d6a5c00ee9da224fd921df45cf746cecbe5be0 -eb14e582ec74d1c102d77a471a9be106fec3cb5b8c566edfbada68dbb5cf46af5c1d65f9063fbac3 -c13f31ebf99b4b431a548df55a0a7d26aad9a8b85ba6a8419f4d5cdfad68b85e4ae753db5202e27d -c37dc325ce681fcd6c66ebe7f0e0ad6157434b83d0669a619dc9a2f8485d785d786dfc951436569f -5736cbf8b7a871436ca164ffb8ecc74c46ccdda6f613e2c5630eee536dbd6cd5e34aa982ccfc8c8c -b4d2ec920c36af95e74abc84aa5d63cfd8e08818498c34c95185d37a39b53635220f0dd1cae7140b -f1c8634ab21cfb3611e8ab6b0ff1b2e39c313be57a3ee31dca1b492892211f74d8df6ac74a8beb5e -471d1e5f6baa2ea96b2caf2c6c45cdf44d8b91b5065bb618b8e478d56e14b884bcbfcbda14add25d -7c79dfaf9f9cabbe72577071fb70c01974099dee69b829c9d7f1720a89744316e840a3fdf9beb3d5 -ed8d276a0674aabacb0a46b2e8f119f97c9f8bb20ed44f0f35b60c0cb4b8d95ab81f3672106c36e1 -9f6378ad96a7cdf61c74624b4bda6ccfa5fb971a7b9f9c62d56ec32cad18631b25c534740f6b5d39 -7345b5191333f636ffcc1fad7869056f4356d44431f7956abb6eb29c2ba698793b2d99775657ee1b -f4123607d5c55e4ca699d3935560085e4a6d535af10d72bd8e223c0ddd2ceaaf2fa7b53f292d2cc9 -ea626b08bcf547e5267e7657f1bddc73a85eb742541a1c240a0f8e902f285926988a0f4acbc7de2b -23d015ce5529ffcad8e66d3cd684f8b52b78c61542d9a87c873f9eba4d99ca636668a83fa8ac784f -597987c0e71f73947ef83d7e64a6ebbec89843489789e5e1b5d8f4e9d79df7d003dd1f56df9f6379 -20c4c955e0e521f1129b9627e8747dd7d6741dd1a3a7f7ad5a67bf7495be90d9ccece5462967b069 -f0f1af4a33fed5e6fef3e81c3de2de79c83d28d8c3ab52d496959d9a9a25c84e432895ad4fb2e263 -3dfddcac5c8553f14fd844e9cadfb867b7f18673bbefde397ffed6fd3de7d64f6cbc63e1d758c8c1 -1fb130dbea796817da4d5bb7baf4b75655b634052bdce2d9be966d5c92114a41746c7c564e735ddb -8976210e52fc2f46b32ef425eb42ef8c2de35f0faff0411b69867599558ac0bba28d61a200643871 -bd31c46773381d4d5d49adc9aa2fad2f9577aa76625817ba515a79b57c6b597825bac1fa28854e45 -74fb95fa9506646d4d55b9509d8cafccc462ee15d677d8d3264a69c8588cb37faa976acaf173d370 -fd43975bd3b58fe325f833fe5954995c15436b975f08e9dcb779c6aa7ddb8dfdc3b2ab5c053ea5e2 -6cd52b328934d4bd37e4c6fd8735dd83c2c1ee9a33e82a3a1a31e8db1856212a7050d0dac7af0f56 -b79f98f1c98e531fd93888bddc043efe928090ddf2449deedbfdcd17117db9dfc1dc4de2161828f4 -f1f1936c099aa899594f1e62556c6ce713e06a6fbac27d1e623411a3ddbee0f30fbbed6a428e7915 -14ebacb9e8d7ea7f37e86af43df403faa5f0d3da0b75171ada6e9d5111f89579ffffcbe25e7eae2a -8b2b937a7020bfd1ffd6ce6e97d316ba190969296c579f9991915978e4ecfae7c2a48c14149f5bd9 -282f6defab6fabee428574664266427c6878a8589018efefef1b10131717171b9794ac93c0fe8b4f -a4b1f69eff5b8253951d4a4b7c8a1fe02c8ef246a12834539cab3fc8b6dbc81e7987daef38e1a553 -d35952d088ca51794249ccd383a571fd680035960f5c62e7ee89fd4dd9d740a0a7b5bf357ec5c149 -d8909f7fb5a4ab7d70e0144245e54dc3856da81b7544b60557bab7eea9b442f447663b0d9d4a421a -ab4a4aaa8ae20b2425c2a8a2845c9443370d340c9f1bdabfd53ed232c852e0b743642bb34d71d0cd -dbcef7090ef2f2ad086968aaac686808ac56f55249a81ccfbda45c5746e096fb1ca5378ee07fa8dc -ebc063ae8eefe5eec02dcc9afb78cd0b8ad97a89cfc4f1701c7ec665cd87d73fe6743066fc3b430d -35ed03379fb44e6c6ae1b75d9f2f7f716428a0e240535484cec7e6b5ee751babb6e66f40f3d09c48 -43ff5d7ee63e6e9bf6d27ff9e9ad7f804185a8fd7f80018e17fd2f46b3625efcbf068d6ae9fffa8d -c01fe056fea171ed94a8944814a57b40e1d7d25cd630d4127b33eaa620ae3f7e20713006834e3cde -cdf70a09f5f1aa0c6a68a8aa6ea80f52b5afbf2f9176e229bdca438d041ac5afdf54bedec51933bd -cd5fe76e1db915d1cc7a662a7e139b7cddf6cde9b3c2e1e1abb5b7118d97e17798379805f3cc176e -0b88943766a766a666092fe36cee669ecc25a45b92ef8e740f23f7080f8ffdfbbd37b03d9179a7ed -70df606d7f8b20cba1dd7708d1df3fc21cccc746cc1cfc36b393716056321f3107184bbc82998f9d -6e8c14f63d1732eb9446fcba647950b273b29d784fc041919b6f883fa25d839b8f9d281d69e910d6 -35b59655254f34bf1f3f24f0831b1cbc4df9311f5bf38a51465a7a76c7539d986c49a82c2194cd09 -2e3c86606429c96cf84cd64dc848ca69ea8a8bec1660caf5f84e349f5eb46be3ba307176858fc0ab -32388f6d217ca551812e834177476fd51e1d110ef4979f46f7d02dd180cd8843dfbe4a46ab5cc517 -6f5470703c9bf452c569a1f1be911eba71e18962144d87158b15e5a58af2aca4c2844241646b5c07 -5bde6653d9491531e5e1b59ebad5de2551a56ca55124afa891e43b640b9db3bc0a028a63337586eb -14d97dd91d5985f9a89aae9414874ac4917e4182409fc09090a8b8449d1a0a5565d5e5376629328a -513e5d1e511c1626918445658467850af23c33bd913f1d49b9948b8a3ddbc2aaa27222102d924484 -059549876284ed710d3245647e9cce91c08878fb9843b1e22814488714455614e7662a4a04f5cd99 -9939d979b9d999ad15af78c6e97f4889ff879e812b59d7d87e363e83057ca66e525a7c666c764cae -ae4f8d6f5d72a6b83cb4341ed12acc47561fa97717de5d9a181f1fb771f1e19d2cda133212b332d2 -52333304a74f75b5dfbea8324acc6d25d930f1d58779ca7b7c779e03f366504664aa9405c19b8bde -67665a9558d53b094b03e591eda1d6cc429d16de301654c5c9934b906e076a2faaab6a6d50d4b6dc -88ccd139b0d12d700f52bd6208cafd11f7e9943acb23ab115d5daaa869f56fb05308197de67bbe6d -bfa81fdda25f9cb8f6694941725ca9ea9d13a3573d965b4da07b1c7c8c99ce37e0794694b40ac756 -508d85854d822faa19b73fce6237551523ad536a0c10e86b9cf10547b96f6c239fe1c9f68a4cac19 -58bf87e12166065a51bbbcd7a6c3e144d005d6f9de7cfc2ddbb9bf6df209433984c6b9980b6bf122 -b6bf07bcac86668e309dfcc7239bd8ae8274de65b6dcea1bfcd1d19cba32b9b0bcb831b755b5bb7f -9e0db1765708ec778583d370279ff1db86fd18ff2bd89fbdc5f8617f55dd95a43cf47f6711c6a0f6 -ffceb8c7d9be726e3376ae26ae8de2dda39c46a501ff1a738f877644475a24b345babf9cb2c8882c -422769fce963ea5966d27e2153a2daff89d999f0f271667421ba446339852a5065daf1c4741d8738 -df24d5770a96f5f2505f7a636649516f67433faa438ac82a0f857fa1ea0561b9bca4a2c7a66efd86 -bd01b66e429f23d1aef16be8cd2a65c5d6f98f96b461db7e5c5f3b0dd53c7a84177f3e5d3b0a3f57 -6af299b778b1d7929a511bfd79ebd173eda562f75441eafe1c6903a2ebcb2b1a8f5b7419335336e8 -317382d2449901c2598730f0ca98796962148ee252e29362451951a912445bb9fad80bb58fb9d406 -75b756ca07bb04da5107af354b7b670ea1fef2a6f6f2aa8a3e5442a727a72526c42644cbd852d75d -628f6c917bcef6da2a3c353513b5a6d4e9d4e2d729268789e457d5cb6263e3a3a223599a6269547c -d8cc20b1bca2aab4b099f5c74675251ec3965458f4c766ee351e133eb65955f1c5962b6fdd219456 -6c233bcee3ed61e695c4f65e2b2d3c8974b10f8fb11dff9a7b9987ddc766b35939fdb3ff5d51851f -c7b0a96c2f36e5f72bb5530b52f35191ee31519d876798cfc1e05ca3fc4d82dcdd59aa57730ce864 -af53150fde3e93c5435035dbc2fe2e416c4e0954ff71f0ea1ffedee6e2c7effc7fdd53c36c5e133e -524b5c1fc57b46394dca95fcebcc151e3a141f288d91c5c9927d935f6e4764490bd0008dbfc27b98 -2714b295441c506d5478c929ab0c591e3aa6ea1513d26253a213a3e2754531d28418948064e9924c -bf7cdfac207410d907f939fb1c9639272ea74d79f89b77983dc7783f978ff45514c4fa970a147e85 -3195289b4d6799aab71f6bd4a6c1a3ac6dec79e336ac7586797f451b3cf31ea7858d3681d86dec2c -e316f8986a2e16bb0bff5841794b23bd0513c1666c6a1ddbf499ddc17ed72def4dd77e8a7b95145f -fbfef7c75b7baecdf874d3b9790cb17aabde7685ef2f1f09b49f326014e2bd65c6c2875b3017bf76 -ffca4ff73d8699d7bf10847fc0bf7da08a6d4ae9ed870e6ddf607de6c9a58a9e338382e1fb2c2dfd -336e03a7669ce9efbe78add761f33ebf43fb5c0409490825264dd42cfb2f129d388f6f8e532eb2bd -f862f468f4111b24ffe7de9099ffceffd435fe2e11d50694e3637589b5585cc3f69c786fd5a95b78 -5fe57dd561bab6c323e5a5b1fd7c07deb2e511317b91130ace756bf0af88ca6213fc877af318eeba -a37baeb6d415d6d70b0706ea6fb1ed48514a415269537469520d3a8e1a8bda7bc7057fccd519e49d -1ffb885f125e185314572ecb8843be3443ed9c6be6115cd7f3a4eff9b17a41667a7e564e06adddf6 -087fc9dce22f5a3a67d6bae3bbaf3d7ec002f2f53beebdbb84057efcd61a57ebd9dbe66ef10a6ae8 -bcdaf279dfa0b0b0a82c97ad03f04f75aa29efaf3dbefbfae8c33fa7e4fbf1dbabdd0ebc9cd27da2 -f16973b7b0bcb6aca0124d541ff6c3044ed7b055260d4f6c6a28f0aaae2fba709f82c089ac4af7e1 -edfc9daaafbe49b6aade212429a81d6911a56ca3771b1b7731c6f7a8ec222e5eddc5cce57d85cddb -af37d41ecdd75530074445544379944896208e110b190dc69fd1c201b1c509c5aa1de9b2d29c41d5 -c654a2881a482a893839ff5bc65887f9c009afe1654bb91b18132756128fb177ca88aff0081fcfc1 -3d780ed3a30a21db940477377b1a27549104cb7a951a7504fa0ac73de79c0de1638dc2938a6bc33f -df3b8fdf4478268d8d3ec29a0c9f99a23f9799c94cbdb51ac3c99ee2eee38223cc2a86338b591c40 -e3b3788c8fc21263a263fc825c23dd10bdc1ee2e9e72baf85c798db0a4ac3abf1ed14ffa0d98b5c2 -897daf7f8807ea86e3c0493ce324de5e4628bd70157f1eaf0ccfe0fe727221af011fe2eee5f93087 -b88c2eaf71e2c25b75a16589495e283383cbd096bff13c196fee195e33f6e6e219ec73d545a3ea82 -e03102bc971fa61a378357ced29caafa02ed1ec6b74139f01bbbf0a6df6a9e72f0413cc897ae0e77 -3737b6de196485ac914ba15b6570abfbd9e01388feeac685cfbac415de8111e2206956945c2c2c90 -66c6a058daeba08fdd6ebbe357070a4f569d14d45d520ce58da4f6e9c660933f4bfcfaeac9129fcd -e6f39f10787b050717330bf8f80d0ae129855fd4def06d883c8dbe6b4d9227f54494c529120a115d -515c5a5d2d5684448527c486098f882312dd52d089cc2ac5488e22b304e5d155c1154141c12141b2 -4c71b64850669d1994b2df23559c71a4242c273c339aedf1c5e1017ec592ba82bcf4dc2a6197bc24 -a3253d757ea4a58f77f59652e635a447336fa8c0caecad527634e2b87a027d8a6f8c7294a6ca457c -661a8f1dde989a9f7551714951969f5f94558ce8829c04b6eb49488a1726c424c5a0783abc34a2ac -babcacbac3a5e1a0e3e1609700818b85d82e620e3d8b276355cfe1254ba2b7a624c65b24ecd79530 -1b650cedbff710d28d8ac9ca4e4fcbc8c81666e5a767a35cba425a14e22f12053835fb0e9eec6cbe -d52c68bc51f27115de995a98733a9bad205e53a577e6ad114275e48f8c27d9a8de9344b3fe998a39 -047e57e9f07750318cc6df8136995371976a2b88cda7136995259e73e7e716cc7bc851ae5326f131 -87f2a83b2c5f95475ff430a7cce3fc623c033cfcc39cd06174b0d8bdcbb5deaf4272d389665aa925 -a9fb07837ea125cc3bbc73ae3dd1a349f48a9627d49d82c682b6fae63a45371a422db16d516581dd -fe65cceb37689c428dcafa1d4b56d2ccb6a57cc35361d56cb37fb2a5e57a11ddca3ce77fbdb7dc1f -ed44dbdc5cd749264274823283cfccc3f3c34b633225483734324a14912f298d12e2a50b55eedbf4 -0477b098da56cec145ca837c7422a3aa6c24fb2544422a028342fe82484610622112ce4244f4cf10 -29ce684d4f5d1175c0c7b9debfc026658147ba24ddb1382c3b6c6270843820a024bc32bf34334721 -ec2e29cd684945fb1303c36ce244096224a3832a42aaaa2b2aaaf2124ae21482b091c46a74bc2d45 -9ed82356c49626e423bab2a4b4ba36a224382a2c214e24748c90247924a1eff27a1a5b7ddaa30752 -bf6d492a4eea661da02ca1e03f1d801d2c96b00e30f1e5c6f9e538b31ccb2a707af934745cf462d1 -29cc7d6e7f2aead874ed5fa2f145fc165ffba78dd786466e1cf73eb17748c8bc87b96125d27a54ad -dbd3527fb4a54e1a9e9494949020d0fe1922a26411113302cbc26b9b1465cda72c7b4c0c2d6c3659 -95f97cbc4d204b65018e686d65f4365beb2d26c33bf0d455c24b0ed55ec8993ee8e1b3dfd583d540 -4666769680655b5c945d5834a32ab4d4df3b38d8dbe29cc38327a78fde3b2a6ad878593017e7f31b -d171af017b96d8c6160f8567c00c772f6f571797ca73bb051e2d5195a881eeacafeb54352b38ecef -3b948dc165ffe39e236e8c671b8e14d6077e63abbceb2dbde7feacf2423c3cffe75eaf43f9e01fa3 -b0b4666c5a0d819ee1c267aa97e8867c4be4287675df6be1c250137b794433a33968d1ee7034e80c -3a8a7a4bda5acf9cecc034c2afd3d8510fbfcf4c172405f047fb192ee3c2b838cc323070f80d3b63 -f77ecc792c9c3a7627b23cb60117b4143761f7eaaa86f832d5b67760f5e57b38a066ba76f8a3b165 -6c0dc47067319acc5beb86ac6ff5b717b7b60a8f9f68fe043da0afb9746e17647bf13b9adc1cf605 -6e713928f472f215b3e9c62db0a6e378dda7edc784b55d75a58dacd5d63c72c45ff09d7956d64ee2 -9daa6a233ba88cd61e7954111099e93d93e1cd62a630da66c7f75deeed2f6b6d161e3bdef410dd46 -45c90509a5a571a549f5a80fd5647755323fffc1d319e2fda81ce36785a54b909466b8460cb5da3d -a8baada7ec5aed88a0fe44474b23ca446929590945910509f5b1136eabcbba2d5efabcbc30b71015 -eb96451684486212c2c305cc3c66beea6db9ac061735e037d998fb05676c0dfe907f70877b901d72 -45ee65e10d010331ed894f689ccd4b3a1f5b1fdce8d769576983ac907bd8110b9b534e653b910d3a -2cf6f0b677f035461b6846f7d162fcfab5eeda6b1d82862d6dfe17d00334dc7d0c033dee88fbf9b7 -bb0d9905cc6beee65bd61e798cd71d2b3a51562e64dd549595f13ee64d7eea67b5ddc7113dd07cc4 -42e84fb195dc6435f3bb6458b50d3f369b0d97775571e82dbc86bb93c7bcc9ace1b6f0f0eb3fe1a9 -1fa862504c7d987c8c5f3bedfc28367b72f09be9daa2dba37cb43f3a6ae247121f2a07a8cb2d3dc7 -4eb71c58b1c6e7c8f6384168726c228a41d1b9099529b476f7e7497d9b99993356861c7214c5e654 -240b922b922bc34b42906e8028d4ff7097cfe91f1e3ec6c4a99011a716a1579d6ffeae025a5bf4db -7043f3ad195f6d3b37678b7580b5af20d435e61032a3553f3be8c0819d0dedf7cbf0aab6b0b269ca -d9df4fd7fe7decb4b294affd1b7e7ffc7c187539b93a0685a0f8a4e8f86826795ca4e3b92b2afab0 -eafb59768a14ea7046603e92a38aaa335d0fea8eeb605366310f6d8b92ee8e1327eb8894d9541f5e -cb0de2ed6548ef3006d86287b73d317d448863f0875407aa951586e7476448328fd0e538329497e8 -9a2891492242dd63ccd9be9683c53ceddf2b72721482273c3c17554a0bf5e8f1a34c201f2fc7b7b8 -cc2d95c2f1c9b1697cb14b645430922051962837a84027b820302b84b5bb9b9b643b5dcfcb6f2c91 -57a2025494288fab8cd6e90e93b3d1f624aa6f28bfc7e2af5e2918c44e6c7771d1fae2c39bd3b5bf -c695ca5d7cb6d14c94213a3a39ab5e8829ea927b939940fbfe4e7b3f677191b4b4585e509886d253 -d285299929992883ceaf2ca8a82c94f80b7c283dcfc838ff605afbebc8e898b0b0194e0d7edd0d75 -450dcd822caf82a85ab6792fcaaeaca4198d113e8a4d8a8b8d13c7462545223a545c5655532ebf51 -ad6a2a957d27887ce5777c2b7ce904f55fbf5f6aff1e3fe0afb0e1da524f46b8cc1aeaef3f4d0ae4 -fdd3af9b700e853f7aca1da6988ff4b978dd3ffdd449c539e3dc7d16c18d638bf97e1b0243f7a21d -c8a3417a95f6e5a55a670729fcaaddbb448368140d1c2df895fedbb7c2c7e68e05f26d799b66ed68 -3b54b80de93296ccbbcc1cc6c15cbebdc64658ea5e1cd6e3b29811ea0cf31e62fa82eb40e455b607 -df8f67e2d9d8e1b2e4b2ff8830bc555c76a4833ebc83dfb2bdd002e9d38cc56a36bee9ec3da2183c -2c086ce57b5c8a3a893ea7b1c5a7780a9e7eb24764df37910b568f91fcc0e0e000bff290dabaca8a -dadae04a3fa11ae07ded0fcaf0ca369fb669086be09e1fa66bff36f69045381b801f52a1685b5a78 -2aadfd7dba5d1292ce3444260196b63b2c5ce7215510878655e7f68cd85cf3bf838a50796a656a57 -dab9b47255e7c35303db7ab19bb77932f366b28e434a541e6aa771321650d7515958ee5a35a6935c -1324d11249a89b6c27a2e7e0689ef66fe5b9e9a7044779783aaa8e28d0a7c7df1e9fc137f5f53565 -a66efd19ef13687f8fadafabbaa9eb0d5e2613df04fffe87ef3957fe6981d8ee9dbf2f1a5f540ad8 -d2be9940b7f1e2db1cbc9c4d4d7a3bf7ae5c737ecfe8932b97461fee3eb95218e3c91f6ab6da6811 -e86d1f282aa8881246d4c774a14ebabfaebe57c55399db82a7b7104875e4b0dab5e35b1d3a6465d1 -eb70ea647fdfc99387fa2d85a91efcd6061f37371f5f5777df86b6b686fa36366b7d241bc2b1aa70 -1d54350d3dd9fe046b7f325dfbe118e0a57c3b3367ff7de808722d133784762634a57c4f63394ffb -4bcc8fb63b3177a63df28b3ee4416bdf6d76f129b09da9b7d97ea76f89a8b6ae58519f224c29e1e6 -ffbfeaae032c8a736b4b9099b9299a3819054d58936bd424c668349658628d2576c5062aa834a94a -91b2f4267c8834294befbd89820a2288057b8d2d2a96989868884673cfe047eefdbfd942d16559ac -f91ff33c1a5876879973def39ef39df31e1a21c1e9fc33735377a03494e81dee16210eb50cb20f9c -a5fdb5a916fb5bdf5546abe7f69e59b1f2e49e82f8da93ba054b4a1cf7a3dd687b5c515e665a6256 -e641063fdecb21d330931893e020c20f8218e79916262656db2a0e65a5c13be5ba576ab8d05be945 -fb510d4a35d93c5cf0096c5108c38953f43eaff9fb402edc3f222432380ae99448bcd6db3aba983b -ba8644da88dc2cb33d5203f290cec58abcbd6516197a5e7e41815ea2f4635a6654739752e73b3505 -d3d653151f31d3b3fdd8a9f8dcdfe1bfdc383dad55f4a51a2decaaac2f0acae98bd55ae5f4f8c55a -20696991720da35bf75409376374ed4f491aa856139c277196eb9dbc1c11e3e01a9f9a1a939c9b2e -5a41195bb9da220bc6306fddf6ed05a9d5c5ba4fcc61f133f80ac23516600db318bbd0750423b821 -9fe10f5644af483616c5d9c6880b6c27e1bedac5d431e85ee89aea5f481082bdfb0844156e157625 -22d734f768cb14c6622e97bd286a15fa9ec1ccaaef2698db47e76cd075cce36cf77b1c40a7985f77 -1f3e939be2b53e53b73924378ee0cc29dcad1f7ee74f2d730a84b07c98ead618ecb603b492e061d2 -831d1a68dfbd8b7cbf7d9a7c1620ce6ab6b9dd5cc40c5b728c7862d73d477e3a5264352f52147f9a -42e1fee1de21e6b16b23d69120a5fdd537f86d4c5df916ded97f293e2644147f410b7fcd4fe4f052 -3c087f2e3d1e1a8407c142f2e73318048b6021fe1cbec4b34541461cf9ff9eb82f1e8947e39e5817 -0fc143712fd0855130167ac107f0b5a8d580d091068d0a01075ec29c109e09c7d5c416699fbda814 -2a4b40335143363da209bb841ea19c0e4643f6d29981094169f2f1928379e4f38f33a039e0341eae -3b860afa796bccd57066089ec9658487a7836edd8a36e323af7100e9c265155965e397023c7cd36a -7c0d8ccf6bc24fee5c6450388a10a6d2fed875e88a7382b66c2aade3a1b4544abdd1373ce33fb827 -8cb133f94abb73982478e461be1b49277e99760b16dfeac55ee427f18bb961f81665b7668dfd0ac4 -2cb128dc2f8283c39afad2c821d0c96b21e133be6bfc5739f65e15bf3e3b57925195e59fe5be57d7 -7d4fe0d680e29ca545f6558451edc82a3dbc7976aa4d052a41a9b1f9654c046defe8e12b2608e195 -b88b7c6e9d1771a6b78e93c8ada9411e93a6269f0bb6dcf1a6e019348442e5d35956d330a5650982 -6a7f3e0b9a16ed51551ff86777836e051f5566f8fadc63dd6515d9db3f69ea0b7fdbb846c52d846a -484dd3a8be2294c976732b423cc35106037769b710fce6222d7bba3806a130c4846df67310e1ad34 -b2f7f233dcc4d8c1c2573b248027f316aa7e8b67a61a93f6a87a8eff6ce7f8943887aa12c26b730e -1872b9bd52c03fc933f28867a8b87fde6ec9bec9a7f643f734f86f528fea2bfc37a77bb1ee8dab61 -00b708a20c28bc0a276a2d87e9434fdfde47e3f7f673987c7e1f98a6550e7f722b28b64a7ee6b71d -eafec18e25218ea59a4b37b2844a6a3e8b7301b3a73d3b9079162c4e6a71ae471d3ad7bd4e39d7a3 -e772ae9f85c8a3f4dae58e75b2f6b5b8d60760f23c959f7f92030e152293f25b2cf8de31304aab3c -022152df5bf70bf13dfe9ef42cbdd9b3ce76d2b3f8643c9b7309d762dd0523b7ed83dfa16e5caf3b -94ba1d55ea1c595c366e8d9987bdbdaea3939793eb8a7437ed948acc9462c494e69b1b59592e5ea6 -27fab4af963d84d142b3b3add0e9aca0712d1e0b86490aa7ad7cc269af74e8b495ea3aedd7423054 -7ae3a40392a10d3d5083b8debba1177bfda0d202cab09e6cdd535f35c4239e746ff6540789badc8f -cfd67aed6b71e4231d3af2c14e39f291e772e4333cc5b1378d5d88cbf4697619f64cb43d719a3eec -cd66b761cfe44611c7e9d3ec38eccd8ddb89ebf451b88edcef0f36087e7f8c64a5475eadeb0f80c5 -eae6ab4f38f9b906e2e6abc815f7625d27bc145f2f9fa0cad9c9879270fb47e3798efdaa5abd5fa1 -39fad21570a4b6074cbeb0e80ad49000ecac7e00de258789c1bc35971a12bd39dd37ce5b871d9329 -8edd60d97bb5aded6a27cf2d710ebaceb11ec2e9e546b1aba345aef35ed0bc76e0d25eeb92f9a922 -765c796e7c6a56ef5dfac57367afb59d66aa9bee9c579e18538c740a529cac4cd73b4cb5133d390e -01d93328d0ed2afdbb0518c823385c3f893c0203020dbb9e80864b1d42c32eb5e3f903fe1ac7462a -bbc96cb8124b692953496e6b422a7f963b383775b564e2d2ddb631fae479bffd653fdc1bebfc3a00 -deadde9950582cdab7b7e05774179d763d6b79c461a773dad2ca9f2bb4d7e50c5ab634c72c6a4698 -8e91fd5eef02b7ddeb74f03bdfe75b69dd1ec75d3f3888b807bd6adab76b4dd2b63b886caa5d4fa3 -d3cc9d8a23a775150072a4410a1f531a802600f2678700f29b3a00c2fedc0c217f3e1784e06fe03f -1cfbb39ace5707ee102654c29655e8c3520203cbc8bf2af032e15fb0549ffc8bfc215fd7d7d77af6 -296260e11b9599f1cbd569f3e257ab2a2ad4c139121f671ed7e4cda00b71895c610e6826f5bad5dd -70d45955d99e4cfaed6cedab137fe329b07b2e3627f39ec3c27985d4811c847f991317e23d3bf4a1 -479e9d8ac2bce773f9d00c7e19c73eeca2e679caab1d16c743796355d5856775d204e2a3aa12f497 -eba3f85de2a42a3e5e38057857020312616ca25802d48e1e681f4c3e0a5d4fc0907dbdd83faac186 -dfcc55fa23845631d88f4686082d170e504608764dbe5ac63454d0c50bb7f8466dcc5a9a66138f98 -a311945d925d86cdb60597b5f7266716a20aa67665d1545d3c9562a11ab49cb8edd4ee34db250b36 -58ac121952957057e04e83f01758aff9c4601e7c0183602e2cc79fc2177891c8a82b7c05efe30ff1 -b77838d6c6ba7870f381c13720fc3d54265925d733d390ea9969460aa3f1ad0681ff5e444bb5ccfc -1967f04fa0550a992d5a65a7b7520455b47f883ea13ddf39e9c067f8807229b31727b777ebbcca32 -2db628e441508984bee735c1d18bbb125ebd73ef23b748ed760523ad135c52904efad382916308f5 -3c3eecbebbf110254574979048db768be8afda31a38863aaa84ec81df361a7a3e71a217ab693ddbf -5caf3c26444ee535917e7cef02b02ed040db60ed364d302099c59859b3c68c3df2fda52b470fff78 -65d6913122f3aeb515cbe6cd35583e7fa1c19e830777efd92f6a8eaae71a34fe941e96bd9ee07a04 -e6aa9b9fbc38afd9785e75fdf6250a0dfac172d56713afd2532608114c794940e624e784a240e003 -d420c8de09cec23e6aed2eec3dc161cef56ee52f34fb88b80cc5de139c6662efe550407e46cdecad -d9894ed7be1c37dac3df7e2ee254878e83a56cb62aa7271f7cbc2998021b2894cf580d3f0ec35bcf -5849cd151627bd088b8571e7db2f8abe4473c514b15795c70582bd120cb9fd208da0c8b65701ef37 -f88b6a42864c0e1372cb21b1b52266e14338c9e1d5748b28a66347a29885ad4431f1e251ab68a82f -e7707fd848b18eb95b234a7f3aaa5a1f13bca03fddcac2eb1a3460a100bb2f87c4e9f13fa8db0155 -0da9c720f78806ccfa45132a01389770b183b7bf2dd279e642a7ccf2494af4220cff5358fd9cc98e -dc3d044f7c091e725e00f47649c12b1623c6772fa8f456b952f155a1f22a572bce7c2eb5629376d4 -8a33a56ac59f363ee0d8114f565107cbaba8235aaaa8839faca28e78b28aaa709c1dd25e3bf09236 -dbbd14e7f9bcb1bf9a0d7cc47724b242e3a40b7a247dbe7e87187a4bcdf0d4933543a758cff66a86 -d7cb9a6b8673d6da4e33d34d77ce294b8a2d403a4529ce96a6eb1dbeb36b664042d9ebb633010fa7 -dbbdd83f9fcbbb86c1028ebda3b4eef7931206d622e5094b927a44cbd43c13656a9e83db51f34cec -949ae79ca7d53c13d551f3dc034dca9ad6e4dae86098f41cf2e8eb9537c4f19bdc72c169fb91ed75 -c93029d329a9c7e93bbdd8c7f029df9b0bad89d8bd352fe352c5cefda812559966e9c5da44ae0b5b -c5c453ec7f5cc14ecb99f2b3f475f7409b905f880fb9498f53cd4ca3cdfbe07fa14f31638fc73006 -94ed6aadd3549017f2217fdc9057b0fb9eb7ff6d287cf53c958187fd3200de42e7d0a9a26d079802 -da7cde1ce37968309a71cb0dfa32d083cad8ae85bfa482e2c94ddc2248c40527919f862554e676ad -6e8fcd202a89ef92a4011f9e81900c38754613bc1b7b727ba84294e014bb9c49ba857f1f9644c554 -26261621a6121fa1903e42cbfc988df06d12bd2c8c24f1150cffedb75c140583e19816f6a4914590 -b75f806f404090650079d9f8e69711ef42db6262ca4298a47e3449c50fe3c170580bbfb391ca09ca -708ab162f0661ae97b7918f9931feb95441b867a450b3f66472be093505058d3e0fe204ae0a0af08 -469bc6c342b569eb3f5b0bd48c1fa3d4785f94dc39eed3b85ce907f0a84a23ac27df40e18246f2b2 -90bfdfe3c09c5f09f39b566ab5083fc15f708e8319c7f1406af79d7939b371772d5c38033653d384 -b9ca193360206530f8a0d561e8ae0585c7f166f2c6de2859038c7b1ea26019ff269ecfbfa1358bc2 -4bf1ffb460033ecbe161701646c141188a0f93cfd9c5779dc9c1578fcd1646e2ee7f6fc573f877f0 -c8b1694b7fdbad25a5f31a7cfe03a51a627c28bece1d6f0a9d410c7105ee0e5d1b4db66bc094467d -0e92a953a8d433d94ee21ce110b99cc9a0bc60b456d35d0adc9a4cb17fd320ad469aaa0113adf5d4 -bad156ae9826f7f40a052be091fc23b31eb4a7b9842775e543c98752dd1a4757973b154144995b51 -0f94ce9fcbecc55a421964720e339d8dc52ef6b6ebddad912dda10ed90ee90ee998db63317ab761d -dd5f6c3b2d57f7c07c2efd585c61780cc3c657a6e72695f5c94739e24cab4ceb5873b48219327fe1 -b70b0d53eeadd45df92bc75a5e37308d5fdcc718ad73b5b6b4b17433464bd1328949ae45ae45b16b -393a89ca724b2fe62c4d5b17ef46dece3e33cb23a7cf765492905f5c501c5f866ad1019732b342b3 -22a384e5681532f3dee0b4c1c9c1da519f302f6faf5c68d809bb776ba09b90784df33f044777a7e5 -446c43ccdd439fe1211681b6fefaa2eff798c62d450668ad8b99998181ed4c348bc16f5c1bf1d7f9 -5365a70b75cbaea503256dff5c88ff059fe3814696be8ef375a1ba6928e78475dcf4d72eb0b73073 -3447cc22f3aaabf0d6f15faf16e4b95ae688420310da22c824e9084da7e35b4950df3fef49a2d609 -58ee45008c3d7efee8c153edc71509c546b613d88e772ab065b60e6c3181697e319bc282a203d70e -ee6c47eaeb5a0081bd204575d5e4652ca4c1ab486057c1685fd3cd18c74f574e37a437419af3bfd8 -fbe0c6a7296dca6f2de15d76e81f22e28d3df962f566a214ac7ee7a19753f0c9e0ffa7ce85b45942 -b0fbd0c5a4d68b08fe5bddee2682bfab55af22f86ff52bdc45f077b5ea6504600257d5b9192da5bf -7b0f0612d275bf7355f22aa1e2f7744a41681201e21fa1bb49915932afaf204b1f9d8f2774a9c813 -f2ddb8480aa85b3f3ee890d23880b9d6b350abb6c42ac9f3696695e199ea9f15603a8c60b2167bd2 -3324222238ba4f47671cbe4181dead8b97d76b5ed2c99c1f5f2d1f737cbcc21de84f84d2d69e52d8 -542ea87c42aa611958de95ad28995fcd8f4de49c68f66b92a152bfa29b59a5e599d9b12568073a6e -5a3737cf304d6feb38c47c07d328744e127b3944a8db2eab6e2aa0d8add52d9aeeab6934cafd6bcb -efc4ebdcbcac83cd82230a5610a397545b6cb4b658bdcf7d9708b8e0527027fecf909f8634b06cf2 -a7c987cbf54261d65e0e62e8d4cdb1c149025d3db8ec33113ba4badf6c03dcc7d6373c53b75be387 -6ee55052feb314c0797fc01cae5d05fba9800196df2c5d6168bc70e32c340acdc89978c6d959bbee -9b86150254a35f4a0e1dabda9f7303dd41f086f19da98767ef1b953b9a5088653ecb5dc57ee24dde -c4035da3fd921947ca1b3b6aa55289c724597979a5a57b93f72310a19f7197703c8e79b1d2eeff9c -c50e77f9b75505ea50b71ad85b743319bed8b62ea907fcf1d797f0b650475853ca7d8e0c4f9b5e36 -f7d04e9f9842e8d668f2d4169f07e627f8d7e422bd6811fbe8507449e5d5ded003337b3063bcc1df -c342d7d5471c28481a6c421e510c7b273044cb85dc1b0372d7d947d033b1b0bca1cfc923cbbfc15a -639d678816991ea0d83f7f3e366f00d6fcdc7aa17440053dca930dcb81866c8bd603ff5a61b6f864 -22c7de7fea7ca115d208dd620a540aa6d93b6b2dc51bd6f56e19a7db18271bbad371708d4f49dc9a -9890288a8a0c090915844fe391449c0f4645202a768deb01c3eb61c4ed5e6c1968f664ad612405ef -91f87beffe805cdc43b4fe20b527a0ea846e1caea503f07b5a09145b762e522239d4e700be4aa125 -1bdd0c37313000ecb89fced98e11b12693a66d986a1f9492a2ab288f4b3b2d346e3f382ffc7df355 -94c85d1b87aa59c3e2639184ffb8582ce971a41e96d4f7622f42233f94c3279476a46ca7d99da832 -3aba32949134b98ae93d01312e02610f55f66af256d7851d4ab83f74496b8dfa55202a23a85fffcc -49725b24dffb3490336cbdb88464c97dd44b92b1fbdfe24e09c4fe83faa1873c7eb31d2afa32d7a5 -359ac81c567ee8cd5fab7d31c558437aad85d80ead6394bb716a7ae6b69450d113eb3f1f9b491fc7 -ae7248110e79a0561e06abe451d05ddd20d87aa1c9345c0bd3da5998c256295b99b21e6ab109ad2a -f8b9b78a7d8f172876b4904bfe042ef23d81eac536c13138c9850ccb1959b5e8c0ac53f29660a675 -4bf0f7459f233c13e1aeb897079ec3600d584c7562af0bcd0f834bdc2e94d15e43f1066943f10625 -0dc5d9b21d73861ed09dcf4ed4f8e9a166e324a11e17d8b22234d4c3d908b3b84a9b848f6cbbfd28 -b6ed92d06dc292d00ce7fdb8377c8641db6c96abb935629cfc24b129ae69c61badc42bd716daedbd -5b9c0f6fed15c177fc17bb6fc685085b3fff39d1154af852a5a9d82ad9698f7ce1ce4a30e1e0aefa -0b778a69a885fd5af89afa3b77d6d2af76f7244e6ab45639f563610f8160d0adb18b22b80e8f93c5 -9511b77791c8b291ff0a3ee6a44155970455b65c1e564d5ce913014b97898452b02c9a8a69766373 -1416e1d0bbd2d0aa88ab22a84ae1d822e5f149119df0dae6e844ee12e8c1f4ebb0f4f52fb1248103 -76d440949c740e823aee019e4729619da0ff9f9abe10a506f5acc1519f50cadbf76b85e67dcf97d3 -bcefa9b279df5368de478de795288db419d4dff3b206f5a7ab3da8dfd848b0a54b39e8491f8ad47b -7938cfed2c3a904ef0aebe6efa1811666934d9d373bcafcc2dc7877b4609a0d183061a6b5ec4a2b9 -8b6ccdd7e842b83a4fab6993b2c7ddad718c02e1885969803b611417e349f882af69f086bada402d -bc8c5c84bbfb787f19724d1036ca5d63f8a902273bb335ea7c8490c55dc4d9d41768d47ae3d5ebad -dd4d0461b944a3bcf5f9b6391e27dcf16a1ca66d6dbed1cb7813c3ebf327381c447fbed92c6c4586 -69a2e30eb487f9f54019bc571ae56343a8ab2d4a3cb383efb7e354a220e268fe00cc7fd18493b739 -6484d67db645560818e4bfa9106d67a0174cda01fa6084a794604e847604e7de0b9051f5df4383d6 -a1d50c49eca6186323ac0f938ca0976847d761f8bd22180963e0fd82eba2074dfd38be1f7d1dde37 -c763f048fc9ee930a1ce29f0c69266d43f04a24201f7afa981fb0d72dcbff62cb8dfa01cf76ffedd -b5733b04080816f31f4bf16f32413f27b853cce1c9709d5202518440938728073482c3b0944a300f -fc1c21a6944208dd8d2b60d89da02fa13a003a590caa3df44aa3d01af85bbd6adf2b8c55e31e73ca -82b4906efe95d78d1fdf12a164f1894481b6d1e9e9d8248404457412ab884e2f6d37fb8b2c57402c -24b6732ed8268adcab91e636ae2f2784a88c20248034f56fac9197bc1a8722091867c1c7c737487a -409e3451b5ee09ee12aa6521dd503a01856d89b7f9031b6883aeb07f2e60b35591de0f7e7f8c9230 -ec9d848a78e89593e1b73eb74f4a4a7446895d9ce91cb19e9e58e4a6bf6ec96ac478432f0a154a62 -4b3713e69814ac25c1ee623a29a83450e286cc74702f6f7a355ab7d7ad82bc558d585c33a78fa99d -abf1fa148f945cbf0c9421ca41f1b85785f328b1df00bd8956a60181ab88a9802efd0718c4678505 -24201d3c94466662b735811b83b4a50543fee4a50d893d6e931b7caaf163fe3e17bc7765f42ab418 -cd7735c3daf6c3664e9b88180b984fb1c5ea6f17b3caa36b5082f18e19f021dea00da312a925c10e -bedf01350c3ed1b629b74f370ecb8fd8772ce936c39e3a1c1b9d109725313fda2709a5c70615304d -0c7451553baa26d7fc4091f09ee24b1bbb7221e4196ea05c863a88b11662d862dcd8c17658de8166 -4f4977cbcafaf3921bdf48ecc12637ce125209ef9654c2d3d9da146b615d6da38373aedb95b54d24 -f609894482f8772c020d3c5c1b0fc57a5f7de41fb03480649a6e89f4fc2dce1128154924e9c5bbe0 -2d18a8fd1bee9bbf3cc11c89755843e4ecea651ec4b0c901c83348ba758d84b2c561e2ad8607f022 -c8d486fe30f3d8a5a46869def15d9ba7c4d793a754611db76ab1a12bd636d3b51fb6eca53da3d2d6 -cf482c3ca3b4940ca1d02cc4c5cc6628055d10812e81d36bcf05a755edc0e93519f5cfc1a99d897e -8d2bbd0f2e93888b6066114c8feb8160c1eaedd0bf1ec6fdd68b8df3e4fdf8c55cd347624a11fd7a -d3b39cff6d6aeb931164abcb26786e08f2d9e8d0dba2d03bb7e674354cd565f53d6111f46f5593a2 -d9319ee49e5f4255b1c5a9452949db511ecaf14e734a744a5c9fb820dc6eb3e366e2d0fa9765303e -0b5b7257d196c078bfdd2e8966c81459b938ae7771741307cc40cc86e0c41469f91e1dcb539c7dec -a9d5002d02b21a9d1a0f980709cfd5a9b8c0bb10c617837ea60618083d5d6f2ff97ea17d8a534672 -42425684282c656b71587611d2a9479523a330cde09126308ac25d56cc1eabb7aca4d25ad7c63947 -af72d905a4037daf3c847fc3bf46fe85b545dd1e4f817d6074139674e30da4b53e0df8b25e931f2d -3c839e94aca229ef7aaac6849dcc720f7e32adba5e4d1f22113372129320840839317b41a1e8c87f -753a655af2ae4a4222bedaa9c91f4de1a6abb3e13549d8f0ca473f9b7728f78d6ef03faf02589d0e -93939cb27a80d3d959577bb1e7604a1a37139914ba9cb2f7d7de3a3b658a34dc6a979d3e7d7979ba -498488bdb83d2223bfb6f78d6f0bc6ae7708f071d0f5f4f70af443012810f94430ecf5c0cd5a9ee4 -b17ca025a1d88bb76272b24ff4d9556ab168bc9ec74a91c9866d147bee70f99a691316d81b0b2419 -4681d109f26c1bdd6555993d87341a2d9e28caf8ba3baec65fa82ecae40454e381ad8a324ec85f12 -141b98e291aa1fcc6cd8205eb9b6cc6eefdd92ea862a11180b75990ca12e83fdc1512dee1789fb17 -40d744fe8d7d305d9666f90043f22c623a35d4b3e64c604a2756efaadb7fd2494f1727d168bc8f85 -ab557b56b0c7be1cba365cfd4b0439f42ff8adece1d3f5cd0dcd75a59cd9a99cbf2bad1c16119077 -e2037b12929239464a527c60ad2cdbd3e1bfa251fdd6e84ba132fa7bde2f468af061b888f757fa9d -7902a797678d84c02c909ed9f17785e33ad8580d73c86719348e17566dc43a518ab2e332e1cc6d90 -e2cc8d61f383cd220a56f4697de4b607962358c58033cc11cedb2c955375d6404ed685f2c76230ba -0ccbbb352e4602284f2f861971b2bc448ac855bcab30fb63d20cc89f923c85519661282ff4431f98 -8cffd50a9cdd5f2c36eb0a9c94af1778c7dd071007742f369eaf146e5cb11355df721834d1dd7dd4 -26813b5ac24df2f967928b0b8af2927e4015a8dce7ac51c9ec7d8b2423d152f4bd8f870f0313e9a7 -f7dbe3dff1c75c4244fe96045483b2bd333df7db654e44b3909ee3b435f616ceab7dc8352d778bcc -135a6153c1e807c1ef06135ebaa218664a348ed4f3ec2f9afc487e0af74b01fe00bf33c262f2942f -cde10378e77aded93322ac477ed750dcf3c2e7d09d40428f2bd236ddf1bfe1f7f13b9347e2ee9ea2 -19c0b4931d2abdebf4eb1e8d9655d68cae13d32251417a20f0c4b10838d4f662f778f2953d77c238 -ad179d40fca8ac0635c5cd4d9641908f35a38443c1f68f13f20a8a73c8c34c93add5251e6154af09 -23e0430ec46a98ff9230ef18b41b8cc0411baf69e7bcacf5bbd4056e364436c251318c84f92740ff -49420d2b08e120fcf869cb648b9ffc4ddb726bf694c0aecff60ee3ff50d52e351f25826539df455a -a62e14f6c2f3e33960956e74ef4163faf678101dda975950aa8ba7746219bc39bdd274fe86458819 -b9e6c48f8481d0cd213be18166e308fe34272c5f1de52123c6e4f2278592d440f6766762627e1048 -b43e8dd7376dc6aefc662d61a7ee55ff180f61f9f6674a83f1001ab6109a1a4bd8c94ef22cfbd4e4 -d56840d77a9843884e1fa8e6f0721a4df3729fef279bc2d7dbea17814e31a04f3f32aaf9669e91dd -dc15bac0005d431ca637ed1f62eeb1c167a1ab8eadb018784b70080a454c59848fa1c81677d583ae -4dbd499aeae73ddf87bc99a5849e2fd4e1c89bf9d13b76e5c46f43cc9e74d3a9c4a8fe9666d23b4a -21ba58065cfe0fbe11a0ab309a209713ad0cb78c5be3d64e01b79c4b2db3ad326da367c6ed8d49de -9a96ccb085e92992e2edbda1eb5707f044ddd1f827ee1edae55f2466586382566b66f52668b5b62d -5ac1f6aee04cb32392c32325bae514d075fa5f8d5bbcea0b453251225f717d0c44ff802dd783fe3b -b95385b6001407d3854c432ce971e1328cab176615cb6029b77b2cb56ccbd2e9baae6012474fdf52 -b547049b69f60ada9b145b16c24868f61e9e4f8d43669e26f6a60e1b57210b64156947a294d356a7 -fdbe98c1fdb42dd70507902cde15bad3c435c5dc6814b0d925cc20dea91015a19cf8e48cf8e458c9 -96e388490f727290f7005596ff5a031f0873ff42056e2bbf8cbb876f504a8fe2a0162f517a4877ef -5ecd67bb9479d60a5cabfceb9fd1b05c8f83fd5fe05aaa5be332d929c7bcc373f2f86e7536593dd0 -0d58510f4b6ef4629778c2097e26679c101cba9600eb7b5fe3aeb89f884df3c43d6a87fe7aa030b3 -a25c57b8aae6d30ff2034f1c7f6c911d7f5c951d7fccbdfdd942bbf57aab4450dd72fee14ab7394f -99da15d905b87bf930ec004f2707770fcb3e96c865ebc6248b6cc76382b2ed9b653f5c3f1cb56eba -6e7d30c7f6f1cc292adaf5c336e9c9c9da09930d4ca42727328c2e3df4aa503a024ad4ed6124e4e4 -7aebf9c2f88742ded83c5c68d9d170617cabe1c207f91c6b991b15b1fdc6b10e260a8f36562a3d87 -fcb2554f157940980b87713f431710a1fd68af63e99a4e6ae776dc28bb7497e595803f18d85f4e75 -7b6cd88a4d3b0bff0995d5c9e51c76e6fda9765872a582253f9ed07cb6c24f55c6a95931e1db4e74 -101f42beb9e59200182ddf945279d9917a4bfd1b73b058fdfa77fb3ed94ea45b4cbf4ec9cc132af4 -6455aa9df3a1adaaa9e7eb8576ab493ccb3d55fd3ceb11b2092d61f03602089b364df6207ee32ea1 -db565c33b6c4dbc07b4f945c2d3b28b9baeb9b0b25576b6a2b44a92a38e6abe047ccd3fc28a2237e -d48d1fd1d2ef2414f4dee387725be03d2d67ca7b92583c575ac14c68a94c296f6c3a25343611eebb -148c7e1272009327ec8e0f6b34503e148a33f05f2fdd22a59a4484cf426e4f5821a12c11e1bce5f8 -7d58aa7d0dde4ecccc89cb0bd691e0afc4744ee0563fe4863c3c1c3658fafb7938bb6f744bd2b6d9 -e15c8062506c4c784e3041c435e2483a07c5b9e71afc4a2222a6f068abd55ebeeb36e988e113096d -e3111a13162e8949125d86ee3fe3be5bfc36fb213f1de4ec1bb02e9079e5ca1fdfab52fef87fe211 -ffb8a9f57fb8a0b19044a16b79dd1eaf56127a1a133b57cb692fb6906f39b75fe6a96c55e6797dd1 -40f1d9d76a5ec7a7e32f61a2620b8fbc2a71485890f39a7465de22745d1dfa361c95f367a425b951 -d5b09a98cc4ef83709320efa010e5f07f9e0b5dae954fceddc1f891131102c049cbca76c695c330e -3715b46d9eb7c35d371a3227677208190724edce3e99700f3d12fa62636175939502d49fd85a64cb -9f86499cb2bd44bc95b255448201163fbdda085fe677a88aac3bb155017cdf2a579e4548f523de90 -9b878cec56cc659ec8877d17ba3c6b3e2c93b8fb4b9d2afd41a14a0f47e85f0df64d249cdf4fd143 -5127eba1d8c93b4ab8655bdce385c04042f39198f83d5b64acbdd23fda032d6758277c1d4f8613ca -be87a5ddcbcb3d3c043d32a1c9e217ea342a182e3bd59047aa7b35af2a5635717cadc25f7c84d332 -192b814fabe01df2abe6c32d591b366bd94e23b6417323f6bb2da94f6f9acd6f394b130ed2900323 -3d49fb5138498345cdf21ca0fb835c9f231bb6714178edafc3a08750966c510f1839dbe2d3d5a2f0 -bd210f6b6af2f3cbd36a8399bdd45f286e474a25634f79b8382023c47c4639a2e9e275162346db61 -8d203c9081b5d05fa5e8401b69bc4e1db1756b5c2e0d8da74bc17187e0b35e7f802b680a8dfbd243 -a8084171d86ba28fe007d610dfd2f45b216dfa3da368fa5d8f5c82d6073230825674fe367d4bcbce -1cc85b69a409a70e7d6070d32e0ef25bb5f0cefd4cc49af49bbd40d1c24b026311d079607d4a633b -b9871517cab28f9224abcc3a7b418271f8bacd73185c4745ccdc6a9d6e9163bacb712fda83762794 -14ecde9e79065d654077f20d4c0f9a300f7731d2854b7810e739cedc640e9a83ecb2dc6fcab219d9 -698194540a1dafdf377ec6fdfd6df3618172c6c85ee4c3a0b6c9bf1dce485ca0f95ca055c0947dc0 -829e2d0998ac16773e4c16ed2ef96ff54023897f35f9e35a3e4cd9f79aa6b63ef020fe9547955a05 -e02f10626a2984026168518614ecd0a93c05e665409775d23af16410f5620d9e01fae25ba0cf4001 -7d4b205a51426207a92c22adb33195169106b7ce0a8af96e42ccfa9f1a6900bcd972328ae360b6ea -fd1e2f68e4fe125faaaac83bd30dbae12ef2591a48161e2c7f89dfc335d7ee4a9de8ab326c6a5a43 -aff4705cefe61791eeabeb55e81ab71e31b60ef6b646dbad0e4097bab3f09ea8c97222c73aa9efa2 -bc4f73317d328928c3219c035a599966201d34bcde6227da890e2665e63023d528cd281ec73bb48b -fdcaf56b83cd82d7640597c9a7117e53641a8b6a418b00789d6ce99683b030302e2537216b47a1e8 -d2b1c47204dd1888a55f18b64fb8320ac616646f09cfd735b371b54596d2c3861df9a9d52542870b -1882d1192149a4e4f7a510feaad7e4170816c6e19f706ff8490b8f556a6ac35aeec3399ac051d7cd -7e21be213e3a61ce613e61280c85c7488ae1135e431befebe0e611d43744f27e8c61c2c413793a23 -afcdbb45b20a09b910650dd8c6b08602ee46f2fd8bb3f2466e15b1238e6cdd9778a9778d59059ea8 -6b8cc55c15c51a5fab369efffd2a8781864149292298d21574697684242c4ca29b415d43059641cb -828c2c4dc7a0e6a9d23d2d82728f0e35ee55af4397bd873ffb7b41a7b5e7ba35de55448bcd893d64 -0bb8ee116fa86aecde99a0d334038fe05a850a4150e4826f84970cf15a028e7bc701079febfa4440 -698e2604832a5122a494c21e21e9935dad50c95e0ee55c46607c50867c1bd8a1bca23a741ced702b -b1cd5e533e3ceb0b926e5dc1f11d6c14e31dbbb2f732c3c333a1cf618336dbc27820e1def4141834 -377628a868a100c995cf00c9575a20b95201c9b79af43b55d59fe775160617c377d91a9007965c31 -9e4a073dda77ee2a2a42319e5b4dc21cb465ed938c9aed93cd92a763d0dc3af73b8c028ecf356840 -7083e6f383f2cec6fe4a7add15667f484a76d21b1bd5484af0a2bf833bc389e6b462c9fd85ff8492 -6bef62ae1d167c9d3ce576f971a5821f370e91d0aa99b6184b8b60d2e9be16110221f5844f40045d -5fbb0c41539fa6bf3b65735b5a1de5c36ce9194318d7c94688d9ad1a213a0c649fd2ff70f5206c0f -91aa28cdb3d2a647f439245926ef27d341e8873ce951f813604dec1856f2ba1c0c6b077c85c28b02 -7ec52ae097f90e5f7892cab742ded7a522d2edf17402f9874ac0516830e53f17463ee0b2f474f88a -9c5fccf7a02722ab93f6b718f60e689b19c62deeb3cada557f7d9a43d2517101ca12c5a168e7d8d9 -49434b67e6fb18fbd96fb059350c7fa2fd1da61cc2970847ada368f81036ec381e58528374a2b115 -852679c8b282d6fda8d1740d0a54a31f35f67074421cca4262f3a38811fa515b7a6145f6c3ac845e -580fa117f6a2826b0a2b99c1f1c205982e7dce245b52941365321b8a92e2e30e4b8affe95449f1f1 -73951477f37d3ba19471afa6f35ad2ff86184563bb9e32f8aeeb791265ca4a136ce526982c83629d -f6a1b85d50570feea5c719ab60fe19a129e5c5092d13affe038cae09bda702cd303a25740a495031 -ffb6b4d6c156c107d24efed9c59c18f96c89cd8d4cce3e83ce3330093ec03be9591e8e4b75f1bbb0 -9243b3ec67b85bb8acb1f2591db409cfd7165a56b36f9e25bebc9afa0165cbeed426984fee538870 -9f525b0faa8b5a2664e4828042d4ef4fa2fe336b02e2ef952ed1e6375df3fd53f86d9b47dc6ed6bc -14595e4fd8a9281ee9e4fb12db133eb3cabe41faf8a41b295edd3e0a58f18baab1d0fbe472f64017 -61d362a2a0af4fb55e93dcb45ed98a65fed796bdca608557ab15c515a97c6b2d9f7ce82295f2c902 -d156a998cfdfed8bf9e00ec47cfe7e95623eb823319fbefc27dcf4752be7a0b9ccb2c2b53b0bd352 -0bf2ec134dfd7c8382fc747d03110a428c8f5f58447e56514db1e809a3e0c7f6148aacca1ea60bdd -796b51bfb42bc8b111be98d54a8e4daa217a42a6211ad58ed4da8967975a9369889e504743140f6c -faa5537cf137d93d45d74f49efea05c276c34be32e441e42d93a294e09f6764ecef6ae924fe387ea -1e287fd94ed80d72a5d99be459fdece27f07756ebef1aafd9fb26021db55255b2773b8de5ff8db55 -5865e7f9e42e3bcf8e97d979aabdb2caa57124c7c6a9b91a869f8747d7362804316071edb38f1c33 -c992cde1a9bac656e2f5f2e5edb2528facafd441e82b8d4bcd8849d9512eaa3d98921757ce2891cf -801bf02e2ee8ec3c293136415aeed52d1aea0dd14a870487934469166812533b0b9a9a70188e3cbd -8f1a97c1f14e1ba160c5421bb1843ff2a0c7c55a3de939fc347e051710d2d10ed15e347b5fa50250 -717e7e89285f42b177845584677b2fe52f71b6f6f6363629f659d9a929d959f6a9d6c27dbe644188 -ba201570d197fc63b982afdeacf9a72e1dc5b670a3e5e4550a0232a88f0351f2ab61000bff9ed529 -63fec734e912be069ac243deb4092c1f4a7b7960a12fbc25f0a957b95077a5aa85ba2a1b5720d76b -2f98d440d73c8d13f59aa7e120375def04ee438dcc313c585992b6375fd73dca71838b804c26e2cc -232278fbaf9a8fa0ebfdbcfec0d05b8342085bf0f6f3f6f5325e64a8ef1ae0e9ebe78bfcd1a6e0c0 -9040a69a12521c09fcf1bbc6997acd70be37171b12191c8d9874a9f385d06899afeff7420b8caf84 -9e16e22241fb1970a0f3caf6648645fa7b45e9c6b945f9c520264d129f95ef98646e646d3f65b9e8 -17da7ff3620753f7794e3ad0e3be4a495101b45b5a4fe85a9b277c8ffd4da9f73d9fef85ac0b13c7 -898dad5c6de5f8fe0496d88be333b2e252d24245dbc3a3c2887fb27f76dca2a2b0a57b35af60d36b -d3fbfc61392008d6c1bf9d076f1202bebf5e13a6f38bb9f5c0501d3c785cd3befd6cbb9f6742ef2d -c9a942156a1172b9090991eb2559d14948562ed0fec2f2d852150b83547ae7e339e2fff44bf6da03 -543e58e64357d05c9fd80346964341f9f57330e85c2f76f4f546f2063bf7e09d141b77bd89e5790e -8f77a2da4e259e26901d681ae012e0eae3e3817c917ba8f356d748f11677c4d8d83bd958a659ef4b -4f0d8b4e1625474b1223332333432b84dec19334bbe23ad435e568c5f31e14da159c1d1a131a1319 -168dc251b47f9c679cb724201631b9c929597956d9cbcd6dbc9d1d458eceeef6fe36feb681fae83b -061bd150081bb821b3e78f185337affee6f1a3f597e7ee1b21f25ec755e4eb4d58b8c172c506a7e8 -140f916bb67729dac6ecccca2e939ef04bf801791ad788c9cd7dc8f1abe90309b925c9b15ed609ba -71eba3bde211939a98905ab42a63eeecc5b62bd68bd6aff2310d1ac32cb1d88b4f506892a7c76421 -f2c448e8d1219e51e83c614cb996161048e2b28ce76609562db5e80862d1fd9fd7a2693cecefb99d -8960704316685f1e365efcbb7363103263bf59f322cc1d7f0ce39a0104a691bbac4738987fc83c7b -63f779ce3aae7468b064b324782bd2498d7431143575573b017cc09338dfa34d636c37c5126a0b5f -f28085507cc917de91066019fe2b62f0f05a63829b5764b8c95e6e46cedf3a44ce2b2a91f363dac5 -decf15392a1f128b4b4d4bc8c9481125c5c786e5840b15a403bef7a59729a75aa36335ced7c78248 -339c645d849b92dbc2e46f75d7173539b6d3233a8b86be786e48c0e64d9b37856cd289f00af143fe -8cb7b79f87ae9318ac859e51cb44a32afc052cd6cece3c73fcf0aeec081dc996d8cdc46d2224d8d0 -8dda16141580dc908fb79b9b07798addb4f95184441b7b58fbcc77d5b1f2d102834e66737d89bf9e -7840083d30e4694f166ca703bedd66a5f752707c9a4bc316bce18518cdd2c66f9531f597bed987d7 -501a56ee9190da3b0bba90908a6ec0c6fa22f2ece19e170703f66ac5d1ce41816813624c7d8875f2 -47893febbb98797d2f8cc444048721920a15477aad16e121b4719e6dd41ac4607a30d6c21fe3f7cf -0f87376a4b92761788bea741a32bf2f5f5f0f274deb8c1cb1a31a316fd08dd41abf2870bd595068b -4530e07ee74a624ff5367ff3427b9b37fc3c3e9561efc4feb0053e48ca8876c8ed93425297e094e0 -7c9b64533407d97b397cea65be6486acbf59ba6e3e9b707fcd673135bc04fa116caa13b21d5931f7 -3956bb600b7e8b5aab008f3468c0c0972254365a994e9900e782919d2890999826dce1d338fc864a -a3d9b24989050ebd50f02dbcdd9e197ae077cc6978a7691ca7cadc5a2ffe5154ece26515bb41ed54 -ece23b55b19bf574c52e5ead8add5ba0a7f2f1edf56d20814430b8672d8bddfc51d50704cb9b6a4a -6a6e497b6a84697a771801d61dccb457c0544ebf645fcd226ae7e6b23a99ce54dd66c395a2057afb -f15a8aad6ae9c35163965e7a76aaa47564257f8b6beef958e76be3e6a03be2fa5ae3eb236c5c8cbd -f591ce46e4166cbf99b904f59c1a2d24309396f5a11c46bbc34a24b7876a6f2b197b79774166353a -a0d3a61f45c9665d1806375b141157f8ac115bea0efa6dadf1fdfeceae0ede1b908ea08f281a099b -b926b3e6e143653b770b51fed6ec04e9870fbf59be2bf314baacd3a2c1a87bb1bd1944d9a8f55b35 -3045314d741156f03739f68e9261eb8b4f0c5b7f3c5bef30ce542666042530a0060fa0a57345b0be -06ba2b4ec32f261062da7cf03467b95e25fe50694de5cb4b35e36802c9dd5bf712b21703e03d6260 -a7b17501cc4ae47bee3b08ff3696cfd45792b7bf2bbd7ac5b5b30f5bae5e76ed14fb4b4b4f8e521d -26f0a10b4bd213f720780b9dc49f04e19e41d870a181dd4a550a1a5f9f073df80a068c8669f8d360 -d1746465b76491d04c039384d33dbd6e8daee80abfbf48231b28fe73a034d3e10b2e0c7fa105e994 -170c589eb02ed7a55cc765a77725aa46e713ebb6edde5651997a10ed4315f6db576e5f193f0b8d40 -98331e3fd2d61d0fd0263f15065f68d95141a662d33904f77a53a165f05ed185df11f4d141d76c4f -ccab9e57fd6dd66034088db399b760de42ab69682c9a9c3cb7cca0cc60b7759557b0a136ee452d42 -0ee99b7633cde231f2f140e357238fa76ae3ebcbd569ce8715aa3e3bb2b9557381b4db650c072bd5 -ef76c9a16181d0f9344ffd86171f3a8e7c888a2b923581ec2905bae68f162873879504a35a6b2937 -0b298b78c7ae4f35878c6266ea1d6b7a57c051e5ed794f88402bfac1df3c59338deed668e8550313 -76c3e53fb793a83fa3a1a14113c21acf29e9555cfe74af62d3274dfdb8cb409d29fb0bdd41670c2b -bece5918b52c6408d3b4858af92cde70bb7ea5de05cb1be82aba9479b8ea525df95fd27ed4352494 -bd8fe7e321f8dd61f8ebef74f93cbc9173c6ff5ab86800ea8fd6ee70809ef27d29cdf20dc29ce16f -3d1f2652ea6a31cc39f1a34885d60368b6883d8c95cb9dfae031d20198cc6dc2008c7067fe84cbbb -61428d46633f08e1c6626a8ae14768309a52a67fc3aad673cfa69f197e0be57ecfa56c75c5f29a6f -73bf46a3d138dbd94bc7cd59f511c2dd18bc06dec2efc37c1802efde82af4fe936e5c1462e01fe55 -bbef0f741f6d334ac13da5e163a90496d7f05d241ab0a45e931f028d5cf6c9b0f09c10624d22319d -b749e2859c9057a05780d7401cadfd0944fac56e8a45913a28212abc5078d552315d1218eeb5abdf -43bc591b6be98116ee412989f5c001558329badbe32024c02c7cd5dc712fc5d906fe31ff1e071368 -f69ae2c6fdfd6d0730417ea8dd0efc178aba4ff2fa8bfc905aae73745c99e661a7f2806cea104a37 -93f75f749765043a2d23600d1a575ee376f1eb3049ed55c1d2d9b95d0d4203e35172c9475fedf85c -7f98a1ee1ef4e6a993d2068daadffff84313baf377b9f50ee485490e595929e4850e3274b2b3235f -4b71c8c84a235fb3235fc305f8f88b9e53514c1b9328329cf82addb3a10399da8f68177bab96eefd -3f94bd6664f37040b9301c30501e6236e1eed2d69ff4c2438879f93b0e9ad5290df974e91ce95a29 -c3f285cf1687b945181ed011f4225bc94526626f27fa59f52bb5d864998425f30c1296246aad2460 -e0b10fbac877794cae878552fc1a0b0e1cf413f04bd10f65dad1e28e06b80e93db5901d295deb12b -3caa0c5d4731ff0e1e138cbfb259b6d14e15787d788cdca1bef08611b09fcc71709ca72f6aa37d5a -5023507147be0b07f385a62df545340b70ef1a7239892e7136a9261dab9d5e7c52edb48ddaaacbcc -357acbed18e8a18745f46bd971807f7c66350759ed77cf8bdc0b3cb5137b815bb7b11e6ae801871b -821e0435f4622fb7dfccfadbffa366d6cbcdcdac78130ce3d8634aefcb6165314510de3b2608efbd -2ae2248362fecb5a0e7f0c16eac83d586f77297c41720fe207b4322ef0dadaabf97e04128fc07b26 -8a9cbc0efe27d090fb141bd3110466c3f53f69b6ae95ec695bb29552235458d6f3df71ec15f57953 -380a0f8e0862b056cd311adec053b49eaea2de5349dbfc1ceccd6d1d98eb7a7d1da0172d676eaf5b -0610db3febf1a8c0baa0b806f28b343ac9b5c0ac89e202f53ce63baf789a61e99759dcf67fc0f0e3 -6ab8a6b154e8ed8c6b253b643c4b46d02a57e67c13fa6f72dfcca4e515216e26359b89346cde85d1 -57b81711eb601ebc49b30f9bed4828ebe0ff51ec2fed19207b5730c1cade6d14cf05549dd010511f -4150b5be93bae77f7446f7bc5ea5eef91fcfaf7b1ec7ffac3ecf157a3f4a0ffd53fbae8ef23a6a2d -177db92cf5b1be748afb9c6c1efe01ffc9036155345fcef1e7da882fb3066db475d97cc59c7b4d53 -04d532b56dc03fa45a98ae0f8ce94031857e79eb0ea4ac2605fafda0010f6f6be64010e78607fe85 -bb3c255350e987d689a65aad3dac864c81de92491fff32d7d4c66cc2a6790cac8139aae717a44cd5 -a1a648a1007f47c6543fb852f30dcd5e142a026dc8ea546682def9a677a9e714e6bfa392aaca1703 -b452f324f070eb810f617e3ee4121b5f89a867292fe2d8474a99d09f4a8fb3b260660d7c97a5a19a -97424f1cc321f234a64e085e8b4cd21c4b9df3ddb7fb9633105ac3e1a8644a782c676ba6f48dd5ed -f6b8a4f5f4d40ce1e93c0e4ee29604af0b9d735f7653dda437f5402bb247ee29527a4fa7350bf95f -549283e0f91684bb4e6b1ec49a2f7057b4d22378499079ba5b123a8a24055948c15f0f48f9ab7bbb -fc3542e0af7978f59376922ad8c96ac14e221576528f6a65aed86a71e7b024a7bcdd0d3dae9307ae -2fdbded930016c84f59d7abb373c30f7d1960cc9fbb76c7be79156db3b1b3cdbaeef5cf7f4faceff -7469bdbfb3c1137a269655090b3c17b65ee0d93041b6c173a4f542d1b78d294af19cfda58b5242ac -07f38f81c1f34880984ae7a5640344e3eb21ba5ec0bb127e2877926a393e3110e26cd370b9bc3d9b -2f5bd87952d0b76f1680b1e4e7b4d4aed878c258554f5959e2eb389a161613591436bea9e0b3107e -5e137e77e3cc46746e917bf2de87a1b777eebfa0d30946db29cdc6fdb3af9bfc1ac008f356d9d6cd -1357dba503669630f9e989abfe4a26ae18365e317435585a79c9d97b8884d959e0426e5dce92e65b -37b865f0aa5973801dd42422df6c357c25a3d0476bd21405cb4732067d4fc13ace786cd9849631b3 -f48e6077ea999a101ea955f53c7abc66460cd54c9feda5691341d123f55389534dab17f26775942b -ca9f45b9a255edcb01a0137936af235da1cd9a2683793a4c174ee3c1e0bcf9f105177ab1dbba8085 -37174cb1a73c1f85151c3dde1b5519d5e88732ec0f5db222cb0a6a7b9f9d51a574df404c97d60b07 -7ee8f2536a4ec1fe3ebb8a562f5a6e6024df3870cab37ad712bd09cb5c8c1718969cd617b9796bb1 -dbbba4ae2a1af9b3aff150e9b6ec335d422288f1f751cbf65bf1fea2060df84ea810bf06fe8f8ff3 -4bd424a3f03faf625825ac7a704fa96ae8b1955cf118e9be872b9e30255358f890d7eec287ab5de4 -1b1fc62adff870afcd13b8dae5564c4ee1893ebbca8c5bed7cb8e2295bfab0d1583492bfac1c714f -28415c05896e9092e8c50df7ae8c2329c49f1df2e8df3ac5a3ff7cbef985814203c2d3f62efc4e37 -3aa8361d928d4d5f69bfd274efff51a5e94a73a5c902acd4551f6e7b22d8ba4edd8abd8f7b716783 -2d9c51e0fe04917810c83f7c4ae2a0973797b3a5242e27e309d18d4e650308bf7b76c84319b07426 -a23ec72e6bc2e59b5c2976a75a1bad1bef280c505f9e74096b5f145b709e8ff9ffa40ef397b2d463 -4f4b979d53a4746d946f4858ab7f70a1a1163466361c2197ba77c2cbd1bff198f07c0238f06ea3b7 -72601b5fad2aa3286dd0382b0d202f2ab1c04ef0bbba358a6ab7727eaaa0dda1c1bf775f132272b8 -516846cec433ceceda75df34ac90ca46d2bfde80f74f9801f59108fa408556d347940336d74aa722 -0e44e72464a714a527ee242f1b40910baf8381286a4af0509de04f469b1320eef6f81d84c021af6d -3548904e90eec0bbd6c95a5043676a41d754d6821a9ebf16044e8d6ae92cb43d6184fff56c5d6556 -70f6d4177cd4286822b4d9b898aa1c593d3bb9f3957e416bb81a87290cc24010f422a99080425305 -bcab7fb6fedd9fd4a2ce5708f4c897631ea7e5e9d539597a25dbfc5c042b659b9fa57c3aa8a1f2b7 -550dc1e4e21c932113523979cf225bd657e996cd96c647f2fa312d9d8f55d2cec70245e72383bb5a -705791b3acc772a5b4c7d252e8b10c6feeb1946e89ceefab3e37df02511cfb495fa510d4cf504936 -fb618bd2fe2e4263074b1b1dfc0173b87615eca70206587eb37485a1f1c28db3d093a8d0807e2939 -74ac6a7fce0d7407c11bc677a61e9ebd6f54ee68648096f92c7715fb893779a38dc835da2f9971a4 -bcb123c9c7138f49b2f2f24a4bf726ef4720423fe32ee1781c83b7f1abd5ed71086fbd43f384d008 -dee820e11456202656f043ac1f31019481881120654660d461d708634d30c2e8b85701c3def9ddc1 -7e2bc10864e318bc2ed821d92305e5a2e8940c9484fcf0073fb88db7170f698313400b409121058a -8f3bb262ba6df789d0a55ccc7f90ab01211734614126b7001996e89f76f3d64e36d8fed50382b0ef -961cbd546574505f7406d66ae11439e34efd29356e3f627ea6a6e3f95a3bb3853cc741ba5a8d00af -5f5e9bb36aa8bf25080447c1650e4cd0ad31c1b87f3036d5f3b0325431c420820111bf8126823508 -46e00fcfe01ea9391905d592131d1d49b78ef69d391717b45c82131bdf48729636327135f03609fb -95602c6840ca081e7be5098a87f01bf727404f5fe25735c0d0bb23b6a7e66532edd607d94ae574d2 -ccc6c8d1d08781cff4f0607a42b8de5161748b7792e3dd7802de250d1c9c3849b7390f69aed3c8f1 -ef642bfcbb4f2b017b258afb8fe17dae1d96bb18d73e87e2fe435a19ec0b62791685305d080f0203 -7438df8bbd0fa53d570f6ce6acec1db5586bfa312de89948b1f785a576e77aabb532f18978b2c03b -13be131647ee6dd0d829a5429dd91f693875ac9edeb65a635d178f82c5e50b84fd91efde6bd91f39 -163e559b0c619b42de77ffaf522d33387c5e7c63ecfd5e2c0f47dc39f6cf479117cedfeb8d4eacbe -f64d06c33e3a95977bf4586fb4d7798759eebaec55f186c80299f898b8b9f8b804782117e4191590 -4a904f4694e20ec666e4e61516ed1088d2e11dc68bf4fcf15bf863d1b2051514fb27e8a47e3d64c1 -b7faf346cdc8393351e4ec7c60dcaf2bff13a063fc55cbb3e0d5ac4bc816681faa79a50bb4f12190 -2806f85b649204d2d35d5628034b61fc1c16803d071f66ef1b8c308bf097d6562e6e2a71e76d9f2b -37104c6480c3d4d5cf75d98b9ded08dca9fec936b9de20093f2cc94d48bef6d708ad93576034afc5 -11a8689f736d217f428399893537e9c488f8e818492bfaa53460b357dad23b4fb18b8ba33773546f -1a6d1561931e5c44389e7499eb4f79b27263b39edf6442b6baa9cf1c9f7305a230a6ea50c83f1266 -548b7ed084efbcb9d2b0bcb4ec9dee51dab2d953a6799a5a8d417c5c43a16fd38d2a7c560fd00e23 -46bd5518a32b892326ede062be516ed2591e6982495f78c2a4e5ad4cc4a65f61335393187414262d -eb32279fff2afbcc7128ac575c40f3016ce9a197d3647f5fbd5a0d9e5a02a227e256249ce49ab43b -5461e6735e4c68a3657ca64b3958b6ba044f0eb3b4e20c5878bd5c031c7a104686352f62d1dc45b6 -e66b74614a3b1b3094fdac39bdb3e840fa3ec4d4d74d1f23923575f34db28e6ea83acb010525b2a6 -6e9d676bea9eae6c76abdb634b1935182e9f97916b9b9fe71f0bf3325be4f3323f3f3d2f73e24531 -8656df69e983ae794dbd394d3d8153280dca835b0379f09b094d087965f12d0c0ea99ba234cf5e68 -54f1535ed62085f054a47d3fada303dc59c9a93b91cc6bbda098d1b2aca94e56dcb80033b801b4e2 -905278b55c85b79e0ebe39326f255a89566db4b5621ada917454f2937fd1f124e3d8165418546a13 -64282f1adbd4c0c3440dd845fcdf495a3adf1b14ef83ec9097bf87b718ff1b3b6ae381b0c133ce2f -5e6a99b191799bb7a0ad282a585600ac088c75fb037f04bdf022ed40dc450fbae0376934dccb6b88 -d0be7c3091fe6ab35b34ba40a8c7fd9afe51340c04c7ba5b1929555b741289210e9406e6b32d2d57 -c2728ff3fc3c7e28f73bf1cda79aa54ebca0b0dcfa3b8769f67c4278688cd0e38139f874637396d7 -8bcde6e7403ad7ba32db61fb404baab6b413a95a9bc2309bdd7cd82f864f656d0c3a2df1bba1c74f -0fbd89dbf6621fbdb228fe1d08a7b36ad2ffc89653d445e43a174b4f515f4db05f06899d3847dd98 -c42f4e82454954ce9bd7dfca8978fbedeb096fbfd3a5cbff0127fb5d850a656e6473747265616d0a -656e646f626a0a31342030206f626a0a33333936380a656e646f626a0a392030206f626a0a3c3c2f -547970652f466f6e7444657363726970746f722f466f6e744e616d652f5851414a4b482b54696d65 -732d426f6c642f466f6e7442426f785b2d313638202d3334312031303933203936305d2f466c6167 -732033340a2f417363656e74203936300a2f436170486569676874203639320a2f44657363656e74 -202d3334310a2f4974616c6963416e676c6520300a2f5374656d56203136390a2f4d697373696e67 -5769647468203235300a2f58486569676874203437330a2f43686172536574282f73706163652f6f -6e652f74776f2f412f4f2f522f622f632f652f692f6c2f732f742f77290a2f466f6e7446696c6533 -2038203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f5479706531 -432f46696c7465722f466c6174654465636f64652f4c656e677468203135203020523e3e73747265 -616d0a789c65537b4c536714bf97c2bddf7c54a5b991466cefcc9412a6e2632ad9d04dc407883a82 -8a3a94d21628145a5b6879bf5ff209147988a0146da10a550ba8f89c3ae3127173eae26346b36c8b -9b664bf670f1dcfaf1c76eb72cfb63f9929393737ee79773cef73b34151840d1341d9cfcf14771f1 -eb2392f4393acbfcd54683d61f0d1366d1426880305b423e202fdf7cf326296836b5f148d0d463a1 -ccb260189e01edd3a0663a25a1e98256678cd15468d66764e6f1aaad89dbc32322defd2fb2282a2a -8a4f2bfc37c3afd159f419b9fc3cd1b1ea0c46538e2e37ef7d3e46441b0c7a0d9f612834655a78b5 -56abd3facbb6a90dba6c7eaddea037998c565e1513ce2f8e8c5c345f348b37e973d2f22d7ca23147 -9dcb6f3246f11bf9049d569f9ff3ff044551d28f34bacd96c43cbdcd90b668314f5173a835d45a2a -924aa296505ba9382a994aa062a8604a46d1d43471375420554adda517d10d015cc040c07349a4e4 -ace445605c604be09f8100cd525f3a7699dd103d22ac7504cbbcbe581757cf687171df0e98442cc2 -b1102343cc13e7750bca4b7655c9652633ec61655e17bba525af13f7e3ae3657dff5ee9110c8674e -461fccc0f94866c2d6b2cacc7d48e6adc3658da5a263328b25f0989968800aee25d4ff46ea83a4c2 -96d23b82fc048de16d0886e9122112682e5dbdb7340da3a549df43e81f43e3577bbaab2b5a95f62a -8cb17affce23795e8ccef63b476eadbfb4848486bd4dde218ae72a98fef8c6e0839b4a3fe5d7b0d9 -0b4b0769611ecce0343b0d85a9588b738f584f150e557beaef22b033b5df965ccc1ece1a49712461 -44662c57917964deb30898fef4f2d08b2f94a41b5671cd30e5c8e865ecc6bdc56d067b4193b12919 -95b0525f6f81c717e2117b8e85d7102b1166fbd6714447c2898a688906c2481868c417062ad1a692 -70882029cac62c0e026e93a922449d4002084bd8040880dd601807046f897dcbcbfaac1e618527df -11dcf42b287e9e29f3c00b78c2c942616e3e5b5b525b578e6b716553b11dc90c9d59792df9b32237 -242cdf7026e5b754e557396e33ce46da9cbdbb6353ce7f6f551819998744b9d8cebed603edd88edb -f675d40f945fab7063f4e3f8ade7f7b5e7546795eb8e1b5df824f2b85dc3fd0315d6a38a3e5b6761 -f71ef4b720e0cc105c39697605ff00cb201e56cd943df5ed717185b8acb5b28ba4c070c8e7bdae2e -b7ebf840cf283e8f64bf00ab1a27f10ad953f2d0cc3ca83b548263d0c42616afaeac8cae4266f8d1 -c546775476e2fb08920758d0902f8340cd4cc40bbf70b8b5a5bbb955e4e868edb1bb66fde44d9d13 -5fa2cdb62af716e96b563522297c577e1fde8cd1574129819b829a9b0fd16666d37b9add7149c874 -953c66e3ce69eede193df1ec8cc2dc69d315975ab1dc5871785409d75fb25218c47dc20ac7435848 -5ff333684506926461c6aadaab701a2217599c56539d52812c50ed6433ede587f0308a155e73a999 -99eadd9eacb1b1939eb173fa53a94a7135a57dc26a27eddbeee7986561bcf59dd5380f9797a51b3e -28d1565bcbf595671a0e5a1fd8eed6b8713beee9b00f37232729b3b023f5fb1b7b37b41684ac23ab -2cb7abfa6a7aeb0ec98df72a867097086b73b78830b385edaf6ba91dd800aa8949214e0666c0f8ef -643ce818030b85b93ddeb6b67ebbdc3f8fd3879cf4a7fe61d27c2b389268614e35f414e274347180 -c5e945367dc33fc364ed2feec5a3482a5c13f53528ccbd0ef18ee0cf4009cb216ca6ec3264f8abb7 -59980bfe5568d0c4ab83ec931b17d24e175fc17290bf7805e1a058f93391ec4a2fd2a62b13030f9f -73f47830ba35b89ecc54ca4a8822272e5e6d1abca4900a0d6253210e1aa6824a02f77c6b38622774 -d05eb6bdb9adb9b969a0c375a00b235767fe27ca098ec551b6225523b208939d6c645351377e8c84 -3bac9f04e4420230349c86508960860ccec2e4c694d7ce150f358211b5b8e0c9c35377f023f9eb95 -8f08b563972d2353a1d5daf4c60f919b19bce5755fc763d8537034e3a0b5cd287ecc9e82a4ec9dc9 -d1996af1c423519eb0549443b3d4e610d40ed8ee603c93809fecf14c9902fcb1295329ea2fd8bde9 -1d0a656e6473747265616d0a656e646f626a0a31352030206f626a0a313531380a656e646f626a0a -31362030206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31372030206f626a0a3c -3c2f5231300a3130203020522f5231330a3133203020523e3e0a656e646f626a0a31302030206f62 -6a0a3c3c2f537562747970652f54797065312f42617365466f6e742f5851414a4b482b54696d6573 -2d426f6c642f547970652f466f6e742f4e616d652f5231302f466f6e7444657363726970746f7220 -39203020522f4669727374436861722033322f4c61737443686172203235352f5769647468735b0a -32353020333333203535352035303020353030203130303020383333203333332033333320333333 -2035303020353730203235302035373020323530203237380a353030203530302035303020353030 -20353030203530302035303020353030203530302035303020333333203333332035373020353730 -20353730203530300a39333020373232203636372037323220373232203636372036313120373738 -20373738203338392035303020373738203636372039343420373232203737380a36313120373738 -20373232203535362036363720373232203732322031303030203732322037323220363637203333 -33203237382033333320353831203530300a33333320353030203535362034343420353536203434 -34203333332035303020353536203237382033333320353536203237382038333320353536203530 -300a3535362035353620343434203338392033333320353536203530302037323220353030203530 -302034343420333934203232302033393420353230203235300a3333332033333320333333203333 -33203333332033333320333333203333332033333320333333203333332033333320333333203235 -3020323530203235300a323738203235302032353020323530203235302032353020323530203235 -302037323220313030302032353020323530203235302032353020323530203235300a3235302033 -33332035303020353030203530302035303020323230203530302033333320373437203330302035 -3030203537302033333320373437203333330a343030203537302033303020333030203333332035 -35362035343020323530203333332033303020333330203530302037353020373530203735302035 -30300a37323220373232203732322037323220373232203732322031303030203732322036363720 -3636372036363720363637203338392033383920333839203338390a373232203732322037373820 -37373820373738203737382037373820353730203737382037323220373232203732322037323220 -37323220363131203535360a35303020353030203530302035303020353030203530302037323220 -34343420343434203434342034343420343434203237382032373820323738203237380a35303020 -35353620353030203530302035303020353030203530302035373020353030203535362035353620 -353536203535362035303020353536203530305d0a3e3e0a656e646f626a0a31332030206f626a0a -3c3c2f537562747970652f54797065312f42617365466f6e742f54696d65732d526f6d616e2f5479 -70652f466f6e742f4e616d652f5231332f466f6e7444657363726970746f72203132203020522f46 -69727374436861722033322f4c61737443686172203235352f5769647468735b0a32353020333333 -20343038203530302035303020383333203737382033333320333333203333332035303020353634 -203235302035363420323530203237380a3530302035303020353030203530302035303020353030 -20353030203530302035303020353030203237382032373820353634203536342035363420343434 -0a393231203732322036363720363637203732322036313120353536203732322037323220333333 -2033383920373232203631312038383920373232203732320a353536203732322036363720353536 -20363131203732322037323220393434203732322037323220363131203333332032373820333333 -20343639203530300a33333320343434203530302034343420353030203434342033333320353030 -20353030203237382032373820353030203237382037373820353030203530300a35303020353030 -20333333203338392032373820353030203530302037323220353030203530302034343420343830 -203230302034383020353431203235300a3333332033333320333333203333332033333320333333 -20333333203333332033333320333333203333332033333320333333203235302032353020323530 -0a323738203235302032353020323530203235302032353020323530203235302037323220383839 -2032353020323530203235302032353020323530203235300a323530203333332035303020353030 -20353030203530302032303020353030203333332037363020323736203530302035363420333333 -20373630203333330a34303020353634203330302033303020333333203530302034353320323530 -20333333203330302033313020353030203735302037353020373530203434340a37323220373232 -20373232203732322037323220373232203838392036363720363131203631312036313120363131 -203333332033333320333333203333330a3732322037323220373232203732322037323220373232 -20373232203536342037323220373232203732322037323220373232203732322035353620353030 -0a343434203434342034343420343434203434342034343420363637203434342034343420343434 -2034343420343434203237382032373820323738203237380a353030203530302035303020353030 -20353030203530302035303020353634203530302035303020353030203530302035303020353030 -20353030203530305d0a2f456e636f64696e67203138203020523e3e0a656e646f626a0a31382030 -206f626a0a3c3c2f547970652f456e636f64696e672f446966666572656e6365735b0a34352f6d69 -6e75735d3e3e0a656e646f626a0a322030206f626a0a3c3c2f50726f647563657228455350204768 -6f737473637269707420372e3037293e3e656e646f626a0a787265660a302031390a303030303030 -303030302036353533352066200a30303030303032313830203030303030206e200a303030303034 -30363934203030303030206e200a30303030303032313231203030303030206e200a303030303030 -32323238203030303030206e200a30303030303031393730203030303030206e200a303030303030 -30303135203030303030206e200a30303030303031393530203030303030206e200a303030303033 -36383536203030303030206e200a30303030303336353839203030303030206e200a303030303033 -38353533203030303030206e200a30303030303032353133203030303030206e200a303030303030 -32323937203030303030206e200a30303030303339353931203030303030206e200a303030303033 -36353637203030303030206e200a30303030303338343539203030303030206e200a303030303033 -38343830203030303030206e200a30303030303338353130203030303030206e200a303030303034 -30363336203030303030206e200a747261696c65720a3c3c202f53697a65203139202f526f6f7420 -3120302052202f496e666f2032203020520a3e3e0a7374617274787265660a34303734340a252545 -4f460a diff --git a/debian/patches/00list b/debian/patches/00list deleted file mode 100644 index 9260bb7ed5..0000000000 --- a/debian/patches/00list +++ /dev/null @@ -1,5 +0,0 @@ -# 02_add_debian_files_in_manpage.dpatch -03_tor_manpage_in_section_8.dpatch -06_add_compile_time_defaults.dpatch -07_log_to_file_by_default.dpatch -14_fix_geoip_warning diff --git a/debian/patches/02_add_debian_files_in_manpage.dpatch b/debian/patches/02_add_debian_files_in_manpage.dpatch deleted file mode 100755 index ac87f43821..0000000000 --- a/debian/patches/02_add_debian_files_in_manpage.dpatch +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -e -## 02_add_debian_files_in_manpage.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change the FILES section of the manpage to properly describe the situation on Debian systems. - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.E9VjWB/tor-0.1.1.5/doc/tor.1.in ---- tor-0.1.1.12/doc/tor.1.in -+++ /tmp/dpep.E9VjWB/tor-0.1.1.12/doc/tor.1.in -@@ -700,9 +700,15 @@ - .TP - .B @LOCALSTATEDIR@/lib/tor/ - The tor process stores keys and other data here. -+.TP -+.B /var/log/tor/ -+The tor server logs to this directory. -+.TP -+.B /var/run/tor/tor.pid -+The PID of the tor (master) process is stored in this file. - .LP - .TP --.B \fIDataDirectory\fP/approved-routers -+.B /var/lib/tor/approved-routers - Only for naming authoritative directory servers - (see \fBNamingAuthoritativeDirectory\fP). - This file lists nickname to identity bindings. Each line lists a diff --git a/debian/patches/03_tor_manpage_in_section_8.dpatch b/debian/patches/03_tor_manpage_in_section_8.dpatch deleted file mode 100755 index 28bbf957c0..0000000000 --- a/debian/patches/03_tor_manpage_in_section_8.dpatch +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -e -## 03_tor_manpage_in_section_8.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Move the Tor manpage from section 1 to section 8. - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor-0.1.1.5/contrib/torify.1 /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1 ---- tor-0.1.1.5/contrib/torify.1 -+++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1 -@@ -18,6 +18,6 @@ - to suid binaries. - - .SH SEE ALSO --.BR tor (1), -+.BR tor (8), - .BR tor-resolve (1), - .BR tsocks (1), -diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in ---- tor-0.1.1.5/doc/tor.1.in -+++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in -@@ -1,4 +1,4 @@ --.TH TOR 1 "January 2009" "TOR" -+.TH TOR 8 "January 2009" "TOR" - .SH NAME - tor \- The second-generation onion router - .SH SYNOPSIS diff --git a/debian/patches/06_add_compile_time_defaults.dpatch b/debian/patches/06_add_compile_time_defaults.dpatch deleted file mode 100755 index a2472d1db8..0000000000 --- a/debian/patches/06_add_compile_time_defaults.dpatch +++ /dev/null @@ -1,118 +0,0 @@ -#! /bin/sh -e -## 06_add_compile_time_defaults.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change a few compile time defaults so that Tor is better integrated on a Debian system - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor-trunk~/src/or/config.c tor-trunk/src/or/config.c ---- tor-trunk~/src/or/config.c 2009-01-18 01:47:33.000000000 +0100 -+++ tor-trunk/src/or/config.c 2009-02-05 00:25:17.614844812 +0100 -@@ -12,6 +12,7 @@ - #define CONFIG_PRIVATE - - #include "or.h" -+#include - #ifdef MS_WINDOWS - #include - #endif -@@ -711,6 +712,8 @@ - #if defined(HAVE_EVENT_GET_VERSION) && defined(HAVE_EVENT_GET_METHOD) - static void check_libevent_version(const char *m, int server); - #endif -+static int debian_running_as_debiantor(); -+static int debian_config_fix_defaults(); - - /** Magic value for or_options_t. */ - #define OR_OPTIONS_MAGIC 9090909 -@@ -3917,6 +3920,9 @@ - char *command_arg = NULL; - char *errmsg=NULL; - -+ if (debian_config_fix_defaults() < 0) -+ goto err; -+ - if (argv) { /* first time we're called. save command line args */ - backup_argv = argv; - backup_argc = argc; -@@ -5307,3 +5313,62 @@ - return 0; - } - -+/* Checks whether we are running as the debian-tor user. -+ * Returns -1 on error, 2 if we are root, 1 if we are debian-tor, 0 if we are any normal user */ -+static int -+debian_running_as_debiantor() -+{ -+ struct passwd *pw = NULL; -+ int uid; -+ -+ uid = getuid(); -+ /* If we run as root we also apply our debian defaults. */ -+ if (uid == 0) -+ return 2; -+ -+ pw = getpwuid(uid); -+ if (!pw) { -+ log(LOG_WARN, LD_GENERAL, "Could not get passwd information for uid %d.", uid); -+ return -1; -+ } -+ assert(pw->pw_name); -+ if (strcmp(pw->pw_name, "debian-tor") == 0) -+ return 1; -+ else -+ return 0; -+} -+ -+static int -+debian_config_fix_defaults() -+{ -+ config_var_t *var; -+ static int fixed = 0; -+ int running_as_debian; -+ -+ if (fixed) return 0; -+ fixed = 1; -+ -+ running_as_debian = debian_running_as_debiantor(); -+ if (running_as_debian < 0) return -1; -+ if (!running_as_debian) return 0; -+ -+ var = config_find_option(&options_format, "DataDirectory"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("/var/lib/tor"); -+ -+ var = config_find_option(&options_format, "PidFile"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("/var/run/tor/tor.pid"); -+ -+ var = config_find_option(&options_format, "RunAsDaemon"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("1"); -+ -+ if (running_as_debian == 2) { -+ var = config_find_option(&options_format, "User"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("debian-tor"); -+ }; -+ -+ return 0; -+} diff --git a/debian/patches/07_log_to_file_by_default.dpatch b/debian/patches/07_log_to_file_by_default.dpatch deleted file mode 100755 index 225171d0b5..0000000000 --- a/debian/patches/07_log_to_file_by_default.dpatch +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sh -e -## 07_log_to_file_by_default.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change default logging target from stdout to a logfile - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor~/src/or/config.c tor/src/or/config.c ---- tor~/src/or/config.c 2006-07-24 05:15:02.576170550 +0200 -+++ tor/src/or/config.c 2006-07-24 05:18:45.286651501 +0200 -@@ -2118,8 +2118,13 @@ - REJECT("Failed to normalize old Log options. See logs for details."); - - /* Special case on first boot if no Log options are given. */ -- if (!options->Logs && !options->RunAsDaemon && !from_setconf) -- config_line_append(&options->Logs, "Log", "notice stdout"); -+ if (debian_running_as_debiantor()) { -+ if (!options->Logs && !from_setconf) -+ config_line_append(&options->Logs, "Log", "notice file /var/log/tor/log"); -+ } else { -+ if (!options->Logs && !options->RunAsDaemon && !from_setconf) -+ config_line_append(&options->Logs, "Log", "notice stdout"); -+ } - - if (options_init_logs(options, 1)<0) /* Validate the log(s) */ - REJECT("Failed to validate Log options. See logs for details."); diff --git a/debian/patches/14_fix_geoip_warning.dpatch b/debian/patches/14_fix_geoip_warning.dpatch deleted file mode 100755 index 09737d7a61..0000000000 --- a/debian/patches/14_fix_geoip_warning.dpatch +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -e -## 14_fix_geoip_warning.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change geoipdb open failed message - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad git-stable~/src/or/geoip.c git-stable/src/or/geoip.c ---- git-stable~/src/or/geoip.c 2008-06-06 01:00:41.000000000 +0200 -+++ git-stable/src/or/geoip.c 2008-06-11 12:54:17.605150644 +0200 -@@ -182,7 +182,8 @@ - int severity = options_need_geoip_info(options, &msg) ? LOG_WARN : LOG_INFO; - clear_geoip_db(); - if (!(f = fopen(filename, "r"))) { -- log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s", -+ log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s" -+ " Do you have the tor-geoipdb package installed?", - filename, msg); - return -1; - } diff --git a/debian/rules b/debian/rules deleted file mode 100755 index f5aaa95545..0000000000 --- a/debian/rules +++ /dev/null @@ -1,211 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -export PACKAGE=tor -include /usr/share/dpatch/dpatch.make - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -# -# See /usr/share/doc/autotools-dev/README.Debian.gz which suggests -# this way of passing --build and --host. Also see the thread on -# debian-devel './configure in debian/rules' from February/March 2006, -# starting with <43FF212C.5020800@xs4all.nl> by Pjotr Kourzanov. -export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) - confflags += --build $(DEB_HOST_GNU_TYPE) -else - confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) -endif - -CFLAGS ?= -Wall -g - -LOCALHOST_IP ?= $(shell getent hosts localhost | awk '{print $$1}') - -# Do not optimize the build with "noopt" -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -# Do not strip the binary with "nostrip" -#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -# INSTALL_PROGRAM += -s -#endif - -# Prevent the unit tests from being run with "nocheck" -ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) - RUN_TEST = no -endif -ifneq (,$(findstring notest,$(DEB_BUILD_OPTIONS))) - RUN_TEST = no -endif - -# Support passing of parallel= in build options -ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - MAKEFLAGS += -j$(NUMJOBS) -endif - -CONF_OPTIONS = -# build against libdmalloc4 - it better be installed -ifneq (,$(findstring with-dmalloc,$(DEB_BUILD_OPTIONS))) - CONF_OPTIONS += --with-dmalloc -endif -# allow building with --enable-openbsd-malloc -ifneq (,$(findstring enable-openbsd-malloc,$(DEB_BUILD_OPTIONS))) - CONF_OPTIONS += --enable-openbsd-malloc -endif - -configure: patch-stamp -config.status: configure - @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi - dh_testdir - CFLAGS="$(CFLAGS)" ./configure \ - $(confflags) \ - --prefix=/usr \ - --mandir=\$${prefix}/share/man \ - --infodir=\$${prefix}/share/info \ - --localstatedir=/var \ - --sysconfdir=/etc \ - $(CONF_OPTIONS) - - -build: build-stamp - -build-stamp: config.status - dh_testdir - - $(MAKE) - @echo - @echo - # Running unit tests - @if [ "$(RUN_TEST)" != "no" ]; then \ - if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then \ - echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; \ - echo "src/or/test || true"; \ - src/or/test || true; \ - else \ - echo "src/or/test"; \ - src/or/test; \ - fi; \ - else \ - echo -e "\n\nSkipping unittests\n\n"; \ - fi - @echo - - # XXX - # So, gs-gpl on s390 is broken (#457568) and fails to properly build - # .pdf files from .fig files using fig2dev. Therefore we ship them - # until this bug is fixed. - # - # of course we can always give it a try - # - # the hexdumps were built using something like - # perl -e 'while (<>) { print unpack ("H*", $_); }' interaction.pdf | fold > hexdump-interaction.pdf - # - # And it fails on a bunch of other archs too. - cd doc/design-paper; \ - fig2dev -L pdf cell-struct.fig cell-struct.pdf || \ - ( echo "** Using shipped pdf file because fig2dev failed"; \ - perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-cell-struct.pdf > cell-struct.pdf ); \ - fig2dev -L pdf interaction.fig interaction.pdf || \ - ( echo "** Using shipped pdf file because fig2dev failed"; \ - perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-interaction.pdf > interaction.pdf ); \ - # XXX ends - - make -C doc/design-paper tor-design.ps tor-design.pdf - - touch build-stamp - -clean: unpatch - dh_testdir - dh_testroot - rm -f build-stamp - - [ ! -f Makefile ] || $(MAKE) distclean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - $(MAKE) install DESTDIR=$(CURDIR)/debian/tor - # move tor to where it belongs - mv $(CURDIR)/debian/tor/etc/tor/torrc.sample $(CURDIR)/debian/tor/etc/tor/torrc - mv $(CURDIR)/debian/tor/usr/bin/tor $(CURDIR)/debian/tor/usr/sbin/tor - install -d $(CURDIR)/debian/tor/usr/share/man/man8 - mv $(CURDIR)/debian/tor/usr/share/man/man1/tor.1 $(CURDIR)/debian/tor/usr/share/man/man8/tor.8 - - install -m 755 contrib/torify $(CURDIR)/debian/tor/usr/bin - install -m 644 contrib/torify.1 $(CURDIR)/debian/tor/usr/share/man/man1 - install -m 644 contrib/tor-tsocks.conf $(CURDIR)/debian/tor/etc/tor - - install -m 644 debian/tor.lintian-override $(CURDIR)/debian/tor/usr/share/lintian/overrides/tor - - install -d -m 755 $(CURDIR)/debian/tor/usr/share/doc/tor/spec - for i in doc/spec/*txt; do \ - install -m 644 $$i $(CURDIR)/debian/tor/usr/share/doc/tor/spec || exit 1; \ - done - - dh_link usr/share/man/man8/tor.8 usr/share/man/man5/torrc.5 - - rm -f $(CURDIR)/debian/tor/usr/bin/tor-control.py - - # tor-dbg doc dir - install -d -m 755 $(CURDIR)/debian/tor-dbg/usr/share/doc - ln -s tor $(CURDIR)/debian/tor-dbg/usr/share/doc/tor-dbg - - # tor-geoip - mv $(CURDIR)/debian/tor/usr/share/tor/geoip $(CURDIR)/debian/tor-geoipdb/usr/share/tor - rmdir $(CURDIR)/debian/tor/usr/share/tor || true - - install -d -m 755 $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - ln -s ../tor/changelog.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - ln -s ../tor/changelog.Debian.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - - install -m 644 debian/tor-geoipdb.lintian-override $(CURDIR)/debian/tor-geoipdb/usr/share/lintian/overrides/tor-geoipdb - -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep -# in another 'make' thread. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs --package=tor ChangeLog - dh_installdocs - dh_installexamples - dh_installlogrotate - dh_installinit - dh_installman - dh_link - dh_strip --dbg-package=tor-dbg - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -# Build architecture independant packages using the common target. -binary-indep: install - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common - -# Build architecture dependant packages using the common target. -binary-arch: install - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Result of testsuite has been ignored. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi - -binary: binary-indep binary-arch -.PHONY: build clean binary-common binary-indep binary-arch binary install diff --git a/debian/tor-geoipdb.copyright b/debian/tor-geoipdb.copyright deleted file mode 100644 index 7df15345d9..0000000000 --- a/debian/tor-geoipdb.copyright +++ /dev/null @@ -1,35 +0,0 @@ -This geo-ip database was downloaded as part of the Tor distribution -from . - - -It is the IP-to-Country Database provided by WebHosting.Info -(http://www.webhosting.info), available from -http://ip-to-country.webhosting.info. - - -Copyright (c) 2003 Direct Information Pvt. Ltd. All Rights Reserved. - -All usage, reproduction, modification and derivative works created from, and -distribution and publication of the IP-to-Country Database and your derivative -works thereof must keep intact all copyright notices and give credit by -displaying the following acknowledgment by replacing 'work' with one of the -following: script, product, page, service or application: - -"This 'work' uses the IP-to-Country Database - provided by WebHosting.Info (http://www.webhosting.info), - available from http://ip-to-country.webhosting.info." - -BECAUSE THE DATABASE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE -DATABASE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE -STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE -DATABASE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTIES REGARDING THE CONTENTS OR -ACCURACY OF THE WORK. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE -DATABASE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THE DATABASE, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN -ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/debian/tor-geoipdb.dirs b/debian/tor-geoipdb.dirs deleted file mode 100644 index ae82aa920c..0000000000 --- a/debian/tor-geoipdb.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/tor -usr/share/lintian/overrides diff --git a/debian/tor-geoipdb.lintian-override b/debian/tor-geoipdb.lintian-override deleted file mode 100644 index 2e0bee595b..0000000000 --- a/debian/tor-geoipdb.lintian-override +++ /dev/null @@ -1 +0,0 @@ -tor-geoipdb: debian-changelog-file-is-a-symlink diff --git a/debian/tor.NEWS b/debian/tor.NEWS deleted file mode 100644 index 18860ccaae..0000000000 --- a/debian/tor.NEWS +++ /dev/null @@ -1,16 +0,0 @@ -tor (0.2.0.26-rc-1) experimental; urgency=critical - - * weak cryptographic keys - - It has been discovered that the random number generator in Debian's - openssl package is predictable. This is caused by an incorrect - Debian-specific change to the openssl package (CVE-2008-0166). As a - result, cryptographic key material may be guessable. - - See Debian Security Advisory number 1571 (DSA-1571) for more information: - http://lists.debian.org/debian-security-announce/2008/msg00152.html - - If you run a Tor server using this package please see - /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY - - -- Peter Palfrader Tue, 13 May 2008 12:49:05 +0200 diff --git a/debian/tor.default b/debian/tor.default deleted file mode 100644 index 1ae1e15861..0000000000 --- a/debian/tor.default +++ /dev/null @@ -1,39 +0,0 @@ -# Defaults for tor initscript -# sourced by /etc/init.d/tor -# installed at /etc/default/tor by the maintainer scripts - -# -# This is a bash shell fragment -# -RUN_DAEMON="yes" - -# -# Servers sometimes may need more than the default 1024 file descriptors -# if they are very busy and have many clients connected to them. The top -# servers as of early 2008 regularly have more than 10000 connected -# clients. -# (ulimit -n) -# -# (the default varies as it depends on the number of available system-wide file -# descriptors. See the init script in /etc/init.d/tor for details.) -# -# MAX_FILEDESCRIPTORS= - -# -# If tor is seriously hogging your CPU, taking away too much cycles from -# other system resources, then you can renice tor. See nice(1) for a -# bit more information. Another way to limit the CPU usage of an Onion -# Router is to set a lower BandwidthRate, as CPU usage is mostly a function -# of the amount of traffic flowing through your node. Consult the torrc(5) -# manual page for more information on setting BandwidthRate. -# -# NICE="--nicelevel 5" - -# Additional arguments to pass on tor's command line. -# -# ARGS="" - -# -# Uncomment this if you want to get coredumps -# -ulimit -c unlimited diff --git a/debian/tor.dirs b/debian/tor.dirs deleted file mode 100644 index 72d914a77b..0000000000 --- a/debian/tor.dirs +++ /dev/null @@ -1,6 +0,0 @@ -etc/tor -var/lib/tor -var/log/tor -usr/share/lintian/overrides -usr/bin -usr/sbin diff --git a/debian/tor.docs b/debian/tor.docs deleted file mode 100644 index 40dfa469cd..0000000000 --- a/debian/tor.docs +++ /dev/null @@ -1,9 +0,0 @@ -AUTHORS -debian/README.Debian -debian/README.privoxy -doc/HACKING -doc/TODO -doc/design-paper/tor-design.pdf -doc/design-paper/tor-design.ps -doc/website/stylesheet.css -doc/website/tor-* diff --git a/debian/tor.init b/debian/tor.init deleted file mode 100644 index b018847c08..0000000000 --- a/debian/tor.init +++ /dev/null @@ -1,191 +0,0 @@ -#! /bin/bash - -### BEGIN INIT INFO -# Provides: tor -# Required-Start: $local_fs $remote_fs $network $named $time -# Required-Stop: $local_fs $remote_fs $network $named $time -# Should-Start: $syslog -# Should-Stop: $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Starts The Onion Router daemon processes -# Description: Start The Onion Router, a TCP overlay -# network client that provides anonymous -# transport. -### END INIT INFO - -set -e - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/sbin/tor -NAME=tor -DESC="tor daemon" -TORPIDDIR=/var/run/tor -TORPID=$TORPIDDIR/tor.pid -DEFAULTSFILE=/etc/default/$NAME -WAITFORDAEMON=60 -ARGS="" -# Let's try to figure our some sane defaults: -if [ -r /proc/sys/fs/file-max ]; then - system_max=`cat /proc/sys/fs/file-max` - if [ "$system_max" -gt "80000" ] ; then - MAX_FILEDESCRIPTORS=32768 - elif [ "$system_max" -gt "40000" ] ; then - MAX_FILEDESCRIPTORS=16384 - elif [ "$system_max" -gt "10000" ] ; then - MAX_FILEDESCRIPTORS=8192 - else - MAX_FILEDESCRIPTORS=1024 - cat << EOF - -Warning: Your system has very few filedescriptors available in total. - -Maybe you should try raising that by adding 'fs.file-max=100000' to your -/etc/sysctl.conf file. Feel free to pick any number that you deem appropriate. -Then run 'sysctl -p'. See /proc/sys/fs/file-max for the current value, and -file-nr in the same directory for how many of those are used at the moment. - -EOF - fi -else - MAX_FILEDESCRIPTORS=8192 -fi - -NICE="" - -test -x $DAEMON || exit 0 - -# Include tor defaults if available -if [ -f $DEFAULTSFILE ] ; then - . $DEFAULTSFILE -fi - -wait_for_deaddaemon () { - pid=$1 - sleep 1 - if test -n "$pid" - then - if kill -0 $pid 2>/dev/null - then - echo -n "." - cnt=0 - while kill -0 $pid 2>/dev/null - do - cnt=`expr $cnt + 1` - if [ $cnt -gt $WAITFORDAEMON ] - then - echo " FAILED." - return 1 - fi - sleep 1 - echo -n "." - done - fi - fi - return 0 -} - - -check_torpiddir () { - if test ! -d $TORPIDDIR; then - #echo "There is no $TORPIDDIR directory. Creating one for you." - mkdir -m 02700 "$TORPIDDIR" - chown debian-tor:debian-tor "$TORPIDDIR" - fi - - if test ! -x $TORPIDDIR; then - echo "Cannot access $TORPIDDIR directory, are you root?" >&2 - exit 1 - fi -} - -check_config () { - if ! $DAEMON --verify-config > /dev/null; then - echo "ABORTED: Tor configuration invalid:" >&2 - $DAEMON --verify-config >&2 - exit 1 - fi -} - - -case "$1" in - start) - if [ "$RUN_DAEMON" != "yes" ]; then - echo "Not starting $DESC (Disabled in $DEFAULTSFILE)." - exit 0 - fi - - if [ -n "$MAX_FILEDESCRIPTORS" ]; then - echo -n "Raising maximum number of filedescriptors (ulimit -n) to $MAX_FILEDESCRIPTORS" - if ulimit -n "$MAX_FILEDESCRIPTORS" ; then - echo "." - else - echo ": FAILED." - fi - fi - - check_torpiddir - - echo "Starting $DESC: $NAME..." - check_config - - start-stop-daemon --start --quiet --oknodo \ - --pidfile $TORPID \ - $NICE \ - --exec $DAEMON -- $ARGS - echo "done." - ;; - stop) - echo -n "Stopping $DESC: " - pid=`cat $TORPID 2>/dev/null` || true - - if test ! -f $TORPID -o -z "$pid"; then - echo "not running (there is no $TORPID)." - exit 0 - fi - - if start-stop-daemon --stop --signal INT --quiet --pidfile $TORPID --exec $DAEMON; then - wait_for_deaddaemon $pid - echo "$NAME." - elif kill -0 $pid 2>/dev/null - then - echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)." - else - echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." - fi - ;; - reload|force-reload) - echo -n "Reloading $DESC configuration: " - pid=`cat $TORPID 2>/dev/null` || true - - if test ! -f $TORPID -o -z "$pid"; then - echo "not running (there is no $TORPID)." - exit 0 - fi - - check_config - - if start-stop-daemon --stop --signal 1 --quiet --pidfile $TORPID --exec $DAEMON - then - echo "$NAME." - elif kill -0 $pid 2>/dev/null - then - echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)." - else - echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." - fi - ;; - restart) - check_config - - $0 stop - sleep 1 - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/debian/tor.lintian-override b/debian/tor.lintian-override deleted file mode 100644 index 192b63b66f..0000000000 --- a/debian/tor.lintian-override +++ /dev/null @@ -1 +0,0 @@ -tor: package-contains-upstream-install-documentation diff --git a/debian/tor.logrotate b/debian/tor.logrotate deleted file mode 100644 index 6e73fee344..0000000000 --- a/debian/tor.logrotate +++ /dev/null @@ -1,13 +0,0 @@ -/var/log/tor/*log { - daily - rotate 5 - compress - delaycompress - missingok - notifempty - create 0640 debian-tor adm - sharedscripts - postrotate - /etc/init.d/tor reload > /dev/null - endscript -} diff --git a/debian/tor.postinst b/debian/tor.postinst deleted file mode 100644 index b9ac61596f..0000000000 --- a/debian/tor.postinst +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh -e - -# checking debian-tor account - -uid=`getent passwd debian-tor | cut -d ":" -f 3` -home=`getent passwd debian-tor | cut -d ":" -f 6` - -# if there is the uid the account is there and we can do -# the sanit(ar)y checks otherwise we can safely create it. - -if [ "$uid" ]; then - if [ "$home" = "/var/lib/tor" ]; then - : - #echo "debian-tor homedir check: ok" - else - echo "ERROR: debian-tor account has an unexpected home directory!" - echo "It should be '/var/lib/tor', but it is '$home'." - echo "Removing the debian-tor user might fix this, but the question" - echo "remains how you got into this mess to begin with." - exit 1 - fi -else - adduser --quiet \ - --system \ - --disabled-password \ - --home /var/lib/tor \ - --no-create-home \ - --shell /bin/bash \ - --group \ - debian-tor -fi - - -for i in lib run log; do - if ! [ -d "/var/$i/tor" ]; then - echo "Something or somebody made /var/$i/tor disappear." - echo "Creating one for you again." - mkdir "/var/$i/tor" - fi -done - -find /var/lib/tor \( \( ! -user debian-tor \) -o \( ! -group debian-tor \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:debian-tor -find /var/lib/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02700 -find /var/lib/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00600 - -if [ -e /var/run/tor ]; then - find /var/run/tor \( \( ! -user debian-tor \) -o \( ! -group debian-tor \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:debian-tor - find /var/run/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02750 - find /var/run/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00600 -fi - -find /var/log/tor \( \( ! -user debian-tor \) -o \( ! -group adm \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:adm -find /var/log/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02750 -find /var/log/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00640 - - -move_away_keys=0 - -if [ "$1" = "configure" ] && - [ -e /var/lib/tor/keys ] && - [ ! -z "$2" ]; then - if dpkg --compare-versions "$2" lt 0.1.2.19-2; then - move_away_keys=1 - elif dpkg --compare-versions "$2" gt 0.2.0 && - dpkg --compare-versions "$2" lt 0.2.0.26-rc; then - move_away_keys=1 - fi -fi -if [ "$move_away_keys" = "1" ]; then - echo "Retiring possibly compromised keys. See /usr/share/doc/tor/NEWS.Debian.gz" - echo "and /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY for" - echo "further information." - if ! [ -d /var/lib/tor/keys/moved-away-by-tor-package ]; then - mkdir /var/lib/tor/keys/moved-away-by-tor-package - cat > /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY << EOF -It has been discovered that the random number generator in Debian's -openssl package is predictable. This is caused by an incorrect -Debian-specific change to the openssl package (CVE-2008-0166). As a -result, cryptographic key material may be guessable. - -See Debian Security Advisory number 1571 (DSA-1571) for more information: -http://lists.debian.org/debian-security-announce/2008/msg00152.html - -The Debian package for Tor has moved away the onion keys upon package -upgrade, and it will have moved away your identity key if it was created -in the affected timeframe. There is no sure way to automatically tell -if your key was created with an affected openssl library, so this move -is done unconditionally. - -If you have restarted Tor since this change (and the package probably -did that for you already unless you configured your system differently) -then the Tor daemon already created new keys for itself and in all -likelyhood is already working just fine with new keys. - -If you are absolutely certain that your identity key was created with -a non-affected version of openssl and for some reason you have to retain -the old identity, then you can move back the copy of secret_id_key to -/var/lib/tor/keys. Do not move back the onion keys, they were created -only recently since they are temporary keys with a lifetime of only a few -days anyway. - -Sincerely, -Peter Palfrader, Tue, 13 May 2008 13:32:23 +0200 -EOF - fi - for f in secret_onion_key secret_onion_key.old; do - if [ -e /var/lib/tor/keys/"$f" ]; then - mv -v /var/lib/tor/keys/"$f" /var/lib/tor/keys/moved-away-by-tor-package/"$f" - fi - done - if [ -e /var/lib/tor/keys/secret_id_key ]; then - id_mtime=`/usr/bin/stat -c %Y /var/lib/tor/keys/secret_id_key` - sept=`date -d '2006-09-10' +%s` - if [ "$id_mtime" -gt "$sept" ] ; then - mv -v /var/lib/tor/keys/secret_id_key /var/lib/tor/keys/moved-away-by-tor-package/secret_id_key - fi - fi -fi - - -#DEBHELPER# - -exit 0 diff --git a/debian/tor.postrm b/debian/tor.postrm deleted file mode 100644 index cb3707e27f..0000000000 --- a/debian/tor.postrm +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -e - -if [ "$1" = "purge" ]; then - # logs have to be removed according to policy. - rm -rf /var/log/tor/ - rm -rf /var/lib/tor/ -fi - -#DEBHELPER# - -exit 0 diff --git a/debian/watch b/debian/watch deleted file mode 100644 index 26dad04bf6..0000000000 --- a/debian/watch +++ /dev/null @@ -1,2 +0,0 @@ -version=2 -http://tor.eff.org/dist/tor-(.*)\.tar\.gz