summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2007-07-05 16:59:34 +0300
committerPanu Matilainen <pmatilai@redhat.com>2007-07-05 16:59:34 +0300
commit5275cce57b26482baa54ba9935a36d9c93aa4e23 (patch)
tree2da1223bdeaac2cbf7f461d6bdbb9b9415155a8e
parent769ad04453840ad92cb2a438c6f0825a76cd01f7 (diff)
downloadlibrpm-tizen-5275cce57b26482baa54ba9935a36d9c93aa4e23.tar.gz
librpm-tizen-5275cce57b26482baa54ba9935a36d9c93aa4e23.tar.bz2
librpm-tizen-5275cce57b26482baa54ba9935a36d9c93aa4e23.zip
Rip out popt.
-rw-r--r--Makefile.am4
-rwxr-xr-xautogen.sh17
-rw-r--r--configure.ac11
-rw-r--r--popt/.cvsignore34
-rw-r--r--popt/.splintrc44
-rw-r--r--popt/ABOUT-NLS324
-rw-r--r--popt/CHANGES46
-rw-r--r--popt/COPYING22
-rw-r--r--popt/Doxyfile.in475
-rw-r--r--popt/Makefile.am64
-rw-r--r--popt/README18
-rwxr-xr-xpopt/autogen.sh35
-rwxr-xr-xpopt/configure.ac97
-rw-r--r--popt/findme.c51
-rw-r--r--popt/findme.h20
-rwxr-xr-xpopt/mkinstalldirs40
-rw-r--r--popt/po/.cvsignore7
-rw-r--r--popt/po/ChangeLog6
-rw-r--r--popt/po/Makefile.in.in196
-rw-r--r--popt/po/POTFILES.in10
-rw-r--r--popt/po/cs.po112
-rw-r--r--popt/po/da.po114
-rw-r--r--popt/po/de.po117
-rw-r--r--popt/po/es.po118
-rw-r--r--popt/po/eu_ES.po117
-rw-r--r--popt/po/fi.po117
-rw-r--r--popt/po/fr.po122
-rw-r--r--popt/po/gl.po113
-rw-r--r--popt/po/hu.po113
-rw-r--r--popt/po/id.po117
-rw-r--r--popt/po/is.po112
-rw-r--r--popt/po/it.po117
-rw-r--r--popt/po/ja.po117
-rw-r--r--popt/po/ko.po112
-rw-r--r--popt/po/no.po112
-rw-r--r--popt/po/pl.po116
-rw-r--r--popt/po/popt.pot117
-rw-r--r--popt/po/pt.po112
-rw-r--r--popt/po/pt_BR.po117
-rw-r--r--popt/po/ro.po114
-rw-r--r--popt/po/ru.po112
-rw-r--r--popt/po/sk.po117
-rw-r--r--popt/po/sl.po113
-rw-r--r--popt/po/sr.po117
-rw-r--r--popt/po/sv.po112
-rw-r--r--popt/po/tr.po113
-rw-r--r--popt/po/uk.po117
-rw-r--r--popt/po/wa.po121
-rw-r--r--popt/po/zh.po117
-rw-r--r--popt/po/zh_CN.po118
-rw-r--r--popt/po/zh_TW.po116
-rw-r--r--popt/popt.3765
-rw-r--r--popt/popt.c1260
-rw-r--r--popt/popt.h564
-rw-r--r--popt/popt.ps7963
-rw-r--r--popt/poptconfig.c182
-rw-r--r--popt/popthelp.c819
-rw-r--r--popt/poptint.h116
-rw-r--r--popt/poptparse.c227
-rw-r--r--popt/system.h81
-rw-r--r--popt/test-poptrc12
-rw-r--r--popt/test1.c278
-rw-r--r--popt/test2.c149
-rw-r--r--popt/test3-data/01.answer10
-rw-r--r--popt/test3-data/01.input13
-rw-r--r--popt/test3-data/02.answer1
-rw-r--r--popt/test3-data/02.input2
-rw-r--r--popt/test3-data/03.answer70
-rw-r--r--popt/test3-data/03.input210
-rw-r--r--popt/test3.c48
-rwxr-xr-xpopt/testit.sh100
71 files changed, 4 insertions, 17966 deletions
diff --git a/Makefile.am b/Makefile.am
index 62c80f54e..4cf654c67 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -102,7 +102,6 @@ splint:
-load lib/rpmlib.lcd \
-load rpmdb/rpmdb.lcd \
-load rpmio/rpmio.lcd \
- -load popt/popt.lcd \
$(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES)
.PHONY: lint
@@ -113,8 +112,7 @@ lint:
`make -s sources -C rpmdb` \
`make -s sources -C rpmio` \
`make -s sources -C beecrypt` \
- `make -s sources -C file/src` \
- `make -s sources -C popt`
+ `make -s sources -C file/src`
CVSTAG = r$(subst .,-,$(VERSION))
diff --git a/autogen.sh b/autogen.sh
index 27d4118b6..7e710fa10 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -38,28 +38,13 @@ fi
# XXX add missing config.rpath, kludgery around what's apparently
# gettext related stuff...
-for d in . popt file; do
+for d in . file; do
touch $d/config.rpath
done
-if [ -d popt ]; then
- (echo "--- popt"; cd popt; ./autogen.sh --noconfigure "$@")
-fi
-if [ -d zlib ]; then
- (echo "--- zlib"; cd zlib; ./autogen.sh --noconfigure "$@")
-fi
-if [ -d beecrypt ]; then
- (echo "--- beecrypt"; cd beecrypt; ./autogen.sh --noconfigure "$@")
-fi
-if [ -d elfutils ]; then
- (echo "--- elfutils"; cd elfutils; ./autogen.sh --noconfigure "$@")
-fi
if [ -d file ]; then
(echo "--- file"; cd file; ./autogen.sh --noconfigure "$@")
fi
-if [ -d neon ]; then
- (echo "--- neon"; cd neon; ./autogen.sh "$@")
-fi
echo "--- rpm"
$libtoolize --copy --force
diff --git a/configure.ac b/configure.ac
index 06c5026f0..34b3f9d75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -650,9 +650,6 @@ AC_CHECK_HEADERS(bzlib.h libio.h zlib.h)
AC_CHECK_HEADERS(err.h mcheck.h)
AC_CHECK_HEADERS(pthread.h)
-dnl popt w float/double needs.
-AC_CHECK_HEADERS(float.h)
-
AC_CHECK_HEADERS(glob.h)
dnl statfs portability fiddles.
@@ -1294,11 +1291,7 @@ AC_SUBST(RPM)
AC_SUBST(OBJDUMP)
-dnl XXX this causes popt to depend on zlib et al
-dnl # XXX Propagate -lucb to popt ...
-dnl export LIBS INCPATH CONFIG_SITE
-
-AC_CONFIG_SUBDIRS(popt file db3)
+AC_CONFIG_SUBDIRS(file db3)
AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt
rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
@@ -1318,7 +1311,7 @@ AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt
python/rpm/Makefile
lua/Makefile
])
-AC_CONFIG_COMMANDS([default],[[ echo timestamp > popt/stamp-h.in
+AC_CONFIG_COMMANDS([default],[[
echo timestamp > stamp-h.in
]],[[]])
diff --git a/popt/.cvsignore b/popt/.cvsignore
deleted file mode 100644
index d53c8543c..000000000
--- a/popt/.cvsignore
+++ /dev/null
@@ -1,34 +0,0 @@
-.deps
-.depend
-.libs
-Doxyfile
-Makefile
-Makefile.in
-aclocal.m4
-autom4te*
-config.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-doxygen
-depcomp
-install-sh
-libtool
-ltconfig
-ltmain.sh
-missing
-stamp-h
-stamp-h1
-stamp-h.in
-test1
-test2
-test3
-*.la
-*.lcd
-*.lo
-*.swp
-popt-*.tar.gz
diff --git a/popt/.splintrc b/popt/.splintrc
deleted file mode 100644
index e0277655a..000000000
--- a/popt/.splintrc
+++ /dev/null
@@ -1,44 +0,0 @@
--I. -DHAVE_CONFIG_H -D_GNU_SOURCE
-
-#+partial
-+forcehints
-
--warnposix
-
-+unixlib
-
--unrecogcomments # XXX ignore doxygen markings
-
-+strict # lclint level
-
-# --- in progress
-+bounds
--bufferoverflowhigh
-
-# --- +partial artifacts
-
-# --- not-yet at strict level
--bitwisesigned # 75
--elseifcomplete # 18
--exportfcn # 25
--ifblock # 202
--namechecks # 206
--ptrarith # 43
-
--mustdefine # 10
--shiftimplementation # 120
--sys-dir-errors
-
--strictops # 16
--whileblock # 10
-
-# --- not-yet at checks level
--mustfree # 52
--predboolptr # 62
--usedef # 1
-
-# --- not-yet at standard level
--boolops # 112
--predboolint # 30
-+charint # 3
-+ignorequals # 13
diff --git a/popt/ABOUT-NLS b/popt/ABOUT-NLS
deleted file mode 100644
index 5fde45a0b..000000000
--- a/popt/ABOUT-NLS
+++ /dev/null
@@ -1,324 +0,0 @@
-Notes on the Free Translation Project
-*************************************
-
- Free software is going international! The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
-
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
-
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-Quick configuration advice
-==========================
-
- If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
-
- Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'. Other packages have their own
-ways to internationalization, predating GNU `gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
-
- ./configure --with-included-gettext
- ./configure --disable-nls
-
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
- Internationalized packages have usually many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-Using This Package
-==================
-
- As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-Translating Teams
-=================
-
- For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
-
-Available Packages
-==================
-
- Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of September
-2001. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files bg cs da de el en eo es et fi fr gl he hr id it ja
- +----------------------------------------------------+
- a2ps | [] [] [] |
- bash | [] [] [] [] |
- bfd | |
- binutils | [] |
- bison | [] [] [] [] [] |
- clisp | [] [] [] [] |
- cpio | [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] [] |
- enscript | [] [] |
- error | [] [] |
- fetchmail | |
- fileutils | [] [] [] [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] |
- flex | [] [] [] |
- freetype | |
- gas | |
- gawk | [] [] |
- gcal | |
- gcc | |
- gettext | [] [] [] [] [] [] [] [] [] [] |
- gnupg | [] [] [] [] [] [] [] |
- gprof | |
- grep | [] [] [] [] [] [] [] [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] |
- indent | [] [] [] [] [] |
- jpilot | [] |
- kbd | |
- ld | [] |
- libc | [] [] [] [] [] [] [] [] |
- lilypond | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] [] [] [] |
- make | [] [] [] [] [] [] |
- mysecretdiary | [] |
- nano | [] [] [] |
- opcodes | |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- recode | [] [] [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] [] |
- sketch | |
- soundtracker | [] [] [] |
- sp | |
- tar | [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] [] [] |
- textutils | [] [] [] [] [] [] [] [] |
- util-linux | [] [] |
- wdiff | [] [] [] |
- wget | [] [] [] [] [] [] [] [] [] [] |
- +----------------------------------------------------+
- bg cs da de el en eo es et fi fr gl he hr id it ja
- 0 14 24 32 11 1 8 23 13 1 33 22 4 0 7 9 18
-
- ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
- +----------------------------------------------------+
- a2ps | [] [] [] | 6
- bash | | 4
- bfd | | 0
- binutils | | 1
- bison | [] | 6
- clisp | [] | 5
- cpio | [] [] [] [] [] | 10
- diffutils | [] [] [] [] | 11
- enscript | [] [] [] | 5
- error | [] [] | 4
- fetchmail | | 0
- fileutils | [] [] [] [] [] [] [] [] [] | 17
- findutils | [] [] [] [] [] [] [] [] | 16
- flex | [] [] [] | 6
- freetype | | 0
- gas | | 0
- gawk | [] | 3
- gcal | | 0
- gcc | | 0
- gettext | [] [] [] [] [] [] [] [] | 18
- gnupg | [] [] [] | 10
- gprof | | 0
- grep | [] [] [] [] | 12
- hello | [] [] [] [] [] [] [] [] [] [] [] | 22
- id-utils | [] [] [] | 6
- indent | [] [] [] [] [] [] [] | 12
- jpilot | | 1
- kbd | [] | 1
- ld | | 1
- libc | [] [] [] [] [] [] [] [] | 16
- lilypond | [] [] | 3
- lynx | [] [] [] [] | 8
- m4 | [] [] [] [] | 12
- make | [] [] [] [] [] [] | 12
- mysecretdiary | | 1
- nano | [] | 4
- opcodes | [] | 1
- parted | [] [] | 5
- ptx | [] [] [] [] [] [] [] [] | 15
- python | | 0
- recode | [] [] [] [] | 13
- sed | [] [] [] [] [] [] [] | 19
- sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 21
- sharutils | [] [] [] | 11
- sketch | | 0
- soundtracker | | 3
- sp | | 0
- tar | [] [] [] [] [] [] [] | 15
- texinfo | [] | 7
- textutils | [] [] [] [] [] [] [] [] | 16
- util-linux | [] [] | 4
- wdiff | [] [] [] [] | 7
- wget | [] [] [] [] [] [] [] | 17
- +----------------------------------------------------+
- 33 teams ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
- 53 domains 9 1 6 20 0 6 17 1 13 25 10 11 23 21 2 2 387
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
- If September 2001 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites. The most
-up-to-date matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-Using `gettext' in new packages
-===============================
-
- If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-to use of `gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
diff --git a/popt/CHANGES b/popt/CHANGES
deleted file mode 100644
index db16a5fdd..000000000
--- a/popt/CHANGES
+++ /dev/null
@@ -1,46 +0,0 @@
-1.5 -> 1.6
- - add ability to perform callbacks for every, not just first, match.
-
-1.3 -> 1.5
- - heavy dose of const's
- - poptParseArgvString() now NULL terminates the list
-
-1.2.3 -> 1.3
- - added support for single -
- - misc bug fixes
- - portability improvements
-
-1.2.2 -> 1.2.3
- - fixed memset() in help message generation (Dale Hawkins)
- - added extern "C" stuff to popt.h for C++ compilers (Dale Hawkins)
- - const'ified poptParseArgvString (Jeff Garzik)
-
-1.2.1 -> 1.2.2
- - fixed bug in chaind alias happens which seems to have only
- affected --triggers in rpm
- - added POPT_ARG_VAL
- - popt.3 installed by default
-
-1.2 -> 1.2.1
- - added POPT_ARG_INTL_DOMAIN (Elliot Lee)
- - updated Makefile's to be more GNUish (Elliot Lee)
-
-1.1 -> 1.2
- - added popt.3 man page (Robert Lynch)
- - don't use mmap anymore (its lack of portability isn't worth the
- trouble)
- - added test script
- - added support for exec
- - removed support for *_POPT_ALIASES env variable -- it was a bad
- idea
- - reorganized into multiple source files
- - added automatic help generation, POPT_AUTOHELP
- - added table callbacks
- - added table inclusion
- - updated man page for new features
- - added test scripts
-
-1.0 -> 1.1
- - moved to autoconf (Fred Fish)
- - added STRERROR replacement (Norbert Warmuth)
- - added const keywords (Bruce Perens)
diff --git a/popt/COPYING b/popt/COPYING
deleted file mode 100644
index b4c7ca876..000000000
--- a/popt/COPYING
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 1998 Red Hat Software
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
diff --git a/popt/Doxyfile.in b/popt/Doxyfile.in
deleted file mode 100644
index eb92e865a..000000000
--- a/popt/Doxyfile.in
+++ /dev/null
@@ -1,475 +0,0 @@
-# Doxyfile 1.0.0
-
-# This file describes the settings to be used by doxygen for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of word surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = @PACKAGE@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = @VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = doxygen
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Dutch, French, Italian, Czech, Swedish, German and Japanese
-
-OUTPUT_LANGUAGE = English
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# If the EXTRACT_ALL tag is set to YES all classes and functions will be
-# included in the documentation, even if no documentation was available.
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members inside documented classes or files.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all
-# undocumented classes.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILS_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path.
-
-STRIP_FROM_PATH = @POPT_SOURCE_PATH@/
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a class diagram (in Html and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off.
-
-CLASS_DIAGRAMS = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen
-# will only generate file names in lower case letters. If set to
-# YES upper case letters are also allowed. This is useful if you have
-# classes or files whose names only differ in case and if your file system
-# supports case sensitive file names.
-
-CASE_SENSE_NAMES = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the Javadoc-style will
-# behave just like the Qt-style comments.
-
-JAVADOC_AUTOBRIEF = YES
-
-# if the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
-# if the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# the TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = \
- ./findme.c \
- ./findme.h \
- ./popt.c \
- ./popt.h \
- ./poptconfig.c \
- ./popthelp.c \
- ./poptint.h \
- ./poptparse.c \
- ./system.h
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-FILE_PATTERNS = *.c *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT =
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT =
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = YES
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT =
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed.
-
-MACRO_EXPANSION = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED tag.
-
-EXPAND_ONLY_PREDEF = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
-
-CGI_URL =
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL =
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH =
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH = /usr/local/bin/
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS =
diff --git a/popt/Makefile.am b/popt/Makefile.am
deleted file mode 100644
index 5e1341be3..000000000
--- a/popt/Makefile.am
+++ /dev/null
@@ -1,64 +0,0 @@
-# Makefile for popt library.
-
-AUTOMAKE_OPTIONS = 1.4 foreign
-
-LINT = splint
-
-EXTRA_DIST = autogen.sh CHANGES $(man_MANS) \
- testit.sh test-poptrc test3-data \
- popt.ps
-
-SUBDIRS = po
-
-INCLUDES = -I. -I$(top_srcdir)
-
-noinst_HEADERS = findme.h poptint.h system.h
-
-noinst_PROGRAMS = test1 test2 test3
-test1_SOURCES = test1.c
-test1_LDFLAGS =
-test1_LDADD = $(usrlib_LTLIBRARIES)
-test2_SOURCES = test2.c
-test2_LDFLAGS =
-test2_LDADD = $(usrlib_LTLIBRARIES)
-test3_SOURCES = test3.c
-test3_LDFLAGS =
-test3_LDADD = $(usrlib_LTLIBRARIES)
-
-noinst_SCRIPTS = testit.sh
-
-TESTS_ENVIRONMENT = \
-test1="./test1"
-
-TESTS = testit.sh
-
-include_HEADERS = popt.h
-
-usrlibdir = $(libdir)@MARK64@
-usrlib_LTLIBRARIES = libpopt.la
-
-libpopt_la_SOURCES = popt.c findme.c poptparse.c poptconfig.c popthelp.c
-libpopt_la_LDFLAGS = @INTLLIBS@
-
-man_MANS = popt.3
-
-#BUILT_SOURCES = popt.lcd
-
-popt.lcd: Makefile.am ${libpopt_la_SOURCES} ${include_HEADERS} ${noinst_HEADERS}
- lclint -dump $@ ${libpopt_la_SOURCES}
-
-.PHONY: sources
-sources:
- @echo $(libpopt_la_SOURCES:%=popt/%)
-
-.PHONY: lint
-lint:
- $(LINT) ${DEFS} ${INCLUDES} test1.c ${libpopt_la_SOURCES}
-
-CVSTAG = $(PACKAGE)-$(subst .,_,$(VERSION))
-
-.PHONY: doxygen
-doxygen: Doxyfile
- rm -rf doxygen
- mkdir -p doxygen
- doxygen
diff --git a/popt/README b/popt/README
deleted file mode 100644
index 0b5205bfd..000000000
--- a/popt/README
+++ /dev/null
@@ -1,18 +0,0 @@
-This is the popt command line option parsing library. While it is similiar
-to getopt(3), it contains a number of enhancements, including:
-
- 1) popt is fully reentrant
- 2) popt can parse arbitrary argv[] style arrays while
- getopt(2) makes this quite difficult
- 3) popt allows users to alias command line arguments
- 4) popt provides convience functions for parsing strings
- into argv[] style arrays
-
-popt is used by rpm, the Red Hat install program, and many other Red Hat
-utilities, all of which provide excellent examples of how to use popt.
-Complete documentation on popt is available in popt.ps (included in this
-tarball), which is excerpted with permission from the book "Linux
-Application Development" by Michael K. Johnson and Erik Troan (availble
-from Addison Wesley in May, 1998).
-
-Comments on popt should be addressed to ewt@redhat.com.
diff --git a/popt/autogen.sh b/popt/autogen.sh
deleted file mode 100755
index cded31195..000000000
--- a/popt/autogen.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-srcdir="`dirname $0`"
-test -z "$srcdir" && srcdir=.
-
-THEDIR="`pwd`"
-
-libtoolize=`which glibtoolize 2>/dev/null`
-case $libtoolize in
-/*) ;;
-*) libtoolize=`which libtoolize 2>/dev/null`
- case $libtoolize in
- /*) ;;
- *) libtoolize=libtoolize
- esac
-esac
-
-cd "$srcdir"
-$libtoolize --copy --force
-aclocal
-autoheader
-automake -a -c
-autoconf
-
-if [ "$1" = "--noconfigure" ]; then
- exit 0;
-fi
-
-cd "$THEDIR"
-
-if [ X"$@" = X -a "X`uname -s`" = "XLinux" ]; then
- $srcdir/configure --prefix=/usr "$@"
-else
- $srcdir/configure "$@"
-fi
diff --git a/popt/configure.ac b/popt/configure.ac
deleted file mode 100755
index 1aca20636..000000000
--- a/popt/configure.ac
+++ /dev/null
@@ -1,97 +0,0 @@
-AC_INIT(popt.h)
-AC_CANONICAL_SYSTEM
-AC_PREREQ(2.12)
-AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE(popt, 1.10.2.1)
-
-ALL_LINGUAS="cs da de es eu_ES fi fr gl hu id is it ja ko no pl pt pt_BR ro ru sk sl sr sv tr uk wa zh zh_CN zh_TW"
-
-AC_ISC_POSIX
-
-AC_PROG_CC
-AC_GCC_TRADITIONAL
-AM_C_PROTOTYPES
-AC_SYS_LARGEFILE
-
-dnl AM_DISABLE_SHARED
-AM_PROG_LIBTOOL
-
-AC_PROG_INSTALL
-
-if test "X$CC" = Xgcc; then
- CFLAGS="-Wall $CFLAGS"
-fi
-
-dnl XXX lose rpm libs
-LIBS=
-addlib() {
- l=$1
- shift
- case "$target" in
- *-*-solaris*) LIBS="$LIBS -L$l -R $l $*";;
- *) LIBS="$LIBS -L$l $*";;
- esac
-}
-
-dnl
-dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
-dnl requires gcc). If it's not, don't rebuild dependencies -- use what was
-dnl shipped with RPM.
-dnl
-if test X"$GCC" = "Xyes" ; then
- TARGET="depend allprogs"
-else
- TARGET="everything"
- #
- # let the Makefile know that we're done with `depend', since we don't
- # have gcc we're not going to rebuild our dependencies at all.
- #
- echo > .depend-done
-fi
-AC_SUBST(TARGET)
-
-dnl XXX Choose /usr/lib or /usr/lib64 for library installs.
-MARK64=
-case "${target_cpu}" in
-x86_64*|powerpc64*|ppc64*|sparc64*|s390x*) MARK64=64 ;;
-esac
-AC_SUBST(MARK64)
-
-AC_CHECK_HEADERS(alloca.h float.h libintl.h mcheck.h unistd.h)
-AC_MSG_CHECKING(for /usr/ucblib in LIBS)
-if test -d /usr/ucblib ; then
- if test "$build" = "mips-sni-sysv4" ; then
- addlib /usr/ccs/lib -lc
- fi
-
- addlib /usr/ucblib
-
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-
-if test ! -f ../rpm.c
-then
- AC_MSG_CHECKING(for GNU xgettext)
- xgettext --version 2>&1 | grep 'GNU gettext' >/dev/null 2>&1 || AC_MSG_ERROR([
- *** GNU gettext is required. The latest version
- *** is always available from ftp://ftp.gnu.org/gnu/gettext/.])
- AC_MSG_RESULT(yes)
-fi
-
-AC_CHECK_FUNC(setreuid, [], [
- AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi])
-])
-AC_CHECK_FUNCS(getuid geteuid mtrace __secure_getenv setregid strerror)
-
-
-AM_GNU_GETTEXT_VERSION([0.11.2])
-AM_GNU_GETTEXT([external])
-
-POPT_SOURCE_PATH="`pwd`"
-AC_DEFINE_UNQUOTED(POPT_SOURCE_PATH, "$POPT_SOURCE_PATH",
- [Full path to popt top_srcdir.])
-AC_SUBST(POPT_SOURCE_PATH)
-
-AC_OUTPUT([Doxyfile Makefile po/Makefile.in])
diff --git a/popt/findme.c b/popt/findme.c
deleted file mode 100644
index c4aaabccf..000000000
--- a/popt/findme.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/** \ingroup popt
- * \file popt/findme.c
- */
-
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#include "system.h"
-#include "findme.h"
-
-const char * findProgramPath(const char * argv0)
-{
- char * path = getenv("PATH");
- char * pathbuf;
- char * start, * chptr;
- char * buf;
-
- if (argv0 == NULL) return NULL; /* XXX can't happen */
- /* If there is a / in the argv[0], it has to be an absolute path */
- if (strchr(argv0, '/'))
- return xstrdup(argv0);
-
- if (path == NULL) return NULL;
-
- start = pathbuf = alloca(strlen(path) + 1);
- buf = malloc(strlen(path) + strlen(argv0) + sizeof("/"));
- if (buf == NULL) return NULL; /* XXX can't happen */
- strcpy(pathbuf, path);
-
- chptr = NULL;
- /*@-branchstate@*/
- do {
- if ((chptr = strchr(start, ':')))
- *chptr = '\0';
- sprintf(buf, "%s/%s", start, argv0);
-
- if (!access(buf, X_OK))
- return buf;
-
- if (chptr)
- start = chptr + 1;
- else
- start = NULL;
- } while (start && *start);
- /*@=branchstate@*/
-
- free(buf);
-
- return NULL;
-}
diff --git a/popt/findme.h b/popt/findme.h
deleted file mode 100644
index a016b867e..000000000
--- a/popt/findme.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/** \ingroup popt
- * \file popt/findme.h
- */
-
-/* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#ifndef H_FINDME
-#define H_FINDME
-
-/**
- * Return absolute path to executable by searching PATH.
- * @param argv0 name of executable
- * @return (malloc'd) absolute path to executable (or NULL)
- */
-/*@null@*/ const char * findProgramPath(/*@null@*/ const char * argv0)
- /*@*/;
-
-#endif
diff --git a/popt/mkinstalldirs b/popt/mkinstalldirs
deleted file mode 100755
index 12ea679f7..000000000
--- a/popt/mkinstalldirs
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.2 2002/02/10 21:14:38 jbj Exp $
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/popt/po/.cvsignore b/popt/po/.cvsignore
deleted file mode 100644
index 557ce8da8..000000000
--- a/popt/po/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-Makefile
-Makefile.in
-POTFILES
-stamp-cat-id
-cat-id-tbl.c
-*.mo
-*.gmo
diff --git a/popt/po/ChangeLog b/popt/po/ChangeLog
deleted file mode 100644
index bc697cbd2..000000000
--- a/popt/po/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-2002-02-10 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
- * cat-id-tbl.c: Remove file.
- * stamp-cat-id: Remove file.
-
diff --git a/popt/po/Makefile.in.in b/popt/po/Makefile.in.in
deleted file mode 100644
index 7e54c8936..000000000
--- a/popt/po/Makefile.in.in
+++ /dev/null
@@ -1,196 +0,0 @@
-# Makefile for program source directory in GNU NLS utilities package.
-# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datadir = @datarootdir@
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-
-CC = @CC@
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
-MSGMERGE = msgmerge
-
-DEFS = @DEFS@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-
-INCLUDES = -I.. -I$(top_srcdir)/intl
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
-$(POFILES) $(GMOFILES)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-.SUFFIXES:
-.SUFFIXES: .c .o .po .pox .gmo .mo
-
-.c.o:
- $(COMPILE) $<
-
-.po.pox:
- $(MAKE) $(PACKAGE).pot
- $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
-
-.po.mo:
- $(MSGFMT) -o $@ $<
-
-.po.gmo:
- file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
- && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
-
-
-all: all-@USE_NLS@
-
-all-yes: $(CATALOGS)
-all-no:
-
-# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in
- $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
- --add-comments --keyword=_ --keyword=N_ --keyword=POPT_ \
- --files-from=$(srcdir)/POTFILES.in \
- && test ! -f $(PACKAGE).po \
- || ( rm -f $(srcdir)/$(PACKAGE).pot \
- && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
- $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
- $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
- if test -r $$cat; then \
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
- echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \
- else \
- $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
- echo "installing $(srcdir)/$$cat as" \
- "$(DESTDIR)$$dir/$(PACKAGE).mo"; \
- fi; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
- rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
- done
- if test "$(PACKAGE)" = "gettext"; then \
- rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
- else \
- : ; \
- fi
-
-check: all
-
-dvi info tags TAGS ID:
-
-mostlyclean:
- rm -f core core.* *.pox $(PACKAGE).po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- $(MAKE) update-po
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
- dists="$(DISTFILES)"; \
- for file in $$dists; do \
- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
- cp -p $$dir/$$file $(distdir); \
- done
-
-update-po: Makefile
- $(MAKE) $(PACKAGE).pot
- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
- cd $(srcdir); \
- catalogs='$(GMOFILES)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
- echo "$$lang:"; \
- if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
- mv -f $$lang.new.po $$lang.po; \
- else \
- echo "msgmerge for $$cat failed!"; \
- rm -f $$lang.new.po; \
- fi; \
- done
- $(MAKE) update-gmo
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/popt/po/POTFILES.in b/popt/po/POTFILES.in
deleted file mode 100644
index a1eddf79d..000000000
--- a/popt/po/POTFILES.in
+++ /dev/null
@@ -1,10 +0,0 @@
-# List of files which contain translatable strings.
-
-# Package source files
-
-findme.c
-popt.c
-poptconfig.c
-popthelp.c
-poptparse.c
-test1.c
diff --git a/popt/po/cs.po b/popt/po/cs.po
deleted file mode 100644
index 20b4ec804..000000000
--- a/popt/po/cs.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-07-24 00:03+0100\n"
-"Last-Translator: Milan Kerslager <kerslage@linux.cz>\n"
-"Language-Team: Czech <cs@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "neznámé èíslo chyby"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "volba (%d) není v popt implementována\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "chybí argument"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "neznámá volba"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "po¾adovány vzájemnì výluèné logické operace"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg nesmí být NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "aliasy vnoøené pøíli¹ hluboko"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "chyba v quotování parametrù"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "chybná numerická hodnota"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "èíslo je pøíli¹ velké nebo pøíli¹ malé"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "selhala alokace pamìti"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "neznámá chyba"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Vypí¹e tuto nápovìdu"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Vypí¹e krátký návod k pou¾ití"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Zobrazit implicitní volby ve zprávì"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Pou¾ití:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[VOLBY...]"
diff --git a/popt/po/da.po b/popt/po/da.po
deleted file mode 100644
index f8e9e701b..000000000
--- a/popt/po/da.po
+++ /dev/null
@@ -1,114 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: Sun Jan 21 2001 04:30:32+0200\n"
-"Last-Translator: Martin Hansen <mah@k64.dk>\n"
-"Language-Team: Dansk <dansk@klid.dk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"X-Generator: KTranslator v 0.6.0\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "ukendt fejlnr."
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "tilvalgstype (%d) er ikke implementeret i popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "mangler argument"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "ukendt tilvalg"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "de ønskede handlinger udelukker hinanden"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "aliaser er for dybt indlejret"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "fejl i parameter citering"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ugyldig numerisk værdi"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "nummer for stort, eller for lille"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "ukendt fejl"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Vis denne hjælpemeddelelse"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Vis kortfattet brugsanvisning"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Vis kortfattet brugsanvisning"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "INGEN"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Brug:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[TILVALG...]"
diff --git a/popt/po/de.po b/popt/po/de.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/de.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/es.po b/popt/po/es.po
deleted file mode 100644
index 36f029a67..000000000
--- a/popt/po/es.po
+++ /dev/null
@@ -1,118 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Leandro Lucarella <luca@linuxmendoza.org.ar>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "errno desconocido"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "tipo de opcin (%d) no implementada en popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "falta argumento"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "opcin desconocida"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "requerida operacin lgica mutuamente exclusiva"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "alias anidados muy profundamente"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "error en cita de parmetros"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "valor numrico invlido"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "nmero muy largo o muy pequeo"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "error desconocido"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Muestra este mensaje de ayuda"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Indica el modo de uso resumido"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Indica el modo de uso resumido"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Modo de Uso:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPCIN...]"
diff --git a/popt/po/eu_ES.po b/popt/po/eu_ES.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/eu_ES.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/fi.po b/popt/po/fi.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/fi.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/fr.po b/popt/po/fr.po
deleted file mode 100644
index 06bde25ea..000000000
--- a/popt/po/fr.po
+++ /dev/null
@@ -1,122 +0,0 @@
-# A French translation for rpm messages
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the RPM package.
-# RPM French Translation <rpm-fr@livna.org>, 2003.
-# JBJ : THANX A LOT !!!
-#
-# N'hésitez pas à m'envoyez un courriel si vous avez des
-# suggestions/corrections.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.8.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2003-06-22 23:43+0200\n"
-"Last-Translator: RPM French Translation <rpm-fr@livna.org>\n"
-"Language-Team: RPM French Translation <rpm-fr@livna.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "errno inconnu"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "type(%d) d'option non implémenté dans popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "argument manquant"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "option iconnue"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "opérations logiques mutuellement exclusives requises"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg ne devrait pas être NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "les alias sont trop entremellés"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "erreur en citant les paramètres"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "valeur numérique invalide"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "nombre trop grand ou trop petit"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "échec de l'allocation de mémoire"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "erreur inconnue"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Montre ce message d'aide"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Affiche un bref descriptif de l'utilisation"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Afficher les valeurs par défaut des options dans le message"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "RIEN"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "ENTIER"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "CHAINE"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOTTANT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Utilisation:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPTION...]"
diff --git a/popt/po/gl.po b/popt/po/gl.po
deleted file mode 100644
index 0f783f8ff..000000000
--- a/popt/po/gl.po
+++ /dev/null
@@ -1,113 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-01-17 01:01+0100\n"
-"Last-Translator: Jesús Bravo Álvarez <jba@pobox.com>\n"
-"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "errno descoñecido"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "tipo de opción (%d) non implementada en popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "falta un argumento"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "opción descoñecida"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "solicitáronse operacións lóxicas mutuamente excluíntes"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "aliases aniñados a un nivel demasiado profundo"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "erro nas comiñas do parámetro"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "valor numérico non válido"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "número demasiado grande ou pequeno"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "erro descoñecido"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Amosar esta mensaxe de axuda"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Amosar brevemente o xeito de utilización"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Amosar brevemente o xeito de utilización"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NADA"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "CADEA"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Uso:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPCIÓN...]"
diff --git a/popt/po/hu.po b/popt/po/hu.po
deleted file mode 100644
index 0cd41f260..000000000
--- a/popt/po/hu.po
+++ /dev/null
@@ -1,113 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2000-08-03 23:26+0200\n"
-"Last-Translator: László Németh <nemeth@qwertynet.hu>\n"
-"Language-Team: Hungarian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "E súgó megjelenítése"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Rövid használati utasítás megjelenítése"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Rövid használati utasítás megjelenítése"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/id.po b/popt/po/id.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/id.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/is.po b/popt/po/is.po
deleted file mode 100644
index 4a117adac..000000000
--- a/popt/po/is.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-06-08 01:35+0000\n"
-"Last-Translator: Richard Allen <ra@hp.is>\n"
-"Language-Team: is <kde-isl@mmedia.is>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "óþekkt villunúmer"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "rofagerðin (%d) er ekki studd í popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "vantar viðfang"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "óþekktur rofi"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "beðið um rofa sem slökkva hvor á öðrum"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg ætti ekki að vera NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "alíasar of flóknir"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "villa í viðföngum (gæsalappir og svo frv.)"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ógilt tölulegt gildi"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "talan of stór eða smá"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "ekki tókst að taka frá minni"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "óþekkt villa"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Sýna þessa hjálp"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Sýna stuttar notkunarleiðbeiningar"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Sýna sjálfgefin gildi rofa í skilaboðum"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "ENGIN"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Notkun:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[ROFI...]"
diff --git a/popt/po/it.po b/popt/po/it.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/it.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/ja.po b/popt/po/ja.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/ja.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/ko.po b/popt/po/ko.po
deleted file mode 100644
index e50db5303..000000000
--- a/popt/po/ko.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-09-06 20:06+0900\n"
-"Last-Translator: Jong-Hoon Ryu <redhat4u@netian.com>\n"
-"Language-Team: GNU Translation project <ko@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-KR\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "¾Ë ¼ö ¾ø´Â ¿À·ùÄÚµå(errno) ÀÔ´Ï´Ù"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "¿É¼Ç À¯Çü (%d)Àº popt¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "Àμö°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "¾Ë ¼ö ¾ø´Â ¿É¼ÇÀÔ´Ï´Ù"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "¾çÂÊ¿¡ ¹èŸÀû ³í¸® ¿¬»êÀÌ ÁöÁ¤µÇ¾ú½À´Ï´Ù"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "¿É¼Ç->Àμö°¡ NULLÀÌ µÇ¾î¼­´Â ¾ÈµË´Ï´Ù"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "º°Äª(alias)ÀÌ º¹ÀâÇÏ°Ô ¼³Á¤µÇ¾ú½À´Ï´Ù"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "¸Å°³º¯¼ö¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "À߸øµÈ ¼öÄ¡ °ªÀÔ´Ï´Ù"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "¼ýÀÚ°¡ ³Ê¹« Å©°Å³ª ³Ê¹« Àû½À´Ï´Ù"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "¸Þ¸ð¸® ÇÒ´ç¿¡ ½ÇÆÐÇß½À´Ï´Ù"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "¾Ë ¼ö ¾ø´Â ¿À·ùÀÔ´Ï´Ù"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "ÀÌ µµ¿ò¸»À» º¸¿©ÁÝ´Ï´Ù"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "°£´ÜÇÑ »ç¿ë¹ýÀ» º¸¿©ÁÝ´Ï´Ù"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "±âº»ÀûÀÎ ¿É¼ÇÀ» º¸¿©ÁÝ´Ï´Ù"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "¾øÀ½(NONE)"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "°ª(VAL)"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "Á¤¼ö(INT)"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "Á¤¼ö(LONG)"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "¹®ÀÚ¿­(STRING)"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "¼Ò¼ö(FLOAT)"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "¼Ò¼ö(DOUBLE)"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "Àμö(ARG)"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "»ç¿ë¹ý:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[¿É¼Ç...]"
diff --git a/popt/po/no.po b/popt/po/no.po
deleted file mode 100644
index 3872b9981..000000000
--- a/popt/po/no.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-06-27 11:05+0200\n"
-"Last-Translator: Kjartan Maraas <kmaraas@online.no>\n"
-"Language-Team: Norwegian <no@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "ukjent errno"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "flaggtype (%d) ikke implementert i popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "manglende argument"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "ukjent flagg"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "gjensidig eksluderende logiske operasjoner forespurt"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg må ikke være NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "aliaser med for dype løkker"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "feil i parametersitering"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ugyldig numerisk verdi"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "tallet er for stort eller lite"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "minneallokering feilet"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "ukjent feil"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Vis denne hjelpmeldingen"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Vis kort bruksmelding"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Vis forvalgte flagg i melding"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "INGEN"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VERDI"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "HELTALL"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRENG"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLYTTALL"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Bruk:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[FLAGG...]"
diff --git a/popt/po/pl.po b/popt/po/pl.po
deleted file mode 100644
index 345d7c822..000000000
--- a/popt/po/pl.po
+++ /dev/null
@@ -1,116 +0,0 @@
-# translation of pl.po to Polish
-# Jakub Bogusz <qboosh@pld.org.pl>, 2002.
-# Piotr DrÄ…g <raven@pmail.pl>, 2007.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: pl\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2007-06-12 00:18+0200\n"
-"Last-Translator: Piotr DrÄ…g <raven@pmail.pl>\n"
-"Language-Team: Polish <pl@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "nieznane errno"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "typ opcji (%d) nie jest zaimplementowany w popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "brak argumentu"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "nieznana opcja"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "zażądano wykluczające się operacje logiczne"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg nie może być NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "za duże osadzenie aliasów"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "błąd w cytowaniu parametru"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "nieprawidłowa wartość liczbowa"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "liczba jest za duża lub za mała"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "przydzielenie pamięci nie powiodło się"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "nieznany błąd"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Wyświetla ten komunikat pomocy"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Wyświetla skrócony sposób użycia"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Wyświetla domyślne opcje"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "BRAK"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Użycie:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPCJA...]"
diff --git a/popt/po/popt.pot b/popt/po/popt.pot
deleted file mode 100644
index 670c404e4..000000000
--- a/popt/po/popt.pot
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/pt.po b/popt/po/pt.po
deleted file mode 100644
index ecd8a3ba4..000000000
--- a/popt/po/pt.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2002-02-13 18:32+0000\n"
-"Last-Translator: Pedro Morais <morais@kde.org>\n"
-"Language-Team: pt <morais@kde.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "errno desconhecido"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "tipo de opção (%d) não implementado no popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "falta um argumento"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "opção desconhecida"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "foram pedidas operações lógicas mutuamente exclusivas"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg não deve ser NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "'aliases' demasiado aninhados"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "erros no 'quoting' de parâmetros"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "valor númerico inválido"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "número demasiado grando ou pequeno"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "alocação de memória falhou"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "erro desconhecido"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Mostrar esta mensagem de ajuda"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Mostrar uma mensagem de utilização sucinta"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Mostrar valor por omissão das opções na mensagem"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Utilização:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPÇÃO...]"
diff --git a/popt/po/pt_BR.po b/popt/po/pt_BR.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/pt_BR.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/ro.po b/popt/po/ro.po
deleted file mode 100644
index 83f797686..000000000
--- a/popt/po/ro.po
+++ /dev/null
@@ -1,114 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2000-06-14 23:23+EST\n"
-"Last-Translator: Cristian Gafton <gafton@redhat.com>\n"
-"Language-Team: Romanian <ro@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "eroare necunoscuta"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "optiunea de tipul (%d) nu este implementata in popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "argument lipsa"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "optiune necunoscuta"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "recursivitate infinita la optiunile sinonime"
-
-#: popt.c:1194
-#, fuzzy
-msgid "error in parameter quoting"
-msgstr "eroare la insertie parametru"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "valoare numarica invalida"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "numar prea mare sau prea mic"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "eroare necuinoscuta"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Afisare mesaj de help"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Afisare mesaj sintaxa sumar"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Afisare mesaj sintaxa sumar"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Sintaxa:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[OPTIUNE...]"
diff --git a/popt/po/ru.po b/popt/po/ru.po
deleted file mode 100644
index 728df7d65..000000000
--- a/popt/po/ru.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-07-05 21:00-0500\n"
-"Last-Translator: Eugene Kanter <eugene@blackcatlinux.com>\n"
-"Language-Team: Black Cat Linux Team <blackcat-support@blackcatlinux.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-r\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÎÏÍÅÒ ÏÛÉÂËÉ"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "ÏÂÒÁÂÏÔËÁ ÐÁÒÁÍÅÔÒÁ (%d) × popt ÎÅ ÐÒÅÄÕÓÍÏÔÒÅÎÁ\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "ÐÒÏÐÕÝÅÎ ÁÒÇÕÍÅÎÔ"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÐÁÒÁÍÅÔÒ"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "ÚÁÐÒÏÛÅÎÙ ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÝÉÅ ÌÏÇÉÞÅÓËÉÅ ÏÐÅÒÁÃÉÉ"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg ÎÅ ÍÏÖÅÔ ÂÙÔØ NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "ÐÒÅ×ÙÛÅÎ ÕÒÏ×ÅÎØ ÄÏÐÕÓÔÉÍÏÊ ÒÅËÕÒÓÉÉ ÐÏÄÓÔÁÎÏ×ÏË"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "ÏÛÉÂËa ÐÏÍÅÝÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× × ËÁ×ÙÞËÉ"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÏÅ ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÚÁ ÐÒÅÄÅÌÁÍÉ ÐÒÅÄÕÓÍÏÔÒÅÎÎÏÇÏ"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "ÏÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "ðÏËÁÚÁÔØ ÜÔÏ ÓÏÏÂÝÅÎÉÅ"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "ðÏËÁÚÁÔØ ËÒÁÔËÕÀ ÉÎÓÔÒÕËÃÉÀ ÐÏ ÉÓÐÏÌØÚÏ×ÁÎÉÀ"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "ðÏËÁÚÁÔØ ÐÁÒÁÍÅÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[ðáòáíåôò...]"
diff --git a/popt/po/sk.po b/popt/po/sk.po
deleted file mode 100644
index aa48f9dcc..000000000
--- a/popt/po/sk.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 1999-08-04 21:40+0200\n"
-"Last-Translator: Stanislav Meduna <stano@eunet.sk>\n"
-"Language-Team: Slovak <sk-i18n@rak.isternet.sk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Vypísa» túto správu"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Zobrazi» struèný návod na pou¾itie"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Zobrazi» struèný návod na pou¾itie"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/sl.po b/popt/po/sl.po
deleted file mode 100644
index 65d6260ba..000000000
--- a/popt/po/sl.po
+++ /dev/null
@@ -1,113 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2000-09-05 12:30+0200\n"
-"Last-Translator: Roman Maurer <roman.maurer@hermes.si>\n"
-"Language-Team: Slovenian <sl@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Prika¾i to sporoèilo s pomoèjo"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Prika¾i kratko sporoèilo o uporabi"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Prika¾i kratko sporoèilo o uporabi"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/sr.po b/popt/po/sr.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/sr.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/sv.po b/popt/po/sv.po
deleted file mode 100644
index 087dbbe09..000000000
--- a/popt/po/sv.po
+++ /dev/null
@@ -1,112 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2001-07-12 22:26+0100\n"
-"Last-Translator: Christian Rose <menthos@menthos.com>\n"
-"Language-Team: Swedish <sv@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "okänt felnummer"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "flaggtypen (%d) är inte implementerad i popt\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "argument saknas"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "okänd flagga"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "ömsesidigt uteslutande logiska operationer begärdes"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg får inte vara NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "alias är nästlade för djupt"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "fel i parametercitering"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ogiltigt numeriskt värde"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "talet för stort eller för litet"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "minnesallokering misslyckades"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "okänt fel"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Visa denna hjälptext"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Visa en kortfattad användningstext"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "Visa standardalternativ för flaggor i meddelande"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "INGET"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VÄRDE"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "HELTAL"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LÅNG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRÄNG"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLYTTAL"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DUBBEL"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Användning:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[FLAGGA...]"
diff --git a/popt/po/tr.po b/popt/po/tr.po
deleted file mode 100644
index ab97780e4..000000000
--- a/popt/po/tr.po
+++ /dev/null
@@ -1,113 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2000-02-11 13:01+0200\n"
-"Last-Translator: Nilgun Belma Buguner <nilgun@technologist.com>\n"
-"Language-Team: Turkish <tr@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso8859-9\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "bilinmeyen hata no"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "seçenek türü (%d) popt için geçersiz\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "argüman eksik"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "bilinmeyen seçenek"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "birbirini dýþlayan mantýksal iþlemler istendi"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "adlarda çok fazla içiçelikler"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "parametrelerde týrnak iþaretleme hatalý "
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "sayýsal deðer geçersiz"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "sayý ya çok büyük ya da çok küçük"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "bilinmeyen hata"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Bu yardým iletisini gösterir"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Kýsa bir kullaným iletisi göster"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Kýsa bir kullaným iletisi göster"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "YOK"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "DEÐ"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "Kullanýmý:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[SEÇENEK...]"
diff --git a/popt/po/uk.po b/popt/po/uk.po
deleted file mode 100644
index 7864ad453..000000000
--- a/popt/po/uk.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# Translation into the ukrainian language.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Yuri Syrota <rasta@renome.rovno.ua>, 1999.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 1999-09-30 16:54+0200\n"
-"Last-Translator: Yuri Syrota <rasta@renome.rovno.ua>\n"
-"Language-Team: Ukrainian <uk@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-u\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "ðÏËÁÚÁÔÉ ÃÀ ÄÏצÄËÕ"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "ðÏËÁÚÁÔÉ ËÏÒÏÔËÕ ÄÏצÄËÕ ÐÒÏ ×ÉËÏÒÉÓÔÁÎÎÑ"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "ðÏËÁÚÁÔÉ ËÏÒÏÔËÕ ÄÏצÄËÕ ÐÒÏ ×ÉËÏÒÉÓÔÁÎÎÑ"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/wa.po b/popt/po/wa.po
deleted file mode 100644
index 6d6740cdf..000000000
--- a/popt/po/wa.po
+++ /dev/null
@@ -1,121 +0,0 @@
-# Translation into the walloon language.
-#
-# Si vos voloz donner on côp di spale pol ratoûrnaedje di Gnome (ou des
-# ôtes libes programes) sicrijhoz-mu a l' adresse emile
-# <linux-wa@chanae.alphanet.ch>; nos avons co bråmint di l' ovraedje a fé.
-#
-# Copyright (C) 1999 Free Software Foundation, Inc.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 1999-03-18 23:11+0100\n"
-"Last-Translator: Nobody yet\n"
-"Language-Team: walon <linux-wa@chanae.alphanet.ch>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "Mostrer ci messaedje d' aide chal"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "Mostre on court messaedje so kmint vos è siervi"
-
-#: popthelp.c:79
-#, fuzzy
-msgid "Display option defaults in message"
-msgstr "Mostre on court messaedje so kmint vos è siervi"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/zh.po b/popt/po/zh.po
deleted file mode 100644
index 217c95318..000000000
--- a/popt/po/zh.po
+++ /dev/null
@@ -1,117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr ""
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr ""
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr ""
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr ""
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr ""
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr ""
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr ""
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr ""
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr ""
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr ""
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr ""
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr ""
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr ""
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr ""
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr ""
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr ""
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr ""
-
-#: popthelp.c:130
-msgid "INT"
-msgstr ""
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr ""
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr ""
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr ""
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr ""
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr ""
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr ""
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr ""
diff --git a/popt/po/zh_CN.po b/popt/po/zh_CN.po
deleted file mode 100644
index c8ca6fb10..000000000
--- a/popt/po/zh_CN.po
+++ /dev/null
@@ -1,118 +0,0 @@
-# translation of translation.po to
-# Traditional Chinese Messages for popt
-# Copyright (C) 2005 Free Software Foundation, Inc.
-# Wei-Lun Chao <chaoweilun@pcmail.com.tw>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: translation\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2005-05-20 15:53+1000\n"
-"Last-Translator: \n"
-"Language-Team: <zh@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "未知的错误"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "选项类别 (%d) 沒有在 popt 中实现\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "缺少å‚æ•°"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "未知的选项"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "éœ€è¦ XOR 逻辑è¿ç®—"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg ä¸åº”该为 NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "别å嵌套太深"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "å‚数引å·é”™è¯¯"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "无效的数值"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "数值太大或太å°"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "内存分é…错误"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "未知的错误"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "显示这个帮助信æ¯"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "显示简短的使用说明"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "在信æ¯ä¸­æ˜¾ç¤ºé»˜è®¤çš„选项"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "用法:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[选项...]"
diff --git a/popt/po/zh_TW.po b/popt/po/zh_TW.po
deleted file mode 100644
index 615bfb8b6..000000000
--- a/popt/po/zh_TW.po
+++ /dev/null
@@ -1,116 +0,0 @@
-# Traditional Chinese Messages for popt
-# Copyright (C) 2005 Free Software Foundation, Inc.
-# Wei-Lun Chao <chaoweilun@pcmail.com.tw>, 2005
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: popt 1.10.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-02-29 07:48-0500\n"
-"PO-Revision-Date: 2005-04-08 17:52+0800\n"
-"Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
-"Language-Team: zh_TW <zh-l10n@linux.org.tw>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: popt.c:35
-msgid "unknown errno"
-msgstr "未知的錯誤"
-
-#: popt.c:964
-#, c-format
-msgid "option type (%d) not implemented in popt\n"
-msgstr "é¸é …é¡žåž‹ (%d) 沒有在 popt 中實作\n"
-
-#: popt.c:1184
-msgid "missing argument"
-msgstr "缺少引數"
-
-#: popt.c:1186
-msgid "unknown option"
-msgstr "未知的é¸é …"
-
-#: popt.c:1188
-msgid "mutually exclusive logical operations requested"
-msgstr "需è¦ç›¸äº’ç¨ç«‹çš„é‚輯é‹ç®—"
-
-#: popt.c:1190
-msgid "opt->arg should not be NULL"
-msgstr "opt->arg ä¸æ‡‰ç‚º NULL"
-
-#: popt.c:1192
-msgid "aliases nested too deeply"
-msgstr "巢狀別å太深"
-
-#: popt.c:1194
-msgid "error in parameter quoting"
-msgstr "åƒæ•¸å¼•è™ŸéŒ¯èª¤"
-
-#: popt.c:1196
-msgid "invalid numeric value"
-msgstr "ä¸æ­£ç¢ºçš„數值"
-
-#: popt.c:1198
-msgid "number too large or too small"
-msgstr "數字太大或太å°"
-
-#: popt.c:1200
-msgid "memory allocation failed"
-msgstr "記憶體é…置錯誤"
-
-#: popt.c:1204
-msgid "unknown error"
-msgstr "未知的錯誤"
-
-#: popthelp.c:64 popthelp.c:75
-msgid "Show this help message"
-msgstr "顯示本說明訊æ¯"
-
-#: popthelp.c:65 popthelp.c:76
-msgid "Display brief usage message"
-msgstr "顯示簡短的使用說明"
-
-#: popthelp.c:79
-msgid "Display option defaults in message"
-msgstr "在訊æ¯ä¸­é¡¯ç¤ºé è¨­é¸é …"
-
-#: popthelp.c:124
-msgid "NONE"
-msgstr "NONE"
-
-#: popthelp.c:126
-msgid "VAL"
-msgstr "VAL"
-
-#: popthelp.c:130
-msgid "INT"
-msgstr "INT"
-
-#: popthelp.c:131
-msgid "LONG"
-msgstr "LONG"
-
-#: popthelp.c:132
-msgid "STRING"
-msgstr "STRING"
-
-#: popthelp.c:133
-msgid "FLOAT"
-msgstr "FLOAT"
-
-#: popthelp.c:134
-msgid "DOUBLE"
-msgstr "DOUBLE"
-
-#: popthelp.c:135
-msgid "ARG"
-msgstr "ARG"
-
-#: popthelp.c:548
-msgid "Usage:"
-msgstr "用法:"
-
-#: popthelp.c:572
-msgid "[OPTION...]"
-msgstr "[é¸é …...]"
diff --git a/popt/popt.3 b/popt/popt.3
deleted file mode 100644
index 5da0c1f72..000000000
--- a/popt/popt.3
+++ /dev/null
@@ -1,765 +0,0 @@
-.TH POPT 3 "June 30, 1998" "" "Linux Programmer's Manual"
-.SH NAME
-popt \- Parse command line options
-.SH SYNOPSIS
-.nf
-.B #include <popt.h>
-.sp
-.BI "poptContext poptGetContext(const char * " name ", int " argc ,
-.BI " const char ** "argv ,
-.BI " const struct poptOption * " options ,
-.BI " int " flags );
-.sp
-.BI "void poptFreeContext(poptContext " con );
-.sp
-.BI "void poptResetContext(poptContext " con );
-.sp
-.BI "int poptGetNextOpt(poptContext " con );
-.sp
-.BI "const char * poptGetOptArg(poptContext " con );
-.sp
-.BI "const char * poptGetArg(poptContext " con );
-.sp
-.BI "const char * poptPeekArg(poptContext " con );
-.sp
-.BI "const char ** poptGetArgs(poptContext " con );
-.sp
-.BI "const char *const poptStrerror(const int " error );
-.sp
-.BI "const char * poptBadOption(poptContext " con ", int " flags );
-.sp
-.BI "int poptReadDefaultConfig(poptContext " con ", int " flags );
-.sp
-.BI "int poptReadConfigFile(poptContext " con ", char * " fn );
-.sp
-.BI "int poptAddAlias(poptContext " con ", struct poptAlias " alias ,
-.BI " int " flags );
-.sp
-.BI "int poptParseArgvString(char * " s ", int * " argcPtr ,
-.BI " const char *** " argvPtr );
-.sp
-.BI "int poptDupArgv(int " argc ", const char ** " argv ", int * " argcPtr ",
-.BI " const char *** " argvPtr ");"
-.sp
-.BI "int poptStuffArgs(poptContext " con ", const char ** " argv );
-.sp
-.fi
-.SH DESCRIPTION
-The popt library exists essentially for parsing command-line
-options. It is found superior in many ways when compared to
-parsing the argv array by hand or using the getopt functions
-.B getopt()
-and
-.B getopt_long()
-[see
-.BR getopt "(3)]."
-Some specific advantages of popt are: it does not utilize global
-.RI "variables, thus enabling multiple passes in parsing " argv
-.RI "; it can parse an arbitrary array of " argv "-style elements, "
-allowing parsing of command-line-strings from any source;
-it provides a standard method of option aliasing (to be
-discussed at length below.); it can exec external option filters; and,
-finally, it can automatically generate help and usage messages for
-the application.
-.sp
-Like
-.BR getopt_long() ,
-the popt library supports short and long style options. Recall
-that a
-.B short option
-consists of a - character followed by a single alphanumeric character.
-A
-.BR "long option" ,
-common in GNU utilities, consists of two - characters followed by a
-string made up of letters, numbers and hyphens. Long options are
-optionally allowed to begin with a single -, primarily to allow command-line
-compatibility between popt applications and X toolkit applications.
-Either type of option may be followed by an argument. A space separates a
-short option from its arguments; either a space or an = separates a long
-option from an argument.
-.sp
-The popt library is highly portable and should work on any POSIX
-platform. The latest version is distributed with rpm and is always available
-from: ftp://ftp.rpm.org/pub/rpm/dist.
-.sp
-It may be redistributed under the X consortium license, see the file COPYING
-in the popt source distribution for details.
-.SH "BASIC POPT USAGE"
-.SS "1. THE OPTION TABLE"
-Applications provide popt with information on their command-line
-options by means of an "option table," i.e., an array of
-.B struct poptOption
-structures:
-.sp
-#include <popt.h>
-.sp
-.nf
-struct poptOption {
- const char * longName; /* may be NULL */
- char shortName; /* may be '\\0' */
- int argInfo;
- void * arg; /* depends on argInfo */
- int val; /* 0 means don't return, just update flag */
- char * descrip; /* description for autohelp -- may be NULL */
- char * argDescrip; /* argument description for autohelp */
-};
-.fi
-.sp
-Each member of the table defines a single option that may be
-passed to the program. Long and short options are considered
-a single option that may occur in two different forms. The
-first two members,
-.IR longName " and " shortName ", define the names of the option;"
-the first is a long name, while the latter is a single character.
-.sp
-The
-.IR argInfo " member tells popt what type of argument is expected"
-after the argument. If no option is expected,
-.B POPT_ARG_NONE
-should be used.
-The rest of the valid values are shown in the following table:
-.sp
-.TS
-lfB lfB lfB
-lfB lfR lfR.
-Value Description arg Type
-POPT_ARG_NONE No argument expected int
-POPT_ARG_STRING No type checking to be performed char *
-POPT_ARG_INT An integer argument is expected int
-POPT_ARG_LONG A long integer is expected long
-POPT_ARG_VAL Integer value taken from \f(CWval\fR int
-POPT_ARG_FLOAT An float argument is expected float
-POPT_ARG_DOUBLE A double argument is expected double
-.TE
-.sp
-For numeric values, if the \fIargInfo\fR value is bitwise or'd with one of
-\fBPOPT_ARGFLAG_OR\fR, \fBPOPT_ARGFLAG_AND\fR, or \fBPOPT_ARGFLAG_XOR\fR,
-the value is saved by performing an OR, AND, or XOR.
-If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_NOT\fR,
-the value will be negated before saving. For the common operations of
-setting and/or clearing bits, \fBPOPT_BIT_SET\fR and \fBPOPT_BIT_CLR\fR
-have the appropriate flags set to perform bit operations.
-.sp
-If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_ONEDASH\fR,
-the long argument may be given with a single - instead of two. For example,
-if \fB--longopt\fR is an option with \fBPOPT_ARGFLAG_ONEDASH\fR, is
-specified, \fB-longopt\fR is accepted as well.
-.sp
-.RI "The next element, " arg ", allows popt to automatically update "
-.RI "program variables when the option is used. If " arg " is "
-.BR NULL ", it is ignored and popt takes no special action. "
-Otherwise it should point to a variable of the type indicated in the
-right-most column of the table above.
-.sp
-.RI "If the option takes no argument (" argInfo " is "
-.BR POPT_ARG_NONE "), the variable pointed to by "
-.IR arg " is set to 1 when the option is used. (Incidentally, it "
-will perhaps not escape the attention of hunt-and-peck typists that
-.RB "the value of " POPT_ARG_NONE " is 0.) If the option does take "
-an argument, the variable that
-.IR arg " points to is updated to reflect the value of the argument."
-.RB "Any string is acceptable for " POPT_ARG_STRING " arguments, but "
-.BR POPT_ARG_INT ", " POPT_ARG_LONG ", " POPT_ARG_FLOAT ", and "
-.BR POPT_ARG_DOUBLE " are converted to the appropriate type, and an "
-error returned if the conversion fails.
-.sp
-\fBPOPT_ARG_VAL\fR causes \fIarg\fP to be set to the (integer) value of
-\fIval\fP when the argument is found. This is most often useful for
-mutually-exclusive arguments in cases where it is not an error for
-multiple arguments to occur and where you want the last argument
-specified to win; for example, "rm -i -f". \fBPOPT_ARG_VAL\fP causes
-the parsing function not to return a value, since the value of \fIval\fP
-has already been used.
-.sp
-If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_OPTIONAL\fR,
-the argument to the long option may be omitted. If the long option
-is used without an argument, a default value of zero or NULL will be saved
-(if the arg pointer is present), otherwise behavior will be identical to
-a long option with argument.
-.sp
-.RI "The next option, " val ", is the value popt's parsing function
-should return when the option is encountered. If it is 0, the parsing
-function does not return a value, instead parsing the next
-command-line argument.
-.sp
-.RI "The last two options, " descrip " and " argDescrip " are only required
-if automatic help messages are desired (automatic usage messages can
-.RI "be generated without them). " descrip " is a text description of the
-.RI "argument and " argdescrip " is a short summary of the type of arguments
-.RI "the option expects, or NULL if the option doesn't require any
-arguments.
-.sp
-.RB "If popt should automatically provide " --usage " and " --help " (" -? ")
-.RB "options, one line in the table should be the macro " POPT_AUTOHELP ".
-.RB "This macro includes another option table (via " POPT_ARG_INCLUDE_TABLE;
-see below) in the main one which provides the table entries for these
-.RB "arguments. When " --usage " or " --help " are passed to programs which
-use popt's automatical help, popt displays the appropriate message on
-stderr as soon as it finds the option, and exits the program with a
-return code of 0. If you want to use popt's automatic help generation in
-a different way, you need to explicitly add the option entries to your programs
-.RB "option table instead of using " POPT_AUTOHELP ".
-.sp
-If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_DOC_HIDDEN\fR,
-the argument will not be shown in help output.
-.sp
-If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_SHOW_DEFAULT\fR,
-the inital value of the arg will be shown in help output.
-.sp
-The final structure in the table should have all the pointer values set
-.RB "to " NULL " and all the arithmetic values set to 0, marking the "
-.RB "end of the table. The macro " POPT_TABLEEND " is provided to do that.
-.sp
-There are two types of option table entries which do not specify command
-line options. When either of these types of entries are used, the
-\fIlongName\fR element must be \fBNULL\fR and the \fBshortName\fR element
-must be \fB'\\0'\fR.
-.sp
-The first of these special entry types allows the application to nest
-another option table in the current one; such nesting may extend quite
-deeply (the actual depth is limited by the program's stack). Including
-other option tables allows a library to provide a standard set of
-command-line options to every program which uses it (this is often done
-in graphical programming toolkits, for example). To do this, set
-the \fIargInfo\fR field to \fBPOPT_ARG_INCLUDE_TABLE\fR and the
-\fRarg\fR field to point to the table which is being included. If
-automatic help generation is being used, the \fIdescrip\fR field should
-contain a overall description of the option table being included.
-.sp
-The other special option table entry type tells popt to call a function (a
-callback) when any option in that table is found. This is especially usefull
-when included option tables are being used, as the program which provides
-the top-level option table doesn't need to be aware of the other options
-which are provided by the included table. When a callback is set for
-a table, the parsing function never returns information on an option in
-the table. Instead, options information must be retained via the callback
-or by having popt set a variable through the option's \fIarg\fR field.
-Option callbacks should match the following prototype:
-.sp
-.nf
-.BI "void poptCallbackType(poptContext con,
-.BI " const struct poptOption * opt,
-.BI " const char * arg, void * data);
-.fi
-.sp
-The first parameter is the context which is being parsed (see the next
-section for information on contexts), \fIopt\fR points to the option
-which triggered this callback, and \fIarg\fR is the option's argument.
-If the option does not take an argument, \fIarg\fR is \fBNULL\fR. The
-final parameter, \fIdata\fR is taken from the \fIdescrip\fR field
-of the option table entry which defined the callback. As \fIdescrip\fR
-is a pointer, this allows callback functions to be passed an arbitrary
-set of data (though a typecast will have to be used).
-.sp
-The option table entry which defines a callback has an \fIargInfo\fR of
-\fBPOPT_ARG_CALLBACK\fR, an \fIarg\fR which points to the callback
-function, and a \fIdescrip\fR field which specifies an arbitrary pointer
-to be passed to the callback.
-.SS "2. CREATING A CONTEXT"
-popt can interleave the parsing of multiple command-line sets. It allows
-this by keeping all the state information for a particular set of
-command-line arguments in a
-.BR poptContext " data structure, an opaque type that should not be "
-modified outside the popt library.
-.sp
-.RB "New popt contexts are created by " poptGetContext() ":"
-.sp
-.nf
-.BI "poptContext poptGetContext(const char * " name ", int "argc ",
-.BI " const char ** "argv ",
-.BI " const struct poptOption * "options ",
-.BI " int "flags ");"
-.fi
-.sp
-The first parameter,
-.IR name ", is used only for alias handling (discussed later). It "
-should be the name of the application whose options are being parsed,
-.RB "or should be " NULL " if no option aliasing is desired. The next "
-two arguments specify the command-line arguments to parse. These are
-.RB "generally passed to " poptGetContext() " exactly as they were "
-.RB "passed to the program's " main() " function. The "
-.IR options " parameter points to the table of command-line options, "
-which was described in the previous section. The final parameter,
-.IR flags ,
-can take one of three values:
-.br
-.TS
-lfB lfB
-lfB lfR.
-Value Description
-POPT_CONTEXT_NO_EXEC Ignore exec expansions
-POPT_CONTEXT_KEEP_FIRST Do not ignore argv[0]
-POPT_CONTEXT_POSIXMEHARDER Options cannot follow arguments
-.TE
-.sp
-.RB "A " poptContext " keeps track of which options have already been "
-parsed and which remain, among other things. If a program wishes to
-restart option processing of a set of arguments, it can reset the
-.BR poptContext " by passing the context as the sole argument to "
-.BR poptResetContext() .
-.sp
-When argument processing is complete, the process should free the
-.BR poptContext " as it contains dynamically allocated components. The "
-.BR poptFreeContext() " function takes a "
-.BR poptContext " as its sole argument and frees the resources the "
-context is using.
-.sp
-.RB "Here are the prototypes of both " poptResetContext() " and "
-.BR poptFreeContext() :
-.sp
-.nf
-.B #include <popt.h>
-.BI "void poptFreeContext(poptContext " con ");"
-.BI "void poptResetContext(poptContext " con ");"
-.fi
-.sp
-.SS "3. PARSING THE COMMAND LINE"
-.RB "After an application has created a " poptContext ", it may begin "
-.RB "parsing arguments. " poptGetNextOpt() " performs the actual "
-argument parsing.
-.sp
-.nf
-.B #include <popt.h>
-.BI "int poptGetNextOpt(poptContext " con ");"
-.fi
-.sp
-Taking the context as its sole argument, this function parses the next
-command-line argument found. After finding the next argument in the
-option table, the function fills in the object pointed to by the option
-.RI "table entry's " arg
-.RB "pointer if it is not " NULL ". If the val entry for the option is "
-non-0, the function then returns that value. Otherwise,
-.BR poptGetNextOpt() " continues on to the next argument."
-.sp
-.BR poptGetNextOpt() " returns -1 when the final argument has been "
-parsed, and other negative values when errors occur. This makes it a
-good idea to
-.RI "keep the " val " elements in the options table greater than 0."
-.sp
-.RI "If all of the command-line options are handled through " arg
-pointers, command-line parsing is reduced to the following line of code:
-.sp
-.nf
-rc = poptGetNextOpt(poptcon);
-.fi
-.sp
-Many applications require more complex command-line parsing than this,
-however, and use the following structure:
-.sp
-.nf
-while ((rc = poptGetNextOpt(poptcon)) > 0) {
- switch (rc) {
- /* specific arguments are handled here */
- }
-}
-.fi
-.sp
-When returned options are handled, the application needs to know the
-value of any arguments that were specified after the option. There are two
-ways to discover them. One is to ask popt to fill in a variable with the
-.RI "value of the option through the option table's " arg " elements. The "
-.RB "other is to use " poptGetOptArg() ":"
-.sp
-.nf
-.B #include <popt.h>
-.BI "const char * poptGetOptArg(poptContext " con ");"
-.fi
-.sp
-This function returns the argument given for the final option returned by
-.BR poptGetNextOpt() ", or it returns " NULL " if no argument was specified."
-.sp
-.SS "4. LEFTOVER ARGUMENTS"
-Many applications take an arbitrary number of command-line arguments,
-such as a list of file names. When popt encounters an argument that does
-not begin with a -, it assumes it is such an argument and adds it to a list
-of leftover arguments. Three functions allow applications to access such
-arguments:
-.nf
-.HP
-.BI "const char * poptGetArg(poptContext " con ");"
-.fi
-This function returns the next leftover argument and marks it as
-processed.
-.PP
-.nf
-.HP
-.BI "const char * poptPeekArg(poptContext " con ");"
-.fi
-The next leftover argument is returned but not marked as processed.
-This allows an application to look ahead into the argument list,
-without modifying the list.
-.PP
-.nf
-.HP
-.BI "const char ** poptGetArgs(poptContext " con ");"
-.fi
-All the leftover arguments are returned in a manner identical to
-.IR argv ". The final element in the returned array points to "
-.BR NULL ", indicating the end of the arguments.
-.sp
-.SS "5. AUTOMATIC HELP MESSAGES"
-The \fBpopt\fR library can automatically generate help messages which
-describe the options a program accepts. There are two types of help
-messages which can be generated. Usage messages are a short messages
-which lists valid options, but does not describe them. Help messages
-describe each option on one (or more) lines, resulting in a longer, but
-more useful, message. Whenever automatic help messages are used, the
-\fBdescrip\fR and \fBargDescrip\fR fields \fBstruct poptOption\fR members
-should be filled in for each option.
-.sp
-The \fBPOPT_AUTOHELP\fR macro makes it easy to add \fB--usage\fR and
-\fB--help\fR messages to your program, and is described in part 1
-of this man page. If more control is needed over your help messages,
-the following two functions are available:
-.sp
-.nf
-.B #include <popt.h>
-.BI "void poptPrintHelp(poptContext " con ", FILE * " f ", int " flags ");
-.BI "void poptPrintUsage(poptContext " con ", FILE * " f ", int " flags ");
-.fi
-.sp
-\fBpoptPrintHelp()\fR displays the standard help message to the stdio file
-descriptor f, while \fBpoptPrintUsage()\fR displays the shorter usage
-message. Both functions currently ignore the \fBflags\fR argument; it is
-there to allow future changes.
-.sp
-.SH "ERROR HANDLING"
-All of the popt functions that can return errors return integers.
-When an error occurs, a negative error code is returned. The
-following table summarizes the error codes that occur:
-.sp
-.nf
-.B " Error Description"
-.BR "POPT_ERROR_NOARG " "Argument missing for an option."
-.BR "POPT_ERROR_BADOPT " "Option's argument couldn't be parsed."
-.BR "POPT_ERROR_OPTSTOODEEP " "Option aliasing nested too deeply."
-.BR "POPT_ERROR_BADQUOTE " "Quotations do not match."
-.BR "POPT_ERROR_BADNUMBER " "Option couldn't be converted to number."
-.BR "POPT_ERROR_OVERFLOW " "A given number was too big or small."
-.fi
-.sp
-Here is a more detailed discussion of each error:
-.sp
-.TP
-.B POPT_ERROR_NOARG
-An option that requires an argument was specified on the command
-line, but no argument was given. This can be returned only by
-.BR poptGetNextOpt() .
-.sp
-.TP
-.B POPT_ERROR_BADOPT
-.RI "An option was specified in " argv " but is not in the option
-.RB "table. This error can be returned only from " poptGetNextOpt() .
-.sp
-.TP
-.B POPT_ERROR_OPTSTOODEEP
-A set of option aliases is nested too deeply. Currently, popt
-follows options only 10 levels to prevent infinite recursion. Only
-.BR poptGetNextOpt() " can return this error."
-.sp
-.TP
-.B POPT_ERROR_BADQUOTE
-A parsed string has a quotation mismatch (such as a single quotation
-.RB "mark). " poptParseArgvString() ", " poptReadConfigFile() ", or "
-.BR poptReadDefaultConfig() " can return this error."
-.sp
-.TP
-.B POPT_ERROR_BADNUMBER
-A conversion from a string to a number (int or long) failed due
-to the string containing nonnumeric characters. This occurs when
-.BR poptGetNextOpt() " is processing an argument of type "
-.BR POPT_ARG_INT ", " POPT_ARG_LONG ", "
-.RB POPT_ARG_FLOAT ", or " POPT_ARG_DOUBLE "."
-.sp
-.TP
-.B POPT_ERROR_OVERFLOW
-A string-to-number conversion failed because the number was too
-.RB "large or too small. Like " POPT_ERROR_BADNUMBER ", this error
-.RB "can occur only when " poptGetNextOpt() " is processing an "
-.RB "argument of type " POPT_ARG_INT ", " POPT_ARG_LONG ", "
-.RB POPT_ARG_FLOAT ", or " POPT_ARG_DOUBLE "."
-.sp
-.TP
-.B POPT_ERROR_ERRNO
-.RI "A system call returned with an error, and " errno " still
-contains the error from the system call. Both
-.BR poptReadConfigFile() " and " poptReadDefaultConfig() " can "
-return this error.
-.sp
-.PP
-Two functions are available to make it easy for applications to provide
-good error messages.
-.HP
-.nf
-.BI "const char *const poptStrerror(const int " error ");"
-.fi
-This function takes a popt error code and returns a string describing
-.RB "the error, just as with the standard " strerror() " function."
-.PP
-.HP
-.nf
-.BI "const char * poptBadOption(poptContext " con ", int " flags ");"
-.fi
-.RB "If an error occurred during " poptGetNextOpt() ", this function "
-.RI "returns the option that caused the error. If the " flags " argument"
-.RB "is set to " POPT_BADOPTION_NOALIAS ", the outermost option is "
-.RI "returned. Otherwise, " flags " should be 0, and the option that is "
-returned may have been specified through an alias.
-.PP
-These two functions make popt error handling trivial for most
-applications. When an error is detected from most of the functions,
-an error message is printed along with the error string from
-.BR poptStrerror() ". When an error occurs during argument parsing, "
-code similiar to the following displays a useful error message:
-.sp
-.nf
-fprintf(stderr, "%s: %s\\n",
- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
- poptStrerror(rc));
-.fi
-.sp
-.SH "OPTION ALIASING"
-.RB "One of the primary benefits of using popt over " getopt() " is the "
-ability to use option aliasing. This lets the user specify options that
-popt expands into other options when they are specified. If the standard
-.RB "grep program made use of popt, users could add a " --text " option "
-.RB "that expanded to " "-i -n -E -2" " to let them more easily find "
-information in text files.
-.sp
-.SS "1. SPECIFYING ALIASES"
-.RI "Aliases are normally specified in two places: " /etc/popt
-.RB "and the " .popt " file in the user's home directory (found through "
-.RB "the " HOME " environment variable). Both files have the same format, "
-an arbitrary number of lines formatted like this:
-.sp
-.IB appname " alias " newoption "" " expansion"
-.sp
-.RI "The " appname " is the name of the application, which must be the "
-.RI "same as the " name " parameter passed to "
-.BR poptGetContext() ". This allows each file to specify aliases for "
-.RB "multiple programs. The " alias " keyword specifies that an alias is "
-being defined; currently popt configuration files support only aliases, but
-other abilities may be added in the future. The next option is the option
-that should be aliased, and it may be either a short or a long option. The
-rest of the line specifies the expansion for the alias. It is parsed
-similarly to a shell command, which allows \\, ", and ' to be used for
-quoting. If a backslash is the final character on a line, the next line
-in the file is assumed to be a logical continuation of the line containing
-the backslash, just as in shell.
-.sp
-.RB "The following entry would add a " --text " option to the grep command, "
-as suggested at the beginning of this section.
-.sp
-.B "grep alias --text -i -n -E -2"
-.SS "2. ENABLING ALIASES"
-.RB "An application must enable alias expansion for a " poptContext
-.RB "before calling " poptGetNextArg() " for the first time. There are "
-three functions that define aliases for a context:
-.HP
-.nf
-.BI "int poptReadDefaultConfig(poptContext " con ", int " flags ");"
-.fi
-.RI "This function reads aliases from " /etc/popt " and the "
-.BR .popt " file in the user's home directory. Currently, "
-.IR flags " should be "
-.BR NULL ", as it is provided only for future expansion."
-.PP
-.HP
-.nf
-.BI "int poptReadConfigFile(poptContext " con ", char * " fn ");"
-.fi
-.RI "The file specified by " fn " is opened and parsed as a popt "
-configuration file. This allows programs to use program-specific
-configuration files.
-.PP
-.HP
-.nf
-.BI "int poptAddAlias(poptContext " con ", struct poptAlias " alias ",
-.BI " int " flags ");"
-.fi
-Occasionally, processes want to specify aliases without having to
-read them from a configuration file. This function adds a new alias
-.RI "to a context. The " flags " argument should be 0, as it is "
-currently reserved for future expansion. The new alias is specified
-.RB "as a " "struct poptAlias" ", which is defined as:"
-.sp
-.nf
-struct poptAlias {
- const char * longName; /* may be NULL */
- char shortName; /* may be '\\0' */
- int argc;
- const char ** argv; /* must be free()able */
-};
-.fi
-.sp
-.RI "The first two elements, " longName " and " shortName ", specify "
-.RI "the option that is aliased. The final two, " argc " and " argv ","
-define the expansion to use when the aliases option is encountered.
-.PP
-.SH "PARSING ARGUMENT STRINGS"
-Although popt is usually used for parsing arguments already divided into
-.RI "an " argv "-style array, some programs need to parse strings that "
-are formatted identically to command lines. To facilitate this, popt
-provides a function that parses a string into an array of strings,
-using rules similiar to normal shell parsing.
-.sp
-.nf
-.B "#include <popt.h>"
-.BI "int poptParseArgvString(char * " s ", int * " argcPtr ",
-.BI " char *** " argvPtr ");"
-.BI "int poptDupArgv(int " argc ", const char ** " argv ", int * " argcPtr ",
-.BI " const char *** " argvPtr ");"
-.fi
-.sp
-.RI "The string s is parsed into an " argv "-style array. The integer "
-.RI "pointed to by the " argcPtr " parameter contains the number of elements "
-.RI "parsed, and the final " argvPtr " parameter contains the address of the"
-newly created array.
-.RB "The routine " poptDupArgv() " can be used to make a copy of an existing "
-argument array.
-.sp
-.RI "The " argvPtr
-.RB "created by " poptParseArgvString() " or " poptDupArgv() " is suitable to pass directly "
-.RB "to " poptGetContext() .
-Both routines return a single dynamically allocated contiguous
-.RB "block of storage and should be " free() "ed when the application is"
-finished with the storage.
-.SH "HANDLING EXTRA ARGUMENTS"
-Some applications implement the equivalent of option aliasing but need
-.RB "to do so through special logic. The " poptStuffArgs() " function "
-allows an application to insert new arguments into the current
-.BR poptContext .
-.sp
-.nf
-.B "#include <popt.h>"
-.BI "int poptStuffArgs(poptContext "con ", const char ** " argv ");"
-.fi
-.sp
-.RI "The passed " argv
-.RB "must have a " NULL " pointer as its final element. When "
-.BR poptGetNextOpt() " is next called, the "
-"stuffed" arguments are the first to be parsed. popt returns to the
-normal arguments once all the stuffed arguments have been exhausted.
-.SH "EXAMPLE"
-The following example is a simplified version of the program "robin"
-which appears in Chapter 15 of the text cited below. Robin has
-been stripped of everything but its argument-parsing logic, slightly
-reworked, and renamed "parse." It may prove useful in illustrating
-at least some of the features of the extremely rich popt library.
-.sp
-.nf
-#include <popt.h>
-#include <stdio.h>
-
-void usage(poptContext optCon, int exitcode, char *error, char *addl) {
- poptPrintUsage(optCon, stderr, 0);
- if (error) fprintf(stderr, "%s: %s\n", error, addl);
- exit(exitcode);
-}
-
-int main(int argc, char *argv[]) {
- char c; /* used for argument parsing */
- int i = 0; /* used for tracking options */
- char *portname;
- int speed = 0; /* used in argument parsing to set speed */
- int raw = 0; /* raw mode? */
- int j;
- char buf[BUFSIZ+1];
- poptContext optCon; /* context for parsing command-line options */
-
- struct poptOption optionsTable[] = {
- { "bps", 'b', POPT_ARG_INT, &speed, 0,
- "signaling rate in bits-per-second", "BPS" },
- { "crnl", 'c', 0, 0, 'c',
- "expand cr characters to cr/lf sequences" },
- { "hwflow", 'h', 0, 0, 'h',
- "use hardware (RTS/CTS) flow control" },
- { "noflow", 'n', 0, 0, 'n',
- "use no flow control" },
- { "raw", 'r', 0, &raw, 0,
- "don't perform any character conversions" },
- { "swflow", 's', 0, 0, 's',
- "use software (XON/XOF) flow control" } ,
- POPT_AUTOHELP
- { NULL, 0, 0, NULL, 0 }
- };
-
- optCon = poptGetContext(NULL, argc, argv, optionsTable, 0);
- poptSetOtherOptionHelp(optCon, "[OPTIONS]* <port>");
-
- if (argc < 2) {
- poptPrintUsage(optCon, stderr, 0);
- exit(1);
- }
-
- /* Now do options processing, get portname */
- while ((c = poptGetNextOpt(optCon)) >= 0) {
- switch (c) {
- case 'c':
- buf[i++] = 'c';
- break;
- case 'h':
- buf[i++] = 'h';
- break;
- case 's':
- buf[i++] = 's';
- break;
- case 'n':
- buf[i++] = 'n';
- break;
- }
- }
- portname = poptGetArg(optCon);
- if((portname == NULL) || !(poptPeekArg(optCon) == NULL))
- usage(optCon, 1, "Specify a single port", ".e.g., /dev/cua0");
-
- if (c < -1) {
- /* an error occurred during option processing */
- fprintf(stderr, "%s: %s\\n",
- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
- poptStrerror(c));
- return 1;
- }
-
- /* Print out options, portname chosen */
- printf("Options chosen: ");
- for(j = 0; j < i ; j++)
- printf("-%c ", buf[j]);
- if(raw) printf("-r ");
- if(speed) printf("-b %d ", speed);
- printf("\\nPortname chosen: %s\\n", portname);
-
- poptFreeContext(optCon);
- exit(0);
-}
-.fi
-.sp
-RPM, a popular Linux package management program, makes heavy use
-of popt's features. Many of its command-line arguments are implemented
-through popt aliases, which makes RPM an excellent example of how to
-take advantage of the popt library. For more information on RPM, see
-http://www.rpm.org. The popt source code distribution includes test
-program(s) which use all of the features of the popt libraries in
-various ways. If a feature isn't working for you, the popt test code
-is the first place to look.
-.SH BUGS
-None presently known.
-.SH AUTHOR
-Erik W. Troan <ewt@redhat.com>
-.PP
-This man page is derived in part from
-.IR "Linux Application Development"
-by Michael K. Johnson and Erik W. Troan, Copyright (c) 1998 by Addison
-Wesley Longman, Inc., and included in the popt documentation with the
-permission of the Publisher and the appreciation of the Authors.
-.PP
-Thanks to Robert Lynch for his extensive work on this man page.
-.SH "SEE ALSO"
-.BR getopt (3)
-.sp
-.IR "Linux Application Development" ", by Michael K. Johnson and "
-Erik W. Troan (Addison-Wesley, 1998; ISBN 0-201-30821-5), Chapter 24.
-.sp
-.BR popt.ps " is a Postscript version of the above cited book "
-chapter. It can be found in the source archive for popt available at:
-ftp://ftp.rpm.org/pub/rpm.
diff --git a/popt/popt.c b/popt/popt.c
deleted file mode 100644
index 5226062af..000000000
--- a/popt/popt.c
+++ /dev/null
@@ -1,1260 +0,0 @@
-/** \ingroup popt
- * \file popt/popt.c
- */
-
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist */
-
-#undef MYDEBUG
-
-#include "system.h"
-
-#if HAVE_FLOAT_H
-#include <float.h>
-#endif
-#include <math.h>
-
-#include "findme.h"
-#include "poptint.h"
-
-#ifdef MYDEBUG
-/*@unchecked@*/
-int _popt_debug = 0;
-#endif
-
-#if !defined(HAVE_STRERROR) && !defined(__LCLINT__)
-static char * strerror(int errno)
-{
- extern int sys_nerr;
- extern char * sys_errlist[];
-
- if ((0 <= errno) && (errno < sys_nerr))
- return sys_errlist[errno];
- else
- return POPT_("unknown errno");
-}
-#endif
-
-#ifdef MYDEBUG
-/*@unused@*/
-static void prtcon(const char *msg, poptContext con)
-{
- if (msg) fprintf(stderr, "%s", msg);
- fprintf(stderr, "\tcon %p os %p nextCharArg \"%s\" nextArg \"%s\" argv[%d] \"%s\"\n",
- con, con->os,
- (con->os->nextCharArg ? con->os->nextCharArg : ""),
- (con->os->nextArg ? con->os->nextArg : ""),
- con->os->next,
- (con->os->argv && con->os->argv[con->os->next]
- ? con->os->argv[con->os->next] : ""));
-}
-#endif
-
-void poptSetExecPath(poptContext con, const char * path, int allowAbsolute)
-{
- con->execPath = _free(con->execPath);
- con->execPath = xstrdup(path);
- con->execAbsolute = allowAbsolute;
- /*@-nullstate@*/ /* LCL: con->execPath not NULL */
- return;
- /*@=nullstate@*/
-}
-
-static void invokeCallbacksPRE(poptContext con, const struct poptOption * opt)
- /*@globals internalState@*/
- /*@modifies internalState@*/
-{
- if (opt != NULL)
- for (; opt->longName || opt->shortName || opt->arg; opt++) {
- if (opt->arg == NULL) continue; /* XXX program error. */
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- void * arg = opt->arg;
-/*@-branchstate@*/
- /* XXX sick hack to preserve pretense of ABI. */
- if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
-/*@=branchstate@*/
- /* Recurse on included sub-tables. */
- invokeCallbacksPRE(con, arg);
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK &&
- (opt->argInfo & POPT_CBFLAG_PRE))
- { /*@-castfcnptr@*/
- poptCallbackType cb = (poptCallbackType)opt->arg;
- /*@=castfcnptr@*/
- /* Perform callback. */
- /*@-noeffectuncon @*/
- cb(con, POPT_CALLBACK_REASON_PRE, NULL, NULL, opt->descrip);
- /*@=noeffectuncon @*/
- }
- }
-}
-
-static void invokeCallbacksPOST(poptContext con, const struct poptOption * opt)
- /*@globals internalState@*/
- /*@modifies internalState@*/
-{
- if (opt != NULL)
- for (; opt->longName || opt->shortName || opt->arg; opt++) {
- if (opt->arg == NULL) continue; /* XXX program error. */
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- void * arg = opt->arg;
-/*@-branchstate@*/
- /* XXX sick hack to preserve pretense of ABI. */
- if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
-/*@=branchstate@*/
- /* Recurse on included sub-tables. */
- invokeCallbacksPOST(con, arg);
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK &&
- (opt->argInfo & POPT_CBFLAG_POST))
- { /*@-castfcnptr@*/
- poptCallbackType cb = (poptCallbackType)opt->arg;
- /*@=castfcnptr@*/
- /* Perform callback. */
- /*@-noeffectuncon @*/
- cb(con, POPT_CALLBACK_REASON_POST, NULL, NULL, opt->descrip);
- /*@=noeffectuncon @*/
- }
- }
-}
-
-static void invokeCallbacksOPTION(poptContext con,
- const struct poptOption * opt,
- const struct poptOption * myOpt,
- /*@null@*/ const void * myData, int shorty)
- /*@globals internalState@*/
- /*@modifies internalState@*/
-{
- const struct poptOption * cbopt = NULL;
-
- if (opt != NULL)
- for (; opt->longName || opt->shortName || opt->arg; opt++) {
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- void * arg = opt->arg;
-/*@-branchstate@*/
- /* XXX sick hack to preserve pretense of ABI. */
- if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
-/*@=branchstate@*/
- /* Recurse on included sub-tables. */
- if (opt->arg != NULL) /* XXX program error */
- invokeCallbacksOPTION(con, opt->arg, myOpt, myData, shorty);
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK &&
- !(opt->argInfo & POPT_CBFLAG_SKIPOPTION)) {
- /* Save callback info. */
- cbopt = opt;
- } else if (cbopt != NULL &&
- ((myOpt->shortName && opt->shortName && shorty &&
- myOpt->shortName == opt->shortName) ||
- (myOpt->longName && opt->longName &&
- /*@-nullpass@*/ /* LCL: opt->longName != NULL */
- !strcmp(myOpt->longName, opt->longName)))
- /*@=nullpass@*/
- )
- { /*@-castfcnptr@*/
- poptCallbackType cb = (poptCallbackType)cbopt->arg;
- /*@=castfcnptr@*/
- const void * cbData = (cbopt->descrip ? cbopt->descrip : myData);
- /* Perform callback. */
- if (cb != NULL) { /* XXX program error */
- /*@-noeffectuncon @*/
- cb(con, POPT_CALLBACK_REASON_OPTION, myOpt,
- con->os->nextArg, cbData);
- /*@=noeffectuncon @*/
- }
- /* Terminate (unless explcitly continuing). */
- if (!(cbopt->argInfo & POPT_CBFLAG_CONTINUE))
- return;
- }
- }
-}
-
-poptContext poptGetContext(const char * name, int argc, const char ** argv,
- const struct poptOption * options, int flags)
-{
- poptContext con = malloc(sizeof(*con));
-
- if (con == NULL) return NULL; /* XXX can't happen */
- memset(con, 0, sizeof(*con));
-
- con->os = con->optionStack;
- con->os->argc = argc;
- /*@-dependenttrans -assignexpose@*/ /* FIX: W2DO? */
- con->os->argv = argv;
- /*@=dependenttrans =assignexpose@*/
- con->os->argb = NULL;
-
- if (!(flags & POPT_CONTEXT_KEEP_FIRST))
- con->os->next = 1; /* skip argv[0] */
-
- con->leftovers = calloc( (argc + 1), sizeof(*con->leftovers) );
- /*@-dependenttrans -assignexpose@*/ /* FIX: W2DO? */
- con->options = options;
- /*@=dependenttrans =assignexpose@*/
- con->aliases = NULL;
- con->numAliases = 0;
- con->flags = flags;
- con->execs = NULL;
- con->numExecs = 0;
- con->finalArgvAlloced = argc * 2;
- con->finalArgv = calloc( con->finalArgvAlloced, sizeof(*con->finalArgv) );
- con->execAbsolute = 1;
- con->arg_strip = NULL;
-
- if (getenv("POSIXLY_CORRECT") || getenv("POSIX_ME_HARDER"))
- con->flags |= POPT_CONTEXT_POSIXMEHARDER;
-
- if (name) {
- char * t = malloc(strlen(name) + 1);
- if (t) con->appName = strcpy(t, name);
- }
-
- /*@-internalglobs@*/
- invokeCallbacksPRE(con, con->options);
- /*@=internalglobs@*/
-
- return con;
-}
-
-static void cleanOSE(/*@special@*/ struct optionStackEntry *os)
- /*@uses os @*/
- /*@releases os->nextArg, os->argv, os->argb @*/
- /*@modifies os @*/
-{
- os->nextArg = _free(os->nextArg);
- os->argv = _free(os->argv);
- os->argb = PBM_FREE(os->argb);
-}
-
-/*@-boundswrite@*/
-void poptResetContext(poptContext con)
-{
- int i;
-
- if (con == NULL) return;
- while (con->os > con->optionStack) {
- cleanOSE(con->os--);
- }
- con->os->argb = PBM_FREE(con->os->argb);
- con->os->currAlias = NULL;
- con->os->nextCharArg = NULL;
- con->os->nextArg = NULL;
- con->os->next = 1; /* skip argv[0] */
-
- con->numLeftovers = 0;
- con->nextLeftover = 0;
- con->restLeftover = 0;
- con->doExec = NULL;
-
- if (con->finalArgv != NULL)
- for (i = 0; i < con->finalArgvCount; i++) {
- /*@-unqualifiedtrans@*/ /* FIX: typedef double indirection. */
- con->finalArgv[i] = _free(con->finalArgv[i]);
- /*@=unqualifiedtrans@*/
- }
-
- con->finalArgvCount = 0;
- con->arg_strip = PBM_FREE(con->arg_strip);
- /*@-nullstate@*/ /* FIX: con->finalArgv != NULL */
- return;
- /*@=nullstate@*/
-}
-/*@=boundswrite@*/
-
-/* Only one of longName, shortName should be set, not both. */
-/*@-boundswrite@*/
-static int handleExec(/*@special@*/ poptContext con,
- /*@null@*/ const char * longName, char shortName)
- /*@uses con->execs, con->numExecs, con->flags, con->doExec,
- con->finalArgv, con->finalArgvAlloced, con->finalArgvCount @*/
- /*@modifies con @*/
-{
- poptItem item;
- int i;
-
- if (con->execs == NULL || con->numExecs <= 0) /* XXX can't happen */
- return 0;
-
- for (i = con->numExecs - 1; i >= 0; i--) {
- item = con->execs + i;
- if (longName && !(item->option.longName &&
- !strcmp(longName, item->option.longName)))
- continue;
- else if (shortName != item->option.shortName)
- continue;
- break;
- }
- if (i < 0) return 0;
-
-
- if (con->flags & POPT_CONTEXT_NO_EXEC)
- return 1;
-
- if (con->doExec == NULL) {
- con->doExec = con->execs + i;
- return 1;
- }
-
- /* We already have an exec to do; remember this option for next
- time 'round */
- if ((con->finalArgvCount + 1) >= (con->finalArgvAlloced)) {
- con->finalArgvAlloced += 10;
- con->finalArgv = realloc(con->finalArgv,
- sizeof(*con->finalArgv) * con->finalArgvAlloced);
- }
-
- i = con->finalArgvCount++;
- if (con->finalArgv != NULL) /* XXX can't happen */
- { char *s = malloc((longName ? strlen(longName) : 0) + 3);
- if (s != NULL) { /* XXX can't happen */
- if (longName)
- sprintf(s, "--%s", longName);
- else
- sprintf(s, "-%c", shortName);
- con->finalArgv[i] = s;
- } else
- con->finalArgv[i] = NULL;
- }
-
- /*@-nullstate@*/ /* FIX: con->finalArgv[] == NULL */
- return 1;
- /*@=nullstate@*/
-}
-/*@=boundswrite@*/
-
-/* Only one of longName, shortName may be set at a time */
-static int handleAlias(/*@special@*/ poptContext con,
- /*@null@*/ const char * longName, char shortName,
- /*@exposed@*/ /*@null@*/ const char * nextCharArg)
- /*@uses con->aliases, con->numAliases, con->optionStack, con->os,
- con->os->currAlias, con->os->currAlias->option.longName @*/
- /*@modifies con @*/
-{
- poptItem item = con->os->currAlias;
- int rc;
- int i;
-
- if (item) {
- if (longName && (item->option.longName &&
- !strcmp(longName, item->option.longName)))
- return 0;
- if (shortName && shortName == item->option.shortName)
- return 0;
- }
-
- if (con->aliases == NULL || con->numAliases <= 0) /* XXX can't happen */
- return 0;
-
- for (i = con->numAliases - 1; i >= 0; i--) {
- item = con->aliases + i;
- if (longName && !(item->option.longName &&
- !strcmp(longName, item->option.longName)))
- continue;
- else if (shortName != item->option.shortName)
- continue;
- break;
- }
- if (i < 0) return 0;
-
- if ((con->os - con->optionStack + 1) == POPT_OPTION_DEPTH)
- return POPT_ERROR_OPTSTOODEEP;
-
-/*@-boundsread@*/
- if (nextCharArg && *nextCharArg)
- con->os->nextCharArg = nextCharArg;
-/*@=boundsread@*/
-
- con->os++;
- con->os->next = 0;
- con->os->stuffed = 0;
- con->os->nextArg = NULL;
- con->os->nextCharArg = NULL;
- con->os->currAlias = con->aliases + i;
- rc = poptDupArgv(con->os->currAlias->argc, con->os->currAlias->argv,
- &con->os->argc, &con->os->argv);
- con->os->argb = NULL;
-
- return (rc ? rc : 1);
-}
-
-/*@-bounds -boundswrite @*/
-static int execCommand(poptContext con)
- /*@globals internalState @*/
- /*@modifies internalState @*/
-{
- poptItem item = con->doExec;
- const char ** argv;
- int argc = 0;
- int rc;
-
- if (item == NULL) /*XXX can't happen*/
- return POPT_ERROR_NOARG;
-
- if (item->argv == NULL || item->argc < 1 ||
- (!con->execAbsolute && strchr(item->argv[0], '/')))
- return POPT_ERROR_NOARG;
-
- argv = malloc(sizeof(*argv) *
- (6 + item->argc + con->numLeftovers + con->finalArgvCount));
- if (argv == NULL) return POPT_ERROR_MALLOC;
-
- if (!strchr(item->argv[0], '/') && con->execPath != NULL) {
- char *s = alloca(strlen(con->execPath) + strlen(item->argv[0]) + sizeof("/"));
- sprintf(s, "%s/%s", con->execPath, item->argv[0]);
- argv[argc] = s;
- } else
- argv[argc] = findProgramPath(item->argv[0]);
- if (argv[argc++] == NULL) return POPT_ERROR_NOARG;
-
- if (item->argc > 1) {
- memcpy(argv + argc, item->argv + 1, sizeof(*argv) * (item->argc - 1));
- argc += (item->argc - 1);
- }
-
- if (con->finalArgv != NULL && con->finalArgvCount > 0) {
- memcpy(argv + argc, con->finalArgv,
- sizeof(*argv) * con->finalArgvCount);
- argc += con->finalArgvCount;
- }
-
- if (con->leftovers != NULL && con->numLeftovers > 0) {
- memcpy(argv + argc, con->leftovers, sizeof(*argv) * con->numLeftovers);
- argc += con->numLeftovers;
- }
-
- argv[argc] = NULL;
-
-#ifdef __hpux
- rc = setresgid(getgid(), getgid(),-1);
- if (rc) return POPT_ERROR_ERRNO;
- rc = setresuid(getuid(), getuid(),-1);
- if (rc) return POPT_ERROR_ERRNO;
-#else
-/*
- * XXX " ... on BSD systems setuid() should be preferred over setreuid()"
- * XXX sez' Timur Bakeyev <mc@bat.ru>
- * XXX from Norbert Warmuth <nwarmuth@privat.circular.de>
- */
-#if defined(HAVE_SETUID)
- rc = setgid(getgid());
- if (rc) return POPT_ERROR_ERRNO;
- rc = setuid(getuid());
- if (rc) return POPT_ERROR_ERRNO;
-#elif defined (HAVE_SETREUID)
- rc = setregid(getgid(), getgid());
- if (rc) return POPT_ERROR_ERRNO;
- rc = setreuid(getuid(), getuid());
- if (rc) return POPT_ERROR_ERRNO;
-#else
- ; /* Can't drop privileges */
-#endif
-#endif
-
- if (argv[0] == NULL)
- return POPT_ERROR_NOARG;
-
-#ifdef MYDEBUG
-if (_popt_debug)
- { const char ** avp;
- fprintf(stderr, "==> execvp(%s) argv[%d]:", argv[0], argc);
- for (avp = argv; *avp; avp++)
- fprintf(stderr, " '%s'", *avp);
- fprintf(stderr, "\n");
- }
-#endif
-
- rc = execvp(argv[0], (char *const *)argv);
-
- return POPT_ERROR_ERRNO;
-}
-/*@=bounds =boundswrite @*/
-
-/*@-boundswrite@*/
-/*@observer@*/ /*@null@*/ static const struct poptOption *
-findOption(const struct poptOption * opt, /*@null@*/ const char * longName,
- char shortName,
- /*@null@*/ /*@out@*/ poptCallbackType * callback,
- /*@null@*/ /*@out@*/ const void ** callbackData,
- int singleDash)
- /*@modifies *callback, *callbackData */
-{
- const struct poptOption * cb = NULL;
-
- /* This happens when a single - is given */
- if (singleDash && !shortName && (longName && *longName == '\0'))
- shortName = '-';
-
- for (; opt->longName || opt->shortName || opt->arg; opt++) {
-
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- const struct poptOption * opt2;
- void * arg = opt->arg;
-
-/*@-branchstate@*/
- /* XXX sick hack to preserve pretense of ABI. */
- if (arg == poptHelpOptions) arg = poptHelpOptionsI18N;
-/*@=branchstate@*/
- /* Recurse on included sub-tables. */
- if (arg == NULL) continue; /* XXX program error */
- opt2 = findOption(arg, longName, shortName, callback,
- callbackData, singleDash);
- if (opt2 == NULL) continue;
- /* Sub-table data will be inheirited if no data yet. */
- if (!(callback && *callback)) return opt2;
- if (!(callbackData && *callbackData == NULL)) return opt2;
- /*@-observertrans -dependenttrans @*/
- *callbackData = opt->descrip;
- /*@=observertrans =dependenttrans @*/
- return opt2;
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_CALLBACK) {
- cb = opt;
- } else if (longName && opt->longName &&
- (!singleDash || (opt->argInfo & POPT_ARGFLAG_ONEDASH)) &&
- /*@-nullpass@*/ /* LCL: opt->longName != NULL */
- !strcmp(longName, opt->longName))
- /*@=nullpass@*/
- {
- break;
- } else if (shortName && shortName == opt->shortName) {
- break;
- }
- }
-
- if (!opt->longName && !opt->shortName)
- return NULL;
- /*@-modobserver -mods @*/
- if (callback) *callback = NULL;
- if (callbackData) *callbackData = NULL;
- if (cb) {
- if (callback)
- /*@-castfcnptr@*/
- *callback = (poptCallbackType)cb->arg;
- /*@=castfcnptr@*/
- if (!(cb->argInfo & POPT_CBFLAG_INC_DATA)) {
- if (callbackData)
- /*@-observertrans@*/ /* FIX: typedef double indirection. */
- *callbackData = cb->descrip;
- /*@=observertrans@*/
- }
- }
- /*@=modobserver =mods @*/
-
- return opt;
-}
-/*@=boundswrite@*/
-
-static const char * findNextArg(/*@special@*/ poptContext con,
- unsigned argx, int delete_arg)
- /*@uses con->optionStack, con->os,
- con->os->next, con->os->argb, con->os->argc, con->os->argv @*/
- /*@modifies con @*/
-{
- struct optionStackEntry * os = con->os;
- const char * arg;
-
- do {
- int i;
- arg = NULL;
- while (os->next == os->argc && os > con->optionStack) os--;
- if (os->next == os->argc && os == con->optionStack) break;
- if (os->argv != NULL)
- for (i = os->next; i < os->argc; i++) {
- /*@-sizeoftype@*/
- if (os->argb && PBM_ISSET(i, os->argb))
- /*@innercontinue@*/ continue;
- if (*os->argv[i] == '-')
- /*@innercontinue@*/ continue;
- if (--argx > 0)
- /*@innercontinue@*/ continue;
- arg = os->argv[i];
- if (delete_arg) {
- if (os->argb == NULL) os->argb = PBM_ALLOC(os->argc);
- if (os->argb != NULL) /* XXX can't happen */
- PBM_SET(i, os->argb);
- }
- /*@innerbreak@*/ break;
- /*@=sizeoftype@*/
- }
- if (os > con->optionStack) os--;
- } while (arg == NULL);
- return arg;
-}
-
-/*@-boundswrite@*/
-static /*@only@*/ /*@null@*/ const char *
-expandNextArg(/*@special@*/ poptContext con, const char * s)
- /*@uses con->optionStack, con->os,
- con->os->next, con->os->argb, con->os->argc, con->os->argv @*/
- /*@modifies con @*/
-{
- const char * a = NULL;
- size_t alen;
- char *t, *te;
- size_t tn = strlen(s) + 1;
- char c;
-
- te = t = malloc(tn);;
- if (t == NULL) return NULL; /* XXX can't happen */
- while ((c = *s++) != '\0') {
- switch (c) {
-#if 0 /* XXX can't do this */
- case '\\': /* escape */
- c = *s++;
- /*@switchbreak@*/ break;
-#endif
- case '!':
- if (!(s[0] == '#' && s[1] == ':' && s[2] == '+'))
- /*@switchbreak@*/ break;
- /* XXX Make sure that findNextArg deletes only next arg. */
- if (a == NULL) {
- if ((a = findNextArg(con, 1, 1)) == NULL)
- /*@switchbreak@*/ break;
- }
- s += 3;
-
- alen = strlen(a);
- tn += alen;
- *te = '\0';
- t = realloc(t, tn);
- te = t + strlen(t);
- strncpy(te, a, alen); te += alen;
- continue;
- /*@notreached@*/ /*@switchbreak@*/ break;
- default:
- /*@switchbreak@*/ break;
- }
- *te++ = c;
- }
- *te = '\0';
- t = realloc(t, strlen(t) + 1); /* XXX memory leak, hard to plug */
- return t;
-}
-/*@=boundswrite@*/
-
-static void poptStripArg(/*@special@*/ poptContext con, int which)
- /*@uses con->arg_strip, con->optionStack @*/
- /*@defines con->arg_strip @*/
- /*@modifies con @*/
-{
- /*@-sizeoftype@*/
- if (con->arg_strip == NULL)
- con->arg_strip = PBM_ALLOC(con->optionStack[0].argc);
- if (con->arg_strip != NULL) /* XXX can't happen */
- PBM_SET(which, con->arg_strip);
- /*@=sizeoftype@*/
- /*@-compdef@*/ /* LCL: con->arg_strip udefined? */
- return;
- /*@=compdef@*/
-}
-
-int poptSaveLong(long * arg, int argInfo, long aLong)
-{
- /* XXX Check alignment, may fail on funky platforms. */
- if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
- return POPT_ERROR_NULLARG;
-
- if (argInfo & POPT_ARGFLAG_NOT)
- aLong = ~aLong;
- switch (argInfo & POPT_ARGFLAG_LOGICALOPS) {
- case 0:
- *arg = aLong;
- break;
- case POPT_ARGFLAG_OR:
- *arg |= aLong;
- break;
- case POPT_ARGFLAG_AND:
- *arg &= aLong;
- break;
- case POPT_ARGFLAG_XOR:
- *arg ^= aLong;
- break;
- default:
- return POPT_ERROR_BADOPERATION;
- /*@notreached@*/ break;
- }
- return 0;
-}
-
-int poptSaveInt(/*@null@*/ int * arg, int argInfo, long aLong)
-{
- /* XXX Check alignment, may fail on funky platforms. */
- if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
- return POPT_ERROR_NULLARG;
-
- if (argInfo & POPT_ARGFLAG_NOT)
- aLong = ~aLong;
- switch (argInfo & POPT_ARGFLAG_LOGICALOPS) {
- case 0:
- *arg = aLong;
- break;
- case POPT_ARGFLAG_OR:
- *arg |= aLong;
- break;
- case POPT_ARGFLAG_AND:
- *arg &= aLong;
- break;
- case POPT_ARGFLAG_XOR:
- *arg ^= aLong;
- break;
- default:
- return POPT_ERROR_BADOPERATION;
- /*@notreached@*/ break;
- }
- return 0;
-}
-
-/*@-boundswrite@*/
-/* returns 'val' element, -1 on last item, POPT_ERROR_* on error */
-int poptGetNextOpt(poptContext con)
-{
- const struct poptOption * opt = NULL;
- int done = 0;
-
- if (con == NULL)
- return -1;
- while (!done) {
- const char * origOptString = NULL;
- poptCallbackType cb = NULL;
- const void * cbData = NULL;
- const char * longArg = NULL;
- int canstrip = 0;
- int shorty = 0;
-
- while (!con->os->nextCharArg && con->os->next == con->os->argc
- && con->os > con->optionStack) {
- cleanOSE(con->os--);
- }
- if (!con->os->nextCharArg && con->os->next == con->os->argc) {
- /*@-internalglobs@*/
- invokeCallbacksPOST(con, con->options);
- /*@=internalglobs@*/
- if (con->doExec) return execCommand(con);
- return -1;
- }
-
- /* Process next long option */
- if (!con->os->nextCharArg) {
- char * localOptString, * optString;
- int thisopt;
-
- /*@-sizeoftype@*/
- if (con->os->argb && PBM_ISSET(con->os->next, con->os->argb)) {
- con->os->next++;
- continue;
- }
- /*@=sizeoftype@*/
- thisopt = con->os->next;
- if (con->os->argv != NULL) /* XXX can't happen */
- origOptString = con->os->argv[con->os->next++];
-
- if (origOptString == NULL) /* XXX can't happen */
- return POPT_ERROR_BADOPT;
-
- if (con->restLeftover || *origOptString != '-') {
- if (con->flags & POPT_CONTEXT_POSIXMEHARDER)
- con->restLeftover = 1;
- if (con->flags & POPT_CONTEXT_ARG_OPTS) {
- con->os->nextArg = xstrdup(origOptString);
- return 0;
- }
- if (con->leftovers != NULL) /* XXX can't happen */
- con->leftovers[con->numLeftovers++] = origOptString;
- continue;
- }
-
- /* Make a copy we can hack at */
- localOptString = optString =
- strcpy(alloca(strlen(origOptString) + 1), origOptString);
-
- if (optString[0] == '\0')
- return POPT_ERROR_BADOPT;
-
- if (optString[1] == '-' && !optString[2]) {
- con->restLeftover = 1;
- continue;
- } else {
- char *oe;
- int singleDash;
-
- optString++;
- if (*optString == '-')
- singleDash = 0, optString++;
- else
- singleDash = 1;
-
- /* XXX aliases with arg substitution need "--alias=arg" */
- if (handleAlias(con, optString, '\0', NULL))
- continue;
-
- if (handleExec(con, optString, '\0'))
- continue;
-
- /* Check for "--long=arg" option. */
- for (oe = optString; *oe && *oe != '='; oe++)
- {};
- if (*oe == '=') {
- *oe++ = '\0';
- /* XXX longArg is mapped back to persistent storage. */
- longArg = origOptString + (oe - localOptString);
- }
-
- opt = findOption(con->options, optString, '\0', &cb, &cbData,
- singleDash);
- if (!opt && !singleDash)
- return POPT_ERROR_BADOPT;
- }
-
- if (!opt) {
- con->os->nextCharArg = origOptString + 1;
- } else {
- if (con->os == con->optionStack &&
- opt->argInfo & POPT_ARGFLAG_STRIP)
- {
- canstrip = 1;
- poptStripArg(con, thisopt);
- }
- shorty = 0;
- }
- }
-
- /* Process next short option */
- /*@-branchstate@*/ /* FIX: W2DO? */
- if (con->os->nextCharArg) {
- origOptString = con->os->nextCharArg;
-
- con->os->nextCharArg = NULL;
-
- if (handleAlias(con, NULL, *origOptString, origOptString + 1))
- continue;
-
- if (handleExec(con, NULL, *origOptString)) {
- /* Restore rest of short options for further processing */
- origOptString++;
- if (*origOptString != '\0')
- con->os->nextCharArg = origOptString;
- continue;
- }
-
- opt = findOption(con->options, NULL, *origOptString, &cb,
- &cbData, 0);
- if (!opt)
- return POPT_ERROR_BADOPT;
- shorty = 1;
-
- origOptString++;
- if (*origOptString != '\0')
- con->os->nextCharArg = origOptString;
- }
- /*@=branchstate@*/
-
- if (opt == NULL) return POPT_ERROR_BADOPT; /* XXX can't happen */
- if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE) {
- if (poptSaveInt((int *)opt->arg, opt->argInfo, 1L))
- return POPT_ERROR_BADOPERATION;
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_VAL) {
- if (opt->arg) {
- if (poptSaveInt((int *)opt->arg, opt->argInfo, (long)opt->val))
- return POPT_ERROR_BADOPERATION;
- }
- } else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) {
- con->os->nextArg = _free(con->os->nextArg);
- /*@-usedef@*/ /* FIX: W2DO? */
- if (longArg) {
- /*@=usedef@*/
- longArg = expandNextArg(con, longArg);
- con->os->nextArg = longArg;
- } else if (con->os->nextCharArg) {
- longArg = expandNextArg(con, con->os->nextCharArg);
- con->os->nextArg = longArg;
- con->os->nextCharArg = NULL;
- } else {
- while (con->os->next == con->os->argc &&
- con->os > con->optionStack) {
- cleanOSE(con->os--);
- }
- if (con->os->next == con->os->argc) {
- if (!(opt->argInfo & POPT_ARGFLAG_OPTIONAL))
- /*@-compdef@*/ /* FIX: con->os->argv not defined */
- return POPT_ERROR_NOARG;
- /*@=compdef@*/
- con->os->nextArg = NULL;
- } else {
-
- /*
- * Make sure this isn't part of a short arg or the
- * result of an alias expansion.
- */
- if (con->os == con->optionStack &&
- (opt->argInfo & POPT_ARGFLAG_STRIP) &&
- canstrip) {
- poptStripArg(con, con->os->next);
- }
-
- if (con->os->argv != NULL) { /* XXX can't happen */
- /* XXX watchout: subtle side-effects live here. */
- longArg = con->os->argv[con->os->next++];
- longArg = expandNextArg(con, longArg);
- con->os->nextArg = longArg;
- }
- }
- }
- longArg = NULL;
-
- if (opt->arg) {
- switch (opt->argInfo & POPT_ARG_MASK) {
- case POPT_ARG_STRING:
- /* XXX memory leak, hard to plug */
- *((const char **) opt->arg) = (con->os->nextArg)
- ? xstrdup(con->os->nextArg) : NULL;
- /*@switchbreak@*/ break;
-
- case POPT_ARG_INT:
- case POPT_ARG_LONG:
- { long aLong = 0;
- char *end;
-
- if (con->os->nextArg) {
- aLong = strtol(con->os->nextArg, &end, 0);
- if (!(end && *end == '\0'))
- return POPT_ERROR_BADNUMBER;
- }
-
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_LONG) {
- if (aLong == LONG_MIN || aLong == LONG_MAX)
- return POPT_ERROR_OVERFLOW;
- if (poptSaveLong((long *)opt->arg, opt->argInfo, aLong))
- return POPT_ERROR_BADOPERATION;
- } else {
- if (aLong > INT_MAX || aLong < INT_MIN)
- return POPT_ERROR_OVERFLOW;
- if (poptSaveInt((int *)opt->arg, opt->argInfo, aLong))
- return POPT_ERROR_BADOPERATION;
- }
- } /*@switchbreak@*/ break;
-
- case POPT_ARG_FLOAT:
- case POPT_ARG_DOUBLE:
- { double aDouble = 0.0;
- char *end;
-
- if (con->os->nextArg) {
- /*@-mods@*/
- int saveerrno = errno;
- errno = 0;
- aDouble = strtod(con->os->nextArg, &end);
- if (errno == ERANGE)
- return POPT_ERROR_OVERFLOW;
- errno = saveerrno;
- /*@=mods@*/
- if (*end != '\0')
- return POPT_ERROR_BADNUMBER;
- }
-
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_DOUBLE) {
- *((double *) opt->arg) = aDouble;
- } else {
-#define _ABS(a) ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))
- if ((_ABS(aDouble) - FLT_MAX) > DBL_EPSILON)
- return POPT_ERROR_OVERFLOW;
- if ((FLT_MIN - _ABS(aDouble)) > DBL_EPSILON)
- return POPT_ERROR_OVERFLOW;
- *((float *) opt->arg) = aDouble;
- }
- } /*@switchbreak@*/ break;
- default:
- fprintf(stdout,
- POPT_("option type (%d) not implemented in popt\n"),
- (opt->argInfo & POPT_ARG_MASK));
- exit(EXIT_FAILURE);
- /*@notreached@*/ /*@switchbreak@*/ break;
- }
- }
- }
-
- if (cb) {
- /*@-internalglobs@*/
- invokeCallbacksOPTION(con, con->options, opt, cbData, shorty);
- /*@=internalglobs@*/
- } else if (opt->val && ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_VAL))
- done = 1;
-
- if ((con->finalArgvCount + 2) >= (con->finalArgvAlloced)) {
- con->finalArgvAlloced += 10;
- con->finalArgv = realloc(con->finalArgv,
- sizeof(*con->finalArgv) * con->finalArgvAlloced);
- }
-
- if (con->finalArgv != NULL)
- { char *s = malloc((opt->longName ? strlen(opt->longName) : 0) + 3);
- if (s != NULL) { /* XXX can't happen */
- if (opt->longName)
- sprintf(s, "%s%s",
- ((opt->argInfo & POPT_ARGFLAG_ONEDASH) ? "-" : "--"),
- opt->longName);
- else
- sprintf(s, "-%c", opt->shortName);
- con->finalArgv[con->finalArgvCount++] = s;
- } else
- con->finalArgv[con->finalArgvCount++] = NULL;
- }
-
- if (opt->arg && (opt->argInfo & POPT_ARG_MASK) == POPT_ARG_NONE)
- /*@-ifempty@*/ ; /*@=ifempty@*/
- else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_VAL)
- /*@-ifempty@*/ ; /*@=ifempty@*/
- else if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_NONE) {
- if (con->finalArgv != NULL && con->os->nextArg)
- con->finalArgv[con->finalArgvCount++] =
- /*@-nullpass@*/ /* LCL: con->os->nextArg != NULL */
- xstrdup(con->os->nextArg);
- /*@=nullpass@*/
- }
- }
-
- return (opt ? opt->val : -1); /* XXX can't happen */
-}
-/*@=boundswrite@*/
-
-const char * poptGetOptArg(poptContext con)
-{
- const char * ret = NULL;
- /*@-branchstate@*/
- if (con) {
- ret = con->os->nextArg;
- con->os->nextArg = NULL;
- }
- /*@=branchstate@*/
- return ret;
-}
-
-const char * poptGetArg(poptContext con)
-{
- const char * ret = NULL;
- if (con && con->leftovers != NULL && con->nextLeftover < con->numLeftovers)
- ret = con->leftovers[con->nextLeftover++];
- return ret;
-}
-
-const char * poptPeekArg(poptContext con)
-{
- const char * ret = NULL;
- if (con && con->leftovers != NULL && con->nextLeftover < con->numLeftovers)
- ret = con->leftovers[con->nextLeftover];
- return ret;
-}
-
-/*@-boundswrite@*/
-const char ** poptGetArgs(poptContext con)
-{
- if (con == NULL ||
- con->leftovers == NULL || con->numLeftovers == con->nextLeftover)
- return NULL;
-
- /* some apps like [like RPM ;-) ] need this NULL terminated */
- con->leftovers[con->numLeftovers] = NULL;
-
- /*@-nullret -nullstate @*/ /* FIX: typedef double indirection. */
- return (con->leftovers + con->nextLeftover);
- /*@=nullret =nullstate @*/
-}
-/*@=boundswrite@*/
-
-poptContext poptFreeContext(poptContext con)
-{
- poptItem item;
- int i;
-
- if (con == NULL) return con;
- poptResetContext(con);
- con->os->argb = _free(con->os->argb);
-
- if (con->aliases != NULL)
- for (i = 0; i < con->numAliases; i++) {
- item = con->aliases + i;
- /*@-modobserver -observertrans -dependenttrans@*/
- item->option.longName = _free(item->option.longName);
- item->option.descrip = _free(item->option.descrip);
- item->option.argDescrip = _free(item->option.argDescrip);
- /*@=modobserver =observertrans =dependenttrans@*/
- item->argv = _free(item->argv);
- }
- con->aliases = _free(con->aliases);
-
- if (con->execs != NULL)
- for (i = 0; i < con->numExecs; i++) {
- item = con->execs + i;
- /*@-modobserver -observertrans -dependenttrans@*/
- item->option.longName = _free(item->option.longName);
- item->option.descrip = _free(item->option.descrip);
- item->option.argDescrip = _free(item->option.argDescrip);
- /*@=modobserver =observertrans =dependenttrans@*/
- item->argv = _free(item->argv);
- }
- con->execs = _free(con->execs);
-
- con->leftovers = _free(con->leftovers);
- con->finalArgv = _free(con->finalArgv);
- con->appName = _free(con->appName);
- con->otherHelp = _free(con->otherHelp);
- con->execPath = _free(con->execPath);
- con->arg_strip = PBM_FREE(con->arg_strip);
-
- con = _free(con);
- return con;
-}
-
-int poptAddAlias(poptContext con, struct poptAlias alias,
- /*@unused@*/ int flags)
-{
- poptItem item = alloca(sizeof(*item));
- memset(item, 0, sizeof(*item));
- item->option.longName = alias.longName;
- item->option.shortName = alias.shortName;
- item->option.argInfo = POPT_ARGFLAG_DOC_HIDDEN;
- item->option.arg = 0;
- item->option.val = 0;
- item->option.descrip = NULL;
- item->option.argDescrip = NULL;
- item->argc = alias.argc;
- item->argv = alias.argv;
- return poptAddItem(con, item, 0);
-}
-
-/*@-boundswrite@*/
-/*@-mustmod@*/ /* LCL: con not modified? */
-int poptAddItem(poptContext con, poptItem newItem, int flags)
-{
- poptItem * items, item;
- int * nitems;
-
- switch (flags) {
- case 1:
- items = &con->execs;
- nitems = &con->numExecs;
- break;
- case 0:
- items = &con->aliases;
- nitems = &con->numAliases;
- break;
- default:
- return 1;
- /*@notreached@*/ break;
- }
-
- *items = realloc((*items), ((*nitems) + 1) * sizeof(**items));
- if ((*items) == NULL)
- return 1;
-
- item = (*items) + (*nitems);
-
- item->option.longName =
- (newItem->option.longName ? xstrdup(newItem->option.longName) : NULL);
- item->option.shortName = newItem->option.shortName;
- item->option.argInfo = newItem->option.argInfo;
- item->option.arg = newItem->option.arg;
- item->option.val = newItem->option.val;
- item->option.descrip =
- (newItem->option.descrip ? xstrdup(newItem->option.descrip) : NULL);
- item->option.argDescrip =
- (newItem->option.argDescrip ? xstrdup(newItem->option.argDescrip) : NULL);
- item->argc = newItem->argc;
- item->argv = newItem->argv;
-
- (*nitems)++;
-
- return 0;
-}
-/*@=mustmod@*/
-/*@=boundswrite@*/
-
-const char * poptBadOption(poptContext con, int flags)
-{
- struct optionStackEntry * os = NULL;
-
- if (con != NULL)
- os = (flags & POPT_BADOPTION_NOALIAS) ? con->optionStack : con->os;
-
- /*@-nullderef@*/ /* LCL: os->argv != NULL */
- return (os && os->argv ? os->argv[os->next - 1] : NULL);
- /*@=nullderef@*/
-}
-
-const char *const poptStrerror(const int error)
-{
- switch (error) {
- case POPT_ERROR_NOARG:
- return POPT_("missing argument");
- case POPT_ERROR_BADOPT:
- return POPT_("unknown option");
- case POPT_ERROR_BADOPERATION:
- return POPT_("mutually exclusive logical operations requested");
- case POPT_ERROR_NULLARG:
- return POPT_("opt->arg should not be NULL");
- case POPT_ERROR_OPTSTOODEEP:
- return POPT_("aliases nested too deeply");
- case POPT_ERROR_BADQUOTE:
- return POPT_("error in parameter quoting");
- case POPT_ERROR_BADNUMBER:
- return POPT_("invalid numeric value");
- case POPT_ERROR_OVERFLOW:
- return POPT_("number too large or too small");
- case POPT_ERROR_MALLOC:
- return POPT_("memory allocation failed");
- case POPT_ERROR_ERRNO:
- return strerror(errno);
- default:
- return POPT_("unknown error");
- }
-}
-
-int poptStuffArgs(poptContext con, const char ** argv)
-{
- int argc;
- int rc;
-
- if ((con->os - con->optionStack) == POPT_OPTION_DEPTH)
- return POPT_ERROR_OPTSTOODEEP;
-
- for (argc = 0; argv[argc]; argc++)
- {};
-
- con->os++;
- con->os->next = 0;
- con->os->nextArg = NULL;
- con->os->nextCharArg = NULL;
- con->os->currAlias = NULL;
- rc = poptDupArgv(argc, argv, &con->os->argc, &con->os->argv);
- con->os->argb = NULL;
- con->os->stuffed = 1;
-
- return rc;
-}
-
-const char * poptGetInvocationName(poptContext con)
-{
- return (con->os->argv ? con->os->argv[0] : "");
-}
-
-/*@-boundswrite@*/
-int poptStrippedArgv(poptContext con, int argc, char ** argv)
-{
- int numargs = argc;
- int j = 1;
- int i;
-
- /*@-sizeoftype@*/
- if (con->arg_strip)
- for (i = 1; i < argc; i++) {
- if (PBM_ISSET(i, con->arg_strip))
- numargs--;
- }
-
- for (i = 1; i < argc; i++) {
- if (con->arg_strip && PBM_ISSET(i, con->arg_strip))
- continue;
- argv[j] = (j < numargs) ? argv[i] : NULL;
- j++;
- }
- /*@=sizeoftype@*/
-
- return numargs;
-}
-/*@=boundswrite@*/
diff --git a/popt/popt.h b/popt/popt.h
deleted file mode 100644
index e36e0db68..000000000
--- a/popt/popt.h
+++ /dev/null
@@ -1,564 +0,0 @@
-/** \file popt/popt.h
- * \ingroup popt
- */
-
-/* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#ifndef H_POPT
-#define H_POPT
-
-#include <stdio.h> /* for FILE * */
-
-#define POPT_OPTION_DEPTH 10
-
-/** \ingroup popt
- * \name Arg type identifiers
- */
-/*@{*/
-#define POPT_ARG_NONE 0 /*!< no arg */
-#define POPT_ARG_STRING 1 /*!< arg will be saved as string */
-#define POPT_ARG_INT 2 /*!< arg will be converted to int */
-#define POPT_ARG_LONG 3 /*!< arg will be converted to long */
-#define POPT_ARG_INCLUDE_TABLE 4 /*!< arg points to table */
-#define POPT_ARG_CALLBACK 5 /*!< table-wide callback... must be
- set first in table; arg points
- to callback, descrip points to
- callback data to pass */
-#define POPT_ARG_INTL_DOMAIN 6 /*!< set the translation domain
- for this table and any
- included tables; arg points
- to the domain string */
-#define POPT_ARG_VAL 7 /*!< arg should take value val */
-#define POPT_ARG_FLOAT 8 /*!< arg will be converted to float */
-#define POPT_ARG_DOUBLE 9 /*!< arg will be converted to double */
-
-#define POPT_ARG_MASK 0x0000FFFF
-/*@}*/
-
-/** \ingroup popt
- * \name Arg modifiers
- */
-/*@{*/
-#define POPT_ARGFLAG_ONEDASH 0x80000000 /*!< allow -longoption */
-#define POPT_ARGFLAG_DOC_HIDDEN 0x40000000 /*!< don't show in help/usage */
-#define POPT_ARGFLAG_STRIP 0x20000000 /*!< strip this arg from argv(only applies to long args) */
-#define POPT_ARGFLAG_OPTIONAL 0x10000000 /*!< arg may be missing */
-
-#define POPT_ARGFLAG_OR 0x08000000 /*!< arg will be or'ed */
-#define POPT_ARGFLAG_NOR 0x09000000 /*!< arg will be nor'ed */
-#define POPT_ARGFLAG_AND 0x04000000 /*!< arg will be and'ed */
-#define POPT_ARGFLAG_NAND 0x05000000 /*!< arg will be nand'ed */
-#define POPT_ARGFLAG_XOR 0x02000000 /*!< arg will be xor'ed */
-#define POPT_ARGFLAG_NOT 0x01000000 /*!< arg will be negated */
-#define POPT_ARGFLAG_LOGICALOPS \
- (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)
-
-#define POPT_BIT_SET (POPT_ARG_VAL|POPT_ARGFLAG_OR)
- /*!< set arg bit(s) */
-#define POPT_BIT_CLR (POPT_ARG_VAL|POPT_ARGFLAG_NAND)
- /*!< clear arg bit(s) */
-
-#define POPT_ARGFLAG_SHOW_DEFAULT 0x00800000 /*!< show default value in --help */
-
-/*@}*/
-
-/** \ingroup popt
- * \name Callback modifiers
- */
-/*@{*/
-#define POPT_CBFLAG_PRE 0x80000000 /*!< call the callback before parse */
-#define POPT_CBFLAG_POST 0x40000000 /*!< call the callback after parse */
-#define POPT_CBFLAG_INC_DATA 0x20000000 /*!< use data from the include line,
- not the subtable */
-#define POPT_CBFLAG_SKIPOPTION 0x10000000 /*!< don't callback with option */
-#define POPT_CBFLAG_CONTINUE 0x08000000 /*!< continue callbacks with option */
-/*@}*/
-
-/** \ingroup popt
- * \name Error return values
- */
-/*@{*/
-#define POPT_ERROR_NOARG -10 /*!< missing argument */
-#define POPT_ERROR_BADOPT -11 /*!< unknown option */
-#define POPT_ERROR_OPTSTOODEEP -13 /*!< aliases nested too deeply */
-#define POPT_ERROR_BADQUOTE -15 /*!< error in paramter quoting */
-#define POPT_ERROR_ERRNO -16 /*!< errno set, use strerror(errno) */
-#define POPT_ERROR_BADNUMBER -17 /*!< invalid numeric value */
-#define POPT_ERROR_OVERFLOW -18 /*!< number too large or too small */
-#define POPT_ERROR_BADOPERATION -19 /*!< mutually exclusive logical operations requested */
-#define POPT_ERROR_NULLARG -20 /*!< opt->arg should not be NULL */
-#define POPT_ERROR_MALLOC -21 /*!< memory allocation failed */
-/*@}*/
-
-/** \ingroup popt
- * \name poptBadOption() flags
- */
-/*@{*/
-#define POPT_BADOPTION_NOALIAS (1 << 0) /*!< don't go into an alias */
-/*@}*/
-
-/** \ingroup popt
- * \name poptGetContext() flags
- */
-/*@{*/
-#define POPT_CONTEXT_NO_EXEC (1 << 0) /*!< ignore exec expansions */
-#define POPT_CONTEXT_KEEP_FIRST (1 << 1) /*!< pay attention to argv[0] */
-#define POPT_CONTEXT_POSIXMEHARDER (1 << 2) /*!< options can't follow args */
-#define POPT_CONTEXT_ARG_OPTS (1 << 4) /*!< return args as options with value 0 */
-/*@}*/
-
-/** \ingroup popt
- */
-struct poptOption {
-/*@observer@*/ /*@null@*/
- const char * longName; /*!< may be NULL */
- char shortName; /*!< may be NUL */
- int argInfo;
-/*@shared@*/ /*@null@*/
- void * arg; /*!< depends on argInfo */
- int val; /*!< 0 means don't return, just update flag */
-/*@observer@*/ /*@null@*/
- const char * descrip; /*!< description for autohelp -- may be NULL */
-/*@observer@*/ /*@null@*/
- const char * argDescrip; /*!< argument description for autohelp */
-};
-
-/** \ingroup popt
- * A popt alias argument for poptAddAlias().
- */
-struct poptAlias {
-/*@owned@*/ /*@null@*/
- const char * longName; /*!< may be NULL */
- char shortName; /*!< may be NUL */
- int argc;
-/*@owned@*/
- const char ** argv; /*!< must be free()able */
-};
-
-/** \ingroup popt
- * A popt alias or exec argument for poptAddItem().
- */
-/*@-exporttype@*/
-typedef struct poptItem_s {
- struct poptOption option; /*!< alias/exec name(s) and description. */
- int argc; /*!< (alias) no. of args. */
-/*@owned@*/
- const char ** argv; /*!< (alias) args, must be free()able. */
-} * poptItem;
-/*@=exporttype@*/
-
-/** \ingroup popt
- * \name Auto-generated help/usage
- */
-/*@{*/
-
-/**
- * Empty table marker to enable displaying popt alias/exec options.
- */
-/*@-exportvar@*/
-/*@unchecked@*/ /*@observer@*/
-extern struct poptOption poptAliasOptions[];
-/*@=exportvar@*/
-#define POPT_AUTOALIAS { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptAliasOptions, \
- 0, "Options implemented via popt alias/exec:", NULL },
-
-/**
- * Auto help table options.
- */
-/*@-exportvar@*/
-/*@unchecked@*/ /*@observer@*/
-extern struct poptOption poptHelpOptions[];
-/*@=exportvar@*/
-
-/*@-exportvar@*/
-/*@unchecked@*/ /*@observer@*/
-extern struct poptOption * poptHelpOptionsI18N;
-/*@=exportvar@*/
-
-#define POPT_AUTOHELP { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptHelpOptions, \
- 0, "Help options:", NULL },
-
-#define POPT_TABLEEND { NULL, '\0', 0, NULL, 0, NULL, NULL }
-/*@}*/
-
-/** \ingroup popt
- */
-/*@-exporttype@*/
-typedef /*@abstract@*/ struct poptContext_s * poptContext;
-/*@=exporttype@*/
-
-/** \ingroup popt
- */
-#ifndef __cplusplus
-/*@-exporttype -typeuse@*/
-typedef struct poptOption * poptOption;
-/*@=exporttype =typeuse@*/
-#endif
-
-/*@-exportconst@*/
-enum poptCallbackReason {
- POPT_CALLBACK_REASON_PRE = 0,
- POPT_CALLBACK_REASON_POST = 1,
- POPT_CALLBACK_REASON_OPTION = 2
-};
-/*@=exportconst@*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*@-type@*/
-
-/** \ingroup popt
- * Table callback prototype.
- * @param con context
- * @param reason reason for callback
- * @param opt option that triggered callback
- * @param arg @todo Document.
- * @param data @todo Document.
- */
-typedef void (*poptCallbackType) (poptContext con,
- enum poptCallbackReason reason,
- /*@null@*/ const struct poptOption * opt,
- /*@null@*/ const char * arg,
- /*@null@*/ const void * data)
- /*@globals internalState @*/
- /*@modifies internalState @*/;
-
-/** \ingroup popt
- * Initialize popt context.
- * @param name context name (usually argv[0] program name)
- * @param argc no. of arguments
- * @param argv argument array
- * @param options address of popt option table
- * @param flags or'd POPT_CONTEXT_* bits
- * @return initialized popt context
- */
-/*@only@*/ /*@null@*/
-poptContext poptGetContext(
- /*@dependent@*/ /*@keep@*/ const char * name,
- int argc, /*@dependent@*/ /*@keep@*/ const char ** argv,
- /*@dependent@*/ /*@keep@*/ const struct poptOption * options,
- int flags)
- /*@*/;
-
-/** \ingroup popt
- * Reinitialize popt context.
- * @param con context
- */
-/*@unused@*/
-void poptResetContext(/*@null@*/poptContext con)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Return value of next option found.
- * @param con context
- * @return next option val, -1 on last item, POPT_ERROR_* on error
- */
-int poptGetNextOpt(/*@null@*/poptContext con)
- /*@globals fileSystem, internalState @*/
- /*@modifies con, fileSystem, internalState @*/;
-
-/** \ingroup popt
- * Return next option argument (if any).
- * @param con context
- * @return option argument, NULL if no argument is available
- */
-/*@observer@*/ /*@null@*/ /*@unused@*/
-const char * poptGetOptArg(/*@null@*/poptContext con)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Return next argument.
- * @param con context
- * @return next argument, NULL if no argument is available
- */
-/*@observer@*/ /*@null@*/ /*@unused@*/
-const char * poptGetArg(/*@null@*/poptContext con)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Peek at current argument.
- * @param con context
- * @return current argument, NULL if no argument is available
- */
-/*@observer@*/ /*@null@*/ /*@unused@*/
-const char * poptPeekArg(/*@null@*/poptContext con)
- /*@*/;
-
-/** \ingroup popt
- * Return remaining arguments.
- * @param con context
- * @return argument array, NULL terminated
- */
-/*@observer@*/ /*@null@*/
-const char ** poptGetArgs(/*@null@*/poptContext con)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Return the option which caused the most recent error.
- * @param con context
- * @param flags
- * @return offending option
- */
-/*@observer@*/
-const char * poptBadOption(/*@null@*/poptContext con, int flags)
- /*@*/;
-
-/** \ingroup popt
- * Destroy context.
- * @param con context
- * @return NULL always
- */
-/*@null@*/
-poptContext poptFreeContext( /*@only@*/ /*@null@*/ poptContext con)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Add arguments to context.
- * @param con context
- * @param argv argument array, NULL terminated
- * @return 0 on success, POPT_ERROR_OPTSTOODEEP on failure
- */
-/*@unused@*/
-int poptStuffArgs(poptContext con, /*@keep@*/ const char ** argv)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Add alias to context.
- * @todo Pass alias by reference, not value.
- * @deprecated Use poptAddItem instead.
- * @param con context
- * @param alias alias to add
- * @param flags (unused)
- * @return 0 on success
- */
-/*@unused@*/
-int poptAddAlias(poptContext con, struct poptAlias alias, int flags)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Add alias/exec item to context.
- * @param con context
- * @param newItem alias/exec item to add
- * @param flags 0 for alias, 1 for exec
- * @return 0 on success
- */
-int poptAddItem(poptContext con, poptItem newItem, int flags)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Read configuration file.
- * @param con context
- * @param fn file name to read
- * @return 0 on success, POPT_ERROR_ERRNO on failure
- */
-int poptReadConfigFile(poptContext con, const char * fn)
- /*@globals errno, fileSystem, internalState @*/
- /*@modifies con->execs, con->numExecs,
- errno, fileSystem, internalState @*/;
-
-/** \ingroup popt
- * Read default configuration from /etc/popt and $HOME/.popt.
- * @param con context
- * @param useEnv (unused)
- * @return 0 on success, POPT_ERROR_ERRNO on failure
- */
-/*@unused@*/
-int poptReadDefaultConfig(poptContext con, /*@unused@*/ int useEnv)
- /*@globals fileSystem, internalState @*/
- /*@modifies con->execs, con->numExecs,
- fileSystem, internalState @*/;
-
-/** \ingroup popt
- * Duplicate an argument array.
- * @note: The argument array is malloc'd as a single area, so only argv must
- * be free'd.
- *
- * @param argc no. of arguments
- * @param argv argument array
- * @retval argcPtr address of returned no. of arguments
- * @retval argvPtr address of returned argument array
- * @return 0 on success, POPT_ERROR_NOARG on failure
- */
-int poptDupArgv(int argc, /*@null@*/ const char **argv,
- /*@null@*/ /*@out@*/ int * argcPtr,
- /*@null@*/ /*@out@*/ const char *** argvPtr)
- /*@modifies *argcPtr, *argvPtr @*/;
-
-/** \ingroup popt
- * Parse a string into an argument array.
- * The parse allows ', ", and \ quoting, but ' is treated the same as " and
- * both may include \ quotes.
- * @note: The argument array is malloc'd as a single area, so only argv must
- * be free'd.
- *
- * @param s string to parse
- * @retval argcPtr address of returned no. of arguments
- * @retval argvPtr address of returned argument array
- */
-int poptParseArgvString(const char * s,
- /*@out@*/ int * argcPtr, /*@out@*/ const char *** argvPtr)
- /*@modifies *argcPtr, *argvPtr @*/;
-
-/** \ingroup popt
- * Parses an input configuration file and returns an string that is a
- * command line. For use with popt. You must free the return value when done.
- *
- * Given the file:
-\verbatim
-# this line is ignored
- # this one too
-aaa
- bbb
- ccc
-bla=bla
-
-this_is = fdsafdas
- bad_line=
- reall bad line
- reall bad line = again
-5555= 55555
- test = with lots of spaces
-\endverbatim
-*
-* The result is:
-\verbatim
---aaa --bbb --ccc --bla="bla" --this_is="fdsafdas" --5555="55555" --test="with lots of spaces"
-\endverbatim
-*
-* Passing this to poptParseArgvString() yields an argv of:
-\verbatim
-'--aaa'
-'--bbb'
-'--ccc'
-'--bla=bla'
-'--this_is=fdsafdas'
-'--5555=55555'
-'--test=with lots of spaces'
-\endverbatim
- *
- * @bug NULL is returned if file line is too long.
- * @bug Silently ignores invalid lines.
- *
- * @param fp file handle to read
- * @param *argstrp return string of options (malloc'd)
- * @param flags unused
- * @return 0 on success
- * @see poptParseArgvString
- */
-/*@-fcnuse@*/
-int poptConfigFileToString(FILE *fp, /*@out@*/ char ** argstrp, int flags)
- /*@globals fileSystem @*/
- /*@modifies *fp, *argstrp, fileSystem @*/;
-/*@=fcnuse@*/
-
-/** \ingroup popt
- * Return formatted error string for popt failure.
- * @param error popt error
- * @return error string
- */
-/*@observer@*/
-const char *const poptStrerror(const int error)
- /*@*/;
-
-/** \ingroup popt
- * Limit search for executables.
- * @param con context
- * @param path single path to search for executables
- * @param allowAbsolute absolute paths only?
- */
-/*@unused@*/
-void poptSetExecPath(poptContext con, const char * path, int allowAbsolute)
- /*@modifies con @*/;
-
-/** \ingroup popt
- * Print detailed description of options.
- * @param con context
- * @param fp ouput file handle
- * @param flags (unused)
- */
-void poptPrintHelp(poptContext con, FILE * fp, /*@unused@*/ int flags)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/;
-
-/** \ingroup popt
- * Print terse description of options.
- * @param con context
- * @param fp ouput file handle
- * @param flags (unused)
- */
-void poptPrintUsage(poptContext con, FILE * fp, /*@unused@*/ int flags)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/;
-
-/** \ingroup popt
- * Provide text to replace default "[OPTION...]" in help/usage output.
- * @param con context
- * @param text replacement text
- */
-/*@-fcnuse@*/
-void poptSetOtherOptionHelp(poptContext con, const char * text)
- /*@modifies con @*/;
-/*@=fcnuse@*/
-
-/** \ingroup popt
- * Return argv[0] from context.
- * @param con context
- * @return argv[0]
- */
-/*@-fcnuse@*/
-/*@observer@*/
-const char * poptGetInvocationName(poptContext con)
- /*@*/;
-/*@=fcnuse@*/
-
-/** \ingroup popt
- * Shuffle argv pointers to remove stripped args, returns new argc.
- * @param con context
- * @param argc no. of args
- * @param argv arg vector
- * @return new argc
- */
-/*@-fcnuse@*/
-int poptStrippedArgv(poptContext con, int argc, char ** argv)
- /*@modifies *argv @*/;
-/*@=fcnuse@*/
-
-/**
- * Save a long, performing logical operation with value.
- * @warning Alignment check may be too strict on certain platorms.
- * @param arg integer pointer, aligned on int boundary.
- * @param argInfo logical operation (see POPT_ARGFLAG_*)
- * @param aLong value to use
- * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION
- */
-/*@-incondefs@*/
-/*@unused@*/
-int poptSaveLong(/*@null@*/ long * arg, int argInfo, long aLong)
- /*@modifies *arg @*/
- /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/;
-/*@=incondefs@*/
-
-/**
- * Save an integer, performing logical operation with value.
- * @warning Alignment check may be too strict on certain platorms.
- * @param arg integer pointer, aligned on int boundary.
- * @param argInfo logical operation (see POPT_ARGFLAG_*)
- * @param aLong value to use
- * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION
- */
-/*@-incondefs@*/
-/*@unused@*/
-int poptSaveInt(/*@null@*/ int * arg, int argInfo, long aLong)
- /*@modifies *arg @*/
- /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/;
-/*@=incondefs@*/
-
-/*@=type@*/
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/popt/popt.ps b/popt/popt.ps
deleted file mode 100644
index e744ac43e..000000000
--- a/popt/popt.ps
+++ /dev/null
@@ -1,7963 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
-%%Title: book.dvi
-%%Pages: 11
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 567 702
-%%DocumentFonts: ZapfDingbats Palatino-Bold Palatino-Roman
-%%+ StoneSans-Bold StoneSans Palatino-Italic PPCode
-%%+ StoneSans-SemiboldItalic StoneSans-Semibold PPCodeBold
-%%DocumentPaperSizes: Letter
-%%EndComments
-%DVIPSCommandLine: dvips -k -o "|./fixappendix book.ps" book.dvi
-%DVIPSParameters: dpi=600, comments removed
-%DVIPSSource: TeX output 1998.03.23:1523
-%%BeginProcSet: tex.pro
-/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
-/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
-mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
-ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
-isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
-hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
-TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
-forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
-/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
-/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
-/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
-string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
-end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
-/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
-N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
-length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
-128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
-get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
-dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
-/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
-/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
-0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
-setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
-.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
-if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
-length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
-cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
-0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
-add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
-/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
-known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
-/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
-65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
-0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
-{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
-getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
-ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
-RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
-false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
-round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
-rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
-{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
-B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
-4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
-p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
-a}B /bos{/SS save N}B /eos{SS restore}B end
-%%EndProcSet
-%%BeginFont: Palatino-Bold
-% @@psencodingfile@{
-% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
-% version = "0.6",
-% date = "22 June 1996",
-% filename = "8r.enc",
-% email = "kb@@mail.tug.org",
-% address = "135 Center Hill Rd. // Plymouth, MA 02360",
-% codetable = "ISO/ASCII",
-% checksum = "119 662 4424",
-% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."
-% @}
-%
-% Idea is to have all the characters normally included in Type 1 fonts
-% available for typesetting. This is effectively the characters in Adobe
-% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
-%
-% Character code assignments were made as follows:
-%
-% (1) the Windows ANSI characters are almost all in their Windows ANSI
-% positions, because some Windows users cannot easily reencode the
-% fonts, and it makes no difference on other systems. The only Windows
-% ANSI characters not available are those that make no sense for
-% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
-% (173). quotesingle and grave are moved just because it's such an
-% irritation not having them in TeX positions.
-%
-% (2) Remaining characters are assigned arbitrarily to the lower part
-% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
-%
-% (3) Y&Y Lucida Bright includes some extra text characters; in the
-% hopes that other PostScript fonts, perhaps created for public
-% consumption, will include them, they are included starting at 0x12.
-%
-% (4) Remaining positions left undefined are for use in (hopefully)
-% upward-compatible revisions, if someday more characters are generally
-% available.
-%
-% (5) hyphen appears twice for compatibility with both ASCII and Windows.
-%
-/TeXBase1Encoding [
-% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
- /.notdef /dotaccent /fi /fl
- /fraction /hungarumlaut /Lslash /lslash
- /ogonek /ring /.notdef
- /breve /minus /.notdef
-% These are the only two remaining unencoded characters, so may as
-% well include them.
- /Zcaron /zcaron
-% 0x10
- /caron /dotlessi
-% (unusual TeX characters available in, e.g., Lucida Bright)
- /dotlessj /ff /ffi /ffl
- /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef
- % very contentious; it's so painful not having quoteleft and quoteright
- % at 96 and 145 that we move the things normally found there down to here.
- /grave /quotesingle
-% 0x20 (ASCII begins)
- /space /exclam /quotedbl /numbersign
- /dollar /percent /ampersand /quoteright
- /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
-% 0x30
- /zero /one /two /three /four /five /six /seven
- /eight /nine /colon /semicolon /less /equal /greater /question
-% 0x40
- /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
-% 0x50
- /P /Q /R /S /T /U /V /W
- /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
-% 0x60
- /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
-% 0x70
- /p /q /r /s /t /u /v /w
- /x /y /z /braceleft /bar /braceright /asciitilde
- /.notdef % rubout; ASCII ends
-% 0x80
- /.notdef /.notdef /quotesinglbase /florin
- /quotedblbase /ellipsis /dagger /daggerdbl
- /circumflex /perthousand /Scaron /guilsinglleft
- /OE /.notdef /.notdef /.notdef
-% 0x90
- /.notdef /.notdef /.notdef /quotedblleft
- /quotedblright /bullet /endash /emdash
- /tilde /trademark /scaron /guilsinglright
- /oe /.notdef /.notdef /Ydieresis
-% 0xA0
- /.notdef % nobreakspace
- /exclamdown /cent /sterling
- /currency /yen /brokenbar /section
- /dieresis /copyright /ordfeminine /guillemotleft
- /logicalnot
- /hyphen % Y&Y (also at 45); Windows' softhyphen
- /registered
- /macron
-% 0xD0
- /degree /plusminus /twosuperior /threesuperior
- /acute /mu /paragraph /periodcentered
- /cedilla /onesuperior /ordmasculine /guillemotright
- /onequarter /onehalf /threequarters /questiondown
-% 0xC0
- /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
- /Egrave /Eacute /Ecircumflex /Edieresis
- /Igrave /Iacute /Icircumflex /Idieresis
-% 0xD0
- /Eth /Ntilde /Ograve /Oacute
- /Ocircumflex /Otilde /Odieresis /multiply
- /Oslash /Ugrave /Uacute /Ucircumflex
- /Udieresis /Yacute /Thorn /germandbls
-% 0xE0
- /agrave /aacute /acircumflex /atilde
- /adieresis /aring /ae /ccedilla
- /egrave /eacute /ecircumflex /edieresis
- /igrave /iacute /icircumflex /idieresis
-% 0xF0
- /eth /ntilde /ograve /oacute
- /ocircumflex /otilde /odieresis /divide
- /oslash /ugrave /uacute /ucircumflex
- /udieresis /yacute /thorn /ydieresis
-] def
-%%EndFont
-%%BeginProcSet: stonesb.pfa
-11 dict begin
-/FontInfo 10 dict dup begin
-/version (001.002) readonly def
-/Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def
-/FullName (ITC Stone Sans Bold) readonly def
-/FamilyName (ITC Stone Sans) readonly def
-/Weight (Bold) readonly def
-/isFixedPitch false def
-/ItalicAngle 0 def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /StoneSans-Bold def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID 38782 def
-/FontBBox{-158 -250 1540 946}readonly def
-currentdict end
-currentfile eexec
-405149B573AEC9378BAE46685AAF7849E5C9A5C8C876748725589FB14A049808D39A75D55F6464
-11A9C3526F1887AA2BAE53EE4BA6377CB094098BB2590828DB96FFD3A289579524DBBC79D9597D
-47A79192E01C360F06B93BFF89A3C642BC410337D743499A7F8B1E476FA1BDB0B198F67CAE3F57
-49A1ACC4879F6EBCD84740D62C5248595B530E6C3D3CDC3AF54369EAFDEDCD9848E2D38CD091BF
-2ACAD10DF1C87872AABD086D60475ED6046E240F2232FE2F00259225931518B7B429137B14384D
-15F582467A818C20C1C6316C56736C19F1D7464231D69800D94CF5013DC237DA1EC16FD63D3154
-4FADF83F152D1496E3E1B50E657D51952A65DA2224AE3C290A948226F005C37ABA2F6CAA732367
-9D03A1F924A332FCF713C3AFF685DCD14F950A9F50F46939759F915F780F68EB1E8A2A6DD370DD
-DEF5A51652CD0C5DECBCC94396962904B19069ACAB227B6D4D14852A65362D2BFE3B3936D8AB3F
-2318A99A46913D868EDF1984F868785E3B1107643BC4E58206E8E5E71E5E13A822A289A7C7559E
-07BBD8822847C56EC0DDB12202633CACA990B5844B5253EBF7218C2C491211D1879A4F36BAD9B6
-9353D636506C52F24818E4464E02C41AAA17AF7BF09FBC37C335A7BCA40481C1371828D4ADE630
-8DF09DC08C641377295CD75485DC14732819C2DB21CC499733FECAE1CA94907A1F144F0EB9BFC2
-98E471AF304BC3628CD390202FFF59A7BD14D9F9CC99368826DE6446CD40A68ADEDBBE8C388798
-0FE574448B196E987C2A392DA865DA46E652AAC8F9A4826D5AD1776FE2E5D2DEEFA011507BE935
-9E19E2AF34643135691E3A221B4B0AB0D18DC3993F6465489CE5EFA0D2FEC087881927A434E51F
-99683AA0463697BB9614B6CF5247330BB7393F836A789A3774629B27E1F82AE4C01EDBE95C237A
-0EAC78A5A7FFCC2332DCDB725BDE9101A9DE53A6CCA64A98429471BA8018A3E3C2D287B6316FBF
-08C3D2BB5A611D1BE846B17C2F0CAAE2955BBA7EE4D84DBFA6BB5D54B5D90E23C21D34562144DA
-4F5A49E666C1E6F7F18B2B33B2BC4A7FE722440D272CE53354B39442F3BC89E5F939B7175448F0
-02D6A60BC297C770745222FDACC9D456B4F869E7BD4E802C01D517AD752BA533DF1ECF4F9A6CF0
-DE8306C55A90405F23D1834D76D2B4452E4504AA953A8B4DDA4F0C967329D922A68615B1B71F73
-E8BB682ECBE3C7417A218DC386B0095B38575EBBA55581F768BA5D5F203A7625FE78857EF2B919
-BAE4DE0116506FE2C476A6423414FEF5833DFE00D3EAD6C6B5F31625CD76FB0A49D04C1DD85A7E
-692BECE0CC32C9A8C04AC209B5D1D77B7BD213B71855FBE81F757F46127E7253823E732A609DCF
-16C79412D1F0A1517288A81B42165B47DA66ECA5E8E1F6A39A474486A3D4B669BC65CF63136AC9
-243E7A492CFE222CB4F55C2ED4BAA7556DEDAD425BD706AEED895EAC76704AF6366295EFB4A91B
-548C2176D4A30B1026489E70D8D981D110DE46E0D5DF3A287059220142DB0100092FBD9E16484B
-7CDFBAC2B595FD35359D65D5351D5AA1AF8EE94E6A259A568F3D6219F2538EB9E31E88D2A7D8B2
-15F88C581AFAAAE67AF587343AB6AB3636AE519CAB00CD0A79EAE4DBCB56E76E46F14DD7F03759
-D10A4F78BC714B60E3CC56BC04C4FE68C5549BC1A4577F2AF578F1441EEE9178E6788CE03EE16C
-8C3E80DEE3F0D016AC09B0B62B46EBE547F0C10466E8BC9C3AC235F91F599B244F8DAC3B9FA661
-8A09D9A62E9E904CCE33BB1DA1F6FC81E1F97A1C56A2107F721F837180DF24FF110C7AED628E7D
-0B465D5064A6DB0E178C400B65E23951E7562A8C890BAB0774C2ACCED07E487D54E688E5AF3546
-661B13336EB1A4EF484BFE4CAB61BFA47B7F232D46EFAF50D5E31A8305EF727DB091AB0B93430E
-61FB938F721390EE271D2BA5D8B33BAFD5CB3F24C7A4ADEFF6C0E42D93E1B9DABD25F891811A09
-457BC94E13F1B71F628969679740D91C1971598A1D4C248F840BBEF2BCF74FB1EAC6D3D58306DD
-607CAEB18A8B19EB775BCBC6602DED6DC273D4A0190EF8D30E05675BC7B3EE1F6D584311C681F0
-C9B7D60D25BECC3CA7BC83B17E7D42832D92CB66345668F455F86A39D59534B84967D5542D288B
-0018FA183A4271150F549D0532E692C31077ACD8F905293CC16C9901DEAAE6B326680A59493707
-895264F881D693BBCA955A6F03B58AE0D81540E26BC9A2104D4AB20C5CD1D4FA3DB09A38246425
-E5B1FE1EFBE6C32AF609EBE71CA5DE4E24D8CDCAF1C3C84359126DAA6AD0098BF74284455943F5
-115360799F10BDD657D00FFBC2039816785AD6E5EFA8444F3AEAA8DB52E2F3CBEA815C4EC09076
-1D03E87401317A12567DA35A9DED959746FD5613E1D7497D04F80CAA3463D3F3EB7912CCB6EF87
-8B487485A275D154E2549F3C424A730F66F66AC9E6FAE099E71504AD5B76B4F97C7BE15D70E4A4
-3CB01E09CD47F41BF047757436C886A36B9C5F2C51B161A397DFC5494C2ECB5A4CCCC075DBE2D2
-E37B22F14C3665182200830F6796C1C9841F24453286515E3F6B701EF8C0BE65B8305A3D2A0522
-CA5A30CFE5CBFC50A9B6E7D3925E532AB5A58D4C6CEA5FAE1C1EED2E39C815E64BCC96DE2AF85E
-F5BC1831EDA3B1BA541B7DB5EDF6E042246A8534353B20E99A0ADDB46B32AF11DEDC2FE1B32263
-F054E752F68427F5A1B71ED953FC272FDDEA55506CC8FDE8F35C619E37296048024FA6303A9FFE
-6C9BE3EDE4BE5794AD1A8E761B3CDF137C7A29C64D0D8EE1CF071F9096DEE843ED40F1D4A543A8
-CE28F7043D38A74E929EAEAB6BA95CDD17E51BDD77691F0846F9EEE48CD5CAF905CE0814F3C7DF
-A17F430384CF1B2004F31E07975CE4A6BC88CAD0A805CF89D167BDD15C9F0F8442166DE3DFA687
-5FC08A35D221A151698B803BD67064571AE57B67797B5F0618B6B8F3D14829B87ADA7838D65BCE
-D527CE2FF9984555B8A6B915A68263E64141408FCB7BBF1FF7B8C043705A8803ADB84397B861BD
-64A3A7BA781C44C847A68F1A9E8FF6ED7BE881B08C8ED3A2BAFAB919D7D36D36772DAAF812A74A
-EC368EA622DB6903CBA3134E755C63B0020EE72EA699A3975BA4B1CF7030E66B36BDE8A66BD0B2
-70C7A2EC084B8383D023269B931B9CA036FCA362A9DA6DC9DDDFC11F715B1F2A60098C56B6B68D
-52BAF33BF0AEE2D8551F0C8809342894F60D3490D9DAD1317AB2F70E313924E9D680C610D41CC3
-1924E1458AD220FFE0B384404DF3AA67E7305A0836C5C195513EC3D0686B368A65DD3DE9AEF5D4
-EA28376B4ACC1D00EB38F6D4EED7E025EE17A1D157C1E71879DE16BF46D58E1BB46B2CF9CBA082
-C0A94567A5C874E8E6477A3CD0D6E48F8CD4E4AC3730E33EC8079B4CCE0EBDDA5E48ED13626F90
-888A2892448DD075EA3A846D1C8E6E3F0FF03B8D63D04AEDFC659840A949275394EB21B85E544C
-28BF0C2AB7113EBE4A8A3D0579EF48C15D9D82A09E96347422073A45E3197490D59FE5E9818697
-065A419E95768DAF768E1D938414ECDE5159281F4BB35EED8D65D3651906217FFC08AFBB075474
-D0F6B7519CE3668090B115A350DC3E90DB350A290822405C7AD6713F3BC29FEE0A4E32F9C85FDB
-232A458F55DB1CA335FC94A472C390A322422CAD609443F5645E6C45238570B689A7AB307B63DB
-B598FCF2EB2A70F6C4C9CB5DC3076938C4D2C400930DC2625285EB4483294509A4B018002B8261
-AEF571B06D8E9BD86E8AA40CFED8E92D055D1F653FF68F2EDF9463796B070A2B366BA274A07CA8
-283B30CF79231CDDE4A2949F47D8C18C1583673FBC5AE18E0A54D32B095322CFF5DF3831F91068
-E9DC713EF1B280D41C4BBEFB26095FCD57A5FF745E0A24C037B8093FFF2E10DA7F6F6A481260D3
-237158CE50618A8BDB1CE1CF5551B4598917E4D40137E67993D96D75D6C3850D92D5373541D7E6
-5E7CCA1478A5F3D117AB8EF2F80F02489E7D9899A46B4B1C30E61D657AED848A144DC24F11A1F7
-18202029C81926AA76D9F7E4B8CDE38848E702EC6841115A0F585334F42445AEAAE787BF272A26
-3594E4F62358E7EDAAAA63028DE788724EE04D1751A59BD95D9DC2F2EDF0256CB44ED3E2210A9B
-AFE82833926ED6DABA60141D740DB0318FDD9A7D3B4CEC8F2C95E3FA6EF6013737F0B1D48D24D6
-FE389C2EF5BD12AD8C6D2ABAF9016EFC7DE8DBDA6FDA21727EF8E007B155D311D7B279757167F4
-D1B2473534C2408E402AA0504F853ACBBB5CEDE208137F2DA6C21230FE2715C45EF003AA9013F8
-54A5534F3AD3F8FF0550BAD3716449DFB3A6A4F460C72EFE3EC5AA220E902C3C9F062E8EB41069
-5B3D602545BBC24D616F0975B16E8C7D3415F792555367704B92CEC9BFD6A851C81F5D9714AF8B
-E6F8C992AB1C13D51F46C5E32F79731EA32D9C526D2AAA0A1584692A024E0F85BF9E1383CDA1C8
-FC6BE36CA3C12E4FF34F11BA62D9596B39836EB59B61BC5F5DA97D803215BA1D4343337FBB5D72
-0CDEA081EC40329FF31057BEA7698AE4DE1F0B75D4D9027F741F587B4B524EB12287DFD0B90AC4
-BEB27538A7855B7966576B68F1682B990CB5FF4BA294F278DC98956C58FACCBAF383B708FE4666
-52761E94BB3E5E65C7E904643D54C68920C0B1072B790AEF99229D1F7745CB403F07C023FA6A30
-E0A00D4ADE7051A8B59ADB29D44130AB03B7FB303650E9EF55C49978A94A583974B6B91A0A4065
-B47DBA34BCEDA19D44A3FD83E7FD23CBEB6D1699023B704B8C0E2FA801CE15A98ECDBB0498BBA2
-23B444C0A75E0E4DD995D40AA4F9F03C0AF85BC5742182D628B3C0D1F76A1A9C7E02CB2295CF26
-A2F73760BC472E2278CAE54D9762FA27A9246965326A0CDBCAE997608D0A1D5326E78B6780E15B
-AE688827665DD786E6275969448E303012486BCBE4130D848B46666D660D0793559AE3E984DDD1
-04C4D56A066787B4AA4E1DE8183B078A8DE42F0663D33D35BACB19A2D82A62C52BE6D3C6EA6C5E
-3DC9C49BB74FB1E430629F437DFE67DB4DAC73590258873B6D808E8DAD4FFFE660F09D5207AA7D
-7F45EEDE6ECC32EA8F8BAA075EF236C72F9759F44F59FDB478EB818768EF740B9C892398B35B89
-C6F44EFA1E3BAF384D4BEC68D817AE7C449DE061D53C7568F2714365D5C807298D6F72E4D5D8AD
-B87ACE19E4057E218811ED12F84906F4FF9BED46607263AF1CE4E4FC1A7D06D59725BFAF9B191C
-17D912C67726D88CE805ECF93081A1BEE281A0364EF0CEFBA92FCD6433B4A44AC83C44935901D9
-2E32184A31FE7661B7636B70FF62D97AE9D7440A3A612A68DFD7176445F07346FD25DA5D910070
-5B7AC6F906BCBCAFE2BB3A3E296D580660B5F7B2B829951D291A759CE5DABC47E9021C14AF80D4
-E259EE13169257EE24C0373A7CAC17B9549A3940FC658BC35FC6366C7A9EADFDB6FF15CFCE038D
-B5F1E0B2A33CB8C45D78CE03E8394E0EA9D67708C11F7E25ADA4298D5C89D977BF17555AC70570
-BE07815C8CD204E3CCCD3E89A6A4B9BB1A05FD6DD4A56DDC0AE56D7F58381246095E86245055B7
-762D09811480E9A1700FB390BBD45FD05F1054EE65A9FCA82B28F1453D719D8EA1E38E1475D94D
-3D1B16F65CC4582CC32CBF5B9DE90E96D92A39F667090B8B47E0EACBBE85F885FB55F83B19B030
-52D4ED552C1CA7780A4ABF0DB02F476D6A494B363998B4BE832CFDBDFB28E0D2F6DBDF04291E53
-F8CEE97D6057E668F359475FA575441BC77FA6FF3170621D1002B1AB40C155B8F40F74DC822B9A
-9CEEF7662C9CECE1082AE269953ACAE2E78E3EB011F721E6D65B897699DF6BE1D143989FE07BE9
-E1EEAC4A7FAB2BB88841E33E9AF0E109A186F72B6D958D2DBD92E070B61FA8AC9DE60D3B0BE089
-50C597D02551B3B10A0E52E40571BF6AF4047B1914FA5651EAF0DE0D332EE959F58F4DDE1D8D4D
-6D847DE50E4A47AC0C2EE73FB67CE7FA22F242D4E69EDF2CC050DADDB25F8959E9060AF0E2ABCD
-2E0225A1B9C4792EE988517B3A567DA09F3E12E052ECDC91A5737C44026513E46D7B0C7399B006
-B1505F3B7F41883A14BA5B180E80C63DD5D37EC5E90C38F46DC88F11FD5C1570455941949606CA
-598CA2010568DC0B49FE5E5EB5DFB7E3AF195A23F51F87F5898D10A34043F23409A95519356617
-073EC83CD312AF6961EEA40377EAB0B0C159C3906F0492E94414ABB8FF34F1FB6D33594DCB5A64
-FAA7A02C749799BC14552F205122E22208EDB633FA50311B398B98EFFC0FEB5CAE8B0953CD1D0F
-05701C2919D5DE58EEA2CA4AEDD06444915B16925504D159F050AAA203473C29805EDF5A71AAD2
-06C601266ED2B909E68887F94B7614E723950EA9818F7793040BB8F7E3500BE44898B92E1BDC97
-BCCF312D35A85E667669F15BDB42884E7A258C36C7CF4947852864FF46EFCD56817C58A7BDF29F
-3111A188A5F9F255FE04255B1427CCD9D0CAF6D9992C6FD493E11AAA81E13FC69C569A573A79CC
-D3D2859B051B7EC7CB55A2929E515FC15B08ADA50369C10808B83EFB6445B4E57E8BBBD75D6A6A
-62F722875C6A65BA355BF24CDDF4F5611D4918ED9DDC52E527C49A2843BA3646F37B0103ED0838
-5D68834783F29C21FC66F55A7B11CDD154810310CB0C05367D2F12D749F5BAFCA86AF16160E90E
-1E6609DBFEB302BB7393237731FF90EF555E1A194F88BB05FCEBB6B057372731CF1D14CB47E47B
-69A3E1158F1741DA4505541A832D0362CD4D16EC54BB16E40CC682CE6132E369C0BAA2ABD7A35F
-C27999881B02D9C22DFDD56CD7520CB83A8CFCB4A17DC799043F25D69BF3460DEEBF18C2579F05
-2B69B9FE5E6B7467A15DAC10F3D3500B7EB0D41E8CBB0D3DD7A69D28458373C681FA763BAFFC57
-24E1B59F21AA8830E7391E8BF8CD649F7F3826264914505A3B36705655AF3C3FF506332A43D753
-D15BF0A415D6C7F8F653EEC0A66840E7B9E78C8AB0556417071CADB861D9CE959CD4641EF2CDEA
-B450587752B4ABE8F1E61732C49C57241746E913B99D23568F627AA7A22B9D3372F24A9F1B8AC3
-427E598809084D4BCDCC8E29B975020E737FBDE1BE1AF74CD02BDD781388F39A189F6583075A57
-A5B21E1A5E93AD170C3767B543BFCC152E326B768D98BDDD403FCAC07EA395A019E645065B0DD8
-DDAD3398299AABE61D20D85E99FB81C63C15212B496A3E23F64F40ABE60BD8527F85A7890BB7C1
-A31F9FAD5776CBF852DDF9099630A0B110DD1FDB87FA074EC5493BB2188940F2979A01C1463ADE
-B688A3C3339293B0E1EA7FEB5203335D2558EBB8BDB65F13DC2EB8EDD6C2784D902D6B20135F7C
-88662991CDC91E2B9980FD68B17B62E44693984B766247A9F121A12E280AEC4D3C765F2857338C
-887102660537AE28EBC7771D402BE381E6AC75D071D6E66BD53CC02EC96851B7F6ECA7A9464834
-70F2AF182592F53FBCF7F3D0878E14BD3A7263346187FB3250F17266F11062BDE774AA3997E810
-2BA9C7BC37A0B69DCD788070725DE7D8DDE804B3B538024F2D67DF7B9E009A20C23FFA5B36CEF1
-F23D7A12F667A1750BBF2B222C8ED82498A9C644AAE7AC259840F3881747F2B4EADE7D961E74EE
-A17863B740E1A672F270972873EF3BCDA4294E7008AE3F470A89159005431D9CBD1BDEB0B34202
-41D418687BD044B9DEA09F4801BF1193B10A6B96478C938AA67CBE3580187F2CC2604912BE6AB1
-CC9D10E15DD2D02C55C6EF824E4E8DCD1C1F92871AAE4A33455F15D71B4359E15CFB29F8FFB1FD
-F088978B92B436A8F42CF8061DC98694A7627EA06872DD24FD5F6CAE4A09106B82AF6D0A4F131C
-1D25A062649FE8B6FA16929384D4C15C301875B05B78481391A497DEF3D6E24776985E7B9D0111
-8452B33EEE084A1A5CEB8866A8E7F7016D82D0588C9EC00671DB79F22BBC904204136F2A97B27D
-B1E20A571A89312F7F1FDAE1F9AA66EEB6C7B473FEC90FFE75EDCBB53CD4F4625D3E09C79AF8A9
-08279757AC4995AB575DC4762B33B6608A8A85D5EB39C52C1CA452047ED183A031142AE061D2C1
-1C8A8FAC48B5239D27E196AD19613158C2B24BF66EF5EB040C571B67791996F18E7C5E4125B9CB
-52591132501D4E3E9A43B111BE76EC06E70867494C4DD27C137E6BE35C32CAE9CA4F5CE3934ADA
-865F18C152697C6B1CF0604517AD8C6D2AF4CC00D3E354E2D285EE2F06237C9FCB02A3A4A60157
-CCB0A0F35915569AAA64A95C7DDA00EE2718E2C6072F7E5D88A88B57021DE4FEC39C4744600073
-B2D81A668109A6516670A1F3EF78BF46518E95D02243089D89A49FDD78A8EE183594EF936F71A1
-8FB5F93318602D6496FF35FFFF79FEAE2236386F07AA84300B067A9ED4FEBF51B69FDFBB973FCA
-62125FEE4463A06B8FFCF5C662984C1CD4CADECC275709268C4FFAE774E12B617973760E369D1B
-8C79F00471310EDBB3569022BE0FAA2E9DEB12E81C40A8ED3803FF3E400933B50905F3EB231547
-157887148738845667817FEBEB00D17698DBA9D1E236D596DDF3EBDF46A3346757CC012657D0E6
-A0DC78399FF4CA83B2545CF3E374F16DB2A5DC36B3DF9AE0FAFEDAC9379F0EEA3FA175CA0E9FD6
-2E11F10369B21FAB99D721EDA9B13519822DF999B512A8061582F7C0E836112D023C4617848C2C
-6F923F8BBE27017DE7CEAB3C857F6A151BD998266DF62D7885A3C38363F5986614191D68C29877
-567B1408D4DA1C5ADA91A75A1A5CB07C7D5843CF7246233BFB323FFF495EEAF72D96A8EDD8C320
-57674536B08E76040742EAF65EB0FEE50D4B0BFC661B1ED5A436D6601A813F360BC1A6C8D8DA34
-DD1560F864868C88A4B72C95C82A0328D416EA6A2A75E5F9AE658D6239E54E7866CF8C7E37F911
-7E9D940F1A2439924EA630C310416D1A1B95C3E8BCBD0F1DA6BB3F5AC9342FAD145EDD96C4250F
-89B5B5E5F1067D4B2E2E52A182FA383AD44BC4DECA1D2074BB6EB1DFBE7DF25AF3B0271B027B11
-BF4B0F1B56E834A0667A8B30C9B61E3B44283D571A11667A4DC10F7B6E3B334764CB10357090B2
-74F7BF6B9A19ECBAEAC0A942F95F82A604C50DD71F2CFE5B1B868E69C077CDDF5C8299CA6C1816
-93AB0E43F89ADBF3BB94E2E3CFB01DE47BEC9FAA59EDC5B6D50765B6EB09995755C6074C2106A6
-FB148FB983CFE06EB4EABE827F98CF158375A7C9C745D3F7907C6952D0CBF28F5F1DDDA31A8BC5
-5A24FA35E5584F61F4ACA25773D86C46B7A042BF003086D8879505FB4E4A88B37724276E5AEE09
-FD82429814C0B601CE29F7681BB3903E64619BA57D4C7399E3BB738105C6404165D1FF2E4DB654
-272C11185886B9F9CBB94FE1D1F7CCBA6E0E4944D6C59EAB5BE7F69FDC1496A779C63391E1FA6A
-38ACD11E86F688600FE1CB3984B527FD856DA02F8F0D1D247DCFC17221139C312498ACF8D9E812
-4A64A511ACB6501EADE9F8790D4F6E9C3B42BC04C23E6AD2A6E6A54178BC38DC684B00FB549A92
-81627056F46B6836A68898211876058394D5BB263201BC69E68F050DA038B7F86EECC117C37C74
-AAB0C9C4F8B4652E2F83F0927ADB2A7BE9033255C631956DDCB17DB2FE375D79BD810AC43A2FE0
-8B51D7BA961935B3D9BBC785B0DED68D84C90D3DC3B22541C2B3C1A53DE99DA16E6EC6D1476CBF
-5514E3BCAD427C9C8875AEC591BB5E21A2CA43C14051D72C18BED73612CE5B88A8A71C114A5623
-7FEFC54583A3041A6E871C8E7DCB4CC457BAE7390DE674992EF2E3DC5ACC808CEF1B6F3D58214C
-F5024417BD901343F2F096157CE31EC0EA6CBE808C8E508E6000F01670E552DE00A4EB4D7BD254
-F840CA6EE6C75BD96E944352D9AEDEE6941CE3EE8DA3E851D811309E3B5ECC610E98DDEE262473
-3D61DB9635312259CFDA8953DF4D01A9B857DB6532CED5DEF2ADB5830ACDAC3BDC89B95834255C
-4413100B19CF49A5475C5C985F82D1C43750E933C59CBC3F92F5785EB54339CF742F44A2B4D77F
-694592CE2F926DAFE1F3D2CE52F43C16A2331E027FF3E24C102D09411B578B143582B55103247F
-7866B1B87127763EAE9BA063746B785E392ED11E8D4A6C25AE39DA7AF6F12506BF9AFCAB89D77E
-14C6757A6E806C0F1A16A0E42EECDCE19996ADEDE43E477B84E503C7ADE84B1D79EAA8C3E0D4CF
-943416B55EACF4D3E62178A29486A8F3119072820F37B204A1BD4825E758650E4B06609B867CDF
-A36E50A8236CB9FC87FD813D8E847294B5B5DD63DB7A553917D58383EAF69BD096ED658536CA9C
-B83DA967ECC467E8329EBFC450FC86C960D23ABFE0A6698287A5405F54083D5C6A949F73C05ECB
-DF521BFD0A3583CD38AD7B2324FE57958212B44EC6CBCFBE6491D5F27F91A7C68BF7AE91239BC1
-06A37D144F728A9F9452A17C3E3C81501E6198BAE958E37C9B50C1AF27C18DFC14579772F9F876
-9D1C4BA1CE86A88B1EB0D5EA9F51DC08DDEB5737ACDD58D856698795B1B3EE25E7BDAC9E50C6C3
-D6CE65FB34AF4C93A49796324B7DB4410A50680392BFA5AADF234DF2586176BC99A04FBA7E2A07
-9F5F79C7D8AD68F93B2F3B7BEAEAC1CD4E4338A9CD0203D1E04BC0FC3165FCA4103EEB71DFD119
-50547340AC83605B885C2F2B235BB1FA1F8FA0CAC2EB64615DF5C24FB2CFA2554B7FC2C5CF7440
-3C5DCEFC22C719E98553B0ECA1D08481A130FDAB6199CFD5FCBF610D4E2F51A17632270A096A70
-F1ED2345E196844CAFAB1A979FA1CBA54518AFFB507C58E86E2CCA4178172B488D7AD610B532E7
-FB106F94E90C062FFD67FDD18A72B3F2652453807901737DB8859035884D289266E402BF8F4718
-53AAB6806BE1BC39FFD97552B02BB080926F9095D56F2EC2CB04980A76F6DED32B9F879034AE2C
-A622E0E2147E33584EDEA5D003AF751255B51959956D1E27CA108C6EDA9CF5CAF53CC464986123
-B9582D0176B6689904D5744B925F12AEE17492ED3FFF048E076119FD1F8FD2A4A1B70A6369312F
-64F44664D1AC519464A0F2ADF3018B39A88AF07C52B3CCBC9DEBD9937FB2330928C1E5FF56BD73
-C4EBB943A3003E42D913C15EFE52EC17F01C7F263F795462BE605A2910CEA79C6B72495CC58F81
-CE83297B2106319EC6097C38A7394378164B7735500453974ABA5E3BE04542893AE15CD5B34AD5
-032B8D1F2AB683C743B7DD3CEA1C39A0014E9264E7655651539003A2BDC587F31B62E3BE1B7F9D
-5F134AE76949F5AA629D5A63FC239920180246EA1FF6176DD482E33AD258B155D55CD66B44A281
-723CD3CCB66A362F11E4D58F9DD006CF1651D6AFD903AF87E72544CD3725670232D7DDA8AB193D
-2C08736A49D1FAAAE861A664A9DA429772947107F2917D7E7717A4535D464D34B3C65B1E77444A
-470EACA68E4DAB122420F01F8A7D213D0041908A864CAA6A621F14C14E407F0BC5CC70CF0BC4FC
-CD2FAF8CD0C5D5FB2080010E038C0F118D762C09898686D8DBFC29CCDD46F08EFD599328101BF5
-16A5736F20ADD4AC1C150BD3BEAD585D1D362261C735F24CFBBD4B64682E34926CB04F9D31E09C
-A6335AEB3C47DE39D1600D7F62213A71C74A0F81965DC5B1B3D7227636690B882F38126D901A9C
-E418BC6D3D923FBB801761FE7B81A55DE3F2E42688246A06441FAE14F23DDB993671901F97450C
-EA6DB10B0DB13A23CE0E21C27C1CD6AB524D25EFC13DAA450FD80BBDC6376065A14D749D48EE1E
-8C83B833B510027F9C89F7319B1509B699162B7F9C5B8A739ACC1006639C297C23B8A66213F47E
-A873F87F1CC19F581EC026DE584BC049C49BDCFE89C001504F41DE17D84F973826886F4E5246BF
-FB87ADF0726CEC7A4F167E0384B91526894C2D0090D38EAB1461C607EF359E74628854DEE1AEC0
-5DA8945995A3D68671E8BDD9946C222294B0C4680EF2FDC224A0C7AFA9E5466C7B1457CE3DC7B8
-7B0C3517DB833EDD302BACF3C37BAE4617BA6206D5D1C77DD53547A7BBE0C948D217246C294C70
-5B254A960CC5C2F5E35120036356D760452887237D70D1E2F3D6B64A0171FC578859ABB62C1444
-D3FE0719DD85E7A8812F7A5C0B8BEA7207E31C7C55280348172DC5EB275898044C00C2D92545A3
-362F7B42E073C75BF179D13B0BE76B4836D069FE01C287B367D02DDCEC9412C2FBEC3D4B327A10
-76586750C8994ACE0DE17327B01F74A3813D3EF9FBB9C9C5414F2E9CC1DD9D06297D174DFD2DE9
-CE7BC95F580B4F3F26832AEE535AC16A087A012DE47BCC692B7C05B6015CEE221323F7EAA191EB
-86FA94DBEACF0996A8C8D013301A7BF64C2436135C3CCF2294B1E2246184261B9A6BD2F4B98A91
-E41EEF9BD07018F5CB9B0060AA76651CE1405E08E455BA689CD2E6A3127007BB4B311C23804689
-ECF60DA7972373D96525042C360F5DE09DCFF940E72CD5DC0A9154B631AC1F2E38AA2B8551BBC9
-AD5CB74CD86F5388AA75B6D92B1E37A4F875A6714908377D78BC96DFAB7EBE047BE4D42C416FDE
-50A33FCA9E65600A2C7A7575D6059082C3FA0DF3C31E82D3FA3969CE43965EA49F0663CF2A2C71
-EE4AD5C7D853B52B6AA0F41AB3D47E510D8BF64AFB1E8B8F782C98CD287DEB9AFED39335520B72
-B8B5CFE2A6BB7C1AB0EB746ECF6F7AF86C183612B0DCD583FAC678D9602957E61C187F39B3A654
-B20C792BDA9D81FA974A9E8864C1A86F9AB72918FEBFE47516299AE1E9B27F46F3C2959C5AAAD0
-A5C3C3065114E89956F5FA36E16174470DB8DB2FE08396EA5ED7D50AF989D8D1433E0DE7115A41
-0115ADE0BA74E8A4DBCE3D9B87CA767AE380280D51FEA9A0F623AB175C3462B9482DF6D0BE8F8D
-420782DBA63D5F43966A88E3752B270048EAFE8BA291E70B8BDF8FB433A5A57C669B4F7D35C8D7
-3C52700DEFBD4CD42E1F2C8E442D19C030CB35AD66AEF7EF0233BB4E08FCB48C872399AF859938
-A02BE5F96391FC64E297AC790D70302D51979CF5459F4DF2A41B27592D0538DBAC394C37ECF0E2
-C116D0A2A2C6ADAB5B0542F86CE5436CF989A869566ADE4D764E423BE583ACB1278C7ED362C023
-F8AC485529006A1893DD5A98D050565543ED6A4F3B03092E27E8913765E5DEC1FFFBA80982340D
-AAADCA7A95A24EB5F392DA99FE3E6C34948DD4CBC469BF2B53A50F162D05963D73E79EC88A9D94
-052099431793CF8A0CCAEA5C95B17460616A13927532043BE9FA79FE0231D57FE861FC0D32DF90
-E9F3EA5D028E06281618E984A169F5006756341C1B2CCB9BB5C6CBD2EDF71A5244EE646DBECD26
-0F547B8CF03F2689EB7FADE56D3643AB8DC7B89A5194419818FB67DD5C66E7866EBB012C365E27
-BD4BEF4A6FA8ABE429BEE38715AF35AA3F2751E0FD980DCF6AF94A8CD6A7694B6FA71F2FC2FE61
-87884D029EA7BB951EC1FEC36C100395943C8A040E5F1325EF8EB668B08999F0431C2B36761FFA
-F6E21790E51113526B92DF76AB22B9761B11A0A6673C8E093ADBEFB1B18FB7CF80F43D1D38F176
-78597B4F6390764D60A1C797DC0926DD01B7D09448C671FA5B51B93A58640EEB62E80C4F3810E9
-9AC99950D8AE3189152BA0AC7D8FA8431DFF1EA3CD4FD07B272A563E67C3FDC3188BD621BCF0BE
-40AEE192A02BA5EC36C5A45E1E16097F4284B74AFCD8690B24ED8C14D25C7EDA7CB639043A2317
-8A58094733FE73887F7FBBC995150B6E54F5CADE65338A12A0F3824984F5B16AA0CBDFF330A408
-7116EFC179DD03CDFC2312EF49FCD501732875A961DFA75DF2AFEC0711DD8A215C69B9EFDE095E
-B03261C63C88B6C66C3DBEDA2223420713192FC38AF0DD9C4E42F3BAD9E1306AC8471AFAB8951C
-10CC3FA51E096AF28D73FAC5CFAF410F83EDC08F7AF86A280A23367743FECA7106EE0D460261C9
-AEDE826D3C1B16DBE4C0DE0EFF9F744CA26246DFF950B0FD6F14602503F58A4F3B776D94E3CF47
-CDA03C04D31E71BD0281C2A66F2D8021A5EB2500A70D73B55519AAB87DFD94143A623FB250D0CD
-31B38D8ED2C5EE5C5A78DB0220CC5A081003F68D8367F350115FDB24F2A191AFE85B9F8C9DA654
-84C3FDC994889F42D561638404CAF88B831E65D6D2623AA8E82A050DA727F886EAA7DBC4012ACA
-51FB15CC48016AAF9F82012ECC6B3A4B5C9F628795858DB725B8397722749C1BF0682683A8CD6C
-55185A30C3A219136C8530CC32C8E57CD3F66677549EF3A9C58B036C2CE21EA3AED58900230176
-8FA1CFEE2A5AF414A09F5DC3CA77C70AC15720BA08B5C498A5C6F6C521C36475DB6E7677819295
-AEEF95E2FC891E1C45CE729C8A1032E02201C1E112DBD74C3203E2FBE389322D266DC2EE15519D
-1E7F0907C615F228733D2427B55C0D3735AF25A15F0EB0A7F3374755454869CF8D825C98B8EFA2
-45A44FA726AC7FDCCA1B8585A6EE64897643137B6568C0D6EC985902C870783F2602D570176590
-0E79FC7BC5A40DC29E96FE65575CC63DF1E4F39425B0EC10CC37045A0B5FAED247C17EF9180492
-4C888A39DAA1D8F28F2A682A9A522D5B8AE6668C02E9E04E2FDD936E2A0CAD1DAC3CCD6E36F0AC
-1D26F9BB256A7ABDD0B532B7B487C1BCB93A6114821A1FC85EA6DAE4FA889F555680A9EB893B2B
-8E60F99734383EA0605A48A2BEA0752D0C7A42C36D0EC252A522E55361BE4409BEDBBC55004289
-ACEFC8E11CC989609521CF8F55612F25030C5A388340FCCA791F1E4C14F2AE3333581B0D81911A
-A06D22E43A5CD564E81EFC098F3D8DCD107DC84B27B6CAADBF6CEB735783CF453943F60897660C
-818E1457017A56512DAD80C6485F6749724B83DDDEEE0DC58A0FFF9EC71F0FCCD93DE9B2DF070C
-766CF1CD3062962CF1AE2299ECD90924A8D7C48641A0764D000DBCFCBEA3205DDFF6465C146EB2
-2E99078EA6CB6F62D687BD731E56EE7081570935FB43F39FEEE8F86EF910FF0B944CEA878990AC
-F46C486B976D8DFE8905BAC6F2B01C6954166F5086C44804C7FF640D689697E1BF6ECD2D6FF20B
-1C695C96C78B923630B8C2064F4CF574249BD8124985ECC0D762ED0BFB52E2042EB900010DAB18
-135274109FA10157710FF3B695FDA0211F2D7E4CF7EA38DBED585FD4A5A6D4FFF460FA2C22AB15
-052D40EF60A35F36265642502FD0C37A2681301C86081A4016E981E3F6A184A5133F4A196F35D6
-23440CFDEA99F58C51A974C15A3A6B96EFCA25D17B0081E6441AB2EDFA2548565B9E71642290BD
-7C1A7077DCB34616A8FFF35EE4EAE3627D2F1DAF52023E17B184EE4F74C2B6FBA63D21FA3433F1
-44B521564B81FC2B20D64236DE7FFC097835AC3F9E32362F04E3061DF88B6A9901C31840E31BC2
-C590706B4B734416543C3B2477E80DC0F4FE95187B36E5EBE02075350FFF86486C485443D48DCD
-1FF4AF1862403011EA630A04034E0A34AA7DCD1926A2A4A1B5160B78B313445161F0A5BA656D0B
-69A25F9CA32BADC2AB0A5076D4C6357C3903A4D45741D44A5E4000F85102FEFF45137595C438B2
-8FC2A5E5EC2A9DF3B48B08A99EC2EA715DE23C37AA603D9FC4FD76AAB1A3583263876544F7AFCB
-9B699CAA51755B1C4871A8746FFB6183339AD853C28CE7207E772F3286F801908795BD8C701030
-0AF15345F574684D87807A8D0BF7B015030E92116E5A09CDB315460BC3B598D59ED7F3B551C1F7
-C96152DFF7BC8FD356B2E391B0CB9270FAFB986E11C8EA2350B672BD6AA36F0967F57DFE98CEBF
-A9ABFBC7B5D2EEEE99539951699BF9EDC5CF21B4E7C66A92E1C48A0220A6DE1DC08435BE94B7EE
-92AD6D4822963FFF8156E9EDF524132C17FD236E35580DD6D81A201BF80F2D893C9D56B536F4CD
-2C063C0AA735CE8441017B49602753B776A28BA50E3342681C66A881BAED494C31D0657049E479
-1C0B18F7190B1CD4FFBD0A045C9704CAEA9292FBA6B62CFA2E5F8674BB14AF84CBCA42FF3DB5CB
-B5A37F20926B170667111616309E2B0A4494AB2F628C9FC0D626F02CC9AA894CD2E6C4FBE40727
-37168091AB9536E3EE6D0D73F551E30538D7BD7F914D9E816044B3C37BB37B22F0221AD5F715B6
-F1288D7E4DF2FE4DAF4C65D097B2A757F0EA97565B8437B42F866FCC1B6EFD2EFDE8AE9D88814B
-5BBDBABAAFB6067F1382ED5A59C803BE5A8F37DDA199177E1AD0EAA48E1249288B65D281DEB21C
-051FBEA7165AE5EE8DA9C35896B5008A683C96ACB41F891DAF6B07ABD8F8CE8C0B60F0244D4F47
-FC30F84AD079795E6C9CD35D5255C60E8E0FF736EE58BBBAC019DDF370992F98D0E595FA92E911
-7659B7667EBC12D2B01158E78231E68936AC8003A1B60B20A85E89F62546110E09A7514B447C74
-447D6C7707FEDA3636F3B00C470CE0D4A23336C56BB8B3532C3D7B9D7EE4A94684DD78B7462634
-1F9683AD4D80A358B684F522E84975D1396F0163A4858FA2C175421977E62EB51E7A733758B76C
-6F378BF235860E808D90433BFFDE01EF094803CDBE5853D6B7A4B30A85E83FEF5F4353FC1F8143
-E13A2556002169F86049446D92C54856D25A90F270EF963627BC7890A0156C21F3A2AFBDC45BD0
-0C7A4BCE6C04BBE19032C9CF72E26395D9A31E3C5DBD061C7108283830D4CB0CEE7D6DEFC0D642
-DE38333BB72132C9E956FD58DF4B48C74BAE5D8E9760ABEA97520994A6F98C42C01760011B19B9
-E3DC79789A9BE75052477C96F781D309C7CA44939A3D0A458EF25D5475F99380492E508CC36D4A
-2BB1AF87B8D7B062750D8FC1F87C774A4CD5EDFA0A7A04E7F9F273F90317E2B0174C398F3E583F
-085AB4E582008470352743572A76A6EAAA2DE3D0FB2517FAA832EEF087721D2092FA43C6165DAB
-F090F59BF9E1DF2EA4717211285B51C7CECF3EDB98B4F417CA0156888F4A95DE67B73219256EF5
-4F553038D4DBDC64DF7B704F2B8EA7A36EA5A4670E3A12CE6E2686DB8EE651C6F5F30871835304
-54CADA03630DBAB407B45723846C399A2E47C9F7EAC95C86F4AD2119D49B616D28205CB8817E47
-4A91CCB58629BC9B2DE0A143E3EA70DE2429FF83A2972ADF4B8CEE0DBF0B22BF47AAE643627DAA
-565FF473C4F1F7BDFD8D320ECE472352BF037152855FB9046705D8319D78C3E8D0D6A095565C4D
-AEB2C2A621EF81616FEA46CF8B51D0B23A9A47A9B6A7046EC2F52E1A9F1EA612576E6B026CDE02
-9CB1A0168DDE4A729DDBDB7D9DDD253500C644E0D4D680F37A079319BDEBFC9C247C675E8202D2
-B09669E3D90F6F2DFC7C6899E8FC9E48167D291BA9D0B33BA0F1F331AB6578734F2A4D27B9BE40
-93C1A1351F950E99A805E2F16C900C61B7A1FCB3B3B66F66C5D07402159BCDBD15F30C59917316
-255B77E0EBAA3B4F81D5AED438B32BF815C94772FDDA123EA4BDF29081422CA934A8BEFBA9FAC9
-3EBA6194265AC59FBE0B5BB3BB056E96055A961D5629D0CA88EE0A672B9946542CA1AE83F1BAD5
-BEEC57336E491E8067EF260EB8BDE634E8163D2A263BC815968DF9EB7770486519C13207E3ADA0
-09A7580055D7E04FB72AE364FA5144122CD7A50AAF1870571A0A7F19B52805956C78062B17FB71
-58A3193F7CEEA96A18A05F6AE2ED484820C402BD0DFDFAEA48238E37F428371FEF79A1B93F1F2B
-BC02F2FDAA126D8904E6E4CEEEADD7F6ED036A2E7D1B6F5DA7F598FDCC7AC7BB175DEC45D4FCDC
-4A86E2E3A9A51D00B33945DC7E38771532F3A75B9017AEBE1FDD745356EEB54C1C310EF6C1B85D
-B0D09B0C61BE3AAB080B58E279383D8627966802686283B507143022BA281165BD9955C833B1FC
-69A3A2071A5F5D664A2E7E9DBDC85B64A48684A2DC6EE9913B5633A98F19A546DCA6727361010F
-217E60ACD1946D0D1A2B0A31A6103D8E7438FAF554341192E2B33FC22C57757680B0C44147AA09
-27CB41E464E94E0E0DD8EBED1873F9FDCA312A4ABF1464822DE5E6CA723B8B2F3B23B7368B1DA2
-DADE8C2B58EF71B068BEBA33DED1B278D3B81D8AD44DFBAB72D4AADBCAC1D01FFA901CC3FDC56D
-DBEF40BDEC4BEAB64916F9CFDF21F5B118433B672BE308267F1A8AAE85EF280834FF8FC6138A2C
-41773FBA3761250AF744BA0686B6BE8DF369748CB2A30EC33448ACB1A704D1BA01C2365FB1207E
-98DEFDCC61CDA54B120A74061F8B3244D12F6B31BEFBE2AC4629E6B8009C8239D427DB2AC9CC5F
-70F54870D58C286C8DCE0DE89B6E2D0B6319AD1A10D91F13C8FE61D7A3B2E1EA19E38F12733BF5
-3732B4F3FC6A8E12FB01C0F03C38F645E81E64E163B4C3E3DB7B6DE0321E78726C0775E3AF0E65
-54B037B3192ABF1D688812BBBD4E643301BFBDFE27DE4C9CED8D9A705C94A22F599CD4AB72D512
-423B3D4396B42C901C42B958C46882672449440F0C78BB33236860770B96008D7863D374D05C79
-B221B20329064613A7B7FE1828E5A80EC45C64EB08563574F992B5673E53456CA3E8D4FDB81E15
-6A83869BA95C8A6E8EAB804438EB5BC5B6B73FD493E18E4C95E217B847E422A947D9ADB14FF0D2
-066F4325A50BA07F68802D86D51653B264832B4D6102107FE04994F8DB0464C37F3B0DC87D45AD
-FCBF95B1BB20620F07AE420AA66D7585EE84A3AB73FC8F1E5FAB3CF2FF384DA9669DA91B0132D6
-9BCA7BC21EB7AFD82902CCD9F642849B0AB620A90B3B57554A57C17EEF51A8312F428022D5EBE0
-F23B52C06A7C3F17D4BC56700C6701F2E003BD1343B416AE36CBE6D6D062EACAE4569FD55B59D1
-55EB2E0801D8C8212113A9BB7BA5BF4AE89D434B2B838C911D84540CAE1E2BC95DD28A278F3570
-404D91D3C18BE468E6F54BA6B84D6307A2DD5587DAD230AB2383E6957E9AC1A75EC6DB0835F248
-C9EE480318E1BFB00AB0ECBB1F160300E0B6B2C562D1B856F549275F98FE1480B9409A26BB55DD
-F5E67AEF16288B3F4C9FEA584A8AA61664B73BEE0A62A5D8BABF1844F97F7ABFB73B3CD19025F9
-FE7C089B9630BF55C22DD14849FB3543122CFB669B51533C29F78E51F53C494B2201CD5FDEA488
-F259C54F7912E765360A0D143B59F49B935006066209D11FF9F9541F11AE4F7C70ECC4FF78FE8E
-0205E1F97D90FAAAD7D12E239C009CB97B1AA7F707B7D018F12563CFF65AC2FB14D7EA63901062
-2D5E3D2A74CB8EFBCA34DB240D10C9FC1F2EDCD48CE098AF1FC01C3FB49A27957405DA89307A1E
-A877E1D4B0AFC98CE0235AC2C21D2D73B5DBAC68A0DD0796ACDA76A1928412EEA5053F1E2EC78C
-65D44277C258A9B211ECB8A3D49C34C89ADA99482ADD3FCF5AC7495AC483F92CC8074AF6B57972
-6B497D5A437E7D37B4CC7913FE23047D886152C041AE3B5D70063649C8AA7335AD3BFC105B9140
-C5C4BEF7DDA3156EB8841A07064AA2A0EA5E7E6828A66CB2284A6D5D4189B6DF9BE74555B881B6
-F826917B2D09DF633FCAFA52B6E3A8B0E670623AE825A746BB7EA9EF3F52EE05F0A7E870A61401
-96D50B0FE206436714B74DC7B3673D9356F885DAA7F79A73676912B84579F0F4978F327CCBE063
-D09D22DB01222AFB4434045C90A17D0B526657958070F7A6AB555961DB6D78F479331E37305D5A
-2072AE199C9C31B12DD61D10E31889E6DE5BFDBB51C90548BF7F501BD33DD33B5F679F8E846007
-BE09C39050AAF03464A57CA70FD083E2EDC2BAF5DD3E0CB375DD3A2782898273518D7AE09B5AFE
-27F2560FD76891282F7B68909C6FB9F549AB9B4E664CA259E0652E66CC58C250D285FD2535660D
-7C9F4EDCFD874F4AFDC67D1B909E0576D159DE69FBB4DA307FE37CCB01E7B7C6682872FAFFD590
-2F31BAC68E68CB3A03BB824B5F35616EC0EB43427BE7B3976906B6E72F9D70B8D69758D4D4ED1B
-D9AB405B0E9E32400EB6C5E7FB006997D5AC5265FB5571DE4D1E3E3123A725F37153C874439407
-8D1786B9C246339903DF1855649FF1B97C919A818A3C986AEF298F2C901F47C44E726BCDD16ADA
-2DE467F348F273364242E82E6C702C771B8B0612380BBDBE29760F190EA7EF8F1C2B9991B701DC
-2D1838AA8282856F3EFCEA274718A393B129C768D50D71B5849ECA68CB1316FA6D1B83CA9FFBAE
-C468178396258E077393F0EA6EFD239C554A72252290EC1CED243062B1C421473185D4E07FFBA4
-11A2AA16A0A64AA3550F97D778BD7FDA6962BDA0BD96F359ECEEDDA3506249FD0795EAD1B4A8D7
-68BFA198955F360BD1F57ED9D936E1A765EB2A13FD7392874D1AFB461600D077BEA83175F7BC4D
-732334CE6F0C8556414C35E3A8F2626ECD852399DFB783520F91807822F34BF1C99AC5A89594E5
-5CE25CA47D9AB411D74C489842C85109C12AB25B0105F6D816CD963AB532323F9239CB3861BA22
-B11139F35A4E9B843D2D9B832DC81CEBBB06405B0F6F19832E97EBD56B58739C83D2B015CED279
-276C9EAC0C1D92B10986ACB410A46D0C3BD16B34B4A48C8E2D5E47461959DB03D0F2D76A375535
-AE8818EAEDEC1EEAD181B1930C5828751FD1002A18087A03D2874E20EB7C49A02901C92973C235
-0901DBD7F2965BB17ED78F3CD12568AF15BF04C9D366380DC3C184A97E4A72E9F8CC02CFB7EE7F
-4956CA929A6E32AA2B2807AF372894AF2E9C37A372F51D9E45E68601FF6F06524210F0567B779C
-976618A30B59D269B808741DDA7B003659072374691101D3D09D505C60ACBAF7C122BF8FD6EAD5
-7328E60B69168080719B6DBFBE65A31C27FA3C456F3CFF4BECD6B32048CB20BE477BFD3371A014
-0C22AEFE9B13B0C7189ABFB43699E43E5B2D4AD7316012F759EE6CD498284C81AA5ABA819CF9F4
-C833C7F62B2AE7794FE888F0CE0F0D7FA21A6C6A8CDB1AAD802FE6D85777ADB6DC1CC95587F2FD
-A84AC265A1849F66873F14BE84753C499562579F2361751FB7AC809107F02CD3D953E47EEFEEDD
-38178FDA90A2FD01B7FAE52395B970AB7B4F923175FAE29828CFDD824E21CE9FCCBDB9DF984B1B
-F640D8995C1D32DC65AF28A899C5E97B828885704E68A0EAF6058191C1F6D7C6687F2019DE8A4F
-B5F65A0469BD823E77E6EF6DF177517AC774DFE568923C474C9E7C5FCEAA7EC1241960093ADC9F
-3ECEFA7B3344F5E064B8FF023E9E1DC18566CB1FF960DFBE470F4222210C5A41EC3E8D4C56CF9C
-B99E68CFB0A26D9D698DBBE95D407FBC77F9AB3E33B94DDD2299CBE40B0F208672AAFBC36ABF07
-F39ECEECE3A2AE0EDA34A78CB38993668B60909FF1A9FB10EE7416D9A16A7711B76B7BA03D010D
-AE04581FE01A379536E4A7C913B741E8A6135B6398300B22B8E07D3B14A93BA76195AC03A1EB1F
-E0FE1DCCCD048D16294F365178FA853BF76E7B92207DF27A4D1EE5873C9A40EBB42E18CB7DE812
-1BA54A479EC96A727EE581DE55F46F536CD947FED706B0C2CBCB2ED4C2399FC8D4B649CA5CB8DD
-6B3D8AD64D6BB395D945E133E24BA57377E4B82B77C729AC7D5EE9153B2E0C1AF4014CDA86476F
-EAF1E56B7D86421814071886EE30DD8E6EF3F31B0B179367F745A5291CC6300A535E82912E84B5
-27A283DD1363C8D6B52CB2FC2FEE59D9509395A38A46F235A1B433843A87C2F07A66BC120066AE
-CD6BC0936806051001BEED1A1359E626D77A9782412197DE172BA23D071E930D13E0DBCF59C3E6
-7967829F6C90B500D2D76AE3FB5E6C9240EEE88AFDE5F2CCB04B036B7C9FAAF679E65C8CC7C013
-339B56BE285D5F985408DAC02AEF10A865ED1FD34CFC03F087C175509B2EEFB3744C580B31B097
-328F360E99A480FBD7A877DDBE758E65749A753ED8801F6450488BB80C5303B05011EF5C6820F5
-008B71DA3E62761B559843C59ABB7E95E413688C40903538F452430B65BC1B9CFDC77051BAAE60
-9C413E0370E64B57C59E7E02B7B07768DA84326221C61E8ADC0B8F7E3B3F02897330F8397BA319
-94A075119999893505F5B665A93498E98C78EFA8AB7B267B99C7E070CE2D26929052498BE336BC
-EE7A81FD448572E302D1779B413A8AAAFC1D005461E3DD63B64ED694CEA82CA9618421FF465B84
-69739A5F2BDD2F80FDCC64A2A6B77B164E8F0490A3FE7197971C0E27BD1459C7CB756B5A3460DB
-F914C8736D7FD74A4371741F670840C7C154D70EBABB2B040DC864483CBA1AE8B630F38699BE8C
-0316BF5E25E81ACE6482B084E70F000D6121F280437EA0E43B3F14B5052A61BF06C3974E753FF7
-557E11F70D70FE2965238AF15DE3A4A9684271358E81347ACDE824480D51006211840661D48E0B
-758662086C5688065A7C5C03217124073495E3E7FED72383FCB8AA246F29739D3A83DAAF8CB964
-A023DFD131F022123BFCC782CC237CD7C8C0611AE1D8FD8CC15211FAEE13D69487F99695FC32FA
-2D2D0EEFA3671F58BE5A10517F787FFBA050B9410D0DE4E4AC2F671A23F1A3730F9E53CE1F073F
-F6D824FD4B742B8509CEC73A8BC3D7901981E5C4606E5DF31CC4208235FA0B0ED784D1B47172F5
-B8BE1AE460FE145F3DAD2835161C29694D087487DB7A23F81A21862609E7567CD922BC4390EB1A
-698F0719AB66EA001E88F9717765164FF582E75B934CF66EBC1921A00DFE652940500C4C58B89D
-B6A3485AD807B9053424966833847B9D9BB309530A81E1EA8180253E108E84EE70FFFE81880870
-EF69908DF92A48030BF62403067494C09D98A896240E848E3DC408FC45D237679F8C715BE9C031
-317DB88A8C1E3985580BEE4B9C1D2094CBB62FE6A5D6C5A37C38F80A410D267D2D0BD502F61C89
-E937C67F142AE87FDB1353CDF29106F432F9DA2410F69BC1B2A9F2F6E56F3BED2C37BAAC4A95BE
-7746A98BD9ADF3F42E81B77C72ABA739195A18852145964A18EEE242F1DB858FB978AEDDEDB5A0
-C735F127E6F26B414672D727FD01754D1F4E6F1F763F6F14380D83BF01BFC4E525A510579C5AB7
-3040F7EFB1BA7E0AF11D81483E295C467F57600D9CEB1C9036513A51DD2D23FE5B461B9A6118F6
-8B506BDD1357FDDB254DCBD2F288B4DE89C305E02B654EF11AA0A8DE529B093BDF75BBF495A574
-FE2273C98036E3D990956C3FB832D8A52E848645F1F3703A907BDFE522A0E40A46F62C661C0B75
-E9266C9DADD811EC8ED6D6751F1DFE4E327CDCB0B3962C6A2B6D5AA780A0FDE819C1870111F788
-018DD53F1A7728B430EAF1D959B3E1A51AF26CCFD26EAE9C4083AAAB283D1BDF94DBFE17255B53
-2EAAFE1A0B9FB9535C3A7612CED818685447D04AD983C299BE0FF10121CB167244AF833BFA84A5
-5853718D75FD51F83EEBB99840701579C8565588C0FB4291B9B5CDDF19AF7B1C6793D74B0DC80E
-468AB356715265055050F4AB55567C69BAFDD7E617E935BF6682F9E2C4CC243244CC2472670174
-6BA3E743A9603C43095BB8E6D98600717D452C5DADB237036889C9778F7BB8BB16D6C27B9D8447
-8E6905B517BBF627455CC21A52452D4D97BCE4CC389922DED1E950C66F833CA1EC4B135CA504A1
-F120995338D0C3A9A81BFC81D63FF9E6C53E4EF6A07C511214F5E4D7BB9DD6032454542AB649F7
-6FF1DA38FFF98F9D104F5E038C2074C2C4D972CF84D813C5D5136AFD204D10CBF2B5865040C03B
-1889ADFD00C8AE361254856476B81FF8704C94D6EDCE7E9C644AD69791D51978F1E18F7D43F320
-00F61B06835233F9EC73AA1EFBB134583C0B2DE39837A5A3B652829CE3E3C4FC29C17C37925658
-CAEEF53D597C675E609C19CB59A05224F47C77D799A7EC5BE0F8EE94271AB4E0B2C55737FE5E35
-6927DFAF2E79F815C2FCB98C194F27612684E4C335B8A95FD79EA9A5C59FCB761A0D85C3D1FE24
-1863FADCB7B832FFF9B3B892A1EE1F00BCBB5242035E40D678F8552AB46105370B5DDC49D30FF1
-E38C3878102499EA9789A5E17670117CD4448E5A04DA68E66705C1B5EFC74B50AB556700834255
-29029CA07D645BEF30A0B14E17398D5BF4FE90A819EA00B07FBDC8454F90220386799C89D3F556
-BD6B0DF31CE7EB6D637BAC5ECEF42D4CBE437CA8C3E9750CFD597CD5A66119AE45DE3418702EB4
-7CD7ECC900E2183E0D3C9C139B8A7551B9D5BDBB4AB17EED765D1CABFA4B3F5134378B30FDF696
-FE060B6D823A7F6D35B866527610B29B5E69D5711FC834E2C60C11857888EBE2AA9DCDB985AD5E
-44007AEB89E11DA08F666B0494ABBEE4C0348692A6A9902BB7E4D1474E48A410928D2155986968
-2B48BAAC10090F2F8585D46BB13612220241763766433A7F23599A462C5E39AEB8DB71299DC8EF
-A268EE3B0B8A522B5A08619483AAD6A04CF107E268DA6751AB04954241CAB87F679FCB04140D1A
-7B4E6EB6A75B76525A86A1E527CE56C546E6DE3F6C42C171537C8C86B046AFA338AA9A76C97FB1
-E7BFB161FA57EE38B3A75C23FDC4B49BBA3C34E3490A0A040E5569E2456AE40D28946784408E6F
-1C75D8BF81319E3D3A946B2867E884B58DCC97F846674AC93F2570126480A0932D1CC3DCB94EC6
-E91AE1DC4C442A56B15BFC0B22AE5E86A403CB8A2E7EAAAC996DA8F8DA5F7D145830C06A7B50E9
-913A8DAF63D596871C232EBAABFD6CBAFC9ADBEDED8C7662EB39BD306A9E38C9CF9F71FD718FAE
-D88B4409E64AFF7B6E07EAD81D3A50712193F9CC234303C55CFDFFB0A3A7829942C4FC55A89697
-79961AC53CF1FB2566A8510AD810989D6CF9067A4D72B20C0EB1E8F440394B71A083F864DEA2B0
-476B807459AEB77D0DC68454F226D04C3D4BEE54C9D1F7F9013A8AE01E37435CB90472F35786E6
-4FBB0771BDB2FCE0AD057F907DEDF18A9D8706A48A288D82A421D126DB42111C7BCA2333C7BA91
-0F79B673AC27DC2B1C0452621F0BC8EAF88C7EDDEE8EA88A31B3BD7AE509D68959102E9FF3CFA3
-CFE81BEDBCCDA6A742C3107D57FDC93D4EFB328C80A5F652B4C5B607A7D3685DA5FDD54F2F0D26
-F2B3D719858E3E902B7FB49E06B1B5DC7A3A3C2CE5DDC471816C739AFE8C5A617F6A109D6D412A
-299B78AF99707A66D58EC406155BF9E1340B0CDC7ECFB4FF1AD3DB0A0D0519FBB5EC6513F98011
-DE0C37C65E97CB7CC6D68C224B1D4AD96EA971270BC9C2306D0FBD61F579DB318289EDCCB6530C
-36834B3960DF38BCD0B7F7239E84A0A64EC64C1C6CCC087AB6858708687C8D008316863917306A
-9ECFBBF7261FCAE77E10AA18112EF3C463CD86A6B8CCBFF9E497C94D142F4441CD30DF0777A115
-6E396EE054B0C30021F3DD9B5CDAEC67564264F3AA2F12A5900F8DAD85542EAE0344B086A6F17D
-28C23FD9CA2FFB0E747B8F7B47AE99469E5AE89BC8D3AF806C37D3EBEE79828CEF262293650372
-83C96428B1A468653C1EC96A31FDE279681371C263AB5A18F0EA86E47111EF072C72AECAC25841
-3FD8E828F5CA38CC3FFFB847148C68DCCA9051CCC5A971C83F30987B874C66424FB910B5588196
-2671960A7A95A0D535D007980A56E5AB2A2CD05E994B2C71556F38964161D4965275E6712338C6
-14D4846FD86BFFAB7AE8D2BE1C58C259D46F7CD47DB33135B37E2CFFA757C976F8617B6BB007B4
-EC39B277958616DAD13C0C9FEFF88F4B0AE1DAF877D71081474DFA48F6F2577340A85EF71C4CD6
-8665D355229E84E308D762243BC0ED385F18AC14EB66FD31AB6F24FD75609F389B07C02FAA2F37
-6A8897C2869F0B4CF1607DE38FD41CFF171B0D4B39CE2A28B2C395A7FCE3E04F0D7AE6F0BB5D23
-9E620DDE79B2CFD5BDCB5540BBF3D2F7C5ABB1F4C376DB2D16BE823DEC48F64BF928EB89F1DFFB
-22845BF97740C01D56B321312F26CE890CFF8985D163F406268AE4318B103125089319287FB192
-3F9FAA877DC3ED863861ADCFCDAE7618FAFFAB358111DE8420A5B6E59CE6A1B487A5EDB28FA813
-6FC573077B8F36FB0017E3119B56023B2E0E0F28F4423C11A264B9BEA5E6446AF7E9099B14FECD
-B29A0F8884A8828087A60CFB69FBF6334C5C6E9D754EDD403BFE0075961AFF6E9745A047F6710E
-4D94E2C43318E6ED0AA680B707C768588A6716660CB66352C8F6E4B8009BB761611D755E72234B
-45BD35D84F57559441A571399830CE485008C2CD35C2F50BE38DE7443FE1862756E6577626E13F
-38B0CFB5E904C6A5117E36A7AEA41A0BDACC25B0DCA61381AAE1359A98D398B8C04ED3060F9E69
-A81640BEE6D2D97C3003069B763C1A024F476C8215576763F4C8EA61D5182AA3E34B03E814C8AA
-18A950C0F9F5E7212BB0823A697709DA6433E9E0FC8D86FFBCE94D8B0E249A605E4F3B38FC049F
-BBF400E9A320ECBE127AC50CAA9FB1F5AC1207A9E6E7BF44DC94D008709E696711B87EF745E17A
-8D5B38611D83E5E26D8720EEDF4AD6455E8794326E3DCCB04167935CB73984C72DCD036B24190F
-2B4FA6896E01B01777DC6032C7017132829FE9B370C49C25620600A999F87F1A7C7790D047D960
-4EC7A0746BFD0D85E02A626D15130921699A33ED39D18634F56FC81402E589E6644D605412E53A
-FB366D5A9977E2204FF7DC949FB7587E76950F0127CEFF8F3CADACD67D3D3B4430E375E80F3E17
-9C31E69D33F2034D62CEF97112A2230A4EAADCA36C7157C4894245C6D60753AAACEA6149F5646D
-BEA6DF57918E3CE20A184D65C22EF37E6C1C7B61845743CF8C52DE42D1216C22870C0E7AA2F5C1
-81F7A15DDC57020A30AFF8D4F6462B38DA7E72C1E29021F0277235F8A199089B5365E7E67E5B0A
-3FA6C22091BA0E96ECF49D7161D134B7FD1701350FBB2F99B54A51B418B567B5647D7F9AD7B4EE
-5DD670DF8469FC18774E8AB4D6EF4B4F5751CF01220AFA5C3DEFA5CFCC29F7C181B667FB9C8632
-5BF4BAC10AF238AB2D2A744A509427F654F9B85FC908FDDA60B31CC92E837A78D38684C84DF38B
-F014430BC49A304457B2E7D9B739B0902D6BEA0492D6C143B7DCB462BDA7DF0C54C3C76A52E355
-4F3A1749656D1520121948102ADE605E6597936D7CCCA51AB7D80A4DAAA09992B905A491099AC7
-120FEDA88CA561A199CAF3ECD6AEC7B99994A8416EEFBBF9A1BDCEC671A6B3FF8DEC59C9DFD795
-DDB249247B918BE637A204C275D43DB5506EE8DC787525B3E679CCCD3ED43B58096281E2BAB358
-C5303465E46DBEF697B5DD33EF8A648DD7053234A53B179539C455EB9E1A17B72F707FE30CB95D
-0C28911F8643389CC6995C58C6B83C88AFD3C594052F37367882C26A8936A479E426997D89FE0C
-3AB9091E480DAF918BC26A87CAEF7BD1C6582C73F75B85D59B708D9C76F953376341CBAFD20F1C
-8876F6EE538F61283D03FDABB3CB2888C5F3942A670517E8DDC98B6204397038B951E023B4651D
-8E3F19733C8D6610827348881B570571FA359C840568DEDBAFE941B9DC7DAD8C3E1B190606420E
-1DACF3965337C51A6BEAF2F2E5EC60CDF839E2DEC9B130C23BEE9F65B46626D20273A3A5BD39E3
-BB247B1DE1CF9295C409B91AF47B38D47200E0DCD317B4DE3ACD751E967AAF9DA7F6C026D01171
-3EE0F875EFD7B31B73ACD66C6B95948492B54A7B9865B3F32DD722913F3D9EFB40E4F03FF9E928
-AAE3AC1C4F239DD88BAD50A2BB442D1A0661B3F47CE2BCCF1A76A8604C7910873BDE2C2EFB4112
-60C98C75198EDF5846EF6EBC1BF94250D34F646A43D00E3A42ACC4E3E1A44A2B0B7FD74003C61F
-00ABC9114B6936A50C67544EF62FFB2F19CD1E5AC55EAEE547C46ED91A13C76025AA7AE95E0B0C
-4D2408E53D7EC48409D21B2DEBB04C7121487C50AC7FA8790A2ED577A9AB6E4063F1DB7BDC77BB
-4542EC15573C3F2E3CB767DE52DE2DCCE04F38A58F06F08F0A541A98D3538CB41AA5DAB04538DC
-EAD1BD6B41C71542ECD834F82184A7F51A4B50B595E50E04A5234094049F10A1E91BCA8C2F7BFA
-AB638BBADF6DD02D49B2CC406E9FD40B734BA772A0429BD99CCD01F112E1EE95CB7E9F48D5A9BA
-584636A03B52F94FBC0724A1ED0E5E0520E5BAA4301773EB98709AB035AF28D615230D3EE0DEDF
-CD33056CE8C22A1FC8B7B3C2256BF7B7C7C8D1CD669AB358E57A1F6A400D18FA59FD5DEB0C2601
-02C59112216BC6E8C0817EB5BE3420BA0C2A4363021E57FF83F09B5026526B949BFA3342A70DC8
-81DD588833BEA53E06D29254B4802018B002B06B63374A6C6F335562479D0347DC7C14E2E3872B
-4C4C55E198EA28B35A3B94CFA88DD3F52C3C192475B6C8B6968B49D2FB1623855E1D166294E1EA
-C8337B3DF9B1B3F28114286FA24C7A56731F05417C40872DF09C55C3E81D93C4DD017BAC9A2CB7
-4ABD13E9622D3C533EC60B4A6C03E253A3E586D831D70E47501A1B521E2DA5D67BB1949503CBC1
-693D693925130928BAEC639F80DB420DF10C8553385E79FF75D8BD970041474757184020FA03C7
-97ECE10C8B54E3AC56F330144F2253B816441D75D0EA55D7342E7CD74B3B5311896B43F4BD1DD3
-82A6A8A0C3799DF24BE4D658E6AA2AAC51215C3495A79CA323927A69034959CB01D5978EE1DA9F
-B298845A4A2B40EFDF7B85996094756C99DDA3C835EAC39826C048FFD5C5C582D8698188048254
-66387EC1CB16BC506533D624BF2333CA56C37295BBD41EA5C87DAEC80C3687C37BC3E514BCE48F
-B4AFE9BB5B16E36321B1C0A29A423AD9ADF15718BC946D720AF5C20C1922A68DA0F36838D02DBF
-7CF4D017BD2CBB96AB1B54BC8B75130109AB57CE4E13712CFB4FF099CBE8282C07D3C614179433
-B263696E7E3E4543E489A9BBDE0AEDE6EC0F1723214AC0C1C8F662DC05586E7564D405DDEA9BB0
-9D727AF5E75D7A5F970FB410E1DAD52BB13E79FBFD73340150E2FA08EBA94C59100D7CC76BE3DC
-5AF4C5811E175E4DA3C857320593C5E38D66E565F1C06FCFE9A1B8C885A01EC3021D4A2E6A7AEC
-24CF832A6E731732835FC0B67E4D726D8F22FBECE5AA64EF972407DB407EC9F9876AAFF2FCAC35
-4BAFE47FF75F06A17D2FC0B05A29ED963C73F0461AA599E0051E47F5854C974724A5A53B738908
-24D0B458A299A994807596DCEF07A1E40C5FE7557E9499D6BFF774B7916F04D584B818F0DA128A
-FF856B494385F9A9B2AEDC4680A6F972E2544CA24E95273D394FD5BE8D9083F9EA81A8FBF44EE2
-94771767D6FAE60617B8997417EC6BC796EB0209E6B8D878DACA641EC329B0AF94E303A0AD611D
-5E2C2C8C900857730D1EF11E218DF7F0EACF7E55F10B5F7C56E6AF414B060453C0EBE48118B964
-56D38C8A923F42AC5797F13C86955F7C1FFE29881AB82449377F3C8E9E08967B6F66FE925E9B7D
-474CF80BF4F9A24E41583484A0AEDB8EDB0075DD3B7569E3261A1706F8A95C6621C61EA99DC672
-7BF50CA75E34A612D004C7CB81941AA450FB826EF9A51AF8D3FA17DF1A184CEFAE33F9C7E63BD7
-04527954200FE436220F2CACF234BB088B5DEFB52B2449238C0875D395F8E22FEAEF096EDBF392
-AFD6FF6C07ED04288FB73C401E29AFC2A76D4C3D02C4F48955A8F32D323857333ABDF3022BAEA0
-AE6E4531C18ACF750416C54C834D25E246333C13456F2B866B958B929ABB8E497917622365B5E3
-86FF235574876767588CB24A8C06FE0D495AA32835CC6365A481788EA24972FB8BE12659ACD8F2
-287C231396647371351498647CEE9F62C2670E8EF48788530BB5B006D93A29CD4A2E354D2C85AA
-0AB2C800AAFC81F24C80A58C6FBBB89A887260D00C59EF402176C80DB3CF44B0A281BC6042BDC3
-3AEE88AD8A57674F65290386C73193346082F9477EB04A921B3EE960349BDAB9E5326B5C57E223
-527B1A3173183393ADF86267F127B52C49320B6ED36285E8ADAD07C0C91E479373698E709A1870
-C3B9F6655DF4E5B96E92D0E2F2A15C5D6F3D88ACAF6F95E9BCC52241799EB711DCE15A68DD5244
-6E832F500873B045AABAB816EB68FAA75E0E18B5F32002F283D6BE121582758CA59A65CA43C28A
-68BB9E407E8F767152A35E8A90E6A6DEECBEFEFA2CE779BCCB97862240FA72B92C2E3428294DC5
-4AD4F7C6611E2D6B25DB3EB4995E894D5A17863D4C88304E77EF696633AE6F224342D391F7E3D8
-2FDC24E2887F43F4834EBEC3F2B32AD1339995822553AC68FDA951DB4BC95B0355A996113E4800
-8A387EB8CDDA0C4D0B2409BF9CEE2B37E1F6F4B55E9BE2096B8DB5A617F1CFE12BF91A21BAC921
-453E42E4DD5ECB5A479078FF8688BCFF56A4CD5047ABE1BB4D3EAA9FA03CD48FB4A283FCE6FFF1
-1885DAE6AFBF1C72E8399988C0EE6010DC41DD596530FA76EAE5662CFFA35146A75E55444049DF
-1B20C6A99D838B6F8C411BA022D50ACC847EF94E52908E83B6293E719C43E2C42C953A7EB1395F
-D52AA1B6E66F7764B77CA3ED37C606EFB9317CD27929413345C76AEA4619C08A4A00EF770200B2
-6BE73815970961AF7F2F7914B64F84A1BD43F9D186ECEA8656B8EBDCC7EFA35AD35D5EBAB0CA02
-A199BF3F7514478D89EBA07B282F00B55BEA90D4E8543FEA7E6D489944054880B09EADA41DB4DB
-0659B8D96CED67C8A7C18DD5C41C50D8149E85A90CC1787E86375ECC386369420DE75AB44AEBC8
-A1D034DC8045479389E231882BE69C17EE57EABE00848F12D404E0C44340E21FCDA95E7A7515D6
-F606C600A488337B4FE30FDE40B19F3294A8102DBF57109F494C2459E9325766DC71375C418B11
-4B00620BB7E2B38CEFA679010069DB5C6B4CEB7D31716AC05E0AB8C411C89918A19F89578D7BC5
-10CA86BA996F4263D2B7C98AB5C8ADE8E7D5B96D467EA484958C8B514E175741AF715187F0E807
-B9C5B19B632BB42B745187681714526877EBFB568B3133F4C86EC3DE0C6D7DAE1660F1E1044521
-CEDE6B8ED3B03C16031A7DFC67C32C87FA83A5E29898375A5A5C3F208BB3CA718AD06D0E7BF2D1
-07E7F67DC639C5D956B79FB22BDC372846646F60760855A4F9F135F6CB1BB0EFEED0033B09FCF3
-A34E1AA76560F361157E0C2A1675BD94E0BDD1C7293E7699516A1304CD3A0DA5646ACCC954856B
-3A62D38EA879EB0B0726447D0E198535124551BF6F9821054D8B845C441A9C2481E1AC3E542AAA
-553691D7D6E4B303859A5086A7ADE18106F174745F38F6E3182F9260FE9E9C19EEF45359D6B9DF
-DD0031D1F87DA89151B1BE4AF54B6670EBD558BB318F2184ECEE9152ACA35E099940F094AA2AC7
-564835E69E5C9C47DC7D9625ACB1D4243FF1D993CF854639C126DD8CE21A0224119ACA731346A6
-4AC8C18AA22FB1A1968B0A6B05CF3A1D5B24D3EAA7C8D2376D422902643D3FAB3F8E7DC8B24161
-3DBABB170238A1A19B4C8A4703E2B0A2A033E71723F557C314DB42B159E784B1822BE1F990D167
-0E522B9FB1B3A602B10AE08A8E7E3B2CFE51236D76B744456E5A68995294758A42F1004E8863CA
-0D3AE455ECAD13501669A1DB41F7E853BB1531A4B949AA5BF0A5E478A5705D5EE45104760C727A
-068E7057A808DDA30CFBC03157E141AC5E9E0A315967C2117EEDB38F9C66A34E138B29E3DE6A03
-C34D0A37740DD04EF8F9D08E545FDEBC571043A02165E6086389DC7BA3BFFA52D94BD4C1A27B85
-9B8ECC67994EBD370270B5998B8F246EA4FE0EA6963AE3E3398845A62856068A8A878B6F894A7D
-28041BD30CF4F0BBB5053AA7DD86A2B94F3794C78F615C669274629F392FB2D320BB82EDA9845A
-66B0EF0384985B938FE8A3F47B00C2DC575949B8B932F3AF423E17F72BC3BB9B63A81945CA133B
-CDA5EBC9CB8B8B969ADB5CE60CA6F746C63DA5C516DB410F86DBF878902E753A338D3FB08C60E9
-41AC304DD767BF47D49BA7FBA110398BE21E0F9F01B6DF4CD3256A7803E5BA935DD6CDE11750D5
-DEE0607C14A9A4DD037B685F830094C5BACD2283D5854F5360ECC924108F4C129176AF6E624458
-BAC41E0436912CC5281EA94AF791219F1D04CA3069F30B50AE79BD8B8576B9AB76E6033787CE32
-3BD25240C00FA03FAA253BD83EFB8FECD2DC45C1FD7CC194FB61CBBEC88047CE8AEDDBD920666B
-C2676E21A3919986FD56AF5440280E7083F04987F0272BEECF8F3B5261007203702C9F82B640AD
-2E6ECF9D0BA81E5DAA95688D654873DC9177A2E7162DD21A7B40CB3C85AB49469ABF8F133F808B
-3C2DA2A5008E25A13A6D0E49FCFFC0C8D3E5A257A8C8D6B1124D7017CC0263CD94F50D32DAE125
-C66A0AA717839BDAFBE889083C01D5E41994B7CD52E63A5FBD4D89631A93B377040DAE99C5BDBF
-68C2142FFF3F2B53DD5E182FF6AD34A0BF6DF19F58E0584501239815495DAD144DCE748744899A
-656000E283A237E74ED58E2452F1B6E73A2DC626C3E52155036822984E5E72C667C2E3D790FFAB
-5C0A4AAE0325872AE9488437762F4C70BC0A369C091EAB8A3E8F404464B99D26D6C35B042E10D8
-97E029A10443074CF73949EAD0DCB7E0B8D39BF3806F39D3E3C204527C17198F21FC76FA5ABD6A
-BAFB21C942146413F03E0CDE247A8CCD7C726E993976F2D730E43054229A45C0FEC09DBCCA98FE
-C2C49B2C6B015D34881254CF11246521D785DA12C48A4731C3AF1353F99B0DB96953F5E42B3C37
-EA460876FD7EB036F7BC5D8630354CA18901C561A46A9E201C30E62F23F3F7B0DDDFF596E13D7E
-00D256E6833495BAFDE723AF59E70D841B5028261FAC723AE4E37ADACB02772DFD6321FEB65729
-D65CCD58B312FA68843ACFAB7EDD78D31ADDB734B647E87C7CE25A0436A0D49499FA272FCC88F2
-E0CE5D7382D8CBF7930467AA3C2B1BF67E683573DEB3EB57D9EEA5E185786DC9721A4B95ACF32F
-09D5AD2C06629198D15A74FD41D8972E1FD77CB71A933D235E37E893E0A4DE1D50717E125365A9
-CBC2B8291D7375AE2340833939BB0F139FA392F293472766A2ED405095BD990660CC6F40954E96
-71F9557D584266C6F3BF41F4FF6E0BB7ABEB272AF99D0A4438BDB4AF6789B90431B7DEDCCB0D5E
-35BF872600670B0F15C19F34BCBFC59C4A2BE3978F6A184DB4A4745B401BACB8C77DB62D3ABB85
-FDA212912325C55C5A6D33A24D76C7BF72A6A710DAA7392A7F7CB0A6339505AC935D346C9B5E2D
-D2E85608392B3A25237337EC8F5856BF3F3ED6E1514053F4FACD12A94DAFD1C12249A67E3F0805
-08CBE6916B2DF3D9478C737A141AF7C54E8832DE822817364EF3609658C65923ED666D86380B99
-ADF7EA02C9DAE111DCF399878CEA60F5D5B7C18D244AE76D6B978BA17DDB71D3DFC12252202B39
-6B03E36E376A54E1305A00D074419A8D04D53C3DA828A36C8F40C439CD7D58A48962E7BE992A9A
-A82EC8537B268AA13FD1B88275D87BF0244D7B61533B16730BB9EFA643A5B96C4E9C10755A85A4
-F4C71AC4C3DDD308DFFA066162B8B7F75F7BEC8DA40C5194B759736381349A621C407A34B9088E
-9EBE34650582CD758E269847328AC43EB79B5725FD7E516B8A974289D8C5BE90C301323DEEFCC0
-A18AF6632AA8B80C8D188CEC275A93F68CF87FB7C6C19BFF2C0703CFD15ECCA16160ACD6E3E16B
-00FBC27616CE003FF9A60569634DF6D43997A4DC23AFAA8C2CE9C446B673581FE9F30A9A2323E4
-C28C7C9FBA27A3B5EAFCCA82D85B05CDB6B39A7C6B3584F48F4E3A1F013ADE47023830E47ED8C9
-5CFF3F648C38BEA1AF9135E16C87A42311995E09E7FB51F06A87102BFA8263C32067B26B0941C8
-4F2F62035D58E9153D89D808AB71545A1BADAD1817D0DC2836C6204A0A0418A2D62EFC2FAA63C7
-A9D0A5CDAA5F0E491269B127B5C716C3D5CEE6BAE7FD8C4F86C0632AE757AEA55F15CC0F95D7CC
-C41EE9B1AD9349C4F81F0998ED10B1F686272E373860AC2EBB986C2558DE989DFAD95DBBF9EB54
-56384A0078C133E91AC9CF5365A1E733834B0701B4FE43964517F0AA1C011BB6A7029F8D5A2333
-B67DA3E019F0D8D7D533AD3291C2CBB1EE920E953128D06BBC517C518AE9A2DD49B933E915AEED
-9810C619035ABF9DC147F653ADB1268169002E032A42501200A685D19070F12F9137BB1D9F2A8A
-45C5B52F5577305AF94D9C511E5E82AC67A22164833471CBB8668DDC88D9C500917183C5E14A82
-F1D9A0AA3DF2D7BE4DE844BEDE55700A2478E121555C7F6529FFBB052026C80776B447F1F5BE0E
-85AAF2CF09BA3B0917252D68D671005D0FA328BD225553D98F2C476E080BE8E03AF4A7651563FB
-FE08C230F3A956F2FAF7ABF868C08CE33A7FEADBB8E6D6AF38A821CCD8B4EFFC02FE23A37C691F
-6927D45F5710DD5FAC7505FB3A0DC31C766842B482BB77DDB3990346F627E0E1657DA8ABC8EA77
-963D6CB838D9C4E58C943C3A272582B3E63771070A6F62BBE7A4B11B8CB550547E17ED5DE6EE16
-1BD9116CBA0E0EEE910F98948F740E7A5430176722BBCDC4AB66BD3541443B096063C839E53B05
-A55E72235BE223D286C4319FD5A516325C8BD480D1867F2013599844FD2478B3B52542815CE945
-FFC8FBEAAF9B072CB4988253EF70E42A1ED315FE2C7571367E5217ADF3AE4FB67575CF49B1A269
-15E653B5A86E3FAE1C7D04E1AC21CA5D7E7BDBEA0F58C9962B40A168FD7A24B4BF109645481EB1
-18D49BB99B3541756E0DAC0E2327D1FACAED9F7A7693FC1A15A5715F1FD1BFBCA7D232FCF9663F
-B0CB352570A5807D170E5B6C6727F7828F87FDC9D9301A842C53A38C62C804CBD611992B3A1C8E
-C7103E76294F7E6A50916B8CEA82BE5B7EB777AB2E7A8C955414C8C61EA330BD18C741D5EB6E15
-A6DA46B30345F4D56CEA595CC4838BBF99339BCE82582316847513CEF43B7DEAAA17C7F3DB82A1
-3471CE81BF7894721B80F8165BCC3F7601D5D3DF17D2F37C58C5E9D87F3990E838E55E8BFF7087
-BB79A1DFC321602B386F98D1D97CBB07F6D7B06F900A77E4847CCD689B23C277E6476300D4D9CE
-2B5BB5CA2062BFF0EF2BB3D4ABE2A9F990DCF74568D7CDB717E4CDB07B97614508EF34EE901BAB
-B477F75C41B2AAEA8F46B218DD0DE5BD82F1717F96E14ADF8D7366274F3C077681E0CF33ADD953
-8922D539077C56431909EE8C1EFF7467C9A5E215350278534E5A92C6BEC72D4C34D8D13CC545BE
-543BBC371443F2D346737A3C390A0F7E284D9C4669D374839D3ED8A4023F1F99FD93598755005B
-C2A34DFCC4D19CBD422ED4E857D419BE3B9E12E01D0327C51D3589E83325896018C9B0417FD876
-0AEBC5E0DC8367CBAB11B2989F4ECC1AEF87D935722912F180A70DFCE940DE3882A416E29BA14A
-9C86E77380CE464583F385FF16F7FBDB607AA7455DA70CD8A0D9714963BF791D2D5E2E550D10DD
-105F88DAB1BC1F688B1EE8B40151E533B6D56FAC3A4A98BAD8801864709AFF6DFB3D3EED5A532B
-83E91CD8125A7A7AB6668F066AB79683C6A3F129C5ADA9431B06ABF37A724380CEA251D67B5FD2
-B9C97334297B9DB8E85CBCCD13911AF8DC2415D1D8E7804838D3D03F9D143B923F5C5B58E28B74
-8238665065A15A54B43CE96089B8E7DB9069B2B53210F5A03D1ECD2F83E1044AA561AE65683A43
-9FFA3E1FB60C1CB64F32FA71E3FB557DF3CABD87FD2F945EB3C6960228808E1F77B23DF8C7B5B1
-889BB4C2738EE5D607759C33D5D6174194AA9F8F90D969EA3DAE834B381A2E08E5DC9EB540679F
-94D490F773A109D262E08CAE60E2E57690E8CF756F9AC112844CACE02AC96F51231FD83BB9FF70
-102FCFE3DCACC8BF9E99BD7A9C9CD9279B64B3602442624EFFA606326BF96DB9EEDD16A515452A
-7F25ED3E78ACE15FEA2CF9F1D3C6A0541D441A9D94ED9FBE947AF35B70B21CDBC02529C265072C
-99642EDC878D92A7664F37F5D9DC173F6C28F900586C48960241E2932F113984BA534FE2457F45
-16E7FEBC7A7673E8BCD4C8B05A8D9C738164A43DB7F581FAA8724D12035573BE800C032AADB23D
-9A277BEC387E29F201E5F4091A4DAA4792ABFFD65762E6637E355B8834791370DB79FFBAE99108
-92036B5713F64A2875092825616C64C6827BFC60F8C0D1EB0FAF0516348A7846B657C809030112
-1FE3B0F1EB992ABE73F0842A5EE10D6436447471044EB7D9247B169C3F7C37B5109A5E7650ADD1
-16E52C21022FC991756B93D210C65F5B7F67CD38B4863F90D3A1742875DF8E6B24D9E27D726521
-432CBD225E0DF36DC33B8E8BED9FE897E77098832B9156725DC38EE82595481A76D166B37055EE
-84EEF1899D249DE4280F7F15C76C044565949E9E4D438F327E05265E34FAF812E661770658F2F2
-BBBFCC933AEDAE7BE17A40880A153409C357F830F1F847D9111135468D7A36BCB1E69CCFF57E26
-20D97D988669D732A9A4F4ED0B1B6B542D729C9D2FE15DD8584ECD458A1305DC729C47714B6DA0
-33A0D0E221570397F61E67C056F66EF50BE591A6DC3E3246908B8EF4973F76C4403B17175B046D
-230F17B98A217D346F0796A77B6F19B4B0889F09A03B4F7BEF3B241218A85B5C34C4420B87F0E8
-AD942D0A232B66FBBE49D2864F7AC2E5652CCE91C0FA6FAE79971F2D00E972151B61191190F9E6
-9CC7A51B7777AF0EFCAE0B2FBB626235D0B942134A85ED0168D2E0E58654D94BCFAD1D0EAADC00
-11939052259F193324DBA479BF57AFDE05237A08444888F08F9BA119175C776402490DB29FA96E
-B0BDC684CAA8E0CB48ECC0F40A0C8F18E37ED04122007CE4E11E1FF389EBC7DE9F07888EC1DEB9
-A5C083E57830C1D303D03473CF649C83D03B17045F3B74A32458FB96C5856F02B72826B64D4866
-13C7F07D2A3441C71542ECC56D65F2A80B5744608D0DCDC14204BC00ED8EFB67F7C31794011C03
-93C64585EC8B7427B82467EA32A902FA1BDE691FC77CC61952C72F86B2FBA240D9D0CC565D8006
-4B0D9525CE09FBC1F7A6104EA5F5AF9CAC4A1C1892BF78ED5500FB5AFEC29532AE7ED991CEC28D
-F9B076E95C64B91E0D262D4EAFE1C27E244C36B527646652F54C23E3BE59E6A0A2B123BB3101FD
-D91BB2F3B313CA0B00B1132A3886172ADA0A234D805CD95B2D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndProcSet
-%%BeginProcSet: stones.pfa
-11 dict begin
-/FontInfo 10 dict dup begin
-/version (001.002) readonly def
-/Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def
-/FullName (ITC Stone Sans) readonly def
-/FamilyName (ITC Stone Sans) readonly def
-/Weight (Medium) readonly def
-/isFixedPitch false def
-/ItalicAngle 0 def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /StoneSans def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID 38777 def
-/FontBBox{-179 -250 1297 943}readonly def
-currentdict end
-currentfile eexec
-EB7EEB89BB946F143739A83529DE3381F3784CC049D9A232E7E0884F0F277E8C6E6B0C95F5E3CD
-DFEFF2F460CE06E2FC85C687B2452F666493AB6C55A2075C61F4DAFFB054763B9492E624F5E4A3
-8F11E3BC76EDDAA5C228BCD20F1BF2283E8133F07F5AA91BFF96808985D8C1736E8BC758781338
-F12CC618819D476B7674CBF6A7B3F1025A7291C7C074B3055F282498484C6F0FF8F641D0CF6FF8
-8E1ABD832961B8995838C9C0F6BD075924512885439B9369B37ABD9F474BF8646BF9DAD5C5EC17
-79AB8DE82C3D098E6A6637D9B4CC7174ABDDEFBD3180F0E62E1E650CF2DADAA7C7A6B1991EF9C6
-B5046693AFD8B1CEC70D85407027864F714E599DF9E4E6776CF8467214DAB6902ED5B40FAE4244
-82ED45A7BECB26941727281F8E0B3C15EC045133440070AD72736F4D87A96335CCAF8E6AA38229
-8CB7EDA49F963A9E119CB70B9520E5D7AAEDD5498F0ED1C8B3902637E71734A7D7E2412D5EB792
-B7B60BA9355628BEE3DFDA5E93B3026EC2886D40B22685C8E9BE5E38DE31FAB551A978D095C55C
-E3FEC4D6ED65C708F3676F4CE5F83F614C02C8F109F1A7FE93C6030D303227AF0EF843C45F15B2
-2797852CFEA26D79AE2934E8B683732B306F9125ADAA1A802C8B82605D7395D0F22C77CD1B20E2
-02BC082015E293C8F1D8D78A0E4565540371EB3B51256BA7276B2FABA2CDF47D34C445D0255A4B
-23A88CB443B997813EACEBFF51F5B8C9B1B8EC5968A18CA26BDAE2F00AE034DDBE4DDD598ECE60
-52A9BAEC420FE278B08F64BEF1069BD1FD4AB8B2A13ED3DDCFF8076501BC8A0156715EC132F636
-711EE9D0D8C89C932EE5D16F8096A9C456DCE7F59517F85FA409B6110DFC22A2391A005492BFF0
-C8610A9204D39AEE51271D355CE201A5719842112C88632AFB097C368EAB897DC1957B02962E2B
-3E4732F6527C25BC76AC043B7300CB153F6971C0335FD3C6AE5AF7C5DA5621D03FAEFD3B8ADB98
-8272C6380708210BF140809E4A191193F3547B2E4D43D4E981F7140B94473B939BE458E3B69B89
-33ADBB82DA80BA01B2FF9878BE938D7E1E4A6E79B21C0B53EE510D6377E178E8E3556125E44D97
-32ECF7A7C591AD28B9C651629CC5A56BF611E2C2199DEC57D61C099E5DCEF5527B9B2299FA64DF
-B3410193B77CF603A073D0785E1BA9CB1E3F0AB8859A87278769BB6FCB0C01EBCB40F80BEEC4EE
-0283CB480E2B31863C2128ED5AA95944ED748805F9BBC70FA79F7A40C175F8A655C11C01FA9C2B
-9E0A6A8FE5AF5D6E342ED1504BC332EA0F1788081808AB8A493A078AECABABB7D0D7183AD0ABD6
-576119456D0B50B0AC6C6C3DDD44C64D4D11A76D2C3F5FC53E626B12E92D22B757E89749A1CE26
-2C81F7646D9F24EE0350C309C0D9A65D134FBD216D3ECEB54845BE6FA7D67E2DD6B1F1262AEEF0
-A134A6E639A2E3A6C8110004057BF9DA48728F50D486160122FB7DE6587D432589600363CB7620
-728E10405C9B5CD7520F43F6472F4CF71FDF8CD95E78950422DEA82BBAD2A37EFC01B77C2960ED
-9A6F213334183C34B5BC8F905BF35CA1604F593F1939B7582423B19864F33C720DE6D3B23B3D80
-674761CA59B1561F6094E433714EDB17523D29307950FE67B11FDE2AC1E48303DBFEF06EF1B00B
-57201D7C78CA9EC0797600215132ABC35FC81840920A311E8C7B3B191C20F76D668D0838E5A2BD
-713D8FEAB68CEAC365AFEB987480C5A742B3F85D2C6B3DDC46E2BC1C27B316F6C2E94489E6D6A8
-90A8C22B71A74B897210E143BFD17EFF558BB67EFD214F69BBA2A346AF95338409318A9C95D8F7
-76749854A7CC4AEF404CE41529C318C2165E2820DBA6B20E6C42318396522FAB8027289A93B316
-9FC3ECEAD61D09953D206A81630BF18B6F11E28C748F71B5FD105F913BE26FCE927F0611C7D202
-AABA714B47B754E8E8ACA58CFD7421C5B8793C83236D375EF5EC59BC71B5A63C2D4FD01AB72064
-634A3592BF1214E192F52389F6AB4A89DC4CBC1A9F4B267A0BCB6137487F813EEA0C6310CEECD7
-DAB781A8C18E08A1B20BD2CDF58DC72C9D57EC472254ABFB157EE54C969150DD97A30EC7A78B9C
-F8C163FA6185B1E399CFD0B9316B70FC11A152F71DC4B9C902BD05F1AA7A655ECB1E69FFBF7CED
-71B6640AA8C529AF822FD4D173CACF66DB19F35ABA3AEBCDDCEEEA061B06011553B86A129187F9
-26D18FD644660001C7C1EBB02C3344EF0E88F93ADC8F334EC4ABD15D45C33221A5BBEEC48A3213
-2BEC257F4A154E2B0401454138B8348C9B52789E1ECB5C01F7E8B0EAB2AF39B81FF4A7A0699643
-267D78C1B794243AE7E4A5E5972D2653BE8529FF3ADE15B8D2D9CEDB5B127E8EADD74D2E45FB4B
-4704B2BC7DC6B900A66B5F19F4A92DF92D3433A7104B869E31EED01101DAF9AD5E424A855CBD2A
-9F24042AEF767196166674AEA9B4D8B871F84EA776ECDF5F981AEBB58D139B33F188AB2A99B816
-1EFF8D88E6A57C45956E7ECDFAD1D35D6F51B3BD62F69E15FEA564355A05563A133DAE3E8251AD
-6BBE5C2E59CD006D8F87A51BCE072BC40098DE0BDC3078C1705CA2B52C7A3629762F5997C62EB7
-92AD52E5F51A035A947110B41DAF2C3D40F45E5C7CDE09B53880B161590B706DAFD3A98436F82E
-78E7F7C0DFCB6804B719EF0AE76637C38D02F8075DC63FD48D85AA8D6598DA1D489BDA2BD9137B
-56EFB6BB37221F73DE7BBF07A1E6D4657AC56EE2BCA53565ABB572C84A0D023AC945681EEE5B8F
-56679E554B713EF277D843CD9972AFE851D7A213824FEBCAEF2F159D1D944DEFD0C7F2FF014568
-5A0F7709376FA7755FA0E9E2EAF5827E2F23A452502F0C69C51A92BF01C3CCF947B5604164CEB0
-F6519224017D8F0AC8887C6E83F0FFCBD0DAA57523D209ECDC27C6CDC6A709D384AC24FA3350F2
-72593C5FC05FCFB4F2EB0D5424B958F3E5B83D2462C8E318A994B50C1E2AE1D0FF798837C6E5C8
-23D4D6F8D34043CFB2FE9A942711982BC114D1424B7E358F297B224DDCC63AB1303DC8675F12A7
-B38838D8F3495D20AF3D452026397A002E112B8266AA76AA4C8066DF43647FB2DBF74E8D371466
-EF6C05BB4CFF36C3B46D661BD0BEDCA753CB06DF07EC3E8F2F39488A87A77B9FD0DA47787D4E84
-3905DEAC2A83FEEFAA0C2F8A18D756855B3FF02188FDA6F555140E2235281F1EB0ED0E0F6F2645
-C36A423579A7ED352738AAD1B59FDC7262326E580D3926A6BCFB733DF70FE8A55CB948B7B9CA5D
-FD3ECA598D7238033216C0384018317592F26E170859177D6EC285D368A72620105C4F64753BB3
-CCDDF78133952448DDEAF1D99D413A3192556D5ECDA605FF75ED0635D5874F3DCCA46FCBBDCC46
-B883F716B6C444D78CE26DF742A90D9C8687F4C7B939F46ACCC4D9281C21DC00A5C744CCB54CE5
-9292129F027AE072B48AB2F550C1FA4B36B990180F6EB6EF887660D516A5AD905AAAD94C7E892C
-E8017CAB4108D1FF94010662DED658C6AB7B02600F84FE7D9907DB213C91C324B2515D831F99AE
-5A1E0B8521B9FED12309EA0E6AA13D1CD9A5D6A4943A26473AA23F175349490A4F9DA795ABEE16
-B14F8BAC8A2AD6C6646AE2B482B8B2DC016AB1429DAA697CB315CB15B587A1B4927F345C778631
-99DD342D2E85C218F741AB44B821978AC869DE25347886D163A80CCCE3EBB841B7D66F9F4E1706
-FA90DC2A261ED49D69AA21E95C4F20436359877F390E26ED8E7AFD37163201BE434B89AA7144B8
-3E8977D40D873C15FCD136E711B13292C8FA0B594598ECF8DFF5A696EE868754C626281444C30D
-3167DBF9B9440AE0DB8A937EA6A11834D4726A5C21388C9ABF54DA82FFEDA5B72FA53E6704C916
-387B8EC36085F419A3AC796D4CAF4C321EC5F5BED7612F5C8410F9F4C584E762C4FD61B36965DD
-6D3C4A58F15BFDF83C565F457F56DE3F8BFDE36CFE964A70E8E05D31A6CB87B03A4A8CED980551
-5BC7F8535D23CD753CF9D1CDF90A7142045E5CEEB9D8BC2A8EE2F4B7A49CF6D6A0FFA204BB5788
-F7AC5BA57985BEFAA983150974FC1048E824D87506B7874387FED6820F0E812FA536DF5AF4D780
-449BA54D1B2A4489E0F881557200C80A7E9605F750BFC92A30A38943FF6C4D3972797C97C9327E
-7E4D974D44044794B3667CEF0871CEE807C70C8A727DD93844B4EC636AF2208B1F4F40770F4519
-7C7C3BD36B0E1662FF507E6728E86D3599549839707397E1B6E837FB56E747DE68FF8CCABC8358
-95F95178428D165AFD9E63B4F33277731469C0F3BA2CF304EF696E73347CC336F538581E4E6FD3
-87FFB3A5160704577E0116E5327AF130219ADA85AC52CDE0884F0F73576F1504A020C752F8BF83
-8BCA1C6ED0B14B381FB02CCAE42C64A8A65A82B3C9EC9D8716C086121D8A6B18F0E411BFE177CF
-B18F9B9BCD53C2ACF975A1872CFACAE3089844A8A3B6AE02ED3DE4D2077C7C3776946E2A5D0D3D
-19072DBC148498F04F23F8B17F4B294EC939F36FDE1DE681453B77F7A1BFE2D7840A32481524AB
-3186B06CFEA6D7593557AAA640618F83D8C22F3E05645C4785AEA94A736AC92BA08902FCDD0895
-EBF975371EB7DF013A59E51E333727EA160B5FCCA003E27BE7CF665F4CA4BBE7B14FC75815E053
-20DCEAC6D032D7148B9DBEA9D62724B5C52D499900207DAAADC0AE9B2CCD81B4C99B901B3488BA
-0ECC27514A730AAB58A7A60937B55BE3D29F68B5B9C776DCBF4BC713FEA091BA6083CB20C9C0B0
-18D94C10122DD4CC7C042171B2554A84FD489009B86F080526B82073D98D1D36C411386242D600
-10A5844AF91DD3C955205AB0DFC8CAA1B29C0FBDB0EEBC69815D9D3C72B525582431C700F09579
-90FEC2A06E31679795FF0B0F83AAF834AA24862F0576D306FDC27F90330EB0430548D45EF75CF1
-859BA98439583F9FCDC02DA426C98955D6246E4D5F1471C4AC4FFB1947AC9FF7FC0CA41FBF01D2
-2B828CEAC7030A6F56F8B05764489653A77159ABA4DEE42B2110A6634DA1542188D5E577021950
-694B571AC3550E3BC2CB3A802A2E830A3B5C7DB77516BFAC3A7C827D79ABD75F10B7EA5BCA52B6
-90FD19E0426D2526FC591A3454266B4E38114D0F1651DDDE0995C4CE9A6DF8FB0EF02E74535C34
-F1F563EC948231CD159E2C172A8473E7C08BC59FF3D0810C0EC0D1D9D1038E882F05C7E3A0BE1E
-F98F9DD2A60AF98C2DBF32B9F5003FE3B09BA01A7744BFA8C369B7B7F73CA6915CDEEBA1D71F84
-9DF4DA23FE0195DFB6AA471EA109D6E4D7E801AC77CFF73F4ED589D00906AA0845B84D44D78188
-9B4B5B94758F013EA141171525AE140044C8DCDB37476BFAC92628FA17723CC434C822EF307BE2
-4D72955220B4DABF37959B46AD9C52FC0F5FB3DEC72BE5F5E5F0BC1CFFC09D8DEF5CC6BC94A456
-F37AAAD9A62E705B6DD844C564B2708BD8B7FE5F3C62104B349A2D88FC10EBC1D4900A5EF6C53F
-8C18250DBC4BC51173364B6033E1E5D3543AD95EDC3A07C60273E9B052C600431F63D1E4DE0BFC
-E860537BE0537A0A2C9BC539114BDDB5A3951437D8CCF457DD1EC0B0FFB7B9AFB2405AFFE33AA8
-5F33FD06CD72B382D0A6C6DB40BEDD3A16C68DB98AE6AD82CBB60D1BC20DA932BFA4FA70333459
-A28D3B99966B9B4F2E993E8DE780B890ABEA37F7143F9702E99E1F59F8EE27AB15CCCC0515A2A4
-7DFF56DD8C39E14425FBB2B33115D7865ADB66973CD14446E5350B281CA2D855D2312D3DF5F58E
-69858CBBB058096484ED8CA8DB534EF103834B8EF33834B8179D9A6143B88B244F5F8773728405
-8D35186A83A15CDC9CB32C8A5885B5EBA4F73B81EA4128D24481870B7223A0F0F2888E77DC01B0
-2AC8337846C2A5035724031D7437FD11806260C2BE7EF64409E7A75AD047F7AEB1CE3FCBD53DEB
-0F39BA5A63B6C0EF90C9A3D21683396A250BAA37ED3C81DBDFDB2253EC0B09A188D791168222B6
-6A05F00C133F4220239F65A88112717E8B318E905BF28D58ED1849084719F1FB0176D26C56AC81
-28680D1AD07D3EFC11925DC45CB786E53F135B7DBBF610554B6D9BC0BD36226E55C23FC87351A3
-3C2416C8F2817B3CA69FB0D332CED8C0E33C6F40DBF85DEED10A7E9E2948513F3190DEE93132D5
-32045CBFF6E43DA145CDE2D561E3BA078B72F950A8017025AA5F2FCEE08AB4E79D8D17D422C978
-1656988AD6205DE69035EDBE516D7E52A8249B4FED4E5D177D87188FE3515C51B09E8DA573FC1F
-86B3193EE935CE27E52131720D8264C580AC087218262B37A194EE8589B8AB308545C2E5AE23B1
-BE4EE3BC9E99C8890CD4A17CCCEB740F766D9195DFC958BC4CEBD291D04FE691DCC4BA7DC20CB6
-2938F0AA9C4A51FA7D6E213E1B36B0E319F1E98BBDF2999C9325EAEB86069F3158C2F2E79365F2
-28BEF0D90948D07E53B9C45F826F8A8783F49CF037D4CB2C92F2F6E66C104343A8995A86E3DC0A
-A9A62577FFDECFECA2D7D27833E903FB049B91783E41D35D216DF3697FF03B51EC3ACCA17E9187
-C372377490839E490136CB3343C87D5A04AD6C137A5FCEAA91FCBECA2629C132CB2BABE3909C70
-EC55A8FF1DDA05B8B2A0D2A51BC7411B6A6F35609E6EE0C607DCC6EAF95E43E62F1042DD0DAF91
-E9ABC212D2E2A8FEEAD0D310BC8DF43202891540BF07FCA2EAD1A24BCAE5E4A617E726AC4E9215
-E01F7EA2CF768B7158110E3D16010D27B952E88A32E445743C6BF5984970D518998221CC95A47A
-9F627AF0DE14793C97C1DE55B85A062816ADADF23CEBC43916B1C966EDAA1424B23A552E51504A
-08AFBB8182E9A11124E129244B19C7BAE1CAAE2CE34906075DBF74CC87E478272541DFFFCD32E3
-C07CF960F654F674459FB136FE6D18121FED87B90DC05C2478DBD121D3A48A687DA0BF5A882A00
-1490B83ABC932CC011E458D64A6E3D2CE0F5C9B1D69BC7DE68CA0DF317362FF81BD27F6FD9961F
-93D9B11499B8ECB95428EA007A4649B16033E8D591FFC7B4CB6EE07E6F70687996A3D2E85EDC31
-C1DEEB5D84C169079C16297540CA0CBA130924AA7CB75C357B592E08E47716205CEC9A0178F54C
-928A30CDF5F2E976FF0174012508F26EED03417E397332FD806E11B486649BF17F2EE9A0B860AB
-CA44C31784DF25B56825790847CB9411B2488FBAAF03B0B0FA2CC1B0C5D320B69FF98713A878AB
-3F656AB45FC561F61D0090301FE7CA7CEEE6B76E57AB223D13AFD584384D0BB5F07E6991551E1D
-2B3C5232039377A66F1143DAF25E823774B8689729176CE54F0D53AA21E7BF6457ABDA6710D593
-247E93A5CB23C24D53EB0D6C7FD73E94BA15B6D443B10A838D34D966AEAE81B8A20895E39B8198
-D07DF85FE9D0638B27454E54D849C83E31499C75B2D2E851D5B896608361FB5623FC0FA85C2630
-298B75D3BF1D53D7762119EDACC38EFAE4126DCF29B3D71C0EFC75AA2DF1E95672B6C7D1DF74F9
-388B7CD3CB21FA46F000E330D3A556326A6F37ACDE0045C0D8D00ABE8A868FB4DDC21C3DD9C7D6
-22F0B80165CC4D84227B7AE9927C936DF7FE8F893E319C45BB9F9DC5E61D37AEDF9E522CBBB20C
-2405A137842266B48F2BEDDCB9320664BDD6679B72030E1B01B5E6979C592D649CA2DA56C019BB
-09F6E139803AC012D3293B1E4CC91E86284AA6841B6B9EAD31D672714039D73336E02389732ABD
-ABB8C147DA9CF40711405A1328EE19E0E6E1EA65DFA8921994F2BF310FB85A08F4BAA7FC59DBDD
-350006200DF27C099F2229862CA5E9C0851BE4E32D00475F258334359010D8178CA4DBEE82232C
-D21C3CF666A0EBF4BD20300C0A70016807E42D15F9EE24A194ED04B4C6AED884DC7088B6E37851
-FAFD7ADFCF7FABB0E633946B9029160F10B62613289B8C46B2B74FDD47BD4F4E7B53E96DF8F9C3
-69925508D342E15A4D0943B22365B8D8F9CB8F5D00DE6A42FCF9FF43D364C02DFD2F44F72819E6
-16B788A4DCBEC1B5F9AEBDE4F38A254B4EEA4A34DCAEA85DCB7F9F2BF47BB87E9552402C372628
-956EE58A01E86BAE1E083D7129B7837D6E57B7DE8C179BDDE6524D9F75618725026854C0B1A18F
-A662CD6324285AF65E4D1F8665F1538F2D85FF7D502B3BFD4D310A3088A8EE6780D541D9AC4687
-31A27DD7DA80FEBB6F60C27BBCA02DC98AC540CF45E3B6D52DE46B7C6E98508DDDFCB020AC5533
-12F08C2ABF27B6C34AD9F841EB78373F2F367A28EE3E21D2BCFCE4C14C34C3638978C40B136AC5
-8D747EE06E197AB07ADF3709E73833BC786917D3EC0465EE48948E397F8F7256ED4D261794B28E
-39D6D4EFFCEE6DCF0C14256DF68026BAA0D50A737E303923E6D956DF3FCE2983FF443BC1EE1595
-EC57E86E3770F73B802A152FBCF6B4394EE2DB30DABA69F0124E6A74BFED7715E469150C2553D6
-4FCB56786D334F335F4EC6836A613A261529FA85B53469585A683BB9CCADC24AC57E35BBA6B086
-F3881161327906B185E958E700A70BE82627A8F4F49DA22024BD5F6D0EF3357EAC2414615D4ED2
-130D3D8DF23C52D2B57372BAA68BF1901B863E6A36EA23094971BCE262FDD5A68B0B20F0E9FE0B
-0DAE30CA56FAD94C9CE49875A4D06E774CDC46845866BCD61122887DB85B207E28803535687E39
-028F82D9439FB6B7F34FFF1BD8E3C8E1C7DF03DFF8E3C06028405F2E6AAF97A54075B2A1EBCE61
-3A5CF7C73042D74824A04D5B2066730348B07F188A8725EAB0F076BEF25DA8B82B36B061F866A7
-BF23E609780A8CA6C1E7A52AA2DF4D5EA22E6C6491B5C4A648F37838A7B1F7BDD98840653372A0
-86A7AFD56CE2B973B5FF224E34930ADFA3071DBD339618B245AD27BAFC805BF2A49A4E296F17D9
-EB25700F8E8F0C9E8548FABB23D2CD8CEBE8621DFB66115E60630A1FAE3897FD72269B27503841
-5943D7A2B5729A5DC87E2F8EC82586D2A2979033C3189EE5CECC97C276B751E7A269047C0B4731
-9E38C8A5EFCFB0BD90C545563971F7DDFB76C28DD5D297C7907D20C7D020F04557F557AD66E51F
-9D42F796736997BC648883144CDD9EB477431AB9583C58A94FB7395E5F7CC0FF9434A97F591580
-48509B7008168B6E877CBFE14083C1CC2B197CDCD93068D035102B025D52A8AA4721E019DD02A7
-993E5C74A64CC4D422DC03210A264F7356514F13B555C373566A5D78E627065AD36C26513246E0
-01C9C15952357A8D8E7581ECC8C0A86A880C73AC519BB10C1B9720DF6501FEFDCE55CB1CDBDFAD
-42C3F2148EA35861C391478B9A8D058FA121B4A2639E7A626550F6E18920DA07940F573AA299F7
-043F3ECBFC626C16BEF92D9346946A0E7BCAC528AE264EA379732957AC35E2C7DEFB417FDFBCF4
-B29CAAF11335C1BDAC50D95C0A3F06E367FA0CC48317ACD72DAA35A76CA3A1AC2975BA3E369015
-F4AB8CAAE9B804DC42B7E19EF9B73C3EF3968B4CBF4C7097A4ADDF8359DAB1C6E2C440788F8BCF
-D272D8366C232B70D50E209E766134F0C1F1ECDEF25E05200D9E66FD6D0E6A6DF5CD1A62A4E7FB
-DB54B495CDE5DB0FDA85EDA4D628374E0E6EA451EAE67459D92AC84E38FFB5156D1FC0ED264D9C
-05319276361F5192B3FE3AC052154E2425D77666E387B88841F2AB8062F98CC11AEE58717BE867
-6C26ED1D06839FB862D2D6F14217EDFC44D3628090D4E4AE6D8D08C2925DEC62CC2DEE4CDEDA65
-F1FCB22D50D5734956692CBBAF25A518D2112F54E6D38F9C2B9CD66A38BCA0E82AAE3DDE45C3AC
-E761B9A12B135772589E425A3B4E229E0E8249069328B6A222C46DAF4F7C61FDAC1967C7AF6E13
-C38293F4A0AE3DF700E40C2DE9F8BC802686F239F7F0C7B47E0261F4BE8B5C174EE86AFB248F08
-D0CD94578867F47316170A909C05019915343C6C4CE0C994AA105F70E58E576564A4B2B08944D3
-180CEBE66BE894C842C096F92CA53E6704C916387B8E374D1B71761F3930422B0DF8A4E24785C1
-4EEE920E3C8D697279814A6D0276FECD66EDF127411A07EF9D22EBAFE7AF43C6B6122CB0B14DDC
-D3367C8AAC559AF893AE9BB73F784BB10E6657F344AD69330C24A4E3C446E86E07F5B596D2C984
-4C24CBDF51CCAEEDD4D62FF48C7D9F74C90451FC90F485F2C2F6C125556A5992BAD8C87DFFDD9A
-7C092ADC9AC2220C0ECCBABA1B4C494A4DF40CE6BC412D37D27FAFC83F9554C664B7E15B2C4F9A
-6BCE172FFDC885C8D5A6E4309D47031CC1A57D15CF30F413C700445A1180587836396ECF7A4526
-BB0ACA51F2906CE146F8C84A1B1FE2454EDEE16570D594E79B894CFC3AB160A019E507347E763A
-B6CD3ADF46393E0579BA424DD850246B872E88169EFFD26E590A192EF3535DFFD7C547F2358042
-FC5C9838B3AED01F1096BBFA3565ABFFB6F13DA0880B562662EDDBD14FE710EDBE66A3EA1FD804
-85DA5390D3F9AA7D2FC7A6CE67AD78A181BB8524B7D2243A22D936D631FD3A38B6D7EE4210E3F9
-67E536D724B5E9506F2C2F8ED984D0A76B28CEF61809EF49D7C198BFEBBB91233026504A558CD4
-7B7985A1458B14A570F2B22B196AA0E939D5F8B4439C53D8C17864376C53751328E391BA09D254
-062AA26CBA634DAFD7EAB4A20697D9D66EF59A3718FF3BCA0A69A203EE0A70CC564264EBF4567A
-71A95898634CB768E85C1C94194E6C8B0320735DFDEC860D110A9E0F0F1D0B3528B24DE5C85021
-7F28D4203F560BD19DCF145E8A28F9064C2459D4FC80AAA81AE12DE4BE12420641D1F82D60416C
-DDCFE782984955A10B576FD1A38C1652431FBEA0F6A00C43DEF505B15777DBFFCDCDECBCB846AE
-5701D4F94CBD835CEB98BED6EE73E101CC55501637EF6009357709493A3B3A1092F0AC896369FB
-EEC887B2DC9CF507920634A6A7EA49C5D06D6A73D06FCD850B49375A0C6E94CDEACFE6A345D0F0
-2220E71FD289093B0301CE9D3A00062E1B16825F6B448E2B97631BF7EFE74AFF831571DD8C6D64
-340D2D74983EF1931B0E8B1D1914DBED22638B4202E414BDC090B26BF37E9900D8691CEE82BB15
-CB2FBD7D87120DC1BCE6086E6CBF6E5ECAA3B954D5FB14F987F178A4520F6C0BD631A3C9FC2D7A
-27A87FD6466C71F99093D457B237807480A0BBF9B3E9A932F2B54DDE064DF608855B57293344B6
-EE678188C820AA974CC93CDD19C2AFADAB7109CC357CFB633C3AC6E94C377604A97143B2C46E34
-EBA624F9E8D0EE2F70730931D18EF48BC2E9D89BCCEDF440AD21BA0ABBF07F1F3AEE91C680BB30
-35E117FEA187699C643279553652859B4E4F14F108EC17C13BC4F4F0F1A4F3EB8E107070EDD80B
-654968570D10DD96E3AF3D1CE7E91880119C0C13BA19596B2762F018E4B5131C929C7B210DA2FC
-16100FCD8CDA361DCF91C9431D15CDF19EA61912DB91001A0ABE636DBB31BAEDCB65F8D40C7435
-CE8A188169F00D5CCAB0750EA37D20F18386072B5E053DD1F2C1C815E50430D084D226E108C782
-2BE4025C7B6FAFA4492D1A6B9AEC8CCBAD96398A3A028181059DC32901D9B65A4CBC970C11DEA1
-4564C832F41C5C278D97AAE899FD1581F0295EA908CDC45FBFE469730F76A665705B3FA8AC301B
-4030ADC8B08206693ECCCE509FBC9C40163949E45D2E072BBDF6EC17B56E39B49C5565C4928833
-44F507E92684C64BE24D370FD1BCD2E804FC32C5DC3C6CD2D2C8C4221820E7DBF24285E0DF7663
-A348C7A90BBECBDEF321D9128DCFD1657680C06696084A2D1782CFA4F5F0A82CC85930147ABCF2
-60BC54181A50AB12BDF5249650415A26D09AA1F55A0BADF12B760A333D3D35F15DAE68BE585605
-76DA6E572711F09192B1C50572BEA623EC86E33D2D5158516099230EF8D4A03F4AE29CFE2E419D
-ABE89C2EFF27B79A0117615961F8475F9AD70D2CA6FFD2B8CB629A2166106159095FDA78878083
-38E349CEB72069DAC742FC81267347D088CF9D76C993FE7078C8FCF3672C5688C6F6CADD6C1818
-17EDC6FA67F1D8B6E428608B667BF69C7D3B3E06E762756CD9A205102729A62BD0D065790E4814
-A2BE825BBE29467CF13439AF8DDBD712CAED51AE8023EE2EF3E82A32211C152A3B00FB59E3AD06
-169117FA059995B85827C70736E5C5B92A7A050AF586E4274E2B8EB301B1A44A78BDFB7A1CD5BD
-20419B46A7BAC72D8B76AB79F43DDCF7388CE69953B07229CB08537841753A779F8DB35058BCB7
-9FE0B92C95EF2F5BB4FF92A17CCC17C7547EE812BE02DC87A97B70A07B47F25096CF7FB28EEA95
-93332D8FD4C05499C0F0B5DC16B60486C7945A24C8F5EF24ECF26BE37DC1BD16CE08D9F96BC485
-73C1D7A8872A390A4FD5E23765845C68ED59456D66EB4BE697F454B71BF6E976BFD7C7819BDFA1
-4D8DD7F777B499773AC457902DC130544A32957E723AAF0EE83D46DC6AC1578EE03C55B89F3FDB
-AF60C8ADB5CE10DAB600BDEFB5F793B0AD8A4757A65AA493BBBBB603CFDADB0878CD83043370B5
-7F1C19E02D5EC43D7F2128C8FC9B2AEC4C8CB386DAB602969A06ED499954C0FAAA273BE17C2C70
-59895A7961C9105FECDC152A1CDE6814EBA6E3BFBA8CE110393E1046FD51A103BE194F4B9B5BF7
-12396DBA012BDCA0ED38F61394BDA8862DCD70C820D301A400B57F10F1117A4B09373E9BF4A72B
-E6204C3F56CB9661CD175F72B2351A6CAA6401CB569CE3339429015AB1C6984F518C6C0D6064D7
-A3DAF6EEF949EC633A67070D58707D6E6E01F266D3F552B77721A0D59E8DDC86F98833009D7342
-8FD37CBB0DE9C894E99662819C196E8A9FDCCE47C4A4BA1F1ED1D90DC230A540B26C218B9B30E3
-8C226A23B28823DC6D84D49A6E346CB2F7F9F71FB106A5DFB36C16CDFF1D651A9756BB3B0F00EF
-0A70D28DEC781FED5AD41784469E88ECDB870CF88CE99FF8B8C99478300A31DE8105455CD5A6B7
-6A3DBB519C87C1B61B15EF254B3848288968789C1F5D479B10AD9272FB77435766BA40AC988913
-07D8A40C14ED0B782934491ACC82A284A886D204D45F1D571AD143ACA7C7481FCADC2366F8AA14
-DE19B82574B2FD9EED7153A5B47877D3D579C74F8B91D5155AF0F34882C9E2C7EB3206B1B41209
-9E776DDD4E2E24FDAA98557E7C87347F56E1B1D6DB7861848966B6D0DD232FC2CCF89EBA52600F
-20842317BBF4F8B44AC4ACBFE0A4B777228237E52D22DE4A3B8E3AD3F864567F785750B2064EAB
-FF9657B3622E5D39F6BADFCB6903DD7DA935018CB36C69456D2C82ED6954E406942D0EE310CA34
-803309603D77BD4BA248C02FCE335BA95DEA94FF84DD80542966C5000B610A55918AC2CA86D837
-0C9C9F4B541287555D3B123A27A83545DF28C7970FBBDB7D7214C727AE687D03485EA555B4BEDE
-C4588F41F1195BA7518C66FD454A95DA6BF1444C06BFEAA75470FC5A9196568A9FC73DB2849D98
-871CE0055312847F376D7C105B95FB41AAE629BFE241E52AB913BAA5A4F675CDF2564630041627
-E2A9D8CC14489083864E8121DDF31C6BE9E0C1F28F2E43716B48B2C850A6AE4DEFE4C72B43FFBC
-7ADC307437041F908763BC8762C735AD2854FC4964B8789ED825B468FA72D2AEA6E0FB487E67B0
-8C30119ADD2C0DEDB0739870EA020C3AEFCC306B4657EF727C7B9D44E9EFA9D1E94EF45F0432A0
-1CA34DF372D1286639D3D621BBEA0A279DE17FABACF7C3700EE0AB96B91E9C65D00307AF5B7D3C
-C5FE44E749CC99745EBC1DAD4EE4FA3209A8F6B79D51BCB14D16E716E57349CC7270F7563DD891
-1F61EA3D587E0A7AB6D5F52C51CEEE500E1A5B87E4698F85872A78D268DC589EDF2359559576BE
-6DFC17ACB3AF21CCEDDE9E2EAC577921D4B664CB3A9916214F14E0EE0A5A794F52AEB2A85C1FDC
-75448F6E8B28583C84995D2353459539FDBD3A78704047A9CA4F8BFEE8FC414E6BA85F0DF1D97D
-0234DCE2ED68EE0E96ED572B66D1DAFD2DD2F0FE7BECCB4C851298FDB9F894CAD858AF4968CF9B
-001FA15AE4C7E38FE246039FD834CCEFC94652ED013AE6D4FBF4A419C4D1AEE18AD681E8CC8672
-4B9EB1C5DB13E839B218BF6B71AEF9AB230D37D8494A69705C470ACB47875C3880946546A56944
-981602AC22B37947BCD1A3614F8695DE3147383302C0F1DBD3A41DAD361381E25F51C4922922E6
-4555CA63B2F506E4C1EA7FBCD707A1C2879EE4E9EC48C0AB93FA7C1C9D9940961B6EE73BA29D48
-07CDD8CFE05AAAE724AB718B2F0F3E6C50F5F53D9BA572FC14EC63878AECDAF990A7F50EBC31A7
-163A517F11721CC862F5156A689234860BA2CFF19D6FB30E6272F8AE9925CA6BA95F543233B63F
-2EE746EDD725F5F2F51516F1DF1439F9062A1B2B3204434F2C21888D38A4FF676A6B850E3A6817
-0491F5323116EA11BE10A0490470F592044CD42AEE17491F2574DC22932E7583190E93D182FD72
-5FD6EE01A63BCB014019A690277E8E422CFA4B0A50FAE072E36F4C6F14193D544FBE216A78A3A4
-689A4C6ECB8BB149CB8F6EB6DB0029409A48CB7B454FDD796D638A7EC743A15EB5EE65DD93D6A2
-3DFDA04B8B040B856B766FEA465E7ACD05CAA8A3F13BA4D2B04AE5539D424BFA34227090FD1831
-7EAAA83528B3D40E5C108E39EB2ECFF231DA14E9903EFECE80713FDBCBAC9077344FA86D7F7732
-535A26EBD89A80649B26F247C710D725361278E7731870095AAEBCE9B9C04A73698A28CE509F9D
-A1D88E9A8CECCD0203C3A3B8DBFC56063ECB17DAE60C26A80814F71FE12B23EB15BA5743B4F9E1
-24FCDC99D47D8A449A4E7BBE7DE8CA36D946756DD0B94438EE80A6743E683B57223EC6F2062B31
-042313ECE2A8E646361EE5E278EE597D79CD16DFDC24034C0F2E03C54DDA9132B37AD93D598651
-59DDA793C2CAFC765287F7B943191B068B520CFACC134F47D454121EF1753065678760D9A6B924
-C90D7C9D432967E4DE06BC5AEE12554DBCBE36619C0865B19C9E939F286677D4649C62DC79AAB5
-24AC9B6A8CCA66C46C8EE2E5DDD4E113B8BC0E356867B001AAD992F1C85940CB2573621C9986B6
-2E830E0823FA46FB64AE9EA7A67CEBF0B8AF5D3AD6AB366E52D60B5036222DF65F5078F70236A1
-25A65BFC345F6A400A81DEECD07183FB5D10A2640F6D21D98B8C2E0650C2DDB8AD539B7719D030
-B220B91E17FF3A5FFFDEE4D66D0C4586D9E4EDD15A64393DE612A8A2087991A726CBB59176AE3B
-D48C79F0D7C884E833DAB2944995098257F300D27C4504E3ADA71F4CD9C306D82FA15C11FC7098
-1ECDB59E8DC578788317BBCABEA79DA888290734DCEB8E5ED8F7D51C64104281EE00D95077D4A5
-8CE902A8D3DB6297CFBAB9B4E0EF77DB323E34A52B1A938CE951A1989640EA4935A471D10749EF
-728947386DA5EAA9BE0117E40CFCD805ADC01EF3B152819BCD332DFE5FACE16C23669371E61081
-94783614CD46A6885E543C00355B1B81AC917D05325FD395BF6195876D4F46CF739D7482657607
-C7AE98C7DE6D397F6055DF67F1884836E2D685C8064D834A7718EB41A843D994E070D5488E2842
-3A30068CDF01F84A34EA2C47A4341FA98C9011FAEE51CBD98DAB25C98B78C0957A0FFD022BCC97
-641F858DC445715AB461116AE956953F2048FB1A990D7752D3EF1CB67697583681F96B385FD870
-3CE35EEE611E80DFB0A992F87BEB5B724EAB130B2553F4B0599E795C4743AB312460B65CD53DFC
-648E853C032F0A9D760F241F6174710CD1602CD78DC405316B0DA43D5E2D4EADA1E3688F32C6B9
-4F02EE29ED79848C459891187432957A0F428D256E015E86C12E68696AFA4D890FB842254822E0
-79AA320BC1BD480C0A2F276D833FB3C9D8746B52EEF4D0DC0B63D01F61F9512C0DF6E911A4125A
-CEAEF49AC488F1A395843F760DF01838339AC5B53E760EBE256A04F092CCEBAFD9218ADD4169E1
-82D2F20753200859A776B236E6E5400C4255E7CDD22D1D6135480E16592FB680142E5ABB09BC0D
-7B643BBE0888EE5D5A0008815748B2356E717813AB3AEB20A58C291C4559083EA547E6BDA07521
-342AE1D489F0EC7E9AB4A24AA98CC448AF3A198910E46CF829CB35182DB53CC04EA000E05F44BB
-495A679736E1D3AD78859C18A9C82E9B6DA96ADF439DAC12269DE2B745841525C5B39DEF3FF4DE
-405C7FFA30C29BF9EA979B9741DD9C0720C25BE42DFF13BAD91327D15FCF90E7588201B64C2E73
-DE8138737F1B4740B3C54B78FB4580815C5D47AB1870A548DBC20D118F8A8A7EFA5D5383D7069F
-E0A3F7EDE43AF1E411F3E419F18F347ED5153D9B8AB2EB584DF2A8747060145C074CC2D308FEFB
-B63841EAFE56C905B4A4B13A9FE80E9CBDE42DFCEE6A3F5BC986C2C740401B450939A6EC44E58C
-CBA7955B7A29ED3DD28C7D63FBB04F8FC825A60C6399DA762D045C5182F240A8EE7AF4F4040390
-9942C8F533B3BC5C763B0DC95A834D1E5EF0F90BAD07EC07380E75A95F57B8C1C46A28ED6A455A
-3CDB05C56981DA10068EB0BD9EEF0B3B31A76F660E9D340D377B3D8B6068A7228F7386D8F0D410
-3701DDFCE5F678CBF6E70FDAABAF86B95E2A731487DF06B4D011E38120BECD6B8C9DAE22C98C39
-1FF8D019FAC578069F6F9EAEEBDDC67AABD4126764D16B89E4F8A99C93A961B93122A4D9B389AE
-1C664C3388E1E7F9071321F5A22D91802B5B96BB89AB7D0D853248B01EB77E52B26463AD317F78
-47C62881F21D2578CBB2855AA02A50BEF5579D09AAECAF59835E9E949245A1CF53983E67CD5F7F
-CA5DBA5F4BA741E7E49C406522C380A50A3633342042EC32F80CDCFD725C9072B271AC83722F73
-4B3A98F7C516C7CDA806A1FAF97CE46210C4153A844A352791E6AE594619F51C656CF07B783D61
-64BFFED8809A1E502A533CA3C12727FFF4852C098D1C2F0F925B3A029EFB6FFF80DAB8DCF7C9CA
-FA5F7D958A8504DBE2E7A2C3F261D736CD4894FE0009C6C24BC7F7A9EFD12E6AEB4D1A60AD6257
-4B8F8B7C54954ED1CAE95511F16886E5109A9933D84FF266EC4D94DA89619C82D376A63507CF4E
-233BC70BE0D660B6EB472F4EB6B8D85C96108C5D02D0D39A6D02429D60D010E1C13A81E1AB0012
-9FDDB1C0900EAD7845B30B1CC795520A343E0FAB8BCE4D9F642EC7F51846F5FF3B87EEC40423E1
-A91931FDF73BAFDF383E55B255566679979F37E256D606121F0C3116BEE00897A7C1C2980C785E
-A37E05F2E3070181F17D8DF9C1040221970F628202ADFBCEA6CCECDA61637E40ABAD6B0F639C21
-735298F35EABD37FAD3126247309EF9570AA4D7F2AFF959894C089D77878EB5D3705F8FCB748AC
-00CD77535B672FFD36E162D85370139C0F8E7645A665C1D23C6C45C0CA06A89F2CF2F23C27A5FD
-070F575439A5FF88D9235DF579D854962E025C347077256A5F4DD3C5FAE10A5C2801F93C08E022
-9600CE5CB001CBF71E813E116C56147304976CC25801BC0239EE6D12AF2D2A10E728A4BEC249E0
-BE5342272F6A508264226CA8479BD946E2BED405379D0748D4A707E0EFF6175D5E57117A04FD98
-C03405381AF44333FD7346DD7D46F71CF5AA1A87205EEF8D7B1CCE971F9BDDA467629BE1556CA4
-FE479DD77380F22E93685C12D641EC3227FA98C90D9265D7504B7CDB3CCD092F4AE0487E89CA75
-DC017DAF9C9C94778FDFC7CF2419D317AEF2D70857E527A5F49FA26FF3EE577A0A44EF541C7D64
-062F7DF3EFBBD0FD7BA63F5D4F1FFF4013F149215521F5E91092553F2973E0BE1AFF6B5876EE61
-3A081917A4198292455DF7A337954234E2A441275E5F4A47EB19B3362778BA70878847F478E341
-BE09257DD9823BB058512D588FA8266911C5846EA5AFC886549538721E4775EEB8354F64E20DAD
-4B9129C6E9370241408BA4AE1E09059A0F2C5E4443FAFFC762D2ED2CAC9F6EC244666212178440
-A2D3074A8B5DCBD810FAC51627A81FC9D40FC32581CC1BA438B50865050765EAAE1F1E99C1D89A
-A6CD3838A5459FBF8DEA20C9531801C037D5288F6CE19AB8073B5951D7699D3D3C7F937B5B521A
-35AE12791102871A0C27AAEF9631192182A5C40B9C83959A96207802DEE92611FF3778664DB1AD
-D309BFAF5EBAAE4B8A4FF008C0BE42F1151E9D1F460CCF018C42703E1A2836CCDABF26B4744DEF
-9E111C4FB81FE89B4B9BC15E2880857EB34B21952C55F8C62E8254EC300FCE1CD5D46657B902A1
-D81ACDAE92E4CCDBE4C39DF747BF9CF8B1CFA3314C453FDE23F52E3AB1AFD66AFE12F6DD53FC5A
-F236F1228EEC9DC8C8ADE81733D6BFABA66989EDC6762475F0E70228009D1301DD5AC6583BE108
-37D90EC1D0E4C543DDA6645969FF34C7BA21DF2AD3B9527EB104B70498EE9E61FFFB2FB3843404
-F8DC322C8946359464AC057370C76A90ED3C0254D38EFB516B8B99E1560857EBB5CB88566AD269
-56652F1D334F01FC8F018546A7F49FD17103BB5EF2A6A3B6C26F9CEBFFC7419D71F62AA5B222F9
-93EB5A227C73E310A3F34C19A3F7CE9A10536DE50BD81C4118222C163D0CEB8A16DF6B4EBF2B06
-840DED08106F28DF93E33AC2C4075B43723690F9C890D4F91CF5AC874B4CA7BCE2F2962E532526
-F4DAB744F83CF905AA4377BE6F05758EB44612BCBD52A5692B60BDE10586A1113005D915A74DFB
-5E419210B2E5A86E5814ED34D5DAED6EEC3802851169615B6A2744A5BCBA5B67E933FE2D3D7398
-056D7A316A4C7D0A7790405C7A3D0517E174831AA7983A87FBB4C5D24F2DFFBF8577A8B30A209B
-27466732F600B60FF503AE5BCEF08B29A9715EDD7EBC3DA4E15218B76D8FD60664B61E2B682B1F
-56CE4B5B13AC1B0EA4EDD6AD77244AB166ACC23B103790FCF32F41B7C1E15D786A85BD3B81A44D
-3774387CFBD41B43B4678AF42174ED76B9C70F4BC183D01C525ECA7560A7DC12E0804F8A6FCE05
-760361B90A156915EFB95CFC55AD4DF99D77A6537686A2A60D9F926DD9BA3FBD8B651D5B69BFD5
-ABED7D2C8B32539D75134615761FAF783A6EE4C31B47204808C9156A6EC2D70049DB35A7207447
-B346DA2435DBF46AF7B24C6E4BE1B75B30E5F68683A03052B05BB2DD75A5127CEC4FE11284F03C
-A9C4102A9BB0130EB99933A7479DB597960640A3EB90BF0EDF89D93A8B73921E9E7C4F782EDFB0
-7233772D2343D90E1E581FF20F5181C67E050A14AE40EFAA16FCD62FD9AAD419E301D6893E2291
-8BBA31345A9D947208EA23924B9257EE753A7104E41EA10D72B6E72E507053AE35BC20AE5F369E
-B0D780E537406780A55AE7C113A81F4E1008FAF276F598E276399B4DF11AFE51CF8D22A35B1BCD
-247DA70377CBF7A96E8DCEC19658F88D6A214D3FAD356BADC650A41B36F12B11EC9B149FB6A491
-10DEF203B8F8672FCBA317974F17EBAF2C81CB398A06B62F635EE010E194A38ED4AB30C7E7079C
-AD51EFBA8E069B811A35B459B3537D6801D747BFDEC5F89F465FD296CE396F8944922D5F82A12A
-ADFAE34B6D723828C8A30292E9E8AD8FB8D97ADBD9AB22E5E45523BDFF4C1723688163BC7ECDDF
-44052B696167C0ACA1B4A81135E0B837ACCD22DABB5DFE46765ED4BC0556B7FB27239812FD3089
-FA483EAE60C10CE6D3B8FB0AE33F07022F96E1B95DC818C67AEDA1D41BE11712548D0568A062B5
-26A4569B9BB5F6EAEC2D176F924ABFC9978E3AFC427EB2BA46C768F83E86F3B8178704E6AF4AD2
-EA4DF47E8989F327D85812790EA888CDC920D15B80E51F7CFC44A1189127D2C9468D50231CA805
-03DF2C2007EF27DA9C498C778F3837735EE5EDAC47F4A01C2A391BE023004156652349F062B1EB
-504E5ABC82282A423E47342002009770D646EA50F933F0BC5E6143FA4B1733DFC6DF6ED7DE6DD4
-FB8388C7CA81C9210EA0A98B0275B74A0E0F510C90DF71C93B3A9FDB6A86DFF2921382352C8FEE
-1A0A2E6003B005465C1F31B667F5BDD9ACE74531D0FDD56CEABBBF5E0A55633E28F750A7C2571D
-27FCBE1B01C387F6F36D225A30C68BD185843F487C2E98B5629A6287CBAF2267880B2F48596320
-D7A1EC87DCE5C5283E034AF582F592B7E0B185209AB07480A98E676603F7F92F96F9AE6EBE80A9
-5E625EF7F4B469458B2A7DAA4B8FAE9103652663F353C35F88FFFEC41296809D52104E1D629998
-735E1CA4D36442BB8BD6C02EE6E27374B25CBAE97051FDE7E3EB81EA7F6D8CBDDA45F29232456D
-C1C70B60869D63A509E9AA33DD00187BED5AA122AC8ACAE5B5A02C85A4C0B68193B2F4355EA779
-DF44F488272E92297DF1C8E7FAECC4EFB031E0232EC032F1ECD4F6C37B6707A28F1CF9A2683FC8
-3B9725F1948D020931065CB521B34934D2CEFE9458A1CC7EC5528A183F270AAC08CE8184B90482
-6221CBCA4DAFDCE880D391D6C4D8289BB45ECC73C94DEBAABBCFD529ED9B5FE55E5D6A48EB0969
-EA03E15B8D7DA8D54CB15E0370C8E39CB80158C6B7D40C2951D73345BF3D82E49C976A0E918B10
-1C22FFD551C685A3C7AD17DC9915A80815EB114550E9BADFAC2EAD17C29D0C834871CD88563F9C
-C2CD8B190D02EE346A82C537DF2999722584A95845BB367E4F7D675FD067DC42FED595473C9B55
-1911A54B14DD130BC7CAD78C469DBA966096FA69FB9027C1542B8B95BDA4FC22683DAF22C8EBA8
-E358929EAE6C198C7F9730C5D3BAD63196515C4BEAAD27C26844398BD64D750BB06A240397BC91
-492ACE0DA7F6050BBB15740DCBBFC2DC67CC740AE8EE915192715BD472A45BBF33AA5E3E93FE6F
-6C39E09D8EF3068D3E7D2BE768632B6C2F1F2B0F08844C5BD7AF2EFA6CED285646750F70EA819B
-18B0371B3DF7BC4DA2B90E8FFB9E3DC066B9ECDF01A02BDBD882AB88EFD7FCF2467D4B8CC32024
-1FD68C6C9742C5E250BA662A856DA7194C0ADE36BDFB36562C29132DED3BAA0A87A761669CE3B2
-56E11A6CC42BDC6F0AE09F87C0D7FE688EF8948F69210ACB148A93F59FC2EF5B21B8E81B71D185
-D37E0CF36B2F33BBD77CD36047E9988704B0629FCAA318000ADFC4B370FA5B218A161AE7A8D99B
-88907029BC83134CE9F92B21735BA15F0FE547EA79F5B2D8CC96D10E1B0373A13ED18500EEF460
-DDF2CAECB0F44A4F88A6090D660E879ACC03FD85B4909082DDFB7C90428E2A9FE8B60377DD1ECA
-3D0885C5400473CF212DFC2EF3099C73A37B3886DA8C139FBEFF84911687D1DA963D0E9690BEE3
-F191A5E1F7B9D3FEB0A497ACACE68D42660D94CEA5825A19B65C1A394CAAEB68BED5B886F94D70
-8407C6DFE818448A49AC3A9BE10C8991BFA5DA3C94BF608FECCC0606BF6AA0F1ED1AEFEEADF0A4
-D5226523C4C6A77F0FC9A6C7318826AB8FA286324228ABCD26D1DF2FFF1650BD71879AE5D92337
-EB6EABF9A599308899752219FF8C97CA72C11246DD111F348646F23A62980F6445DCCFE035AA4C
-5B2E973A787EF8EDA260BF8298794B76FEF7F6CF79DCA923F9ADC2B0524D9A2D4D4269EA709C39
-5D75E3F23F92FFDCF7E8BF8691D52DF133297E4AEB9B1668AC097409428411C7887427DE9C03AC
-1F229BB983325258E3D36E93D300F3A31E1B4861A1A31D61731359044FB1076E98C2CAF24C77D2
-459356156E1D9570D9B7F8ED30E14C95D8638AF5410EAE34C41A35E552802248DA923BEAA153B1
-4E62735BD5E09E23E5616F10F5B66FE1D238EA59E293F0459043E42538E17AEC76BB09C4A6353C
-30E4B756A89E40B9D9CA6FE1D40566769CC6FE3B14428997ED4A24B23961EF21A61D879A2967DA
-CFF909180F52604AF8C4BD47F6A9474C42A752861E832B7B93161BC1224B8673A53BDC7F663BCC
-DC71A9ACAA594486607C180C30384881C324554357685C149A0D96AF6A37E4E3D20D5021F11238
-1D4CB1F8674035071FC634638076C2480B0EACD306A62FD22EA859903F2F30F1F99C87F3245DFE
-A4AB5141D280C5EEAE69F44D47D359A011A1D01FE8BEAF3B43478F8B47A4F37508861A2DDD7708
-B9D4742B6FFA156B64EBC0CD8FF5624FB80902DCE59B7806A43C862006869D0CFCA3EB13473952
-492CFDADE1E458A55DB078B1EF58DC5D6C303EAAA415F43DE9F19A508147FABFFBFAB69862E527
-19523DF01BDF22CA779D587055D37539BBF8D8BD6853E4E699E65F7EC6E5D096601D09340BD116
-38544A45AD6E58663A1C495DCC1FA79C8351D69D298B498382AE4725F18F86F315C588BED8BFCC
-6655CF2E4ABB439281D199994BF21E47A2E84DBE37D3637DB32E961B5C40BEDB345C82197D324C
-350BC344F2EF90E6B496BDBC1BB4A359B70633B0A35076FB86BE1343CBD39E6DD77671AF671CF4
-364C1CD9BC7BC151FC0FEDB137911CA590F377B35990099AF3756C1FF218656D1769B2E5ADE7F7
-571E7132CFBEFB6F0BCD9F4164C33738CA62934E138EE5A5FA5E81C3C1E04D1C1ACCAEAD8D15AC
-4FCBB0FFEBE577342272A8BE5FDE606830C0289ADC41418C7282B0CB5234D8B75D668823A32B73
-E140228E8E803115DF38D1D6213718BFBFCB22B0405108A5C8BD3009D60BFEED1B15E7A5D21F11
-98F091E11B839C2BA809A22652F57B3007DEE6827AC22A96556394CF9051B91B1CC42A20EAFB8A
-2D3F95B7090DA79AA3F4342045EDE247AC63D8D8006FE4C2A617C9B0AEBF2753042473762E5050
-20627409AE8F975E0547C07D414105ABFEE496985C3423E1F3AC71076FAAD97783CA4250951AB3
-379B4562F2A7744F41FC40E045A796A3C756981D7F35A38B6A57C12B8F8772EF0753591C65F632
-729732EFE7F053C27A4DAC9907FEBA0403CE8A902F71A278DE9A5616463256914C1BD117A66B8D
-62928A00B7FBB66E33299D673B682BDB6A30790C2A2DD06F3D82E19CF49C1B9C676A4413CD4E70
-718F92FC0089A7257268F75CB3E53F8D4781C37E8D5E37D2C919C619A33B4C7141CA7107D1DAC7
-69016355C89C1DF2DB782723B71357CC0AF674F0F36E18485088AD08B8B995D5A9CDFD5070CEFE
-37424C2909A38BD66DBE6440396D02DC2980F1C013E9C2C161F927C7B803B34EB7C57FB2349FB2
-788515885B7B2E5BCC7001A108FBD473F34810C2774E5493501FA2882BA5985EA9AE84AD076807
-AEFEFC8081AC8B99F8837197EEBD2D734EF78086F020091F44045823CF70462A856C5921583DB6
-B209473494E78D1D81F285B850052B1784373DB62FA6CE8EDFB70EACE4C2A01CCA9BB86EC61E54
-5E4399466233F7714392F53EAF823788E7F475E066E718A3A54A81805058B31244739B9E3D5BAE
-D896901D9F014FF62728847AB719AD2CA332D98F99532D7A93C7030271F5BA5230095BEE8106A7
-D33D16D2D3BD76064AD26431922B7CF433BCF3AF02C53C59D39872478227E645828F2FF1C4B3B5
-9BED9F8061C74F79348AD639C4F3A67E27FF99959B909E3ADDDF985B719359F803938798E36DE5
-655448E65472CCE2D6A7537A5F855A5046C5D7C64D77F636E318592B3040981110E664FABB5FEE
-B9B14C48D74E7A4582274D3BE07E8D67C2F294D2591796A2880C3253060BA26AFF00C503D614DF
-72BF8B91E80E722C5F4F7496A17AD6B5357DE01C5AC8136A3F4B7F722D08EAFB3419CB76638A29
-BDF242BC6ED4FB7127D76F51B8E77850C77A3D9FFD94E814DD072C6AAE901F1CB99961E79324D4
-AD0D97CE00F7A4CDCCBFD7D5A9A82270B2FC7E88757747FEAFE917ACC9C07507F2C87530465B2F
-7BE3B62047F11EEB0FE7513C9A7ECBAEFDB678F295CBF7B55CDD07FDC11A9764A31C1A77887D3C
-F9C13DF7D987E725C4BD1E7F80A8438F54FC3668E2CCAE42A58A08354825BB87BD1424A1919973
-3B49B6A3A5467B3A99F70B63ED38549168DD5FEF0A6620BD5B8050968377C7ECC4DF6A43C852C5
-72339C0E54F99547240AAF9487B748CA87AB2278B162291991556DFDCB595C28DB05D6D5510824
-9613DCAD7144A1EC6DA259E16FDACE7122CE1A171FA0346A9155B25DCA8E6BA7300451891DC21C
-7DB92E3AD2183BB4DDA70C669F1F55FCC191B59823B017E55D15E9C0EB799BBADBB8935AD90CBD
-FBA156CB503A2333A4EBA92CA2DCE92C5B687A4E43F73BB7F09B62FA6BE7E1495318CE4E7BA343
-D08A7CB53E32B05F63D836D8B5629651AA4C2DC68AF2E13F49276450F66B56C1EF299604CF0933
-4C7B154C923D4107D055AC7EF0F28478FD06C54F663B170DD58A41F293904EC7AAF6C8E4DFDCC3
-7B08702BBD8FFB33B007044ACEE7ACE3464D5433A53AFB6B7EE754CED830A1C540EB5778C227C4
-5CC7BFB94850544DE6C0D1960874574284B1D0256BFB7E5483FDEDAF31ACF7822A2B9DD27EA1A2
-BA891D72C9AE28F074211D528758C6E168FBBB1274199289ACA037D1A641ADED7F300A4B27C954
-63BEF8A9BD49D496300655C1ACB70A2A3FF89E065BE79F5F292EC6F6BD6F8987B7A8E2F6642E91
-18ABAB71DC705981C30C51C7FE6A10828A8EFEFC43EFCBB6BCC5A8492E0169F03492968D7F0EA1
-C4339519EE36A1E91034670A85B193F5DB6037C59B5E46183FFE468BDCB794918BBC8AEB2BA715
-0908DA0B63653C0BDCCF80BB64F36D0E5E8D4685B80CFC7E3E6F4DA4FDD4BB8CA8DE4ABF16503B
-D9F6C3C3B6F8F9CB292C9DAEFCC68EFAB16388AFF922B32B5257B033C9D8FC078AD296D49CB8A3
-3A32AF01FC192BA792C3A15E6C5B7A4AFB1C2FB00DF18076229550ADD4A991037C5D91B7CFD4A3
-5D08E8FA85D16CC2C48F3F32BA894CCBA2C6A3F964BDCB8BC4FB9226C7F8899900C267C70E3ED3
-C0797FD7377D3044D43C0E8172BB0FB746A706296D70CD23A5CE25885158C83FA2C9F10AC1E0BD
-8C88DD6D581289CE14AA88B102A47D4E52546EC6FFE7E8450AFE3F01706B2E3AFDDCCE4DAAB431
-5638E28FA4668458CAB2466768C1F3F8881CEA9E9A7ED57AE7AFB53DC590E601AD11ECA0E5CB2E
-4BEA895F6271B875D09EDB9D5B8D92647B67954824F0AD4DF1CC9E82F97DB638BB17322EA26C6E
-C4A5E02433D11B6A37D2AC10DA6D1035B23F1C6C80B7C382F1EFAC4622C040D108EEE91C397CAC
-E1EDC761C1EBDAFFCD6127B48621E666A5A5C33A3BD4F559C7C2CA7FF3C4BDDB288A3043E09441
-D35CB54F1218FFC4097D1FA60911189496A16B40D34EDA64A9225EF00B875885127D2A441DECEC
-B2BF6F14F6A3815A780A4DFCB6227C7355B377EA61F928E94486CDC0D42EE92494D5063ABE2DCD
-4D29E8967835BE5894D38F09399E70418D21DBD8AC679367EA9DEFA70BAF625F94F56CCD1DA6DE
-ACF583E9763BCD0EBCD9EE5810CD9330FEAF5FE60BE3AF8A15A1D58CA2A9B0785BC09ABC53F86A
-66CCBD8815F3F8B9B18396B045DE3B4A00D59D47F52B52DE7A52AB26F5DDA05E3B9751EE11A6F7
-926654FC7F909EBB7423295385044B8C44A2032031D462049FFD77CA8F31787268F64FDF00397A
-A89494308AD9EF15DCEF55BA0C5AC4E4435A52D2225BFEB438C9230CC6912DB18FCD0A6D7D4C89
-BB6B69974B0CDC28D0974C94C05A611EECE866140A00F4BF9828C5363D9A6FA8FC974368370378
-2EEC189B4AB960A8BA75EF432D7F7B8051B2D012FF76F1A55BABA16DB9EE5C9BDD57DA9A87ACD1
-D1872EB5677A14CC20F83739D95AAD0B3F26506976B1C822AA8CB4A96960220CB2453DFBB6EE67
-67FC6C154EA927FA01E697D2FDE73F9840043480A584337E7F466F5248570841A7344A37232CBB
-F088ECBBBA9ADA89A8B8D00EA7AD8FA02A4F79AF21FB8FC487528E3F7B31F11C3F2646FD78155B
-FB10245978554D8C95BA599252815A4995A507026348758626CA386F31748F70C2DF1482B6C987
-5CB7546B3B1B756F3169EA3589A1D0A543FB165795234464243A6DE12AFA76D577EA55A4B764D0
-21BBB4F203ED66A4FEC3B51333A57776A2127DFC59EE28229200C9B93A1FD1E84B9D5BA8A22FC0
-24C844FF8351256EBDA28CD78C9DC782E5BB85D188B4FAE6A427C251BE2C794D8C77CA39296039
-9EBC8BE84DB9C78319BD38A441158A999A74B04C4C5246D6982EF7DCF8D8ADB304A8511267FFAC
-C1ABE46C9EE1CBCAD63665AC606CAC7D56E9BC3609B3EF72176B49B63C90A0130CD183B90A6A40
-796E4CB9091BBA0FFC8D0F8CF2B016800B1B439B5DB6FEA0C399F8C1A22B1896E0487A08476F65
-F505717AE2BCA312EC891BAF95B43F49C5F71C3BF4A8B3E0E37D93A70D06C2FBBBDD77E7A0637E
-BBDA27C27C539EA3AD7936E4544583DCCFBFAF737A61557B0FED52471B5A5733A1558C9B53FD57
-D361306945A6150D1C0FC5EDF521F17F4D724348D5EFB86E8FA808D2CF01977B431D3E9F4E8A3C
-CB1CCB4B1750CA2936A362A610B05C73E382D76118024E58ED512B212B1DABEECDA7196C75BDEF
-3049455278956F60FA00D450729CCD0F01B4A63AD30D92B0C14C158B183647B655AEDEA612CFA0
-BE89F79C22F1F2D6AAB20CC382355B1159D16B7C29EDBF06E6831B395EA7A4102C99E400F911A3
-F306589C5DE6C3FCCD402B4E25E85C65B301C396ADA09D6A4577F38D21EEA6FBA8D50B5FC31C95
-740A9A7446B9FCB5D37ADC301000AABC7D8EA8DD59A63DA0FA8F7038BB1D9B2948635424C80BD1
-CAFCB11FBB85497BC4C3BCAE2A24B9373CBD005681835D6FA7798A45FB01C51DB842B6D4737901
-8349AE7D8C5A4805028B1DB4F634869A3BCA06029E8BEA02832397627DDFE8BAA44B05D5EB55B9
-2655A387E3407308E34AD2038C78037995339E047D9310B8EEA85FE275636D6C5C19586701FA21
-EBB7434A4915CA71BB0E833C16712BC63DE98B5209B0A730180C5D6012FA81EAE001E1C1E14D80
-34CE642A31EFA12B3A15EA53BD89C492CD6670538B7BFDCC629ACBFCAEE4FC4CEA070CCFCB7560
-B4F933E3D9D259F70CC3697901929A1F1605EE8A0E01EE85D4FFFB167DE6D916F2630DEB8CF317
-F494C4CAC3EE73BE392EF96FBD232E4A776022EE04146552F0E1D66B4BC14302986FCEF76F1B7E
-196753A2B4BCA87F804896B7392FF8E5183448899617F020386E688E7E26286CE5D060B00B485D
-ED264D191A5B528A4E516832640354C31D61EC4F7FA70125B5C6349FDE30694E9504C0A080D252
-B922305874F39354A0FC1A196021E29C516D62A783AC2594C28F69F6803314F6745AE6685E381B
-FAF83F14B8464D7DA4198BE48E76011BE6B3171EAD370CA699E7076071B2FF1856F6BDC61F3F01
-034ADDDDF56CC4914AD74282859C632B9B14293CDBBD9FF8FD4403CFDB761D3CBEFF84391E3D5A
-06B5D932DEF0861EBE6DD885C9C31DA765FCF358847333C966FD39E5000E9835A35F3BA93FA20C
-4C459A8F4DAEDE2C99EFBA13EC0B82AB546CFDF7A97879642D97F69C21737B22283B636494C9EA
-129A161BD8C9DD565BFB2A35503B5BF8A95AA69627E2A1BBBBF5BBEAA74A58CCB11F7CFA420B5D
-70B3E392D54A52FE59EC9A3017BD2D83B4E90E24D9FCC6D816E975544B96BB1F4443CDB81918A7
-7FDDAB25D9BF72D20DE17689121EC5757BB18324AC0D5F324DBD89B72F2271FA362BC8CCACFECD
-CC25331BE8AB8FED46A6E691F3AA6B0701F582CA8753F648828CD3FAB6E43CC92A924F245FC608
-350F82CAFF77EC9E2E24F985436ECA4AD84EB24435A5C4B330198B23E825D1ECC7DC5582886E90
-D2EA7CBAC9037B11B156ADB8110B6FB795BFC6D397B39FF79D8FBBD42A00C6020C63B011CDE2DF
-269F4754E89CF3F18F2B9DEBE3850A86AAC0F5006B528CE30BFF055110D8AFA688BA3B9F0D24AE
-50143F09D6EE6926BFA2E460B5B3C486F3810C5CF68F67FE2A9DD7FE9B39BDBB24D6E59D12108C
-5016007BB9FC22791622C044132BE6BB8F7F9C278C755DEF004E310EACD8F39933A6DF56BEBC5F
-B72B4DC33EB255B645CEDFEDB900B6E8B1FAA4ED152222A3E6FEA8D8BFC7C477EF8D7557B70E48
-693F8C0DCD118EF544E782C23DD3AA3D66C90851AC05B5818831E3AAF1C4DE9529275DFACAF48A
-2A87BEBCF4EE948415341227461D8627D2187CC9184DD3343F554DEBB268B65AD8314996BCAD55
-F75B5983F62EFDF10C580AE478B6C3C92595490A9E3AF8D279246AFFFCA3F3F7E79FEDCB652CFC
-57CC31B89E18AA6C5F839DDC3ECCEA0264794CA316EEE24A93A25E2DD12F0115B6CB650227FB26
-30AF4CF55F7AE4701310E11636A39C9FD1D3436524C57AAF409D24276DCC0A5CBE47EAE624D814
-A3A094C5C960C3566778E850BA04CCB58E5016CBE399A201B788A448F9969CB1C89EBD958AD83E
-4E9E2001D5A7120E73DF0D722AA3DC1CD06F11B2F8E911B794E50B50FAA29B49AE01B5C361F08E
-27BFF8DBC16F4E4EC034B3AB15F06C08C9EF4B5B054327BB3A5D25E41F3EDD53E2FF4EF38413EC
-F5E693225C255A9E1F4060B1FFF8E38357D06549C517F458B62A8E123985988726DB8DE3C9DB37
-8480DF0D731B1009516437512F2C7F898628330B0B2B2960CF815AAD9171E8097C933EAFCA026B
-1EDA2FD5E1E5FEA1CD7604124234CD04F50AB59DBFF1318423E4FA6FCC6B7E91E4FBDA149404ED
-E8E13993F65F12ED80B63FB137717990F4502A61C00DABD9345E94F043133ABEE22D2B7FF0DF21
-C4195C3E2F7ABD639941E47882470A6CAAD0B4A8C96B4E4E1DB918B8A926AB40E1859D719FD381
-FDA3F1490076EAF5D17311CBB59A26D198CF036B5D6A551664E2C206C910F8A7369183BB95329C
-097A7DCB992507F479CF546D645D52F2BBB452EBCAB40FD4109464D160B97ACAF226DF763FB024
-9AC97B71F735CBFA56D2E6ACD7710CE9BC2189FE53F5BB41C58C0FF1A1C5442FDC76D21E6273F4
-1896D7394CEA6C7500950AB85FAC5C8D4CF1766680A0CFA243A00B7DE2D180DCD1417CF25D7A30
-5A1B17534FD1D8595FE704A36B402F868E534FE7CACAD039E13CFF4CE59D382C107FB9DD98623A
-0FC04F9337010031AA47B7938F111335EB68AFCC86E477D5E76A1E4758C7319938944850E71333
-0F20E9A9DF969173018CFF594871676420136BB1A3E0CC89C2327F68B0A487D95463D183ECCF07
-4BA6870EA9332FF8B264AA779650A00A04CD5D443CA09453DC961D3193BD222D1F80BA0B9C4162
-D20CB801B1D6E8DD3D97CF05B841BAB3DF22DDBB06DD6A682C6A1E3CE595A28CAAD9840757EC6F
-8BE66D6B9CA3F6EDD5BEB6324873C0EC7B8B108731F3E6BC6588D69E4C7573D47BBDD93D03E050
-076B9A0EEBD7C020BDC64127AB58424291B1BC70A9F3D326C67D93AD24F67CE9AE6BDC829D7DD1
-61EF3C1A47991F54A807C08AE0AF24D6B952E66CB8E9196EA00F3AFDCB1413A33763E24109759B
-CDB59C2257C2864C458719BE17D929911C7FD72148815791A12EC2D2A3DD6407330CE0B4DFC3A2
-440FF0D6974B92B81FBF04B0FC4E4429B009C388FA8FDEA029AAD70151F5BF76B13933D3F55B5A
-C00DFDCEA91ADC73D3DCEF29EC261E07B96421E64865FDE1F8EFB7B5AB1273D5C2BD5261ACEADD
-7851504D19A91F295D664B440AA61636B62D02A341CEF145920C396C42244CF13EBB21D4BC85D9
-95A57563CBA0D4D046AC0B0D1B40D1BCDB26E5AB86A1720005504BE3D73EE22018F3642B1D8CF6
-4596A15ABA888916E9F12BCB15EB823337DE90015FFF5D1B87DE84495F696BA7E1704B428133DB
-54916A4BB7E31BF36CC74AC1B1C1AACC176E44B45CE6864EBF724D28819CA80FCD1BCAC9C6E92C
-E62D304E2D18A3C882074DEAFEDF1C55104F629481E6E42EE45072BBAB3074EB5AA1D4958BFFB6
-E541FC1849E6F5402165F5C4F750F72CFD90BA03CCED7C5014745B0F9642E271FBF6645AF430D0
-E92984BB4F96C993E3186C0D8C2897B692C0A0D198FF9E44C648FC2723F8D8A547F7ED08E89E02
-C00D26A50BC8A1C714BDE534580176C7F5D3153514FCA23C2D9CF3B6EFF7CF683712BB7AB3C7D2
-A3E66427ED0B625C088A2A57EEAA2C467FAF0AC5728495451ACA08AE5506F5410411D2B0912D3A
-F6A391FC7A4D7108C1B2FF0D1F9D09C2396CA85ECB4885B386F5FF5061AB78D9D915B2D3AA05CC
-192CE2751B8E1C99B043B24950F25D58BE9377DC1B9198C5DFB5FD6A0B91EB90A5F01257ABB15D
-DE8B375B0DD55CB18B8A42594724844FBB89FCA2215536BD9CAD8661CA6C92E32AD432F581383A
-90CDE05F34FAA585FDE7DA42889EB34752AB26D21D13918BBADC23D9C35B88C6FDE31EAC2A4295
-F4159CE1CC942B9830129A1B9474F154A175F3A71D86F1BDB4BBF15066948984B4FE902C3F8F3C
-0A46E6A51D86054D683C0A11ED0F151F7905DE73C589339153E8B4708F6D94CE02581C837C41F2
-D65556F5A706C06FFAD43669CCDDB2FFFBE01DCD46380EDC16E08945EBD749AD2AEDD7CBC7C2E2
-E3E4F666AAAE7A718AB5FB6A67297D8F9FF768FD216E4DB4645383EC452F33C1043B23ED9783C5
-C76331017EDEA82E29CCA8F436DB73156A71333E8851CBCAF2A721B7A57800CD72AADF40B6620F
-B932435AFE3FE986720FE713D424A3F0E936168960E171B9B5B8721B699C39B70E42C8E0430E66
-9BDD2870B7C4C66440C106DBDBA7665838F9C6CF6746E15DB725F500AD3D3E2BA2C7997FF0D513
-C91BB5C4824D51B89E7FF3CE26EED35E9A2DDA7420026D89674F7D3184E6C76D4B6D32F28B170C
-A928B58CA925E69F04A22E85E1EBB862C5AB0996F05C62E6DA8DB0B6195B72D473EA23CB8F9900
-3C7F35D51D480D0547BABF993B9235493D447232B362D382FF92BA13559F69A7E95C17976A5A1A
-979EA687227BD969D06E73018FB097319FA62D7CEC8B04419DDB4435972382C04FF9C5705DFBA6
-548561D31CE00457559534E531377193169A844152CD042223B47B7166A6CEED2B746AC21251EB
-900F93FC6F625D8FDE6E1D5374950F4DDD817548EBDDEF20123FCED4C3DF7A7F7CE65E9B5FC3D4
-F079B281D7C03DCBE9B8D87935D42CAE3ECE54EEBE41C00CFC98E64780935AD675962BE9DD9905
-9BC1DB597DE778C168F4492C26167085032E511484ACE6FDC8CF885DE200FF0A990226D0640BF3
-D78F53576875200E856089B11A57A657D37E0BC5B6046670377114396B8C740B5C166E15ADD5F0
-9BDD0CC3BD11C342B69C2D90E5507D83D3F6FD3DC144A2D2C80A02F455143F15949B81374BD436
-0E3591F0EE260233F84B50CAAC5013D6AB612837119AC3ABB6B2DBF0ADC06EB4D4295E48F1B6DF
-60E6C98332A380BB997B769F7C699827A6EACB9E14B79CFBF83E11AA8B96A3EE90A2AED4035296
-05834F1489CCE75443E75382D1B413D8E0AB4F8AA7C69A3E499FC0077DFC9C8AE155F5EB403579
-B6293E80BE372197F33AE16B3F41F75FD0350E3267D963D7D39AAE9F6741EB1D242B3F9CB3997A
-0577421B816164A5259457F56724E7FD562AE67136D5BF75AAE92934F73240C98F289C566B8582
-EFFF34771E9A1C04FA01AA96C258A3C7055087721981F4343CB87F07FD49B9576C4F9429BCECA0
-20027987609F6A49D73984819C940AA1701A6C70086BDE720E1FCB0C6FFF14E15978E462A3D5AB
-4D0F222A990EFB6D09EC67B467EFC88275DF2598F595186DE91F398AD8CA3D232EE6FBBF2B9595
-0735E0F625B709CD4ED126C063894BFA5FAC4F4B7A8091FB9D94D294E3C284781482184D9AABD8
-1F723B1F9D8AB2C7157F8E4A636F253CCE3EAD18A0F7D8C38B76B88913B8E8DF121902BCA1EE8C
-4CA2B05EFB5FFD8C1EE4702885EBE96755A2D581378F71646886DC140216D13AD4C3B3F2C0D2CC
-D8DCD4D9EF6995135D6214EC4E3D653FEB11C22F5EBFF43EE55230A86B8E78E312B7ABAAB7B749
-F7C73718504B28687AEAF731FB83EA4C0B9B5477CC52A5D0BD4252FAB095F558553FAEA5784B94
-1683E0DDE43A3C7B19A6C8A4D39FDFBE50F967095B202F5A184244C31C2149E73CCE7E0D32FEE2
-58425D0BCEDF9BD2FC249608C6ECBAD4B7EAA64D7D01F333AE334D173E859F163396A88A1E09A3
-96F47A3FD445731F18EA7BD26C621E349E314159B99DC4432ABC9FC2E5CBD8E162D9CBFC7F5D8A
-90B7A195A7B517A91BD8AF517EB26A8EBFE30CE667BC376870E405F4DEEA3CF4331B1A89B142A1
-DDF343B52419528628040D173EB0828C7B00BA62BF5DE4956B23FE62F555DC6EADAFE18315F268
-15D3DE1AD5B9808F3A016DB66B1969992BE7CC676EDC26B87A11A89278A82DB04BF41CB21C805F
-2D2CBB9B4E781F6B4DC755880EF054C74870B847332B344DD056F1A3D7319162E782A625E1110A
-C80DE10CB26F7E670BF997EEEBC31C0DC875BA67BF7EE96C70347DFE02FC64F4F7632B2CD1D82D
-026A2D7C14536E7C8ADD18491CF2C03B94BDF4A54511B7C9A515F3EFBF120491113E7EB58FED08
-1F16BE32EE7D1BD64CD134834F206E636F9DA1DF7E393659821490E92A81CAD875736713D6EB26
-93E0906C4347699F5632A7D3FEE62C5BD09564AEBECC0A09500F1216B2BCC8D9ACCE85910BC406
-71670117EC279DD3AE212329B50E55DE1DFA4D34EEEB533AF5407331CE8FCB2D39F2DC59654FBB
-90A8145689145414A95951C2E41A64375B3B7C7EFE850FC152DB2226F511906CB01C4D487DC7D4
-667678482DA2A0B57728BBBE04FD7420C49289831DC8A627C82236B3764DCDA399D5C8EB0E0917
-0A1CA8E43B4CC2C0ABEC5B60A0AEE5DF738B76C08B354372BC28A1E398159B9B6863458EF40BDB
-810731A45996A64EC80889B94A12C6C5E3CFCE7FEE0931AD3BEAD31C60E07B73B1828C86916979
-54602AA6226A830902BBBCC8D25494A7B24A67CE2B258A8050B9659D3FBD3E3B0499A7FAD90851
-0DAA4E0A8FC39BA6A871905BEC3535032BD2FC641F53274ED8A47B8D8F693E722E28480B33AF79
-780F246979C0BA9112071E45C735AC38E0A2FAE61ED8CEC4813065EBD1EB31FB5F0DF37322B3C4
-79D6D8ABE7D3022E1B10991F9DB03D3394BD71AD7763D8A287A2F11A3F4CB87F0A4D1DFC11C936
-7769660BF060965154FBC0255D6CD41E77ABF528922809D141A80678B1F564850937342011C2CD
-A7193A4BDDCA3FB1773FECD40B37F367507EBE2C4F69778BDDE54DF9EF70583DC98F80EE984ECF
-29646467A48115B5B40DC2C725100A5BDCF8524EE61B841A45C1583236ED7BD97F37E0A9486902
-55A78A4563F25BBC1957E267BCC2932B59EE9F62FD7EC053041AE90A165E4DC412F3B5525932A0
-5D1B729EE049E95FD7DDFC41289ED305430CB9A0BA0E2983C4966AD1E4C634E67899C15CAE84D6
-C6A0C2D6A2742D741EE5FB897E004FA6AA48ABA7332FBDF0971A4148FE73AF6D4094889A87AB06
-FEFB97E11ED78C3FAD76376C3620DEEF80BBF7B286290165F59B78E21F96FC2EF036D65B01589C
-14DC300CA2BEF5E5C9414A4B7F4E2434DFCBAE0510C7CAAF5F86A917BDCC85A0C7D0BCA0ACEF48
-E54BE1D943324E826E1E9D3F0A54D36474F74300F94E0D7391A13884440915D1F91F5BAF310230
-9DC18A2A75E87DA722764E799A11CE89833205B9DFF25948E5D1F3A3CB1E611CE299DB7343F320
-00F26A10C4E6358358A5F655D15D381A6D98002D83DE29B1AC943A4C6F428D76E607702B7774CD
-DAA3ED711F352F5A65DF01BCB0B7B25CF801E24A4E3977840D0C6C42D71C75AAA00F265CD259B7
-CA0EC27CF0B120395152F29EC1734FE5F40AEB4BCCB6D9AA0C5D38FE7324FEECAC5013446EB3BC
-E7DD468047D0B7705FEC89870073E5EF829D4B782A8C67E134ACA1FD7FF4405E1D399F876F9361
-4EF88E2F65E13B1CCB0D9149C59129391843150AD4925CD95A3CD05787EDC236B5FB0072DDAB14
-A148053A4E06169980490BA0E5B8BD46DCCD063AEDF19BB4AC6F1396296435C49756D043B11CED
-CE66E71108FB6A5F297A476EF414AF75D812D4E4830A80894809235EF1C43528D0AFE3938728A9
-5685049D31548CB5FBE281C3501D050E8A3EA525A55506FFA31F0164919B30A9B4AFC70225048E
-93517E234B0D671A9F74AE8DD155D35DD72C6C8FD359B5023EF5BC74A59D159E26BA68F3D0D7D1
-D90F1B64A4CD270C1DB67832C814B44AAB2447DCB00F73C1DD5080C7616111ACB6289A0362B5FE
-C39B09D62F924A98C37F1C3D3D18B7018E6F6D6F851436AF6CEB6669143D30C85F958DB2747213
-77B5B73738F9442586008C38B843E9A567F7EA876A3A33E1827F12B67516AB2A678F131D8FAF62
-DF923BD6C4C5C2DE0B9B229541A02E9185AB6C7A56F4DCFB59128881D87C7A8866140AEF0C6C4A
-B253B190E048A310F524CE453EBA70D967627143843FC4D19E4E71CCFD3FA84B72C51BD211B2D6
-E96951EA3AA1E9B66E55E0117A43F0DF8E5CAAFAA6BFD38C71D68AEB84BE2AA3B8C0E451405836
-59703D79568B7DE8D955D1AF3146F514E5D87CCEE9F308ED802B49DAF342F8F4555309BDC09B3B
-9A1D13EF3FE6DB875B775AA3A27B2C1AAF68398D1D7EC8750B7BCEC2B76F27EB16F5E496DF2A24
-D14B6D6C3830616E326BD0C4500DB16474F5703C9556E760E93F7101E251D14F1E425BA8BB73BA
-12F576A778BDEF7742BEB228BAEE59D42E05656281C48E982FD069917825F2A06D917C39A6E990
-60B57037A8798A3C9BBF361C826F6D0E565CD4A465770908259DECA452D45922E87DBCF7CC9687
-AC7A2E57B39B9C916C00EEE3422B79529847A11ED8E3EA4BD652240339959B19961077219C7D3D
-7AA153CE334B9288A4CFC5BD378C8D1AB42E6DA7AFE9A3DA92832A235D615AADB414DF33A7880C
-4757587CCDC298137211644466C077618B6A8B54484D62400B9CFECBEAA1ABCDB7EE78022DF46B
-A3BF4E36DAD7520AC16DBBD895FAA89CE06A3FC283153CC862DF5419ACBC27DF53A1C32B4B50B9
-34DD753227AAD35DAC0F77855524BE8BA3C0C11511E9E85AC4DFC9F4BB97BDA77864B162DBBB36
-2A9C08B76048A88E88FFD0987CD09D166954C59CCB66AC61A651E42DA851D7D7273E60FA8DC330
-D11A6D8087CB2765AF085C09CE05CAE89B110C6AD2C452FD4ED326CB66A48E0F09CD6D0C5287DD
-DFEE9E7368BF41E1935DBA23267C999793F2EF9B8DF8260A73642F322E3BF0C79B1EB998076D09
-DE104F146E6EA6EFEFD842635631AB2AE364615CD32894CADDA2E679354BB4ADEDA35763FCB18A
-2FE174762D316F10790EA888CD76726DA3D13458E7A6689A149B5709B455866567712D21E5819C
-5A7B8C4FD95377A28B73033E10AC486C72076A616813F056B1B39CD9279B64B9A382B506F3F252
-FD0F5107B9CF36D78B5EF60DD9784CA70E0BDEEFF677F50F506EC83EF33F832344AFB67F9AB4D3
-3DB24BE3D7A00B8A60EECC7EB5FC913C05F641C71542ECC9229F67809B8AA0175EF31ECDF682DA
-393A9343FA19C4AAB52E8FD310F1A2EA4987EF6ECA0D6EAFA414545AF99376FB13BD744D1A2ECE
-30E2DD47B5878DE5E6312EA76D699AD6C217BADCF535B46E2EB7800A84D3083A6270BB2C5A5D1C
-0057B424531EB48EEB29E445B1BAB27637FD4955535F62A1ED59C807F3816D46A96AA3B0160190
-5FC7F23AF175CCDBAA060ED6CC1AAE155F18C0FA0D8439BDB73C35BF41571142F8C8A696787041
-99B302C49AF02C4CD929D2CA7F0403BCCB6BA8B3DD12B081A9610487436274F0AC8C21B722C539
-22611009B8581352D989EE065FB2D1A8191C1B0B712C702C4FB566A19F382B4AC8E840DC2DC456
-BD91F7BFE2F1EB225F6AE1562F6DE9D4D6D46BB2426126ABA9E7BBD21F158B3FA9A040A18528D5
-946E6C5B4322070B392403AF18CE0DE9CA09FFCED6F66F7C646C3DF14F5121B34E41DBBA653370
-5497A448C4115DF01E7DF753EF61D9B8618796AA26E0A8E783A6DF
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndProcSet
-%%BeginProcSet: ppcod.pfa
-
-
-
-% Generated by Fontographer 3.5
-
-% Copyright (c) 1987 Adobe Systems Incorporated.
-
-% ADL: 712 288 0
-
-
-%FontDirectory/PPCode known{/PPCode findfont dup/UniqueID known{dup
-
-%/UniqueID get 4303738 eq exch/FontType get 1 eq and}{pop false}ifelse
-
-%{save true}{false}ifelse}{false}ifelse
-
-17 dict begin
-
-/FontInfo 13 dict dup begin
-
- /version(001.000)readonly def
-
- /Notice(Copyright (c) 1987 Adobe Systems Incorporated.)readonly def
-
- /FullName(PPCode)readonly def
-
- /FamilyName(P)readonly def
-
- /Weight(Medium)readonly def
-
- /isFixedPitch false def
-
- /ItalicAngle 0 def
-
- /UnderlinePosition -90 def
-
- /UnderlineThickness 36 def
-
-end readonly def
-
-/FontName /PPCode def
-
-/Encoding StandardEncoding def
-
-/PaintType 0 def
-
-/FontType 1 def
-
-/StrokeWidth 0 def
-
-/FontMatrix[0.001 0 0 0.001 0 0]readonly def
-
-/UniqueID 4303738 def
-
-/FontBBox{-1 -288 606 1046}readonly def
-
-currentdict end
-
-currentfile eexec
-
-D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC1B1F3F7121D1D0
-
-F2C60DD206B0D3C8C450620B47320CA0AEB8937511E456AADE8E66B301B1E3E9DFE17E2F79ECFE
-
-A709FF3DAE19B4C169DF6773EDA414D02915A6F0FAF8B24FBB0777C697BE8A37D63A390AD9DAE4
-
-95BB7E626721FF2FD3FB147C80D22BEAC37C2624D818D58C8DF0209F5CE76ACDDE57A303D9042B
-
-F0A674D095697F925F532D1814BEA8F8A5B5223A32BC4A95402F2C843181758752FC330970E817
-
-3977418EB4F64FD5E455C3E4165C9AB3D8504D946F6B5C3F4929D463E1D6E6B5810DAD6C7A6529
-
-0CC6DB960A1F943400A8F6364DB3742BE96B5CB4B78CDC5634A9EB3C62FDC481C9C101E045C629
-
-3CD9D491B77482D32797F4CC0BFF20576C2605ECADADD775B2165FEF0FFA0F4D88522D1BFBB05F
-
-BC5062AF54BB3FE2C0B371E8C7BEA0C644A32A3DAFFBC08BB63A97C18A266B310B1C1B92094348
-
-60478D282D394123AE06D8EF457278BD26FD6EEF9B95B5CC7D31E1FE462D8A5FACAF5CE5F42B45
-
-E1395A3DC60F37F5CC752CD81906F28D3953D61F55075081E14745FDD659B5B0A271C8A423A0F6
-
-78B1CE24E573A24B10A5BC378A9E4410298EADD90C159525B358F72149D24291C923F2C91D77A1
-
-32347F5F471F1139B9938E880CC5B3409B33859FE870D28B882B96D8B537BF229EDAFDE8C3F6CE
-
-7CF51F18C5B50E315E93E4896B85D998A43D47BC2560160139FA04813B3CC5C4CAD527A8BF8A21
-
-751D1FF032610410865DC43C499080E3162C1BF74077F8FDD45418BA7D690C23FEBE5E9DBC7DFE
-
-0ABBA430AE206C166FDCCACEA3D4D346F919FF8293111FF626461C28A9EF2072B2957D98A12B7D
-
-4072EA28F07755AE9D83B5D86DF4B2EC81023BDB5DE262D1AF3FD844E9496FBFCB61DA20388909
-
-7CC13CA9BC695FF8EB10B59ADE5384D2FBE0E741F97DD10CFCF168DF343075F34F63C2582A53B9
-
-2CEAC572EDFFEF54B2F8FF5D617ACEDDE59046C4D2D7AAE0F147D8D2FC3769AE15904DEDE6CD4E
-
-1A944E5ABAB181450C36C74B93D8CFFEEB3B5876F9FA7B3530A0E6DF9670E2BA9CE7675F9F1346
-
-EF3F5D38202A50A8CD6AD203250F2932EFC08C8A4F7894A4DC1C80F2B2BB2C71682D218D1481B1
-
-18964F33B16F5BD3522D16F9F3739F063D8D05463037060433CE5F2F84231EBFD1A0524497555E
-
-41856D173C70AE0E3DB9E1BF4C2CCB9458B0C4FF393BF62FBE4E4E78C53F67629ED378ED695916
-
-52083BFD432D05F8FCEA0FAA5BC1B4CE9EF698EC2345871944DF7AA4C4FC3616AD44E9785E2B43
-
-B738159C84261FFD04ABAD0F82033F1D367737F04F70CB2812630D170A08E9D6976F134838E22B
-
-82DC60CB4B93215515DF5AE0BDD7D9F150B1364A49F886F7B196DD4A358715CAD8EC282F9062A0
-
-6D6F2CE0BE1FB718F4F0C0242416FDA7A9CFAD1A67001DF7AB7AC3840F776A47D0519A7116374A
-
-D7620CF527DE6343948A7CE6763311FCE7F3180304C3DF53CCE7DF85E9B21A8A56ED2CB0070C85
-
-56468DC6D6EC4758F34423F6AE9F1F973FEE394769B5ADA4A08C90AABD5D07E0F07E893580137D
-
-09CE94A6CF3B8CD2A650A6F8C42F33A5BF02A2F04CC0DA224FEEDFA59F313E8E5BA98A2B95C59E
-
-081047EA172DA8569345A62FC12ADE17DEE499CBE08ECD7B18A79553B3F391DD7C9699FF209B4B
-
-8174D217DEC328C0A8939197E6C40C6153F6A49E69AD7A7333386B30303FDAD868DB58A9E5A13C
-
-AC55EB76A2D241F93234508B436D0081783E64B9431260115720ECA10156AFC676E012A737EFA5
-
-0EDFEA396E2C125CDB78BEC266F894FE814DDFBD24F2D1DDD68A9773334FD39E7A72C023EBE0CC
-
-A6E5D6E0E3C67F3187B4FAB906302EB810BBC5ACDEBD482E00F281DAC4A87C83FDF08F2E15BD17
-
-8A77A4792F69C23486FED2344DF26043D76F4C9BBF54B2BF425180445D9563D99DD8FEE3F8D2C1
-
-A660AAEBA6E0ACFAB5CAFA7742ABF17244EC9BD43B74E64659D03369F252851340976AA18BEA26
-
-2B9287566460ED054923D82797A31C3E4BD14FCDF9F30C94B50364368C1BB18A10BCF47325D833
-
-F3DDD815725F628E9242CC62155550D54E1B698FE66DF29B79817757E02D05190CEA5B78C35D05
-
-FF87E5B2ACA9E7E91FD5233DAA7F5378919BD11028F25439E1E35A5DDDD8CE710F4DE16C1CC0CF
-
-FB1A9BB9F2B8635609DE6479E83BEE8FAA4DE3E28932BD18E07EDC326B1428901A77A3D23E8B72
-
-66796CDB8B5B180E779FDD9DB73AEE5F45F72FB55CEA6B9E52A2F72497A0D8C12C4E176060F398
-
-7584E5C0A8F6B74935349C153AFC56434F27F0E248CBF9E6009900A7B23315A0D835CA08DD3A34
-
-697F381E3DF8CE655DC3B2D383B002DEB4E87B0B7BE14130F54CC3B433CCCC9034E021709B6F7F
-
-8C25DAAE692BCB399595DCB00978FAE3454D48EA1052369B0FBB4B340D3AC6C3279AABC6526F99
-
-362C7693B0C0167A539CF4C8EE7C4B6FDBE6235D0669FF525E05E127A0E2FBEDAAFAA82E843EE9
-
-0CC32A9A80ED98542E23D7819F5551D8B065628D4532081B00B728CE2C67855045475D9D1432C1
-
-C83F12A3A628D302697B418D6699C9E4380704D05C0270A736015A59B2C4AF2EC384CF0F05496F
-
-01C977FD39C6E778F38D5E438DB5B6B05E333AA6F4D7DEECC6CB4B098E1E5138E9829D93B21F05
-
-FCD3B5A316BB3452C516B2B8935B1BE80E64A7A7227BE6AE842AF11BFAF372AE4E41F8D99D2810
-
-427F709B97E3CC0DE4C8CF59A4B59582F9B9385B4F8E822107A79CA447B9F885477DC4B65B7BAC
-
-30A40B5141A9A3FBAE99F68B27A3CECB7419103BADB770EF627B2AE0C4F6F368B1C5B9AEF0804C
-
-FECD822D6D8EDE9F42E17EE2A6D385FB06EB17C1DFFA25626E6699C4D3B791FD65F2EE5D69DFBF
-
-4CC6E06F7F4EDE642B163699B239830DE0D120E1F496F4026A31D469E86C35B01310D9B521F5D8
-
-614AD281F159E197F8A66C5325A2946216CCCA969C4F6D2FC05080BD50AC3D43026B89C2E640A3
-
-5964555A073495388D487E919C7A40086217B32FE8B5215A212204D44728E1F245C913806693C1
-
-CC8FED12BFAF14C4DE4DE0BA32D76AF52F6B316E9E64538A72BD461DD2E24158C75362031800CA
-
-20F70387543BCFCFEEF0D1B3E7E108E106D8B172B4BC40F83AE4D58CF8CCB1230D6981AF00A712
-
-9FA1ADDC1EEDF23A339DF93DF45A3FBD7829BD840CE86EA2CA24E020A0FDDC24664EA42BD15C32
-
-A2CD1D7C327CF329480B7211926FDF44FF1F73FD248D980956CE170271C77DEE57164BA2FED513
-
-5C3777E10956C9E382D02B888261BA22FBA3D5374BD2130013FF2EAFA4CE4C1235DD5128FDDAB1
-
-63059F4A7B911B96C587526533BE7255749EFB41AD032CC00CAA20C2531E4DC09EAC48AFBE0425
-
-431FC29CA48A3749AC9B012CBB209F77D931599EEC8645EF18793E79D35C63D4F1A7134284BE50
-
-00DFB32EAF9021D3C8DEC2B119E376B3F2E94731B23FDBF8BF6D36AD9174F56756B90207511267
-
-8DB30EF2F34F7921AEEB3A00B6EBE69D18F6D1D10C5B5F5CA5F37FEB97546191F17E1F897637D2
-
-9AC366148A9D7F09B0614F630F829F155ADDA8E704EC5C49F963BAE89A9A6611177655EB85D2CA
-
-0075DF5658FD68641AA7B31B8E1EEC8F715D6DE9D422274BCD8382082D625BC812F5DC3F86EC0A
-
-376BB596C233F01C6F54780909671694E902CC1B96EFB0AAF2B42BC8BCA01FF6DB2348EF7DAD3E
-
-7E9661189FC27D69122447BF81F9466A73EF04D4D4BA628B63BFB84AE88B472965ECAFDD34F7AF
-
-8BCA51077C2CF364F152A65347488BCB948F87E99E10F430B2B0964ED6114CB69AC8186E486D37
-
-6F57C438B8959C360FBC3550A3FC6B973B603F64D2EF99455C82E1107434A0EC3EE4E1FC1129A9
-
-FF12A23246B410C74E13FFB07DFB6A6227A73A0B6B4518A0BA2FB6007B21AA81A7EC747C525F2A
-
-8E6C2569A9E950E0BAA17A5C9D9A1E5155147EEA4DDE831AD8CF69C7814D76B503933D91AA93E9
-
-A97508AAF29839E177898D79BFD277005819AD87D9338CAF02ACAC44F891F92813E7DA69C82D7B
-
-6EA717564BCB1D470B090DDBB1EFB308613AD61F5D27338FDC8172B258009CB7A5FFB872E43C88
-
-20FC3B8DAE2EACF870D7C5A88D4261982800AAB36E94968A4C5C24EC5B0E538170E8C6F9AD61D3
-
-E6C713B6319E8DBE7074CC2228770AE51649228A9FC184AFC1BB7C67628FF30360459352EAD6B4
-
-A2A69A3D39182E56CBB2864A2C1180A7C777E7269C5743D5A739B53D3A2C5BBC9ABE8337C35679
-
-6BDA40101D11EEB43BB8EBFA73E4E7007A2EA443AFEDA678E1B14A2AA2AE6A06D12398E68D6371
-
-A457859C0FF25A81C5DEC3AF48272CC5FAC044AF2E71D510E5BAAAC8A50542D9379880AE7C9D2D
-
-1C822B5477DAF5150B84FB9A1A062C9AEF9C03F89E0269637F056BF65A92CEADE31F2E3D4C9589
-
-0701A4A064605CF79E933A85185B50D14A4766563A952D5A3C99C16CE7A50BA68CED98549DD395
-
-F6698BE4F7976AD5A00E737AA33CA51F4C7308B66B10BF636B3C4DC8866F1509B081B178059340
-
-BD9849AB487CAA004B8E60241125457C922340B1BC817885B703914B0FC58F1391016FE1E3DA04
-
-AB5F2056AE0DC8A681C8DE6CF5FA125D2C7F5967DE841F076AEE8791E6C17D7F698F2052A9C641
-
-04924F9FD85BBAF77D9EE8711F147D730A6F89DB2965CB450F0820402C2E52CB57977BA0A77E0B
-
-7682845F3E4266B77304F163AB2CFD49494917D2C5963A704CFE46C643EA7ECE441F82E272444A
-
-8242BFA6CB813B661CC9431DA9C1E1E9C6A861C6C0EB3053D1D62CB774209A7586F9694B558DCD
-
-625B55A0E9FBCE5C15A9A002BC9478908553E95302BAD1E4DC9C250AEF170495FC898FDEBA345B
-
-B4AF706334CEC5091F8AC4A23821D0FEDC6167A15F45633A30DDA88EC3C8C6E235A5A3C1BF1BBF
-
-03A896CD7804C297D6BAE134DFE4E388872A05B92034AE70DD0CEBCD571655B15078A2719AB32A
-
-528E613F2BE3D5AC5F3C938D23BA20DDFF1422560726B62BCB1B9EA09DA1A28EDB55F5CA2D4E05
-
-50E1231157A81978E7B05FCEBC855E54A936DD4053A42ABABF820E3E4D37278909ED49E49C6213
-
-9575862EDB983BE4EAFFA6B946CF4DE068FEB740927C19935D25DCB15E817847214774F290CF03
-
-E862E76335CD1CE46188CA3969F0B3F9F1DE174C9E480C4782CD5DD6DA4F19B51F5F09B78CCBD3
-
-D5AC80DE849278DD5A84BE0F9D67229113FC4BCC4829F89EF61E8EEB93D48F263098073996CE72
-
-05435589588FBDEA91C18F8BF53C81DCD10C74A6139B5A68ECE7ACD3A485723224DF00177B1D6C
-
-48D7D92D0A5A9E550D5E061765B49616C65305916E9C0C527F6A8EB6CE031EB88311A9686158AA
-
-B526BDC7B0ED01EF2E84E495D10A50C7BF87536C4D4BFAC22CF95C58462A7DEE8E671752E98429
-
-8DED64452AB8463A8D4D98CB7E2121DCE680D13CD52B4CADC738692F6C5C32AB378CB2FE4FFD68
-
-11B2F99A6D0BB9BDEBCDC827DD77603BA5814226F39DB9AA83AE2B91C0C6020E934190DC610136
-
-AC6CFC5B6B5E86A66DA2582406364FD1AFB14360CA16EBD4FEE6DD5B5C42E7ADCDE9B54661CD25
-
-1464D5C7F89B62C99EDAA697A96AE85C1D280BEA6F700110B2E39C0D09BD14A548D2978881EF1A
-
-38DAFB197BD78D62A17C343873F279EA84155D79E17887C8C56B8E7DED38D064EB811A953BECB0
-
-39C9EFA45424D6455B869EEA5A252D940CF0E43D5162EE408E75F2EF0BE2DFCEE6448DDA529BE7
-
-57CE4DE31B80A4676D23FC0E901B89CF02AA0562BE66185F91037B1B56809FF1046A6FC39C9B9B
-
-7EC27BA4ADF238760A575A472273BB64C5E2CB776207F00315B73534A539764009372A74CC7612
-
-9DA6188A383967DC1165C07C7B1F93B39C6C201449106A0EA1276634A6162AAFADD21C61C1D560
-
-1BAA67902785CB90C87B611D3A6A3B947013BAD8C60A3D4D339A3025BEC74B6DD387B7AFAB831A
-
-87B7A71A37D251523C48642B1D479D8368EB31F8BB8355EFCCE5DDD1323FC99A56B1089B752A13
-
-52770BC7E1821A398890B31650E8EE14B0D49BAA92458C15C2941E434787EC4BD034C40BB0E209
-
-6CB29B175387729ABF0962EBD02424F0BB509687B03A39A3BE9658761F0703C5D839B60C4F98FE
-
-FBFBAE07202E2CA22AAEE145DDC10409010E2A59B934401EAF67B8EB499ECB92B375CFE8D54125
-
-CB6B20C9968BAFC45D1A8BC65D98D7B702E624794EBA8C1EFC9433FF2BC3972F57D8FABF27CE44
-
-2FA32AB83AE5DBADAE01EDD183403D272AE3FCD75BCC750C90DF7D0B5255518AAB0C92D30A0164
-
-59D9821BD7E1D4C4F464E19B0AEB78276190D726C1D7674708D0A74CD05920C2A8FCCC8581FEB9
-
-998D735D811623780F129F0AAAF113F75EB28F383C9B8C0C7A2221C3A4BF641961F38DE9DABD33
-
-A803E9436E5B9842503581B3F5445AFA039CB10C936C8B0C08DD49BEAE1190AD611F3F23FA77BD
-
-71A80A1F91B7F3760F5FA35BCD76D8030FAC872C637217B07CAA452C72DE3F805F58820BF1ECCE
-
-231229FC5B68E5F1B20259DC92AF481FDA92D07F276077D783AA45349915B5F81C8C969739DB56
-
-F4522D02D547DC76240D69CCF2D684242020DE60ECA37D7E2846C5045F6B2D105B7D5A3CA5DE6E
-
-73A56715D5DE5F3EEE3559E657A5EA13C9716E3A7AC0DE25E1720D52ECE8A84D5D1AEA04DF0F7D
-
-D846549BAEB5C5032CF3C251A5A63A99DF1A33D0548A72735FD9DA8267BB4B57A5C58D4457BB12
-
-42B5152703E62B64C02AFA682C65C4112B2838D9BD8CEC6BD9D1BEA882E5090046E9F22087E6CA
-
-B69F5325F0C69A4874EE820D18B64DCCAADE6EDBA3AC758E54A7C9B6EDBC40550DBD4758017842
-
-1A8C5B6967D858DB9836184459E26340BCCA7636A84B7B3CC9596A907528455F4646B5BD789E94
-
-9DD0D1F40C0AF21E3971996FAAFFBCC14E19030924D0D38A948EA552971BA65045F2817564D593
-
-4C2990C6CCDE26329F23D8B369F3AAF74A125CA1FD552BC7122D21109FFB36CFE387F22CD09CD3
-
-CCD47EFDF7F671397CDFCB3F457B2E6FD2E2273AA268C4C394B36145131EF2D4D10729F64ABDC5
-
-EBC7B20BD072EC170432982280341735297A7CDDCBDEF8483F34AF7A797160402B10CCA1C78AE3
-
-9AB6170CF6DDA19EF0F22BEB283277E06544881B6B0D525936A84EE91FE0BA8C2985B6E32AF94E
-
-DF33E6CC70408F3BC67070A90E0641BC68B8CE8FDB46BDE2FE80BD7070F0A9505B0959B1509E84
-
-CC666CA7CE4EEB631B6E8D19816611B5ACE957E104CCF3439C2C27741CECA6F2956B0C5E0BD7C2
-
-B417C375B630D4CAEF428A88584A3D1962330A316B9058BB1324FCD908781ADB47B39425A9FEF7
-
-6ADAF499775F68F98F65EAF80BBC9D4015D05E816D2EF9A1FA91B01E05B69B9E1BF75130B4C7D9
-
-AB29D95C07A4C3F2DE00C7C2108F7BDD2F103D8A7BE02AFD12D1ED26A01AEF6B18CD6336765899
-
-805618E0405C18CE7F06EFD796EC9532ECAF6966F76EE335419454FF647FF14162CFE1ACEADC15
-
-A22FD4E6DC78A93D51A6076553C2D707399D27E5AF882813BD3248B9110ABA3CDE8D3E6BCD23F1
-
-DA141BE6D45A9E6E36FAE1DB0C0819270676536536EA13DA4F07D5BB6277F7E4C609E4E16E2EAC
-
-8806F28F4191E71096E2495E64DB238E20E0D1301B3F34D9FB4E6E6106C03B6240E10C0FD01B6C
-
-352E9BB9300C246D0C020F2B418D76A0456784E58A75AA5C725E5F9269392A90D185DBDB5CE2FE
-
-AE31ECDB3B63843AB2958241BBFEC3C04CE0AA147C504A45DBE05503DD493A03857BCD7E4B37AB
-
-E8572892AFF4E271F510C7E0649C58B3E3CF75B8C3BC08EB34AB5F765813E99F99ADE259C45327
-
-2672F9DC25F031797C4269E8CAECBC3E92D1A59FD1285B46500F9A2D679EBECE480945D79A50B9
-
-D5D1AE90727DDFD6F8C5EB03B2EA70C169828FC755BC4193CD027EB52EA2DC7AF09C0865695106
-
-5BD78AF57C289697655A3432A457792BBC88949C40F4BDC071793853F9E8777839C7D7F93639CF
-
-42F1E4520FCBCAEBC3BCC53C83334033C25E50C72A3BE0F337CD14996326C169B3921E3442CCDE
-
-1A444C94AC8D2ECE632908AED4A162A74021555CA73B235715B965CC867727E48C3B6B39B989E5
-
-33B92BAE40A0FADFC8BCE85D2A7EB6A1C4CEE21472345421F9B80C5EE641C91295448A51306CAA
-
-41916DE9DB4A78C7381067314A8B39B13F54022882286724BCA2C10687988E4C4DDBEF5E2D36F4
-
-36C9F6495E0D40AB6F35E7D0D5CB8C2A753B4C355D0CDADF49FBEEBA5239A90A56D826A9BE12BC
-
-62677F07CB1CA5AD3A8A39E10577E5FD95E82F2EECB4D4F7B55DFF835663822851B7B66FB4CA4C
-
-758763437BD7FFA955914B267C18A55D7C913C4B8BBACE885F5806BA7265167003198F3C3236CC
-
-982EBA78D01F4270AF563611B84C839F9F414A0FDB4CE0E3AC0A6629378741B5993B40CA190243
-
-C30C55759CD545B2843404994D02ED271D807B212D4D39067624C5685D04935F7C936EDC0D6F9D
-
-DA112228AF05097780EF6B3F7E3765B7D3B9D9B292400D7E931CF98B84E5AE51D6FD741E6F8401
-
-D026309DFA92510CD2254EB234E6B2A04AECDF39C03227D07096C4BEA57866D91099E8CF5F0E19
-
-A587A498D6BB3B492EDCE600E463A0B6CEDD0C33C270F99FF12906EED6625C61442D7AE3A8060D
-
-85121920E6B940EB9E55037F40D977C675DF6E825CE46FD9A1A3938D9A1476C0E0A575270004D0
-
-B56126C50A62FC211DE28D34C404BE017A823352676609A5000182EFC3DDA67D03A12CBB25C99A
-
-6182C6D3D92CBBB2F3B2D3F3B7FC90DF0C60144A233E71ED22D4113EFD9542081802AA7A678C9A
-
-F6811790ACB3654DFDF82714598756E365182A7BDEE311B7468FE07C2F9B829B65F287D55440FE
-
-32240CCE521E38D71999A84ABD6F6C1FAC23945BDE97D1B2EE8234A2A12F4F61AA9316C7949D74
-
-660C459E2AF21699FD334FB41D5A2CB869A45551BE062EF3363808ACA5B861C5CC05A0F74DC620
-
-B762CF1260100F7AF497555E3A387DA9B836F2B1FA44654CD5B9C3C6F11D5B5552E2D824B7B1ED
-
-9E2597B1849DFAC61041287E996855B0ECFD21EEF4A0AEDB4928569D34613C74B46D7F46B55ED7
-
-5532217BC77B1E075A4B5F782D2FE5748F12B50F7146AEF506A41A6A3364854D8AE4CA18448626
-
-6368E181874148970B89AF75967E61EA7212081F85AB17DFDEDC6F0FAF7F415B3CCDE75688E85C
-
-1DC939D767755DCBA622BDB3631E120BEFBA3733F8BDB0A9D4DF8737240385A6ED642A3B6BFCE2
-
-D3B06B16F994CE49BDDF355A5E8F28C4DCB6AFAF6354A97D490B54B8BFB9EE2CBF5AAE669E3149
-
-4461E70A60156764F25520EA13F12623F3280343822876660A7F6603B59AC39D425B38217AB4BD
-
-E12120EA6119F32E080CDE4AE8DFA21E23DBFAB037421B20C3A51F4AE2FB5DF4585ED289147427
-
-683F43ECC822E0688E6AB47619038D4B9404CBBD9324BF32773E8C95F9CDB0CD68748DF066970C
-
-AD2BF8E4424940CF6C6E41DF2BA07DF4085A0E6DA6080FD43FFEA0A71AA7D00169D8283C910BC6
-
-F00646DC8FA6522C85BF46A863836F64CE73A6FBC0538E30BE63930B0EC1E4AC40A1220A99640C
-
-39F811C42AB78325AF974A27A0C2A1A2785A36EC316048E56867A1F85F78B36171F126B77C114C
-
-B7A8E05AD92DC6860D5893964E898998C63836CB5CACE1EEA1C9C837A1E22AFDC4B35E149FB0E1
-
-BF248A25847604DD6961DF3AECD1A9F61C36E3E1E4AE1B9F28FAF351FDA113664BBFECE0B7C5E2
-
-3183F8425BE6906A56398E33913033E51E06408E001D9C862E36A93039AF47F5F301B6B5F3775B
-
-4B2D4258B866559001066C6EFC48C55F4C3F0CDDD8EF525EDFAD6FC06213819A9BAE2E5577D404
-
-6E4656BA2F34227C5E37F0D77E964779AFDBC6840616CF02936F281FD353F2A5D8E7814AC6B28A
-
-71BB57253F852810B7DDD5590A522C50B56BE251DC7641E0D1E271F8C4CCEBAB65B6E70F86A7C8
-
-32D55AA3E61DCAE504EC4ACDA7C274AFE9BC7E75610C861ACDDFA5DDC4E8EBCA24A771BF0CA3A9
-
-8B88A6ECE52EFA7C8D55CF0EE850A99C9239A4466B558B6D020FBEA8D22BC6AAE4292B90C9A983
-
-6F7F4C5A588E6CC3DA3313F5FEBD4E5D2F7E454EBCC9939742C67E7C01E510D507EC30C6E6D340
-
-510EFF3493B2209A7AC43B484921872315657D3BAF59CAE38DEA48F394E4DF3A8C930C61C54610
-
-300D66A423A4CE2392A7A422883EDF08766119C2D7B7C7384821BD6FCD1B77B1BEC14DB15F1087
-
-E89ADF4672311FF368EAB60CBB6ECEAD34A7507A781B1DAD557ED19C7A5B5E334851268DC21824
-
-53CFB7EF47D15BACA68453301E95125A5CD35FDFF1E6EDB85AE7C228180424A2842ED475B31AF6
-
-240A480B6F6D7D3652808F8872F859843843D862E81E3594AC3AF577E79F647322392E4E63CC08
-
-937C2976FF749E16C58DA39B9035D802D0F0A9D1DDAC1894FA71BA3E41849C133445191D41D25C
-
-B37A8337C876A5973EA13567389FF89C668E0D13E225964DDDC3DBC949B46E0E75A2BABB6E2AF4
-
-53F65ACDCD45A394BF20630802BD9B9418459BC7736E37244F9215F2D6F534FEEBB1F841962737
-
-D48DA7D6B30A71BC4173B6E00ADB4EFBA91CE6332CC517B39701E07670D3D1A9A86A7102E6A80D
-
-C1EC6CD644F5511D0938DA096F80B49CA3444C0D96DD79D3F8832D0410F0430128C6056DD09F34
-
-4CD7E8D743789BF3AEDB8181DEB1A211AA5320FCF790489732CE6A982B1403CC9E2AE6BB9AB5C6
-
-863C320929B3861AC1011FA62C44CA18B10CDD9DEDCEB73E9145B73C471C6F828DD188804F96EF
-
-DC3D226A2A5D7155F7F8BE7821DD39EF450B5DFB14DB6C4F568CADCFED8C702675BA1C04CE6D62
-
-839727FE6F8AEF59693BA38A2B900D0D02C56D2C632833D2D360ADE07ADCD4CBB620517D7D0B28
-
-E3462E6EE2D30856BDA53DF4D97FAB059B0657E815921ACB16E1AB6CC72FBAFB9290A1ED432A32
-
-CEF7D8CA1938582785D12C9D9B108DC564A9F80B8C75B5B02A1E1C9C5B793526CBBAB9042F479D
-
-AB1D9EE9C18184692C81AFE2CDEF26CA418800474E6B742BB45CF02ABCD86C52BE10C777DFF981
-
-464D624A7B6E455F6F8D5B7F84FABE288DE3FC4CE4A23766F3D771463AB1E555F2E1ECB61B6A2C
-
-987B43C53B636DD466B57EFAD09811C728ED313B950789B262A17EA932A745EF43A8EFDA16D05E
-
-9BE49D3B05D7EE630434645AD245BBB5600B8AACE3241F3706A3D5B9EFF0A793C56A8650EC4CC2
-
-55E4A001356BF728103F59890540DB9B3F2CACF788495F63BAF1D36B4FE10B86287F213695E48D
-
-5BE20EE7025222C8AEE4F5A17D7633232460621F7F395A225D994AFF8D06C8351FC83F0C7FBFEE
-
-32352C1A3E35651D219713019CBFF78EBC3B14C5C3E25695BC44582008FC053F6E7FA8359E8554
-
-A7C4EA90632259302ECFB9B5F1F9721A37EDE9B6ACE78BD7C68C73A960346D608CFF7152681EDA
-
-81656541AD4EF64B4B88FBE98106AFF6F2051A871F7AAC5337A8AA2A16F59B10447EADD084FB03
-
-C36E5F0A4781E4D83402944714F176FC9420E21EF3A28FE65CC9CACAE128401BAB4E3322D6301A
-
-18FEC595C05BBF5C44C65D027FC3698F66A07A567937123D59F16B9290B70B838FBD4C6D12C460
-
-69309881DDE50DE0224F10231A0FBBC19F57E7B6B288622F40676D53F4DAE27C6E30DD31759A32
-
-EC0315875DB779486C9B4F7336516C52C537F6F25950DC671AF3C749E2357A48E99D032DAC9F90
-
-25B162D672A01908842B28C2A9E8FB13BC5411CB1375A3B25871E7737C2B1FEE4D43949DB1567D
-
-E2AAE44C1505871690062358088294E4929D552847A6A94A075B7D0B89D7DBA645D26B86F7F7F6
-
-40D7AE4B47956DD5AA054DE194A5756B95122F182D1D02504BEDBEE0ACEDAFCA0DAD84092582FA
-
-0603F025240375B11E8C252A5417FA1AA4C96DD1C4A369C2E594B2089A3EFB9D936224DE25A421
-
-588718E6177C8E320679EA1C639ABD3E4BB653DC17AEE5264E991BFF63769A7C07EEF6B0E6C1A7
-
-371B889B8BDD14DA43EEB252FCD82555752C25DDE92DEA11E3100C8BBB0E2D8D38C29E7ED42338
-
-9811C21E4BD162FD75AB1A0E5A579352CFDE9CC8FCD3A4CC2B5C4D84CB5A6E2E52A52A3D8EF445
-
-37C6F812694DA5119CE9B78A2C5F12454B1BA8AD6BE5D2088906C3A11A4CA80B2120434E92B526
-
-173D07C530EAFF61A2712F7BCE3618197B8B6175CEAE93186B7308CAA90BD20054D9F48D13B40F
-
-2CB81A08D202195F3B03EB7E14A17F5415E44C981D47E4CEBD46FC2CE82B3D0F4EBD242985AE51
-
-0BB6F3C1A702E86ECD278CA322575D75ECD86898F013499D0A7FC1FC127A6A69463BC44097D47E
-
-8ABC50ED36E4EFECB6E5553C35CB6CF6BB4779CF22F5F6970F15F54159FE5BAD7D57B5DD5B5BA2
-
-B2E25069EE77B06977BEFF18D21594E6DDDE2D44C7DF12A80121FB9A23BFA16F4A7EC7AC2B2AA6
-
-DBC7515E18CE39BABC04ACB1CB8C0A01A3AF169181C47AACAA0F0D803EE4C40FF0C0FA10963102
-
-330F0BA056DEEA02A240568D8DFC3F01DBC42DA2AAD17CC9A5F1DF12DA33BF5CAF8B22BD521DE2
-
-EA2B831135417E80412B244644B0E6DA40DD3E5C2A283A75950F686167719EA69AE1DBB00D7356
-
-FAF3310D24066D4941EF70686DC859CD533BEAFE9D5BB4E470F38B09104FD6B63A1BC61CFB27B6
-
-710EF092DEAC78313249BF66608DB507F08D8B9CB55BBEE1CAF79C83D616648163D56DF637E506
-
-D06CB45CB70CDAB90CD87FED934E0AEADC8C56B70C687B44C30B84376A02C04870E0690F7F43C9
-
-6536324092C7F4CF7B64990EA4C5DB456FDD7346FCF55121A5265A4B3169FD5D8ADC14A175F75E
-
-F8E86DAF70FC4F1E7A03181ADC6F0F9CDE42DD2B4A853E81E9A40E17AE8B0B95FC60E635C7B460
-
-477B582E7F45B00D78A4703414A5AB2A33456DAB7247513CACC1370A02D3E0B1BBDF5991385FA2
-
-9E03F7CA21DC18DAF612FCAFA8E35DB3663850181E046954938715B24C4F3F569442B5814F22BE
-
-89C60D912408D5051FAB8C57722FF6942D045A2D62B2A696867DEF3915EE1973561E8ED1654B49
-
-3E99B2775605066B36BD156A1347E06B30DB129214BEBFEED880C0B58290C5F6295D243EC46C6E
-
-122F6E2EEF4C7DB5AD9EFA493CFB01173C8C92A76A5F900DF0203032C490208EE5E8C0088704A6
-
-BC1D69B4CD2FE122FD8DE579801B110C76FD8FAC88C24558B127BB90743DDE71FDE97B1DAC7B96
-
-4C4E5DD8EAD9F0E99D451ED92B4DDDF8B76643727F8D011F3E527A16A703CD8A597F18685AE00C
-
-D44944A77B69D092B3A61EC940DD8F64C1850AF7C8D17B690239707000BA1A0C0C1D23648838A2
-
-1C0BFF9240EBA6DB5832214ACC8CF022BAD305F6594A9C5B7FBFC3881958A170B0267870E4B831
-
-F68951BB9952F79107BCDF24BA4B41EE2FC31C07E4A4A7340B36B1CD121789D633AA958563B80F
-
-A6CB56F11EAC5B468839E95666A96B7DF9D3EB16F56D69BD3DD6DC6D34458B3D56D55EE9BB2E52
-
-EB357887DB2B8C12D064EF31E2B53EC48A4964FEF00DDF0CB26E6B2FFA5F5866649BC3415C0E65
-
-10C09814158C8B391B74A3D7A07EF7385193BCBAAF26ED086191FFB8328BF3511B4CD54C636877
-
-A916866174DF0260801639B3024B9C965116B2A68DEC8E171A620AB471F673391A31B081665F27
-
-826E9AC2A33DCB0565134E407C618715E146CECFD58EAF40D1575A805DF12B71AC3D3BBA4913CA
-
-D84185BB7FDB6A2EDC904EC0FE8D95255FC50174A506DF939FC0FE8C6DD4D27566C32569EA2339
-
-583D4FAA82E00FF9DB8D3235D00AC3C1AC58306D2E02D65D54DEE6DF6ECF33726E2444F60DBFA3
-
-DFF4F6FD4AE88376B507E721C9E9FE030D77B95AB29C6DB703FA45515A424B212ACF9D658D848D
-
-120883DEEE78345A35679BF82D7C26297259D8697A0C221E26C6EABF3A727D951221CEE74DFDF1
-
-5A33360DEA36DD0063515B5DD17C204E0F4D4935FD0BBEE775DBFFAE232AA018A04A5E59EC63DD
-
-DD0B8B11450FFF9DA0D4894778877E0C63C82489D3F7CF67B61EE08A61130FB77E15B50B7E87A4
-
-2F6F837D50FA3665528DF916B187B11955B0424A7603F1F6DC1E2BF41EAC6E98E9F0F5F44580A0
-
-AB8C649EDD4F960F4759CBC2995DB0C0E07A8F773EF9F58EA54429779B7D085FB46A519CA89BCB
-
-0340AF843ECB37A8208B7736AC27481172728C360DB17CFE81E3635794CA918C2BBD6654D2D4B7
-
-4006053EE17D1DD7EFB8EA882CD055BB5FC9BAAAEE63089A6F20BF88ED9EA643AC27DCE9BC1F1A
-
-B9F15B40172C7E4C0602D13D13216CF0F2D57E51B751AFCF8160835FD4E3D21A58898401425961
-
-69271E2DC95D72E6F075F413C96DB7DD17B3FF2608809D0877E212A7D1D17E74CB4FF48B65645C
-
-B8126D05AEBBF1A6EDC704787CCF57F9B7CACD75F748A5A6A1C4EC863CEEB2BB1D9A4A207B4E0B
-
-901060D0E3A9879970AE98464D8D67F9B4D7C6E582F030B8D8D62E15FDDBBA25CCA8A9EFBC02EF
-
-C304CAEE902670819463DCB0414B3D185AA6DD370B81CA9145C75AD4F7A47411F2BD0CA1507488
-
-117868458C0802010078CB4EC2BE0308C9DC22AEF5B2E9294EC00BB5568916164DA18CE69D170F
-
-A3641D29D0DFD08B5AF6E1F1951CD9257C0699B3FC1B6CC19422F433CEBCC7CC1E0D30CCA1C6F2
-
-D3FFB1384F5A1D32681A5DDF49933629F7B044E45DD748DE8509257E688F1CB637FB766269CBFE
-
-E206B2C1560CC3A84470CDCE8FA0C74274DF5094D413D5A51D1ABDFAA66D9C9DD627D72C29A9D2
-
-B0A3552789774110481FF3F7E0CB583C7AC5634F0922C53FD81601497E96B81008D9C5B49F4ED4
-
-01FC2CDC9744C2E31941BB1DA34F6F6CB63DC2C23A4BE17D3D13D413188A2AF77143021D376E61
-
-7EB1B2D30CF5A1C2C76EEDEBEB710C0C4158958C3D2BA289895F79E3DD45B030D90B12640961B5
-
-030D1FFC621B54A8693493B5FBDD1905132ED26F9799370A67B0D90F7F9DFB080E141F643936CF
-
-DA810EE85201704A15B92C4419D65C0BD1ADAC4F157958D52B528A84BCC69F57A25123A04D2202
-
-319067B8B8E80FEA80DDBA9FC075AEDC480E8209111F9444742A8707F576A7C7A1DDB894A33813
-
-C2D6FFA7B08E2DDC1309EE20B1D80BC387F9DF1BB786BF6E82640D775F084ABCB86C07DF15413A
-
-0475F26FF62960ADD1B94F20FFB2A908AAE2C79AC4EC3899425855D80262B2758E76A4488D3A47
-
-0058CE7BBBE7C991183499EBD2C550C2918EDAB5BD9D43273C44DD192024F73468BA0EAD2825D4
-
-99EFF4A9B1C2FC64AE2222A17116C1F8CD61622B08BD573036C48956C3513A6A3B9F066915378C
-
-2A41B3163689952847ADB7F624303785E9F61ADD7C2E647D2A171A5A0471E76C9C6DE4909B015E
-
-3BDFC9836DB884492F5C9CD77F5E29DBBC80F5B836684E82900FACC7A2CC1D20E6FEE60BEEAE93
-
-DB98DE238B66D13BDC858590654F960FD6AAA779F00DB7736C7F18808FFC167AE32421FB975E94
-
-7FC49A2320DDCC4B6841F54EA228A58383D420A25C21E85C99664C8BB20AAC66390BA46B49BA7C
-
-6834E8F18CB31FDB92FCACF11FF1A9C53F06D6992B06BF0C01DA2082E6EA705224841A7C6AD02B
-
-015C2AAD19C8BBF1AE2506B08D57CFBC0B291402BDA5C95693AD65902F96B910D465CB935CCAFA
-
-D731C9F30B40EC59AF12446C1800C80AC60F4D4CE68B8044B5725727B3089ABBC6E9631A4BA5F6
-
-589891A2085C74E31A4A2C4F057380016F5083AFAB6D089E4EDA177045BFDF1682E848BEEF2D1A
-
-FD4F8F9DF6831FCA22CD7C4A351CFE770635DA22FD11B3326FF9AA79DE76EAFE99B699FF1C73C7
-
-12EBFFC1D84B0142914E1DFE990605E73CEE7D0E88B0498604C17966FF23C922FE70C522036200
-
-F5BEA081CDF8BCA8559CB22F108DB527AB6ABAE1B452967E50F712CCCBD11250C55825741F4767
-
-043411EF4D02A1B26E633CBB09E0DC3E68FEA33A257C26BC022769F71F2667776A57887DDC05B0
-
-69C1424F908D8AF85968055739D0E766DA997B2E5C53B9022CFF01B004EB0FDD59BD59A030E6C8
-
-291EE9D771DABBD55EF78B6F2C46B77A7DAF429037B45535865C7F2147D604491D39647E4FCCA1
-
-B5668B1006B0C8F6214D7E5EB5519BE843927C3BE4C3C236F102A1A1EE8B82E5DF34BC8FFDACDB
-
-79B2DB91A52FEE4892F7F2452B903DD6361ECBAB07138F356959B832819C88ABE9A6B999BADA2E
-
-1A3C32B04F731E75C727472E231B1BD79E040BDB72175327250905570FCD9D9D71D627D7914AD4
-
-FA536AA6461D5F512E2E1EB7475AF6A83C10930568DF48BF2794490B1FD7269473E8E56DB81219
-
-5127ED78E500ABCA9D2603EB463248B1B3F6EE7E0C870083849AC7D83B848E819175C4075BDF51
-
-40901761E951EAD19DBE2AB491AD9EB5D124A20CBABBECF05FAC7AD608A1ACBCE7FD1C8848E614
-
-FC989A31D0010EC3A11CD6797EEE941D0546E0A594AAD95738EA0BD0BD7F55CDC0BF8DA082C0E8
-
-CEF349971D13CCE9246B74B6C552479B1E51C7B309AC025897E910B00746C1307BE2C531217E0E
-
-76CE8A47072D08CDA116B65E7568154BBD2D67F5723C187FD46E541977ABBA662BB08079D93BED
-
-78E924C2482B39861FBE1AD338DDF1364736B6030DB2FFF1E8965DD7631276D516A96DDFFC89DD
-
-2D3480422AFB31E9AB81EF1557AC5C723051096C41EA7D40BC7A1A2902E782DF8872DE2F27CC30
-
-0C645D4EF886716F2999815C1AF6372C359BF84C209C42B939185C6CBE14510B9DC029970BFDAD
-
-BFC7E2F4FB0F5060D69CFB0FF71026949BCC15FC179A4DC9BCA64CC4407B694EDBC54720323E4A
-
-271AD388529B07CF23B21886DE7D4CE721BDD11C18C8CD3D1D5261954840E2DEF872F0C711CBAE
-
-5155957BD2E9C4F927B7E8FC19B04608FD411C1301F46092A62F3F0A525436D9918AD9C47A7671
-
-F40AA31896C6DE827DC12FB7E7C7B5A9EAF931BEBF1A4AA4F28F9287C16AB78085A44C56338863
-
-92A9360C188383E33FF598CBCE34703AA4DB85B61B4B79D5387D5576128B22947976617B66FA9E
-
-C3D80E8A0EFE2570FB460060BDFBFD81FFA8A8986F56D26652AB29AD6EB2A4881FC48B023122C9
-
-22DAFA65337110C76490CE3F41BA4AA05F63C6FCB31AA5C399ED01FFF3948AB690BF01A3A1981C
-
-B120DD5BD1C45D2C57297689AEE480685BF23FEDBF665178A1BB54F9A5DA23F72314EC9FD0C697
-
-7CC96078461E48625C87A29D0D144E27A1D4D76E18024D0F6E90DBCEC4A13B7DB75A8E95E715DF
-
-3D73007071FB30FEE9F552D968BEA9B8FB822CCD6DD3383CA9A1E6FE8088C0DCEA9A5D38C0418E
-
-8868115A2BFE6D055580AFEFDF70D512C8488C3C1389F26ADFC767330451F77D20627F9563E919
-
-E5182ED2C8E07DA540EE2C6925D1E5C6AE5D10FAA84DFFE90AD8B882FDD431DDFE36B513614543
-
-18FB47C39FACA4D661785920A8BBEBBD72DBBCAAC1B66C944AEDA018BFF8F15CD5917BE4A1C799
-
-D7F96C69B5B79F11AA36ACFB9A39639D7506E18800A8612D1D2C918F3CD4B977C1FCF1771918CA
-
-7CE4E550A24DC0F9A45971B27AF2D68A8641A4A209B4FD72857710BE6066B5DAB23146AC868043
-
-A04E8152C51CB0FF7DFE41576CFB42998E63F793A33F1B61280BB61597C0E3B176DED299919E72
-
-F6F3FA4C138D20E40B91988EF9DFAF307064C9C307C9F4F2E9AA4D52154E7BDD6196987C6F6E88
-
-0543802347427FAD9EAF1C879928A5404DF240E865383DC007581DC29B28FC18F1E6BA840CB19F
-
-E639C67070A110B07DB6519A5A0729A7DE82A3CDDB03765E1A7C817EC62225A7D2850101E07D22
-
-9C7CBCE0B46A2B335CA90372DADCEE984BD75B0CEF13F1CF7237E15925C7B54B261236E2620874
-
-ACEFB5978C00E066A03A57816A73D8F559FBE006A944E0F026D8CCF319866693B4A62FF4810A2F
-
-D29AC35F429BA0438A7472DA76510937F799B42D962F3F196E15B2335996A92304C4BDDF7127EA
-
-2F09FB7C779525029B0EC86F86C7E415B81D5042714FDFBD2457FDBD5AC6C1D4382D593586E2E2
-
-AE9660529DD0FF72D2C77A9E4B76689F8EE5C9BA72D300271B8CB2BBB36F10F57309344C3114D2
-
-31762FC68BAA5C482B338F847E4EF63F50A9A71BBDD8214C67A9FDCD1CDE72CF070376D80B0BFC
-
-BEFBA9C930942D35E84CA28EA2857ADBA216D89775E45FFB47AC29B41138CA03BD79122A78B991
-
-431714404223B0D01EE8F13800C8346AFFFD8631D4CB1A6AF4653A68819FC2545591D8CBA85E3E
-
-620C816F89B8AA543923139859E0DCF0830C02BEA236E6AC40069CD4BCCED8885CDA68DBDB9071
-
-CE61C61718FE318090B0C2D6CD1058CF9F9A06B81D114215F15D3411327BD48AA846F18E33D9AD
-
-1425CA8487AFB33BF900B4AB8D9DAE545A4EF203F4844F7001C04EB3E5BBF668827A2D12BE4209
-
-31CDE4E81A3AE0501EE4E8E7DA116DB6441152FF89F045150D3EE7929D88E345102EA7F20E714A
-
-0405B415972B1650D5C9202066C813703D202469FD0ED3483875D2CD955E75A892991E446F1418
-
-5558431A076FF440F40CB59D0A9EE40687AEE1CC7336B9D7B9ABF172E4DC863F1591D4D24290AA
-
-8580AF3A3ED5B7E79D8FF6DAB6811B1027FDA887469877304EF1801E8186AF988D0CB892EFF7F0
-
-6A548FF6D5A5A382FFC1A338CFD62DEC1F389A01E26D0F0526AB2B15A7252F1EB03C188D0FE73B
-
-6F4524B4F437840704040AAEA38154526039EFDB651313EFEF1682FD844D6B8126844FD6A19587
-
-A134552833F7AA7E3681EEFFC2589677A4363E8E95469F3C6656E77CF69572D3408E9B6D8436F3
-
-CDB926A3A57EA54276050C4B3CD8964678667AC0785C9E900991117627D435FF038F799DE089E6
-
-DF28E2A40980D7F7256FAA2928EBA12A8D6FDD80551B0CF3AA442D840A11C951B444E519C19F2F
-
-D0F1DE472FAC0E2EA0BA899A3E70313D28B48A6AC362F9C7EA5D5ACF5D04376DE6C88436B760FE
-
-8BF694ECDD6C366AC31D34469000FBF31BAE9C14FB2030F15A2965B917021780EC469F00B0828B
-
-E2FB98E545B2E430921B855036CCFEC6EC9B4FF0EBB69A91495383154AB84F331A3213BDD95158
-
-20BEDEFF4975E076AA8BD9A4899B5BE7ADB271C17823B18488D7B387B1AFC7106C87D219DDF96A
-
-E866F1B06760765BB2AFDDD952FE0BCDBB6318345F8DAD1A782AA536F7148ADC2D3BF5EF6C6A62
-
-9DAC5A49BF18F9F21E9AD7DEBD237C229286FE2370560139569338D455D8D3A913D329E8072E63
-
-A07660176FBEFEB9D88FC1C2D9D76C51CD30781E4EE59F8BF4F436D9AA13A39CED387CB57324D7
-
-26ABDAEB30DB1B1E14769F5F4DC72ADC8BD757906FC443BF6DFDDDF2CDA866402363DFD9BE8B88
-
-A68DA3D0E0B3BAA404A97F551A0B6C90D349FB9F17DE955FF5FCF807C3889FE10DCA11AC73E855
-
-B7D92A26E64BE1971AB93582F7F53F1C7B1FE401D7F0EB0EB121266CFF5E23B3332D8B4102A4CE
-
-F30634C7107FF9780A8BFEFEB13FE5EA78D8E5C9E2E88E22353D24FC45889CA12FFA14D370900F
-
-257B14E761D49C74FC19B97412120E4BE4EAD094398E92BF1DEF4D34E1DC258A85BC623547B871
-
-04FBB02F402204024A66BF66EDA4DB5F667FDFD7C0CB6FFD799288DB110EA1FE7D7C3CF3A130B4
-
-29D2450D87507E68C68F2F130A3414B4478AFB1ED6BD55AF66EC53E627B0F27649D5C5AA59A791
-
-92DE139AAC89A378F0DA22A328BAED591D66035B958B33971B67D736B119732A5244562CE932AD
-
-36ED9C9BF9A0756DD63E909527114D58061879508B9C043A7018AC3F1BCFD070C7C6DB879CBC5F
-
-305BCB24C16F43D8E9B77B5D2A0D3737536E645049A64ED555C99909AF80F60B2F2307EC58EF91
-
-479E1C447A57EFA5AD0652F78F952E6508A768A88F8DDEC8549865B9266B54D03AFB1929F71DD5
-
-177D05DBDB4553A8C3EBA11F284D9F6C8A235372F75C9C06A1359733978AE5F9653F015741E648
-
-26EB92F4AE59D11405A59954475D559ACB8D098CD4C026A95D678AFD85A9F2031F6D242A285486
-
-1385CD2BED55B6E54261AD3A95C6AB4626FBC5D6C4F6A60992976D406FEECDB792211CA133C433
-
-28F8D43FAFAB9A4489DD1E1E8884B4BA0B258660FB8B8BEA218DE0A7D9E5DCEAE8BA1FFA236268
-
-7AE463303E16C6DBAD3E2FBDC0C904B83DBA9134B3C72EC1FCF6855C08E973E00BA8D37E864EF2
-
-0B6748A6625C854116C3E32D5B24F584963D5B492F6666A284D16A2F3E32E5D7792DCC1E5605B4
-
-CDBE4E0D62DFE84B351B24A509A5DC9D1C2132B81C682096DF4ED7CE6A3D6DC517C6FEE8103DA7
-
-3B5D841D2B4BBAADCD7D1316EAC6809F76B99FE16EA92272782AE3930F1A0052078D98AA17367E
-
-7041C383C730EE085D6089164AADC4637D3CC6A61F292E581DB0D37B7D1214A8F12852FFB636D7
-
-2F2FD9E6AB2AE1F967E2A750AC0AD364E64207669A2BAEBD191E494D1B087448F6DBD8B2293A27
-
-C115E34DEEF3DF79AE1AB33201E0AD653ACA72CC06AD15575314DE4B76009F761B8A1C6788A672
-
-2D20DE46026772117F42171B5D09E5414A54EA45D760DD3FD47FB5458A78E5FFC83B59AEE4F8C2
-
-4106E0D76B719F7C1295DCBC71AD46DEF7E2472BE922047D8B633D386102BCBA4964A90A5247C0
-
-D24CCA298D38A3C513D260EE4821B58391984253385BC61429658E328D86DC61B5FE047705C8DE
-
-C93170F92376BB4CE94B4C92B8CE638FEC140832DFD8583430EE39137342CA0F529737A8F9E184
-
-264AE2A1E172377E931C6A8C0141D36F6446011A9715D4B6BBE1DDCA53E3AC72A71F60ED86EC6C
-
-FDA227E05534991E76E9AA48522EA4261F4A5670276C8048A4AB9500719D92F04080D318B156FF
-
-FC216BC1BE00C8E3160752BF5B029BAA85780C51C4CA162C7840E74507D433CC9D71C62B4CAE14
-
-A3AB4ADB2729C7538B2ECBEC4E69A1F77903BBC68CFED0BE0DEE9C690E7CE74B5BB9C27A5F115D
-
-B17015C39A8E60435E00056879745A41552F95F7A540D535A02F29061AE5D30DDEB8D30D9FC2BE
-
-B04CD49DFD2363C4C7FE8384E90F98BA8C26381D9D3428029CBB9933AB471CEF18F3F8EE585309
-
-29731EB100908BBC1F074F399AA39CCF5D12DA38CA38F464C958887C155A4A77A002F91090DDA2
-
-00B815AD1E02C03F44844628BD703E2E0D6AB53C819373A94ADFFFA6579160E69AD0F1EC130930
-
-22F0B4D2F710CFB0F734B01F625E407F9F7E0F143131C1713D770144664EA989BE0B9ECC3B9FB1
-
-45C1043F02B481D8CABCF21DC134553FC4C1D4353E7180EA4CB1FCEABEF74D6FE5BBEAC7F30B08
-
-1D88EB0A0626622A557DF6E860E54537A8FE0D2ED0B974B994406AE52D47E94FB8E29EF6B02DD9
-
-4A37DC770DA855A59B74BAAE1685BA3EAE24FEF55B06A6036A3D4F5109F1ED4B59AA6218629C1F
-
-455145479611A2B9FA83A7AB1C8A80C5BAEDE37E7BE195C68E36FD18E20BEC787BB13B8E1C9806
-
-747D85C64A42181637E86CA28FF135CED22E4D4535CDE74E2AD4CA93F9A30E7940F28DB59AC1A4
-
-1F8CA12CB965E0BB5C45A5F1D0A5DBCDA210433733384A75CBA8EB93BCFF05AEE3444587FF31CF
-
-6495FF8CAB4CECA16FEB0C81EB48571D30040A90CC422043B8EA732A4DAFE4E552374153124B4E
-
-B3D35C56EE5B4A146111BBC6D9630DB2C9E04D26EBDADB46139C259319C7C9A750FF2945134676
-
-87DE68BAB7BA6DECA22FCAF2E5F20867A9C17AB3E3DCAC03A8DB896D2C0243E95652529875518C
-
-CE050A49DE34F59F3A3422C3C6E4A57FB343A0458858C6B676F920857EABD9941924C5710C6768
-
-C5A0081FB8F47E9BC9ECB701BF097F033C4AAC3E18B02EF9222867D25FDA8FD291F930D163F344
-
-5EE38B44FADC0E830F93560E1BA52EB9CE9B375E9F0DFD60627BFC8368BC0B7C4C443D8D91907E
-
-9FDCD0666EE6A9D9642809314652EFD4E5769A164B50DFF8486F208903CE4F5176C86C3642DB60
-
-AC3FA2DE9C104E36BB76D56DA593FB796036C17A04A65F2BE8BB9B37055DCD6F79E18AB00BDCBA
-
-AAF3FA95C49A84A69EF4C11D60658C35205D97D3AC3003B6592EE366A16AA0D1F9D32E9EEB5B88
-
-08AFD6123CF756C524E15C7E5DD0FE7CFEA135BE1BE85201EFEDF61F046C652A48D435A2F6024E
-
-A310E4FD3CBEE0A9C6B1CD02B1F3A1C8C973C5F281C86194501BD03EB5C3E2A30C9EBB8E4EFB16
-
-63EEDC0969C48C6724A5C126E05B9579C0310869DD1EC88A7BF8562EED99C57C115419E6599BA5
-
-8323324867E2BD6E972632380D2D271E332C52E1A87BB45C4F66C9F83693E6A9A25BC0B1BB7570
-
-18FEE261F8D4529D93F23289C0B75CFB0BB6A55545712C945707FBC29CBB70A4C9C3976C1DD0F6
-
-171E579A75FBAB3821A2C5DE45D8C17EA16FA4BE1069D7549E57E5922BFA18286A1BAAD644161A
-
-02AB843CD5626028C3E6A52BD3CDC7599627A49AD4880EA5AB56936656A87BADB828C6C9200E28
-
-270D8041269ED78A655718099F099E9F17FE27A71DF161D4F1606090F192E561ACA5F32B827854
-
-2611632F21CCEB3225334427D9EAF9AD3D9696AB3B0596598D2DA1912EADD2A7D0859AB26D6CFA
-
-2276B79C826353CAA0EA34F690D6396768EFA8BD8A65CAB43232723324CD05FC517F317D8C5E0C
-
-809FFE78C393F7E8BD88141D1AFAE885E02BB0203C7D726310F6EDDDE8B38C1FFFF342D4E81EFC
-
-1CC68D072F68A0FAC14BF5A90EB7F07604479489CC57209796969D62C92134B59ADF264EB1B158
-
-56AF2B32CC769ACA670351EAD8D3E59117E613A4FD5845C38AA0AD375196F2628920F299B94EC2
-
-363847CA4707A9506C8DE4EA9B0C38DA88567FCED40BC94E7465C39D3F627EF70429548C38C2E1
-
-F007005DFE7BAA7701B183A2CFDEB36CF84091242A3CDD8C5947513BCF7FAA462A92F1E84B3196
-
-E3CFB019320485FED7DB231ACBC56C0EEFCF344525F0DE150AA8933A4D1AEFC4C2699C4B1E5FBC
-
-15AA3A894023FD3F0C75D797E710FC1B41C48BAC6F5AA0BB2CB178B705C103B68F7E8436C4DD02
-
-F054C2B4B6C38736D99C5BD8C57AFAE676FC8B4F078DB83EE6FEA0C97BD434061BF572F6615B37
-
-419EF5250E32C4F0F48EE779E500E7E3C4D2AFF699A4077473A29CE8C2A2FB92646107576F42E4
-
-8DE1233ABA4720564DE68990425D6B4990FD198243277457A42693457CC7AAFB358184F6AAA4FA
-
-1FEBC93C5733812A1B308DA509F473760D1F2E846F8EB2D52FD55CB220F4C198204BD21EA2DF0B
-
-31434616F86D529DE5CBCAC53FDB7EEA6972691E9B8981521087C25F1574576BF799569E3699EB
-
-74618DDFCD5F01E6BAB0FF513EC7E2B3003006D96E4095EF5009044A5F1C3B006AEB4D15ECDE5D
-
-53C1C76D35D87AF201BB47C94DAB1BCC182C4F48747AA7E1ED991C4B62D9F9D08D4283EED5D288
-
-7EE21B7DE249F731509FB6B9089543F4791C41F3BC0EEFA197923DA86308DEC8D632BE0221294C
-
-A4AED2F61C297D167045E5E5A3012E223D6C348899712C550638351F12FEB3D67368959EAA8B00
-
-90996E39EDDC5B3B1684E2DF4DFCDBC89A6A6F9B0AFCCB2115217316A48812C168B243734B57B9
-
-CBD7F05A1CCE9E325F0FBDA791EAE7E666D1FD7F2D5F085165D2BB10387513ACF9A900F84934CE
-
-93A66CD1BED3F990714AD938BA8572A71E5B2557C294C1D1A20F27E51B355FB37112345DC33707
-
-73FE750D5C2330781E0A05636DF0F283046B973D1B124D92A21A3E0ACEA879849700D5901093F2
-
-7B3F90460D82194CDB01A2CF38FAEF964374EB11D0E150A2297D8CA4A5A5C55BEA93B00ECC919E
-
-7246C289404CAD3466EF6BF2810CF1EF740D285D3302B5B3363A607491871FCD181E8CED5C0C30
-
-19FA33F165CD9630D130917C2A246F2D5003657DBB2FA8A7E3FA840482CF21E574AB74B9EB5027
-
-387DA40FB3EBBA1894297CD356E20ACF7D956A3E142248A5899FE940A25BD5C812C0E8DC923EFE
-
-27E49644938E3BD99A086AD697F0AC758390B364B52C049BB1B32376F3AEFC15CB4DB333C148BE
-
-9CA5C18DB38B9EB1F39F07C3C2EAE2AFB0238F687583ED7FE04F55632541AC572E0BB7C7659AA3
-
-999D8CA12D6267FDB0F1CD720C174CC28EE37C78CD803B876B8168205F36687C12C0A2D35D1DE4
-
-B86F4E865A741E82EEA9C8E4383AEC599D1DB85C6BF3883C3218BBC0AB643CD51B8D51A34492F0
-
-CB4C1BA4781929C2784C11F84DE699B0C84C35A504C35E672E941F1D6BA54960F6C519F11028DD
-
-CF0E0991E18A77F772C43CE95BDEDDA9C8D85633EA60A7358E0645D4B64F751B11AE8AE27ECB17
-
-CB385DE259BA1FD78EA8A55DBFECC2670DA3C0140479B61ACD99A59ADC50849C6AA787C7A9B975
-
-D84E2A30529AB8FAE0995DD66BBB5C6053E3B96C567156A4696B1736C2F6E1834B8B8EE42CDB90
-
-315692D6BE299D714C6E43CE13DE4282B261C5188ED6C6D875B8D308D844152BEB15A3B15A8B6A
-
-924DCF7285FB858973671B972AEEE6774A57526F21FC7EED805693A007B2B43694D5D30C9DA604
-
-B3FA6278114DD98744698D885FF714743BBE7F81F2FBABE454BFFD74CB601AE106AAE61E099486
-
-1754E4CF312A1DDC7BD0F85D854D15FDBBF296317ABB0D0B2824CECE362E2137A2F5792279EF05
-
-D0FA6B7DDD4FEF69FFF97AD07FA95F3CB393C4B0DB2311596AB63974B6B761CC98407731AFF2DE
-
-1A522753315EDC07F72CC73BF7B55D769E024A09710F141A21BF94E9B71C8812CDD8C7F7C3AC60
-
-618ECCE4AC81F7D86B75E126736A904256F5558ECE41A471E8F77B5FBD1FE2FF4CF0FE56861223
-
-24C1D13CAF1576306ADCAC1927686139882609FCE3367171FBD0F017DCEDFC909B4039643C3FAE
-
-F5946EA31312460BAA458F5AC3A3E57E5247AA390ECA4F29EA32324F06AA3C376CB5C680DD16F3
-
-8434566DC54E7D4C6D6390124BB69EF6D9AB265D1ED2C68335870B09DF57C137E603A0F8D26E77
-
-A4B18B7E7225B0A92AF92C4F22D43AE053EECAEB3F8981A8ED13D504E6467D266BF7244C0A1A30
-
-A59700C1EB9E18131263AF51A9460C1B753316A1BC587FAFE3B5A7EC6E86626D5FBE6BA3113FAD
-
-E67631B83301424CA27AFC6164414F8262E3FE28270F8ADA96AF0232FFAFE64D37F510741EAB4C
-
-116E09780A2C64AB82C655B1EA221EEF257C667938E34A4F956B7DD951D10D2344D228DF2B59CB
-
-E9AB72822ACE270789F972426D56A03686EADE28431C07B3BD73F6BE22FDF7688E3B77128CF74F
-
-DE98734C3390EDB78740F24452ABC545AD08057CEF1323338C0CF3F0210A9D50CF7D4591D22DC4
-
-76E429B462B76E965583146684B0E2A8C6D40AC7F42D595478C94C01F9AFC8A1ADBE2D4B13E02D
-
-D52A19886A3978CCF3C9C9E391FD66039C5622839CC60120408839E5558136C57E4BEA2761F38A
-
-6D00F4951267377F369B7782C92D7BF00C6F812962F86BBDAA43DA7DF4680EE852F4EF9D82BB34
-
-5BC1F8F76A9B7C09820108BFE054C80AB56B88B438489D0CC0972081255C9EFACDAA08BC81E0B7
-
-E04C201A1212D597628BB82894EA711D739161E513994A67C0C63597117736CF1A9048D244E09D
-
-4804C10483D047433F0A69259DCF999558AFFB6739D372221E490EA8B106D0AFC78EAD9BD50E52
-
-FCDACA4C0F3ED13650B73EC4F8D0C6C4B0BE299B4AB253DD4ABCD28A96F762CE45787FEFA89D7D
-
-F5675D0DE092FA7097198538F031A75BFA2E91A64D1206AB59C5FDBC24C80FA54CD168E19541EF
-
-79736FC6D00896D75C64E79D93C6658A002A91B5BAC71583518C604973652220CF1CB626DAD853
-
-8C16645C699F5785A8626BF1A62FEAB57CB263881B102891B5D886B09F678AE801CBFFACA29067
-
-C1126BB0136ACDDE81D07F2F9199FE439D3553A8152E9E2C31EBA2E0754BBBA72DCF525A85B08F
-
-FC52CAB7135E2A3C849DFBCA86FA0C2217B9CFF755542FB4C145A561696D3561B5C53F570F617F
-
-60CBC31A1EE0F570099C4FC2C4703E1B2AE86C72A3EF8A138EE9CCAC2814533DA20E4AB5D170D9
-
-BB2A2A4FE1C14A95E18DBF3EFB0400A835EC1F50004CBDA8FFE73347027B9151C0E00111C3DB3B
-
-15447D000CB0E6FD0FE985AD70AE5243EC8DCCE1E5E70018087A36A725DE1A6B6EA02A9CC323CA
-
-943BCFC546B5FF43D3EC315817DD6593B6AC7C52035E06629509EBE7CF9B5F9B24E291C06952C8
-
-CC8AF9A5FEBDF8D16B22D7BB518E1191A1E0DBA68066F1CE159C5E7609EC3AC7F4A052EBE5E027
-
-07124CDF8418DB9C026563402764B44B0E8AF31F2BD60DA60E42C0B329EE32C0344D409E155FD9
-
-3A6F2995F965DF6855222AB0996B185DEC4790642BA10D3B97B1028D9AE6943B7DE5F2C7A9E15A
-
-D670FD350CB7A63316DF50950773AFBBF7F7BFC8BC910EF3A955708830C13C931E85CF7D165DAB
-
-7A927810963307FCC2254AC2CC9CE5B83293AFDFB9A5DD00800AC68B431C08B2E92BB2BFB6FF55
-
-6D70512CA099BF840CEE70CF163131BAFDC2D36F9089E090DC660A94F170C0ED6F5BB6EE2AD769
-
-BE951B40DC1E46180B2E557289C9F13CBD9D331F208462A20C269629AF7E181B9776335CD34A9E
-
-AB4B1D8196899BBBE946FD56C8180C42C178536E72A131A4D087ACD38B9662CF3E0BC2C04E9384
-
-8263F8D64EDC6B3C511C30EF4A782DA27E530F96AA0E1CA4D28EA1062FF4643065DDF958DD9124
-
-BD975D27D6BC79EA3A1963B9930B5DC0297AB9E3F02745BCFEBF83BB9DAB46E2D3423DEFBF0527
-
-7013D6FCD08EAA5407CCEE0F91B8D6B4DC89E3A467759B81C81379952E3621D57E86B79605EC10
-
-59A9D46BB301EBBECCCB615DF91D7A0A92B17EC4C8716C4F1E67DE7D069F7CA1E4566F6D9DB96A
-
-E3BAABFCB6E2DF6005182B7BBBA7F96F99315CA76E12497BB76B2C94B85543F7F1819D3F53F2CD
-
-B6DABCC5C8E7B80995DCD3D04A5F47EF30D725EB6158A7A32EC17D4970A1159455B23075774DBA
-
-95CF0DF8F15FCB4AADE80C8D0C92762597461A7B04384AC2556486B3A521B44718911083B06224
-
-3BD1D54A4C8CAB43D207FA4661AAC7CF4A0A421C01111A02AEAA3A98EAF39B15298EB75E16C3F6
-
-7BE08948F016C922EF7489B3369817780C7FBA1712B8F1260EFE02F0A7F112DD0E85C62026CF63
-
-C30633F1C55843AB7EBCC38F38E2517E35D257D7220BFF5BE2C6CCE34BB73EC225CAD182E702B3
-
-C03740D558DFCBC5FCED3DB10AEC7AF1E6AE84B54D5D4CA79F56DD690DAFC5AE7F9383EC2232D3
-
-4BBD2B125CB78E2B2012712B3C51849867665C98CA25F3E6B9E02EC89B5B376D7905F7302CD6E2
-
-8C33470C0B343160BF0F1B3A9CA0A47B6065B6537AFEBC1CBCEF795083CBC98CEAF9A60D9CEF8E
-
-E6F487CECD88484BB4F149807CC4B896F511C2C530EF292AA50A9D5E55C935209300AE63A15A7D
-
-7FDD1179B2F57525B70F6EF40036BD66B6C26A998077D5BB50BBC122B806D45AC248B52CAA6E4F
-
-B9E039E30BEB78CDADDE810534751F7A32356A51065CDE5424750CEA579D034A6C6CBCBA2B2638
-
-89B767879DAAA9923F0FA769ADB474373CF8EAEE7CB465F859DFE1E70085F5FC946C31354F1E24
-
-4F31C7E9B5F7903D92D73886ACAE7666F2CDD1CE3AAF67079DC4E919119230DA6B369AADDF240C
-
-E90DBCD8AB3972CE09E5710B95963C6A62EE56E09164EFA77ACA7E0EC5FCEF4D37A2DBC54A9783
-
-DB9E21045860D59321743522C7BDD14F073DD55B613F7F15065EF97456D1C930E6B8FB5D9EC44B
-
-1110AC075443459EF10C48EF8E4FAC4493BE949B75ED0EBBCCB03E091144C18F1EA0239F90FD71
-
-E24B2C06AF13BBDDCD58CEE4C5A2926C873099D187219D067FE727B61C1859716C3DF07CF14CE5
-
-7D6A7925E329840D68F0AD61DB3FEF91B20DA41EB6F28352A9C49F7A141C6F43056A6CFC254E4A
-
-47A3F967AF9714F52459C5039CE105795612155576BE080701A77F0026FDDB2DA5B7F82D1CAC32
-
-C4EF60268870566A6C3CCB2FCCF0E11AB60FD644DACA696895FFA2CF72270C190F482EAE5753B5
-
-BFCD1AD6E2E8B10535DA012954D085C9A14DE998985E08F17446D8159DF61E0CDA6435147D4B6D
-
-8A2D2B115F49D2E10ADDD4EB66CA42161A5E9005A736D954244AB3D6520741CF1E3AC63930F40B
-
-3048F7801E18AFE557DFBF50C6E2C10D4F285F05B2C2C574D327C43A91501E6ACA45048C0DBCCE
-
-E966C28ADE74E461BFF1CF584F406E32BA473E0742B4329A76663D92B680E80A4BAECACCA837A1
-
-8C98D88F12039D80E6A8B7B0B206BFF62B073AB5961BEE45DAADC5493193780DA81792BF4E76B0
-
-A5542E5C973919D0EE1DA1DE5A5FA269862BB0D4694652849B612681CDCC7505CAC95B8FD72E26
-
-51B7E4C955608060FD1B5E4F8AB8ABCA6809FFE151203A5CA905849F629BDDD14899A9BBE3B175
-
-8AFDBFBD82ECA5B35F2C2B35D5C267E82E009CDDC6BE35E99E7918A69F28D1B7738B93916FB7BE
-
-CACB82727E263453F41D1CAE5F38B6C3709F00DE49573135553DEF7699FA6F96416AD567D971B3
-
-1893714A09B5B356D44783393FA1DF7EC6FC33FE5018454EBBD5B2ACF6AA6080565FCE674F3DA1
-
-DBD77DABF0DC6B34E1949BA2C010C5481009DA4337F7383D269DED79711A08E787228E09F0C3DE
-
-98C0EF82715C4FABFBC760775BFD1CEC7CCC8163331341A7D08209D3EDE45D78AB2A05D5726E2B
-
-D669043E02AF274385E1613F6A42E7E9B94B7662A5904C2669C827272ABC96ABE376DF7094ED2C
-
-21EC501CC30E631B2CD3B0F4BAB8C3CF2025130A99B93C704DF2F015A46874B5BCC8E65619FA50
-
-0D1AE2BCBD4C27F92447CD9E423EC5B67E35DF04CE30ACD6628A13FA20C14B518DD0301D3BEADA
-
-0A9C14B8DCB278170C97E107B4BADBA1B25B17F268F8B52B89575627478E28EF59F2D856C8CAA6
-
-0376C53E95BA854FC059EA938575276CE4716B7A19CD980998AAA79EC8ED57D56EE2EA80D2AB7C
-
-9B18100DA2A7EFA70ED40A32AB292129D897ADCD1CEBF6B30BB768ACABACC480AD6BF1E701E332
-
-B1A9746CEDDD127441C695C3A424A6DD84BF684A90B027B68EFBDEC98AA5B9CD97FAFAAAFC195D
-
-DC5468876B28F56E2F3AAB74D97366441B28CBAC0D328EB8FD98DF06E9980E21CA7F62345F00D3
-
-8CA82A1CBFE954CF8C5C77017A5E5CB6ECED90222B5B15D5D7310B3E24A98A64644EEAE0B0CB22
-
-BDC7FCC983CA94104C3AFAE71A75A3510CED1C210379E289C721BD4EFF82673565275826A41EA5
-
-3008BD6C1882E9C82346DA91E8DDBF092E78BFC009A0BCB0097E977881BF3C81BB6DE2784AFEF9
-
-BB0FE52CA91CB1EBBF01024B1EF941144229B0127599284FBF6EA7809BF36FABACFABE3FBA41A6
-
-CCDEEA1FF6656805CD945439E36F771DBF56F85AC6C9759FD7741FCA38CC362811962882428A9A
-
-29F9E788312B6751E4CC6AF15CB517E8F17A320BA4335D4C869C76FCAE7BDE59334C72B578B055
-
-AF5850D19199F26388B46D9E9F2940DAC3D9A43F45C5F7643CBA2D391672509102A883AADB998D
-
-1CBCB888D5BB71D740582F7B2BE1EDE7D6EF4A914DDF5368D547DADA2BE55971619AFE8D3A6728
-
-8C8F0A7FE9EC44E4E016091F7B14F79E81A4CD8C2599F6AE776136D38222AF1F61E18BD8BD6D6D
-
-23191E2D3AA63217C913C8D62A0940516E70996A30473621B8A257465D1E6B2966BAD8B447FA8D
-
-8E2EC2BE15CFAC9637A5BE198D2EFE6D8C204CDDF85399B98CA6911C9C8ED5F248F06CC8E9C27B
-
-6EBCCC8B2E54C4D15CE46A6BF3812CBDD67FFE2C83370EE792FB17C63C4222FB5EA5C363C296C4
-
-F9D174E62A3E8B6B7FE35BF4663E3D83D921486909441F1FDC95990C9189837094455BFAD987D9
-
-220E44CBFF2E4968E3D7D1D77AFCE67966B8E9FD11E13A66DE61C5F23DD00C6C48AE0AD7DE4DEA
-
-0BBB2C604E443FB88448FB6FC61D8AEEBD52C4937F5D28F611A758C111D1D57CBC262DBD0BC8DF
-
-A11E299C28240EDA643CC06A101FC0E45A3518E34F8BEBC4964DD5A84679F1E4C0A29284FD2C9A
-
-87E7DC0D1F3DBF68EB177C9C1CD6781A23372D3FBE655CC4DFEAC5134DEEDCC6F330176765D791
-
-D495ACEE8CB6FC15ED913A28706B538D9F97E986BC628DEEB1EFC820936E431BD5D0914C1E08AF
-
-D179571600350488E4342F7277F789A7BDB974A3D06DD9ACF9BC645FD11C253A92773F95CDF4AF
-
-911A7DD810A717617CEF422F7E2079CA35D7996D5D52A50F220E9B26A65A0A17B7DA4A864FCC2C
-
-DDF5CC26FE1E551A202F625941BAA8093A40E42FEFFB17D0262277AB9A9E41723ABC73817FAB73
-
-A7B59E306C148E2E9865DCA0DE0A03E46EA6938B53E030694F02F1CE0F8AFF7A89FAE33C8C7EA4
-
-72AC3BA8680AC06E61C60026F1C589E8381B3A54A86155156D20332FF2E5573755F0B980967BB6
-
-BE86A858B6EC486862BA702AD117185081B22A0359C811CEFCE9718AC2C3512A65AC63281BC018
-
-88849D996D8E1AA12002732CDEF0B8CF3911F71D905D52D9BEECECFA4A2DF8290C8A47021A6FA1
-
-146FF38E6424E588B4B4E10031F60C512DF082F09B539C18D08F18A4239FA9B64848CE318B0F9C
-
-B9F6A28D6BF1E788C16D6A7FB9201642206044F470D2AEC35DE8562C17DD7F522AB733E796B870
-
-4E05485F865355E55EEECF60E4A2B4E4CFA8E9822685C87A60562AC1459E246C7DA17F174E9E07
-
-2101975144EE4F24CDE6ED9254FB8ADEB415F895D3A71C68972628B39A058803DB85F07BC492A4
-
-72283DD3D27DB2359F881E1038324B38FF7C4EEF91EF1A00B741B51158199736473984D2080099
-
-CE737B03325F39D77EE2D5E7BBF1301207FEB963EDD88B52EAE4920A0CB758FCDCAD0411200A46
-
-48E657C26A41E7577D7E876A6A9DE16B2879A6CC6DBF8940BA4CF861579586F7AB2381F1D24404
-
-90BFD3FF6747FA93F3DED4671AECDF1C40344E75BC741CA78A2079114C7A94ADC560264E79464A
-
-2DDBA4D4E7848A2553FDE1CB51F51F9E6F10AB1AC4AC4D2FDF5D492AB9B8B71C6834F0DC3B239B
-
-E38621785C63DF6038B74D7D537BCB41147EA857BBDBBA40EA5550EA85935456D4BC945C7F56EE
-
-D375E22086CACA75B3E199125114EE9FA656FF5E9029566A72E9BA4C2DB5B83A5CA6CF2E1368B9
-
-B8B2D0B1E2ED6EE8B6EC56E3518019D92B6C062A92F77C09CA192E1E527626EEC78E553876EFAA
-
-0CDF14EAF92512C71FF6F00BBC63D8BC5093C0C343B927A4F233C0A1ED7961426D7B0296698F72
-
-51C051E3F28231FD3021485E3D8228C86299064AB9DAD2E63E59B995A4C6FA0F453114E83232F5
-
-982866D16EA1F35437C64807F8A72FA8DCDA4DC33B31840EDE22CC80F9C32F08F11683EE696204
-
-457280B39A2891ACE3433CCEA80465F0C07BE27115473FBB411CCEB8E3E532E8125AEA0026CE4D
-
-9F5054D296974F2D0A93D2E6526E88C266A54E937097572F03B66DD7F1939A82A8F4775EAB1CB2
-
-47E9DFEAE00C8A859F39103B149CA33BC6F932103736E727420201F3D38959ABAED09D9D0BA171
-
-F16344A49320062D4B0C30B82434A6482E23B0455E822358C76941E2EC6A8F574755551A771786
-
-07011FA2F4D0FFA7ABCA64205B4301CC8C47B1CD035947BAC00C26C1255EC01A6D90C58F760EBE
-
-7D7B40DB25E978CD72CDB8CCD13255D5DEB867043AC221CD32D78F60F8D9ACFC95340546DD7B7E
-
-A6CCFA481052C58BB41B35DD03B8D1ACC9BD8BC0A8C80CA72D9617AA6A151715263574F9665D62
-
-998818D755CD50A2D92DF966C05D28EA03FB5AE5709B93498EF66EA2D96681003E9F3316200A12
-
-DA96964D6B0BB42077A5306B713C46349C18EE4228EC1A9C29C10BA58218DF587BD534F08C044D
-
-6F09A5F103648BEF06337D3834709A69818F3D6234ACCB4A068F96048819D1D7A023A56903F894
-
-D378281BFA2339FE1A7483B72BCA52F6305A74A1421162BBA1253634EB7450149DF2FE3E10C6FA
-
-1235C24F82DACBDAF11986D3657067ACE1A8E2DE104EB4E101B6491FBD67EC70551DA5694BD122
-
-E35443DF164D0BAC413DD3DC1787AB92FDEBF0806942163B26EB3D142B03EEF3581CD3C32E53C3
-
-57205AA5214D723E4CE6939A9A093329C535621AD0E903411F755E71536C7E37A63B9952A9ABE9
-
-E892ACDC24716EC93661BB9F5A327AD098464D92A180475EAE5F209F0EBDFD799F7E9827F657F4
-
-8D39787ABD496491C8893E1C0633E5AC2E4F75A5A960CD535F0FC96E8F4FE555795C96055E05F7
-
-A05E82F5376513452591618FBB94860D90C701BC8525AF9C1967D97B853BA4ED48D095E995F77B
-
-140C4E1569AE44DD12AABC68801C014987F88DCF2B0191AEABCED90CAC275BEA617387D0F7A1AE
-
-58FCDBAB5D752D318EA1482BF580F7EAFD882B6864BF03CB2E4D59C179A0146C1BBC701F78B715
-
-5F3222AD0C1E76868106DCCA0D5DB602D83CD2DC870EE6E41F5610835B8F2FE2EC730EF9DE0BBB
-
-FEF4308A9AA0392BF0DF1C92CDE4F4ADE95DA0D13951476559CD3B4B7DEA14DF44597A9969BEB5
-
-33D87C8C19518219C64767DDFA5FACF173D64CCF96A36F962D53EE1580B823AFCF9E6E290454FD
-
-1C6C31C45DDE4220F04F3D85343A2B34EFEA529364D6CFDE58A5F225F7EF5076EDC22350F86176
-
-60DC8F9D72E7EB826A5E83CD1B2F0DACDF0195C67D4EE726870111F1A8766D73FFC89440046421
-
-958479D56FD0C78CA5EA7801EB645E593229031821AAC4664B5C814A88F58DCBD1CD44F83364C2
-
-2FB9EBEEDA09F97539843F54DB7FFD4AB3216DF6AC305F5D80EC63250C33E403385AE009B5AF1F
-
-5D831549B2ADD5ED946A694091D140F2C024FEA22BEA365E7EF7FF6F60E5F3B3769B667D2EE5A3
-
-358DD5602BCE6196CF32EB0270990FA05D9523712ABC8D8D24B5DBC77F05F5AF74C174D375061E
-
-A5F97DA12FD34223D84D14B547EB49B40CACE1755A4B09AAAE1AC31C5F62B57911DA81BD2C3C47
-
-FADCD221D9D04C2B4947E665A2B3D2A207DCB35213374C103A910DF8505ACECB1CD8349CF17ACB
-
-5EA463F040ED7649C718CEC21C6C82BCA30EE6CEB79C0A6F1FDBE16BA09CFAC34F7333ED1D189C
-
-1C0D872FD3182F329AAE3DF72BA0A0CDBE264DAB1AA8199CF5BC15678DB215657925C69DE05327
-
-102970108B4A5C67C280FD6C50F731E89672BBA79AEEDD3E623745E576452EB6C15733EC62B3C8
-
-D3D56D6FA18B50A21F6F318C2C36B5178E2D7E438D6590DA1C8FCBFDE177AD48E6673E1DAD7B60
-
-F4438F1AB360F2D40F1A30A0F87D7BAF53E6EE78BBF5B5A9565CABAD7E825D03847430C6422E39
-
-9F0858019AEB3056F2294EE96E4E9F182EC45FFC4EA98E0D499987FF218DC95D051EB30D65B088
-
-9CACA6EC7CD83118AF21E4D77E2A25B21F721105960025213131BB9E0BCEFD8DD79ED1BC39B0B9
-
-07A4ED456A9C51DDE3430010EC11D39A5317451B3777CC60CA9E02A50D3F66054DD668D016CD47
-
-C80EDEFD4A2ABE850D4322243FAE5B169CDD09BD253F3F24AB0B69B2DBE9A79E76CD393B71B942
-
-67883E9306E4AC25FC7C9BF66DC685B51348B0382F971242A764758437675D706FDFD6C14C0F0D
-
-DED0A5AACC1A23CF11ACD2F3B3098B3D2B4F0D34B045D78F98874EB2CCB25115CC47672C970844
-
-24C65A68AFDA977DBA9E519F280C3245AF8E89D0A3AEF334480056A1F203E1BFA0208BABD9BBF5
-
-0423E569F49BF4AAB4425E9D7C3C1FF9DCF6E32E53F881F2F880E1C0336D953A0D068B7DA33E16
-
-3E35DA07B9B5A3B5B9CD266B61E1E4423311A03709840309FFDDDFF0D0035E2D4F5793E6E916F3
-
-DBBDEA8E86C8C7381C16CC6901BA6C0D06DD0FF643AE6B59CA5506793D2B012A19CDE7A0D8B81C
-
-2FACEAC32BB2380C115F9A50FEF2E60AF7590E42138599F6E7637902B10571C4159EEA7B058E4D
-
-7392531DD1B2A3B1A5BB178454CF365AEE4997DE8267DAB239A8DDF7AB69F92CE805B56C336860
-
-C26529AC6FB987488B844957870B40E2A8B3B29FC3FCAEF0B3A6C02570F8661F4E4E455AFA1AE2
-
-52316BECB2C88FD34CCD6F6EEC6B703FBFFF5BDC8BAF056E5590F16BF93564722741FFF344CC8C
-
-86A1DE8AFAA4E2F58B5FD916D163D287327553EC1012183C46DCD9200011053ED4DDF774036C1C
-
-5DCF958B8E09B86CAE24E44B4ABCCB05DCACA0CF4B81998FB73E4E43582D2F204CA8D97882DFCE
-
-EEEF643AA39B5D4C9EB3EC3886A9D54E6ADCC2549E53AEBA70CA4CFAB465EC0D336D15870A2738
-
-72810C24C079AAB893AC53C3A2B42F39A4935E10F1B3F299E9BB3486D00ED66A18F03BA2DCBB04
-
-30DEC8D40D0077686CCBE52FC550EA96DA10223D1F1F098449643364615AE98BC26DDAF2D02508
-
-F66AC81C781625A272BC836106422FBC3DA4AC1CBD775E4AC13382DC49FA54445D82E6A16BAF81
-
-4035BD2B0C9F7E5FCDD50E3B8BE0ECEE39C5B983DFE84645392C40EAFCAAE07C10E209FD228380
-
-5CAD7C989BDEE2B3287DB6D725838513F3F95E50D5A09FC34C62285C1AD743F0C9AD485861740F
-
-462AD426D6CC9741CD14D97DF79533032217E213C572AD9D6D2E179FB877FC5CCEE2D16DC40195
-
-E3C8779A89B3164BBEC207F44FF66518E48CF96BCCFAF7A18F5F7E0FBB94E8D4F5F5A74E95F299
-
-101632B5A24EE041175A0725D30CB9D6D5C57CF41465BD63ECB8A65C400445B095D14A1DF726E9
-
-E1FE72F5EB25F426132783984FBA2AAE965106728C99F6B1F7D7BAFCABE55F09C476DA10D2948E
-
-4CF07E65D4B78DA6F9E9BBB5921BD2E753B8B692C315FEB2A10CA117584A65B6162360CFDDCEF9
-
-17EBC862229E2EAA9097AECE9A591E9BADF8C69BC5EC02674D2B58B7BC7F5CFDFDCC7A337BE52F
-
-6CEFAAFDE5D1394A39B1C188F91ADE1ED940F539D5310EBB5F7E1B11E8F2B0522FC676AE772D90
-
-F55C3DB9589466717F3BB1AE6163CCDF77BC0FD61F8BECE7491C13FA6ED8FAB9E02E39E4B4CBB6
-
-3B15E5CCD4381B15899F601210A376C6246484B046B6EE619B43853D7AD133E4252662C6190E20
-
-76AD846146A03CACA144C018C937FDBACDCC6809952FFD94A6F8E0C8042EF060F4182FE779DB01
-
-CF8B80F3545122FF6DB429E6EAAD3BA9A9267A6227D337D60274AB361C082A551B0B7A32EA7C3A
-
-6E371EA6EA9479B4911D5841432E2F75BFF1099272955D7864DDBF4C88C29E33DBA0A90BFE33F4
-
-4EC5C60A07514E78F9A72F8127A3A9EC2B575BCDB2302B9AD6549862C2A1F4FA9925B484D2B1D1
-
-1D5E4600D97A1C64251D00F4DEB37BB96718226A9EFD6E6B07E5808E35E1D10065C6AF64BFDCA5
-
-D413AE31FD92905EF6A15753902837120A1F978EE341910665A15F4DBBD7C06888A11A0C640661
-
-0ACA8E025D381A8FE29323DA62A6D70E8ED434A48FFBDC96CC763664147C3DEEC58440854ADD44
-
-8C4F25033AAC3401589980C968B2AE1896B4C495EF798CB46403F21E1918F2D251666D43D09C9C
-
-3F1A65D08BC55771EB3E6E4082B7F9B42440794240B24AEC9F4B9ECA0D79219C53405917D48123
-
-69588C23133C985984EC4EA17BB0B85EEA7F629BC9E2E10A5E829E770B8810776779A33A833A4D
-
-DD24DE64AB6CD5A089A82E7F293A24874C8C4125CE45E86CE263ACBB108DEF685139208A592A27
-
-774F3D7B92250FEB4A22883CC403C4D97DBA67ED0CEFB246809BAAEF201A54F921D34D222C5685
-
-709ADBFC96A7774037AB2F2995B7C93D2308631281DEFDF6A657BAB09E193D0C9F759B03F3F50B
-
-4A5F4BF39F4118342F5186C4E9DE29DFFCB7A6D63E0C306777BB9243648A1BE25660F9184DF9DD
-
-32D1FBF11D09D09E71899538291790F889E5C7EA2328E5FFD88134D33719BFE0048B80E85C08A0
-
-BF0C513D3FF7B870A67E6D22A06C7BF15F832F01FD8A435074AAA1A3B40B4C4BD374C8F566CC5A
-
-6527A447B0B225C216FD16F4F7402140D09DA108C0FF3DA5B26012B83F1D7083FE273444DE9639
-
-089695BE2017631819961A63563DE94EAAA502461C10766A7CA9474A41E9297AF9C880DCA16E00
-
-1A98170D8D608B6325FE42699CCBFD934B87D2315047964FBF11FAD2FD8A289C11606C25E99022
-
-707C03B0945C407677A712635C3B50D7FFDD7A52DC849AC925D7A9DD636AEA9749678D6AB2274B
-
-6176548E3E7C34BB6CF289849EB77F7E1976291375F04B3FF3AA011F9A0B0A0EC8183A82581BDF
-
-BEA1BE4D6AC556AE8281216EA0A9CDE765E680BB4FCFC077194CEBFB76F60FC4DC37B77FAD7C46
-
-4741E63E673157435FB5DABD170198280A17F4864D92EB0412174427EB7B9CAEFFD7DAF34D2D75
-
-548D35E5783E5560DBBF5DBF736E1C10F24BE83F60A47615C4245A78395E0A83ED0A777DFEDD17
-
-25FF5734167784A1743238FBA588FF933E4ABE573BF17EBAC0132309E4587D242BAE716E093866
-
-5407784400508A0556CE0E23347CEA2BB550039E65E433F5E569D1BFEB47CD0068293924959911
-
-B00641A69EE50D6BACAB05452C6A193C02CC9B36B7FA312AB51794A639DD781F1C8B9E1C0AA995
-
-339C495588D88153661120A9ED50012A656ED0C9FF481639A51EA0A010B1561F92CAE1540C38FF
-
-DB9373A5C83643A135B6571D51287A31616F6AF105BD17C9B64B6A325C88F30E144DCB9D160F1C
-
-26E3DD65A6C3DC155052EBFF51B51381D022AB1DF1C2F34DCADC6561A251BACA0BA18C3B320FAC
-
-5275C70D1B5E13D5719A7BD7D1EAB3ED382EDC5CF062A063ADAEDDD15386BAFEDF60B935F948DE
-
-75064E94322F056395E95FB70980EF8C9ECD27B222A4990859A2B8FAC51F3DE1AC4BF7677CEE26
-
-03269DB448319257794B9AD5E708505D0DA7287D530DDA959E08CD84FB971B99B8D1968806E7B8
-
-B01F228A4E9A8934E661F403B63164A84713B901268C31A8062C005B00E63981E953FA3E6FA0F4
-
-78E9D0B3DDCAEBB0AA0FAE657BE30AEAC18BCE7C83C2C68B0E32CBB159CA25B799304773BF8940
-
-05FB893C1D6298A911B2DF1717A1B92CB7A2ED777070B8E293EEF4C7000E9E496A707000BA1A24
-
-BE0F784FA98BA543585845B09D855C3AEA622714083F0B1F0501AE74A849345CEE19E2B7CD6D07
-
-EA3681F07774F0F8442E7E38040E6E211D693944A30E27D6242181C2626AAA4A8F541215DB185D
-
-56384EB94AB0D4EDB49655D55DAB89F52663088884D24947CDCC0FD81A09AF0450C60FC665C736
-
-49DEE4922E00C3EE943A01FB05F2983367E6BFC4BC418D7A51E14527BD0F5A0A955C9426F0FD56
-
-08C00A464D1AB4B46969558626AF6ACE2D99EBED930628720BDAFDB59E8943B7C9598FF9478269
-
-49D586AAF14F169DFE8EC9DA41582FF4832FF01642BED1EF244D46C308D4687822ACBC3DEB2E11
-
-347473A74CFF5B58BA27D3D3D36AA3543F2DCA041D42B60D8C9D7483F13983B2E372078EBDADBA
-
-265C67A12243E49C35096198B50D1C5D45AAEEA72E4BC6EC92338E01CEB8491B4B72682C35AAFF
-
-935F8EA76C942EE4BBB31C8E45B17B829686C23D68F64442FA935DED175687B5C042857EA07651
-
-324871B7E8EDC589805DF972FBCF79E92AD1CAA1AC6335D91F0119CAB046620A802475FDC75E50
-
-1F2E6B77954BE3EA96F11E17565734A0EA702A4E8189D95795015F8B0F7E9CAC4492BF9B8D0102
-
-556851FD5C68E589F99FCF51B5EA0DBA3D3889EBB2013ADAB0355740C8750B18285328F01D2DBB
-
-1B0768C2F15134BD6D42D43E34A9F0A870636E26F2455E3ED900F66B8255F3AF0A6F221526C277
-
-50DCB86D5C2C9ED7C826B7EF29A11DFE45B0AACD6742081D2D80F769AB8B4638BA71BC4D987600
-
-DD4D04CC52BA26F407441E1ADDF4D7273A7516EE189A2567EC8E55D1D3019CF717FFC996557BC6
-
-1199BDD52F72EF3184698745427378A58C266FFAD746B397F0528C435DDFEE2C61C8E24C6FCBCB
-
-A30CA2C94A8A341E0B8879D6863C7A7FB805F12A2530BC9747B6BFA7EA057DA41AFCD8046ECF04
-
-6C2552DA5E419F15E60339A6EC547383C4B639FC7A7E086EA69BA499F5A953543CE620E159D1A9
-
-1BB2C6AD22D6F9770F9D2CF719D7AD68417C8F38E9C7911330ECA2E34F843BB97E69869316D993
-
-649F91694F8FB9696DF7531F7B3324F9D9BFB52EBC276320C5832ABD9D0A3DA94D8013DB90EA2D
-
-F35D0E1CB37CD7DB05FFC514F510EB8935BF55C0AF6440464BFEA1D92EC44A821DA822E3870538
-
-AECC146D3CDD5CDA324BD82CC9099C90F2D54CD124435E275AEBCCA0838C7FC25028D56DDBFABE
-
-30B0FBB1EB7C8BD6F948D5FA8C4FBA1C10121FB20F490A57C013C6541C56D0882A37339252274A
-
-B2777DCA09CEC4E499911DCE4532A6C4D35464CE5C15853DC1D29F02BBA5667B7AD3CB0518A908
-
-1960356181C42760C10CEDBB46417FE0CFE1B545CA8B129B67F9254683AB5F8F5684B50E702D0B
-
-A293258D81F07557E83F6EDCB5F50B0A9D57F6A802178896383EBB28D2749DB397CFEEA8B3AC7D
-
-1861D489E7D8E02B01B477429D28209A16487327DC3C532E35E4F4AB1D87A0E1A0F8402A067BBB
-
-30D4D992B5F2997445201C78DDBBB31806EE302E96E353DB30E79A341B38AF3242B3EC8701A381
-
-BD4EEDC5654231312D5D4D2555A2E8E2C2FB4C53679581B57EDB6F01C7AEDE0399C4CC5EFEC89D
-
-021301B96B168E3D3BA15E0A2C2516EDDF2E9B78BCE983C8200B18ADEC5CE6BFEA019397525779
-
-2378C8BF841BD3332096891A3F82DE8FD460F43DC75CCC596B82EDF546F8AC025ED30DA6EDDE44
-
-7EBE6A271739B51AAF5AF52460A86942D94F1D91816D2CFA059C04E3E73F278418492D54989EB7
-
-CE1FEC9D311AE6918035144F07BF987909D6BCC2ED889178EAB7F33F589A711CE4928297D9F378
-
-E50775202217EFCE83AA3C83B731C1F98CE4A78816E7F6D9EF2C58AD5CF26A4CDC84075EBF3A5F
-
-D978DAE6E50726670AA683FD3BD51D1F2A66A15D42E3788DF4C53F3CA6E2C59A0F2C1D6BAD369E
-
-2D468A8D5FB8D82C6B95E1DDC75071E563E9B43EB1F2F7B68D76D54E791D81BD11B0D4F88B4E24
-
-B8E08A04350D03F577E228D7319ABCDFA4A29A7FA9FB2D99C5450A69ECF4748F601F15FBD9ED84
-
-5AEFC029565FE3A98857F197E4B4A2C3C77121BA2D78527ADBC50120B99667816FAF5C65D2F0C1
-
-5901B2968DD2DCC5335BD5DC870E637EFCCF3726FBADCF98F72C143909109DB1B89017A026F455
-
-CD37D656C82A0CA07D5E9A31F28BB27E27C65B2B422BD9EC12FD0D6B5046CD8BC7D27604D3D146
-
-C23C4093F6DF9402D31758D677C6BB5BC1F59B0B8A69E295516C640722196052792DC40E4E3C48
-
-03267398D6144CB5C206999107D67F76794AF501D35B8B77482395F72790D788B076A417991BC0
-
-C4A3602F19F2C0431616901DBD72680A9591F30745A6D4F9A8D4B9D69116B4E8CBED2FB8F08243
-
-22156A60CE2FCA834B805E2F867BD06B69B566E09EF21C3B7C2B3E5BA34109C8B64F7B609DF6AF
-
-03C23CEEA4B8CB123BE7C9637AA4619C29348A1E71382C78A76B7D97E1C91E63278D257E2E2EAD
-
-8D16F62BE741D59EFFD606666ADB7BB0A319BBC9450C11EDEBE337C5E053CFC58112F8BE67EBC9
-
-D7E87A768516E1A971E419FD4903143B6E1B5F9CF4755B5B5B9EA2AF6652A376AAB6FD54DD08BD
-
-31D3DA9C0BA7C28801C048B43D4BB689B3E2A7BBCEE9E9D80D3BD78A7D4D94893379A7228EE5CC
-
-932330B51B0DAD909D06DF4B9FF925F875D4EE1EB2692ECF1A0024417273969913AD25DDB8ED11
-
-BA2401E5DA83EC452C78FC49E5BA3AF8EF0AAE2D55DBED6AB21B5C9358B1CE08A45E87C10C6F31
-
-801F823E6BA0AD8806065DECBFE00B9C9AA3F300B2765D4D4E9C5D2AE87AF05FAB207CB5A901D3
-
-DB5B284048A8AA2F0C8F50BC298356444D2672B6E11ADD136E4B6926F470763109FEF3AAF1E210
-
-895CBF77137A6142EEE9583D32C06BD780550212CC9BCA18B494A0B0A095F23E4EC2CA622CD565
-
-49ED8AE9A82B4E60FFD7C73F6D1C462094F4946E16418D023208D8BAF445E27C7ED9F39A7FC11B
-
-D4A58A0BC9967E1C581EC18F866F5AEB8698E710750FF4A0CD695C314CA2483BF3F5DF14888D57
-
-58758788F0D3D3AF357E04FC45DB58EDE15AD64C7F06364E1B2C64DC14CC0346AD2855780A8CE7
-
-FA539AF1728483FFCE82B389C546E554FE631406A791A01A1CF899555E34634B52F039AA95086E
-
-D64B50534DCA54012FDF867A4173D97D420E9F5C970642CB12A9FE90A975EE7C3D27C4357DB9E8
-
-DB9A9AF78DFC5C0543C926856BD4BDA98338875FD95ABADA260C21858B378D0391F6BBF15AB0BD
-
-7025E657588D9E6364DE1EFA088107828FA4250E53E7487F8BF891962F2783FE305002CED03D24
-
-CEFF5F6E9C3E3211E0D40FE7A9E83314FB9F72F1DAA7FD5B87E4475FE78F542CD22ACC4E40933C
-
-15CBF16B240040414AAFF829371A67B3F6DADCB7281410035E7024B56604356F8D24D879CF4B92
-
-C312CE5538C27D326D56CDA2DB52D7BFA0184EABC7C1160DCDE65444A1F3D29387A8E2C41B632E
-
-778813D3F1E335F8A04F277F1416DC304315958E3641A7D7E5ECC68CD3DD54043CAFACB9B307C9
-
-58D6239E6754920A0C80807835A2F137ACB3D1F828ECCBBDD9A55AFC646EF93EAC3AFF1136567E
-
-DA8F741E24604FD4322B20FBA39E03748BE0274DBC6AA8957D30D7853EB96A65A9878DD94E259C
-
-38C3A144E1269CACA56B0B956C5C40A6B596426F495E438ABF3A54B4BBF161299F594EC305F95E
-
-8BFF2FB788E066420B9C6EF72F6C28536D66E6F00309BB69E396FC864626E67E84D88DF4E74422
-
-A846C2987CC18E70A5B41E26B897F2DE79EFDA6CD99F594564DA946EC13972AB6F7DD737DBB14C
-
-940928E7839DFCC0352F7FF60574C4284398159E47D0487D2D94D21E92BA35BFF04FC74C43652B
-
-26405133714CA12AAF211EA2E7C397AF11E9D775C61462A742ECF9992B69FED0C152FED5AA9707
-
-2479F58F8D0E2829A1F79A52EC7A0DA312FAE6B2010BF70D0AF8CB998F626FD26FE3C53FE4DCEC
-
-916DF0E9FADFA2802ABE944F0BBFD166CD39EBAD3FA4CE2C9ABF007893699FF2C2106004F3F477
-
-242068A7FCCAE79B8795F7394102536DDEFC1CBD662514233B5DCEF1C3F715637BD695B1E07136
-
-E40007C7235CCDCA991BAF173D915D5C5F33C4FDF653D51166997B6A14E9D2F1BC288B34E44DDA
-
-A8DE55AA85627374988A08D965A3E1C8487C310AF32D2C0B8E5D377D4B6752954E4DEFE72FD701
-
-1615D7C3EA25A6733EF7EDEAABC9996D7F6C2DD3CA62A247E2E3DA8114AB3630AF8728A9854E84
-
-429A276126D18756E12454095E8D30BEE5D3327AED59C1BFFFCCAEBAB02444A38A89DE6DD3AD89
-
-4ED7E4A5C761C8BB77CA39F4CC3DA7A70852E27E88A4D6200E922AEF593F0912263CF4381A12EB
-
-D8F94AE22EABBD239EC5E7AF03EA9120F4DC2E8253D5551CCE8CA6336714F7B4A4C4B4CE565F71
-
-2685E13676A3B488311729432EF24CCF8BA48265ABEEDB2FBA53FF2087BB9CB9682E9DDC99918C
-
-008FB0EB28EB1B5D9FE67EA9D2D4FDE1A8FE1D87CB82F8125850A60D924161FDD4E7E7DA595430
-
-2339CF6C6194894845CE5ADBC97883CAD7D3695746856ACF2EFA21DA5EAD33D4FF8694298FF8A5
-
-AFE9CBB1C6FF1743179F3EE82ACE5AD2BF86489383A97F05FBB1809889D9EA33544C2632F33EC2
-
-7119B3670824332E7FBCF59C71C080A8E59A3ADCA3925C69D4BF18F1E2B1F7F9C184FAF7B47DF2
-
-1D7905B78EE91A8BD733D755A046626B2586516CD3527B6EC09A90784F5C22BE5465C24961E421
-
-B8F33A14F280CE7BB0B23F9702360F58C37EE4CA98ACB47E3EF8BB1A8A73F9B083586309407BC6
-
-1B34D67A54157E3728EDE5A6A9D2DA811BCA521D97C66FB44C7725B69AAC358528FBDB674B2555
-
-7F02DAA19EB4EFC71423C89F8277372B00DB45E783DB261BDE6A737F6972018E58FC36FAB72B82
-
-E4EB48BA45FBD6DA8078F758FDC1155C06BA7BB4969EB82A5EA607F257B0BB642B9235C414CBC9
-
-DC882E4B0012B9A6024B584FE68ABCB0F60C8BCCF8E181ACB7783DAEC99BC7A3A8AF028BDDCD0F
-
-410C945F07790C06EA63899F2012327AD160562DD0390DE564D90040AC3037598C4443F095FF6A
-
-3F5250D4BE09418EA43158B27661BC2500EA7BBF3B911C47FE854A819213813684DC597FE59AB3
-
-EDB4B29AE1E51AF8DF5A97EA5B2A385B0219CAA2413E77C8FFF0AC117AD07DDD1054474EF08CE2
-
-6986CB7DE00A01089347E16F36C06D6083642EBBDE402A98AB48F87177AF5F6B8F0234E33FC98B
-
-02E3C78C0813A74677AD524A329233A4C89A691D7569BC5E25C5E46D160FCC69D95A9B1BC47CC8
-
-06917EE441546FA3450A9B30CC4C4BB4E7CB461ECFEC7115891A252DEB29F206D1FB73309B5257
-
-6A9C1FFA48C81739167A93394604B1A91E86CBBB6D164E5D76545C75152DE2E0B4B09F65BEF3F3
-
-85B84F29FA7FD0C9434C93533D7ECC4DD8E1AEDAA8B1A231EFF6266B661EE5F4ECD4DEEB154FAD
-
-7026AC8FEE670838AC986D48ADBB160A873F9CC9F687F4F40A5B6A082710A63D10F92391F341D5
-
-11477AFC88994E4016BCF6D1E7600D55AED6E02BF01B5CCFBF0DEFBBBB697FEAB3C9B012882ABE
-
-E024332330DB02CE61EB5C43C5EBDF96FF799249BF64102FF670B8DBA29F4815C1A4FBCCF23B16
-
-5AD9E8E57F596A8BCF4C1DD10EE5A3DD10CA20B1675809A1D28AFF85A5C4E93D5020DC7A45A050
-
-C722AF53D42EEC29DFF0E924F8A54F75F9611D6DF05E1A436AC01BEC09DC0143156FFD47F32265
-
-9E0F6968FE2FD63074EE77BFE8A4A866132833930E128C91B1CCEEC71BC02BAE80DD2598452CB8
-
-4B0D756E8D0DDCA3F64D2E64AB21C482FFED6A859BC3B5D61F1DB812FEE1AF0D482239FCB8A4C9
-
-BEEF632069637AD48050DAE012F91AB4A244751403C980C50EE44BE38D33D766A2424268597BBE
-
-D36E39B595693EFA00CBB6482372B2C20ED89563983C6CEDD5D288196D49D8DFE4670C4B5F457C
-
-21CAF9D89CA7AC9E008B3F867763A0A23494D4F3DE229F983FC9A133525A5BA33BAB184B73AC44
-
-AD85102FF1AA6915D62EF10B992E9B7154A6DCCC474DF36FA6641FE747B1E80FEA80DDBA9FC008
-
-A71E1552A30F87956A6FE298D5737BCE285DAB1F746622B6140E56328DD0B343BB7F6EA4CB73A1
-
-AE1448CCD1BBD1AE7B9F5AEE2A96C55D4B511B2C3489D964F6CAFB705B1587192C1B93613DE261
-
-49F623A979B1FC8F840590CF22DA6BD562E61C116D6C5B5460029CB5F46C2663F814284F51C18C
-
-0AB1F994BEF08CC775B87E0660D8E396E48F754676836176B568034D26B5E32F9C00B5FC06CBE0
-
-0C1005957D22C75DE14C8A65707F8081A12955D4EA5663F6AB823ED3C709627777BB77AACF3E9F
-
-7D44303AE7931A01AC33464911946FA792706A38AAA64502526C06548D2226B10FC45AB3378EF8
-
-A2B7A9E7960E08D72EE08E71E63E149EA56A941ECCA938D7E0E4A9469B85FF3239F20E3FE90A9F
-
-359AAAB7623C8FA21BCED7B41D9397E7C97627C20E229F268D3FCBF543DEC734297153E916574C
-
-C4723CE548DF8CC187A5DF384484C81A921A90E91E6CCA0F9CB1127F03CBC0E018476242812FD4
-
-C75A24E675EAD79F6261504E71CCA3E5235FC7EB47982540AA5A754D1E29621369D1EA8EDF0BE0
-
-8D2094288D03D77CFEA85F04D17B3F41B07E6E576490BF131D3F78227D569F3691F0135FDD6FF2
-
-D2B212D7D41211A1B7EA2C9FE2D2FB79065DB5301498802B6E1E81944C5799AA78E3DC6FC71B99
-
-5A8C569501D4F24437DF3B510A238FBA8120AAFF58227285C6A10D0756F04E51710D34C5B3EC11
-
-632A86BDDDA8AA12A8C5F48948E367FE5EDCD3D8EB85E3D295602DE19BC1F5DAE96E1A7A9CE192
-
-F9F9DAD0B921A9572ED1D92DAA9AFACA5761879400FC1F11F3AC0C1D3EF9BE5EAE7F7BC963CC1F
-
-15A3D36B4A4B2725AA8DBC77C61905EA820AA3CC1EACAFB817CA530C32F6D281F0F9C45F18DE77
-
-09ABF3051B58B5B857350BCF7D83D621B89A6917F2D31FCCA33D7F849A78A02411A16805B542CB
-
-BB9ECA087CF320DC8A4E4EF6A1B1913A543E62D3611FD1194B019987FC1B454037C74773AA5DB8
-
-3A916AFBD587C03CAE2ED7BDE4A738706041B2D2332039A7DCAFCC47DABADFEAD27FCF70713DC1
-
-751AE3681267961EE2CCA1B21599C2BA3F3448DF4BD0BF6D01D8ED2B2B70E6A42586D985DFFD70
-
-A65B65AA2CE5AA16DB6F5B92284449BD7C72D802B384CB63EF7B7AE51ACF16BE575068005EA1C1
-
-2899873E9FA76CBB626632AF47AD7A0FB3AA6499DEFF547629910A1B30078F23C65396446C5399
-
-84BBD0E416430798CEF8196D093E31B5FA6650574F30D3FC479179F00A3507199BDE82BC7173B0
-
-4EC8015675AE42E92E0CC0EF7D9D809EDC6FDB103658DA78DED075FC61CD2CAE4EAFF1458F1261
-
-D9BE261642DF329C0B0DDB57103C38E823E3BF09C59881388AAF7E8E8BE4190B811CFF83AE84B9
-
-664ACB308AAEE24253DB0A595203BD305A19F2A41A054A616CF02850AD4D00045EC034792A7012
-
-6E7F10CD39C919C5E6B77B2F63108266AC3882B6FE5ACD730C4A79EB4549604D31B70BB81F9DA3
-
-B3D8BFAE1C2A7A000A5884CEC025FF417D20362A9374ECF40936E93EB77362CE66370F16927135
-
-74F60E956A69CFBB70BB59A0CC497BDCF9108748B54660ABAF3AF7BC57E70BAB19C4EC67381C0A
-
-36709042AFF9404CD6039CC2077C9BBA55249C65097978D20E5AE9CCE1A27A74752EBCD4C53546
-
-3C74B8D6EA187C2D575E89D5CF9038DABA4E5B6B240C5A826235FDAE0F22E8B4D29E4A8CDF4ED6
-
-A91876FF06F5A901B6F34C9C8132E27AC01B6B57AE1B312FC1C2780E9630286C933FC5AD84BCE2
-
-CFD3DCEA1C7F621A1C9695D65895C32F9226D14EF31B461FBB98D4ED3C2EE62477D665B99993A8
-
-0F42885A12E454CF8F45C96E002BADC7215DE3B1341C11DD5B78167D76D13546307B890F87A199
-
-FC2CDB95064BCED8FC5E0B502E7A589EA6CC36F2B935E05D6B4CBD38E0C3BB71441F05FD1F234C
-
-549054AF7FD8065277AFDB89149FDB6CF64A4E5375D3EA609D90D945E87A8A2AADF7D59667ADD8
-
-16E8C3D9F93B053488F4408177048EA77A05F8B383E249022ED3853D6FAFD875FA39759AD3BE7B
-
-EA6A28C49312D6820EF2BEAAEC2058CF9756C9EAE517FC06BFB98141266D70F1F651B90A069DEB
-
-3A2E6588D9BFCEB3F4B5A8E30C2E82829376BEC979A6BCF3E4DC69A6FE7BBBF05B6639B9719136
-
-1AAA099F4BC409C179E252452E8C802A1517D9C6FDA3FB306ECBBABB2DD07174484776687F4EBF
-
-9A09AB5F3216D9EB85508125B239FA22867D8C47D2919390E6F5606DC9DDAC2A2C4E445FA8FCF7
-
-4E73B06C6C88085B116EE2876E1DA820F2C4A2EC29E036068E5E52BD82FBEE47D671B040D75772
-
-A93314AF9297753A01212FD2A7624DF89A306A194125926626491A3AFB70CCA5ED0FB14F6169A7
-
-34FACC3D1BC693871985D51B09DA75DE927B0F5E5996BB3FE38532250D76A6B87678AF13331A0F
-
-F7A37700BAB3171C511DEC88E998D2500FE0D72D7E63DD35AFA982664065FD2FDC5998C9DF8E51
-
-69C3F035299A5D7C54490B175CA41E43883839A6C8DDEC8210CE131695777A606133E23D36E643
-
-330DE0D7205D53B88D6ECB5BE6D95790CC7EB7A33F545FA2B1B1FCD7E8878CD6CB5E042DEE4FE0
-
-879CBB8F0B21C155588B0672DC6C8F832648E299519258016319B3BE725D58684C4BE5D692FD50
-
-25891223A54FE34F10DE816C40E5B4947006ACD835DC01B2AF84BF4380A2D0D580AC3878F5D476
-
-DE2564F315213F7DCD6678524094E85CA49BA82499A5CD69B597871ECCFB05CCC4791B8BBBE45D
-
-E820E1F402885D947F1AE6225451E5C33C8E65F7D7714C6A6E59131E8599A4B16EBBEFD2A86FE8
-
-E26D9C76E35F85FD9F8DB6ED3760B12224ED38974CA38F894F0322CEF8634FCA6F4C5643B5EAA4
-
-D9E65274BB5A2A381DBE8A128BC88CB4F6E04C2C5C4425F347479D86164BAA3F19000505CBBD28
-
-B52CD3C8A33774F45999129F51A7BF18A54B71738C534C5FAAE501315EA5869C6D1CFC67D0AB9D
-
-584B40294425ABE35F2E923025A7227637876ED3B746B6674D52CC4DA679D5317DEF0ED57B3C4D
-
-930A96C0FB692DDD2CBCD113799FC4C80147197B7BC9F9514AA0A96E078C3601B32A9F690DC3AE
-
-70F481DD4968995AF645FC0E97AAA22C991AC11BF3A58DF46FF84CF8B76E248B23B9985038E737
-
-0FE65E0AE557865F0EEC63ED7F4A9641CF02810E34B87675FD08EBC880368491FC6C7D1C9BD273
-
-5544BDC95CE0DA3FF11BF88E9680A8C8F91EFD65FD04C0094DC94C29D006738CD340EAE0585F0E
-
-658DE2D9907218612B217228CDFB8FB489AEBF7D5C05C5962F67E0A39974C5665B332353FAE341
-
-9B105839849CDB843E908EF184D0DEA3F4B1C7669A97C035A86FBECF2D2DA905E683831319D626
-
-3895DDBE238CD5493C79F9EA19958545FBFF8B088E86F6D85BAB6CD7FA03CB86CB3AB905329B6B
-
-538456A1C68A260C137E497F2D7A627C38D57030271209DBE4BBF2A484745E6FCB9FA930ADBB61
-
-9F64118E77620925449DD6BFA4AD8838AF81BEDD3FE9D0C15E37BA48B33D6201C6710BCC3064B3
-
-16B535E07AFFD6065CD5A2739DFD061C1C464B4AC5526C4E93D4F32B1D09CA4200DACB79DC8DF2
-
-8AEA6C1E9BE2446222E8FE141786FE5146A30801C0449D9E7143226948863D5402710AFEC43F9C
-
-30D85915E0354B96E9BF438E62F9FC3E74B5599555D0C72481FCFBB5136D4C2E064F9079E72552
-
-15C9E4166EE130BAD8EA3159F1558E48A4D998DA8DA1B002C72EFC4F38E8DB7396DE031DE548F9
-
-76DE8E0C11AD4CD396D4A11C5B73C8E04FE0746AC300D2CD04D7E9CEDC1D78FB9E12A84EE2296D
-
-856B8908EAA722DBCD9C7E72A2EA45751FE235B48879BA76129F41231FF3B6A31AA51E0F8FBCD1
-
-65B88DBB7A353F0B04C55729BD3851A4FF32B75AED59CC9AD498511A6C105E49F0DFC5687E8291
-
-C30A6A826DFD3C09A0CA876B4BE48A222CECBBA390C5DD83BF51E6D1C72AE463ACA5AF5DE93DE2
-
-5727A4D70E7A267FB7A0C10D5EC341CDFADBD56905E74BB02F446F9198CC8DC903C51ABABE98F7
-
-6E75857E1D8F1220109A8BC565D2CEB7E3B809E16D89A83DCA2D9DE0A155522502FD36E9DD8CC9
-
-17540D4DEC8CE209F12C6D6078470A6E5D65DC685C30EA581E3AE53AFC872993940F0D0C89FFD4
-
-1F74A8FA730BBA82F0296A9A8F133810B4BDD8903E722C5F95A887B4131E8C6AFCD14F29FF4200
-
-6F04ACD0F2570C103F154DDD4A5CF09169AD56542855195091C05B71352134A655E6BC84F37643
-
-93A106057B73F58D8E7F99DC9B0B16E1BED4845CCFAE63250299F0B456BB2CC8B90999E6073C92
-
-A9EFD24BB2F239844E412A15C7780BE3A60FF2A686779440B11E9DE0C42547B3D89B055629C260
-
-DA798922BAA55FFFF2D1253A85DA9389C9284A2E47B61F9A5CBB20E9E3C906AA94B211677F0716
-
-707C28C39676943314E52FC250DE49E8A3DB1E042443B66568AA37D0709DF04EF1362E5B9BF083
-
-D59CD3BCDFF50BBB26B7C8CE35A8C4DE96F2E40DBD9D3CC04C39841844F30B31DD25829BEBB731
-
-8D2E1DB290960F54D1498095D20C6F05F7DB57A3A9FDCE5D154FFEBF36ED418BF5FC0965BF7BEB
-
-D16AA8DD31E562095B0CD721F8349C1476693D8EE368EE149C3D243698F54FBB5CF83F65A6F169
-
-3BF15017754259994C993C676D5D3B5E0E805ABD5B5175EC55C3D1AEE6EE769BB1C614426D3E2F
-
-2A3167EAF2B0AF5BB68F024C35125487C3AC670227FC4B781BE2C5DDB6310B59817ABD82D5EAFD
-
-5ADD7BA4EC0C89DBC68D03C12EFBFC051218179494B0B01DA523165717D1DEB70656C573BF7002
-
-A66CAE4E69B42AB76D22E6D5C2DA043103604F06A2945930F421AEF9BB28FF1067C297A6D10E56
-
-6208A1E001BC8E2514DC6A94B559039F10381A5B031CFC73B959FE1D270E07FBC2C4D2ACBE88A6
-
-88E1AA4D9F441B831B6E1E83ED4C1001B2F393264948235312E83F12FF24A33AA8A332292EBEF8
-
-95269B793562730486747AFB79938BA78BEF925CE4C994D1D58C5115296D27D7275BC4358A9DA8
-
-C8D521C2B55F5057C2854CBFAE0AD361AED083F8A63723F7E535C84FE255043984D5AC389F6550
-
-20A3FBAE4883366AFFB9DC7D37F4BE42A3A40AA747721D763F3E8209385F823AC1D7076DB81C8A
-
-00A33998CBB2E574D9C65563E4C24429DFFC0B992BF3477A90891AD6C67BF26AC0DA33ED3A26BF
-
-9A523DE4A8A24A4EECA3581BBBA6B182961EB7AF4FC2F56904C27837A00373C0A49F8121B9BD21
-
-97F0BC65592EE0F1EB1DF93E87F4514BC5D760576E3A39B18684682C0DD8496FAF939D5FBC907C
-
-F77683792DDEB86AA902C8B223ED2CD95D9AD9DBD52215AA05E690FA22831EC1E2308C97B882AF
-
-2F10D56DE08EC526B4ED696A160E139B5407268F1E17A710BA4F71A83DF53156A95B1224E5DD16
-
-B4F3EADE07B57D9FA064DD487F4E84EAF04C69CEE2BB8DB8411849B883ED8138E2023B82CCA222
-
-823E24F80B8816935AC30BCE18E9056B4E6098C7A78A252973AA19A6FD0A87D48617291C3E86C3
-
-C6140CD225B139070B2E55F4BF2BD1E752DD2F7C2C0163938B1CADE6B80EE0E4A2AB811639157B
-
-01E8B11BB02F4C3D09F86F6A178D0DE5FDF804F102F48D66F5850CB685748FC3DE7E0A657EB77E
-
-7311E98CA80D96E7D60A6A1921EDE854415C36444FC1C4E90AAA32D675BF6B36EA87818616EA80
-
-0CD1259EACEA4105F1FAF0D38AAFC1BC427A4B3AB9C83FB22ABE8BC2E607C1EE5D38720081EC4A
-
-63A2174E4CDB46EAEDC1D53771E72C763C7EF98F9CE9E6D93BE98E503571CA19910667E9900DC1
-
-65D78EAD10F8748D2C6C7BD9AA5571DF798B626E0CCD391415EF22D78ADFB11AC182147C50A14A
-
-153FB3DCB091D37290891C3D1C44012716E84E7AA39B55089D1337181950DA5BF52E39707E1A75
-
-435818E44FC0269F6FA4E034C18B94CC0C6D4750B4372D28F24B982927E5BCC910C66F8264F6AD
-
-B5DD11AA46534F6F057CCF650EFD8F1E56667C7B9958D5629B227E12037C098C7AB5D5986BC0D1
-
-2AE5AE552981FFBEA1C00CB6CC5EA988A2944C7F3A238886831C48DC81F179B9F8F686D7D0D1AE
-
-436A0897AA6255D3041C1EFE7FC6AEE65AD8608DBACB2C40BA3C8E178E8F0BC04D27343E39C3B5
-
-93498FAC8856ED317A15CEABB1D9880D1A156B4CA0E2AE90D4A42F2383523C21DECE7D1A92EEF2
-
-09E811F44C4701C1737E7C8951C140F446AC0991FCBACB9A5D8A9A36C29A7DF9FCB5405034A98D
-
-556900B7238A29E4D1C46770FB85A1C9D345F54D3F01FA966F6A1DB9213C2142AE6C6E883BA5A6
-
-307D428A5AFC0E09AC26171AE5B358ADD11AE6702095BF832A35C33A26E22C06B60E7B217E4346
-
-0979399270F5559A38EA86986306211BF37D01BC0990C38BC4CEB03C76A9EE984A6BE19E096D33
-
-CD5D1977DD237C9600F18FFED04BBBEFF024BB062C73EC12FB00E5E1D5EA32149093454EF270C1
-
-4F94446B55CE56C9B700A12AE7119E7812A1472BC70B52B67E30608D8DA81331EC9E0F2587A8FB
-
-34F3DF3DF0476046832B371F210F6FC8268C67F07ADEAE026CFC1921BAE4052680CFCB37305806
-
-529EBF63D8327A1D924A7EDEE1955B944510FEC9E243C872F10F5301B1D03C2BA248B57D1E1024
-
-2B266A9A61691E1E9E0421A89E0D267C1C87DEDA11F25EAB86A6920B90DA63DA5245AF639CB69F
-
-C4E8F12C91CAA26610A1B321F91F90C79771C91DC4D2F6887868D82C928E4574C0A395CA1FD582
-
-549D601F9274AE55DD6F146BD2A444088947EE9D191FC5AD9F5CE52D3A267FB165D55BF70A6A82
-
-12343E7328FEFBF3083AF528FEC8396228678AE2153557F93399DE55B880B020A921687B4B4719
-
-DE07EC57F00B2BDFE003A95E3211119BC72F468AED00ED92A1843A28AE104175231F8A246BD8C5
-
-E0F2FEADF643547ED3120BF4950FCB71AB33C590C74006A8F829D43A9C72EADBC7E8A48EE3E4EF
-
-2CE847D275F1D06B305DCA0A7F0234D241A187A3A9D7CCF390EAD305E5D89110B5D0453B2E29DD
-
-2E0E5313F8E5F824DD52DC515C46A4CF4E7E5D622C590A8854C9DFE724CB377F268508677B701F
-
-4CDCFF3502D072E597E3F9D5F3DFED8BCD42AA7EFA96B6A93A42642088203B075EC5CB9732EDCE
-
-4483518EA6BC04A9BD531FA9D0ED65256EA3FAE0B1493FF2CB8FBA4C7E5D8AE1CC244C834E00E5
-
-694594EE9A5A9325C8FE95C2F6FF849446E417918D88E00E86D59664E1D965310D354199BEDBAE
-
-5366C183DF1D5D1CCA5E64A434C50675CA4F1ACA9704215BC5A1FCD4C3A296CD22389DD808CCD0
-
-87AAB921F5ED11F34D2D0334861F214083BAC9541C05D78ABE5AB9DF253E7EC40AB3A8E69CE730
-
-AEAB610EF92AFEB93733C9CD9590B1B1D8A3A5E44D22B9528E429CDE7AC4123C0D7A8739ED8BC6
-
-7C5583EED7903FA0395171EFF44973DB1CF052DFF83B4D7FCB6B9FEF7EF08A4D7C0FAB844F2F90
-
-48513A6A3D39A407C33DD521409724A79F8E88DD6838298E17473829A20495C863867DB9729F83
-
-92CDECD291B601ACB55BCF9BB18D873364ED03F51631EE887246D5480A1B601FC792DA6B6D398F
-
-FB580A32E659BA4B0764654023426E0F5E51045943D2EDF0557DFC8FEF287CB77B8EA3208E2466
-
-330E762C53D8F19E173708FEC484CA6EF090A0A65A190370A8030F84CD4CD698F65E81248ED13F
-
-91A0C21C3B0D7C6337887BBCA9E5D65CA6507C58960367D36810E813B060EF9BE7D34D4AC15774
-
-06E97640F04B87D203DF42BD651229C56681D296DA1BA7C09AF38583C090D0409828F445B6A9DF
-
-429A374CF2DEE68FDB5FA4A2BDD4D2CC25E46FE69AA3C34A592288DA4DC1702592FB052DDF00D1
-
-4AFF4FFCE9E4B74DB410EF990CFF606BEB6B90AD35D3179CDFF285581A3D161D96F4DE69E5D40E
-
-B344E5D23D6F0B47ABA92D0A3EFF67C8F16D33DBA4EFF89C73B34450D13B48B4F04C87D167FA8F
-
-70E9AB17D603C4C1AD07873BF336760E655CBB6AC3A197D62551ADEA5B7C1ED5303D8598000FC4
-
-B9E738E2679F5AA08DF07BA994253000366157FEBCCE0EA475AA022B046461187C1ECD85FDEB97
-
-7B2DF4970EE03C99E8C24804484D7B7A426ACF82B05AFE51D5083CAD68F160ACC9033CB7706CBE
-
-68D44997ED54DD0D7523A032036EDE50B2200CD44F9B89A1DD0F541D977A17AD49E4F82FECB9E5
-
-FF7C525196746E8F49906B9B2014BF6E1A9A6F356DCB5CBDB427394FCAD8588FF2A0ED67430F15
-
-75B2E1617F7F7DD17E5F12E0406834B28002DC7E74C2C4EBAB48AFF4306CFB2D17301CBB238AC3
-
-85A414CA84B988C5EC5AE293F3A6A947E70EC4C7F0956AE123EB78E46C8F9B2E7DFC75DAE6E509
-
-19892249014BEDA7FD06645E6DB918A608EF4C373E7179921DD6FD94832C0FD9C15F56F784694A
-
-7788FB33B9FBA7EB9B1A19CFE576CA993F0FFC31398C89167D5F1D6BD886701B07E787851910D6
-
-B0BF96B51CC1C8BD3D0BBA00FBD00857E4329C1E9092E20E4395909BDBD334B027250BA8597F55
-
-79DFD55CCFB5721FC7A555412ABE49E3DDBF09F722120D681B6B19FA0026CDC30978976DE83887
-
-69C68B3C321B6113D3AE32FD1BDB7C1F1FF8F4DDAE81FFC131AB8316FAB33B6FDEBEEE2F1C496A
-
-805E4B920F3816BDA8E41677DE36EE413E80C500B9FE4E3EEAD0114630BB1A955D0F5C7760183E
-
-68C226060B051729F6E1F46C75168392D0ADFCC3DC52F2903849C5C1F1CC4A39486FD84401112D
-
-C1F94EBEAA3A3BD4F282978AF8C2FDEA3364ACB1121EB5F593F332D8BB3E280530F9B1A58041BE
-
-6350704391190C24BF0DAA05FF8768F084E6870401FF346AC73EAC8A6906290AB2BB58AA7D2C0C
-
-901BFD714C45188C75096057AECE6CF453B98520AA7346E42E449549EBDE4B70B16F66F48655B8
-
-7F0ED4935D108E9349F57C5745EDFA02D83EAA7EE7BE7D7FADBE66D6287A61CAA1F468DE9DF58A
-
-DCD7D4667A341F6748A35C19031767CC2E0B25B6010CDB31DDD3A81410B782B4A6CB5C9DEB3B09
-
-26D2E86C69C63BAF17055ABA5AF39B237C53D3A79C5639C3AC638E1592A5C742B3F7A65C557F76
-
-0CA2E68A0BB27D0DB493DF5353D75849304F3B15D42115F55717203817D1F6CE5567359CCE7085
-
-371BF23A60851B9BC7DEE19BBE40B8BFEEB85D20C7886CB89B21BD4DD57414958ECD3B5CCD40F5
-
-7825372CB8929AD26821F280FC5BF3F909B8454248665F39E87AC12679023561D2E4C17215CC80
-
-163600FBC3B2A3637FE8AEC7E6E9143939A96F9AFF544944EE914BA054D6B5D0070C16C99D3EF1
-
-0A5CA635C83A154D5799B7FDC311827C9E9DD651CBA5DE32A3ECB4327BAF08D924EEDBA059C33B
-
-3E7EDE159E83DE71EE0894C2A7201618AA39F39CC3574DFD644CB41618A668BD8D1BF07FCE3AB2
-
-80E3AACBD9FCB90C4D8A43BE3B72AEB9E6785DEC6E09A6CBDD95A2AC7A0BBD49D86D29B08E8F2B
-
-99137B2C31EDC27DEE6A7F5FAA39D1FAF0BDB9E047C83FE596C958A01F835149369B0641F8EA6F
-
-F0DB303EBE57724E6B1048FFD7F31682DAFEBC1103852273DD19BC98C1C5452F841D5ED7C2F746
-
-6893D23CC5D6DB45B53C9150845D7EB3F4227CB5363E3A3BF5DAFD68D415E2836B4AB53621125F
-
-D7CBD6B551B3D0BD14D6377DACD47787738EF0BE98F687C6CDDCEF0D780A1DD8CE08BC9C018E95
-
-AE44424AF1080F5D245D42A3A4C17D3E19CE340E97C722BD7EC55B09735AACF13FB2FB9906802D
-
-0B34CAB1C02758CB4FE31FCF2758B3A6CF8353E3C51F399AF3ECAC2E109C999BD15DF1148E38D1
-
-A3CEF647225CA8CC45B962A67731C7DABD9B756DAEE7DC5E4074E3DD818E3DE911C1FFA8B6C1A5
-
-4F279C8704A61C629733BBF2F227F171512AD7FB5E72B267EB0A7B6C86C0EE6BECB416A9C4867D
-
-C3716826448DEC3B8B2FC172FEF52C39A0574B976B9F3BFC53422A20313F0B058638EF1870587A
-
-A02D9C4B96AF4F5536562FFF26C1CBDEFAB5A6CE81F25084E902F56B840318847B5E31883647A0
-
-3063673BB2D0A7B2C128AFD261C434D1D4CFB08C50081C216927C28954A79149AF111705E57FFB
-
-F8C8A138AA343F16D540E138ECB9817F91B040FA65D90ADA642DFC98E414D3C909BEBF1A442F68
-
-0AE92F829D0F10BD99BC1F00E7345D05133CA2F3BAEDCC63ED6DD92DA86DF4C85C9D77FB4B1D95
-
-E64492CC0E8F0468D3E55D11D97595876CC2225416EB2D1042FD8FA07A6FDD408F619A0C84B65C
-
-20876A38638DBFE973ED7DCB6A8CE7ECAC0BC71349AB2DFBC8682C1D5E8AC8FAC86BA95A46E391
-
-1135602A147C7205C4B4951998BB1D70BC7D30E7004F3C81CFA4A1364CA1CB728859F57095A068
-
-33FA57B2AE6AE004592AE87D6A57BFEE4BFD39B77C34416E2316A739A27084E2FDB9A9A8A260B1
-
-E928D144FB43AE5A89B05997380E30987D31414EC916E3BD338D0D8997529A17BED8AF01CAD6D1
-
-CD4EE06CB6C0563E91B919903BB5C0EF8C79ACFBA7CD0DB8984603F729672DC47F6D840D911BCC
-
-3FF3F22F561AA5EDA2783B5DFF8DC573A06E8383C1B7420003FEEBD754B62BC461D314B383D483
-
-CB33660B681B6A0424D4C16B730F9759D1C5B8CDC769D96E67817016CA5356C8D45836C297E5C0
-
-CF80818E5DDF6FD6B3D96212A6E3F124AB2B2281C7E32B5A11F737C6CD9A886B2DBCEFCADE6D8A
-
-F8A392705B8EEB3EE7716BE865CA9946158402333E4345A143ABCC24FFB9280D22A2E538FC8C08
-
-14A9F82CCBBB350FDE047DF917E34B7F9A3D520C9776A501225DFB8A5440F91980155C69D69C1E
-
-8B772AC1BEDD870F516A25628445A68793EB46FF327E233DE2EF2428505D78FBCE1E933500BC08
-
-75EF2A659105BFB84D62CD8849B13A0A2AC5D32700C660460BBCBC508A644BC21C02915D44D071
-
-E6997552F1A43E771C41D9A70E52FAFAECD73AF8F50F7F38D85F9E968E178FEE686F76C17B5FB5
-
-C1235E74EC812433155856677C8A01CE329718B01E8469165B54DB6D861658E073D407FA7D295F
-
-69DFBF4CC6E06F7F4EDE5C9FE04907DE0EAF8BBDB73AE24313F1442614FA91CECDD1FEEAA36FEE
-
-969131B200334EEDA47A7B029B872A79EBF7CBD108388C90ACC3A2E0328ED70106CC5D962BA72B
-
-4FA1D5E01B7476375227CAAD08CC669F7EDE398FCD48E4C98A6FE592C60D262D9A814F364871AE
-
-8B9D881029CDEBEA22805E58C1AC88EA3D2A14C06C99A6995236CD5B66759521D1C63CAC33E631
-
-8C9441B20AE51F6C5484CD5C92301CDEDBB6ABD32BECC3273921900D13303220DB46042C720348
-
-F8F5660C96354994A9F4BC8814FD4DE786526E7629D41F523F92E612EDF64C0810600493369F06
-
-32ACE4BABE4488FB2292BF6B5629DF5062FD7D2038CD9856A13430FCF7E9440267AE07A4EDEFA0
-
-03B83DA367DBBC33F449F987AB4C90C6B54F2FB5DC614D50C803E6A85F4BDAD9F31C3C83F8C84D
-
-B51960F42978F59784756FF9D04C14899C601681615360B34077E110C6FB5EB7EEC81FD21C8ADB
-
-F5086B027D11DB853324339403A157DD593C0C482CFD6E41AD59E58C9A9481A391152151C5232F
-
-FC9F164757A08F5DBFD5F239E218915F410197D59AD84B43AA34B577E9EECF694086ADFDB4E8BD
-
-9255550D0E6DCC0F7F22C34E63678545F2B34400ABE7E4E3131D20CF0B01A3A266EC454E3F4D58
-
-24E46732C9B304EB4B7F6AE660A0DEF74EB7A35624C4F8EB8D467A0176DE9AE457EF670B5564C2
-
-749B545B284F63087A2EA02CA97C1142A7E6E81AC7F441D5C4AF68F37E85198CBBA2D509A36A92
-
-95F02A4AB6C08E001E691577FE7512B7AE437BA23D023E26320FDEF262A5B7C32C51AAE5437983
-
-1083D5CB84789619A605ADACB5CD0FA5DBE2A4DBB7A5287C151696D2DEC6BE0AB1122F19C026C8
-
-9FE4A49BA8298C0528677326F0D41CFC2BB67EA9DEF70722D6E3DF3E738668F4A9CB2E6A97E81B
-
-A717B59718A78192C70EE9E7EA06CCDBB40EA7711D05DEE264ECAF9CA47CA542EC5B17D968CF0E
-
-E334272DE264B243DBEC490A3FCC3AA34638DB49C12C2574BE206F53331429E242061F029399D7
-
-4850FAC2B14C69EE8DBB6187D782AA0F9A40C5B4C6E663474E7BF45C32FD4593BAF723BDB8B866
-
-315A898E1D429A9BA89D618836430FF6603137334E7C9F03E7DB7A68CD78A1FF11566D55063A0D
-
-3BF30A87727130E7FB50293794AF5BC45F5818E8949A1F4B806924BF629EC443C5AA6E173BA126
-
-22A346D8B071F91E1D305D1540FA83CA8DEA7F09DC80305B9D392BA31D6E71722D0B947C26F73A
-
-71661F801A9D08A7DE62886A390361FDEA22F1FE67EEC2153F999653DEEC688F25B4B9D58C815C
-
-A456804360DE294BFBBFE5D745B94511C304BD5388FBB84DA4B31E650178CC257316674C5A3EAD
-
-9081770D88683A103CCD12982465A7CAA1C903CEECA6EAA1169637BD370F1900C9143FC32DF44B
-
-BB2D6A4C4C88EDEEC16C598545208401D0985347AE8B2A16F98BF92CB495D0CAA9F137DD534D87
-
-9D8902DF0B44848B3EAC1C381B8A771F9F826A1D33D12FD45C220E94D1C18B630C46D41659F485
-
-16BF6C1A52E1951AED115AE9D4C65BA9F7D436802A5673923E65E8BAB985D09484607D6997929E
-
-09EB1DBA1DFB33BA2999AC6460734312C6827467C70EF061FF8509CD8D79180FA0C92A30B8FF54
-
-59ED13CD5158AF3CB913DAB4CB70ABE18FE0366003499020F996B787FC5BB4A767EF25E3417B4F
-
-C66EC7706E689A551B0E4AA157565C4AC5EA44511D9084CB45B3A5F8EC1C827CA408B1622E5170
-
-3A6720D74D1CB45B5C4EA56076203F3235B5D17E02F195511AC3B1D213C01B604529477E30B1C5
-
-7751808676C3F3103918FA224B3C2C65E0338CC81E11A9ACD2C9F6F995042E654C3DEA26FC3CF0
-
-A094BAF63822CB3004F2786EE74C86FB8FC6542BEF71D96183A1A4C94F01F8CDB0AE1DDAD192D6
-
-1B7AD708D3498B0EE123ED66225976E91267D45C184148C61F99BCFC11DDDFD21ED76D0FC861BF
-
-79
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-cleartomark %{restore}if
-
-%%EndProcSet
-%%BeginProcSet: stonessbi.pfa
-11 dict begin
-/FontInfo 10 dict dup begin
-/version (001.002) readonly def
-/Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def
-/FullName (ITC Stone Sans Semibold Italic) readonly def
-/FamilyName (ITC Stone Sans) readonly def
-/Weight (Semibold) readonly def
-/isFixedPitch false def
-/ItalicAngle -12 def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /StoneSans-SemiboldItalic def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID 38795 def
-/FontBBox{-153 -252 1303 950}readonly def
-currentdict end
-currentfile eexec
-A62390F2B60376DE25E6D63CFB2BE19C185EE64A6BAC29C353295355E2953CB3AA6671B8B948FA
-FE62D34F0DC7D617819CCCCFA9D276C723914F28DF9F5A1BBF644109266411A6B99CABC920970F
-EF157AF4F67AFD6B8256D30B6EC249D3D2D31311F781E50A6CF1A677285290833E96072D8D1EED
-B8E7402A588F7818A3DF24AEC6EF5BA6A37D1F478AB266ADC2F139FA5B069ED780AC237BD2D560
-57ADE351BB17DDDA706520BEC386806E3D20ABB33E703B0383CE7EBD20AEA40CD1F3AF80DC63B7
-5672BB9756C84BD572171B717974500FF4A18AEF19B1C787A742E6BD5239D4CE1EA9F43F4881B6
-2A36C01609947E97CEE999B0E57F752F0091BCDDDCE6FACDF38D98728FA069D326B0BF3F03061B
-8FCE80D7B17E69BD16F034750BF510B9D36C193E853643A7968E043A0B6C68348297E52B7194DC
-86390AA0A39414FB9F278A72BB4D38D3DE6F311EE0B4EC0C38AB490D3BAECC5F9C9C3CF970127E
-8C31A6587F7B3A2AC206B60D81BCA82D7BF803849B86D987E5A0F487A25252D9F5F24FF52EB9FA
-E8F5DD1D4F1AE6BCD7F119970D83662824A17F518F3BA7C0E355630ECF16D1B2930AB700F859F5
-F79B58D5AA5AFD043451EF0E21896E9BAC697C99A006F8502AAE0F32557BDF9C3E88B5866BF280
-AFBB6309C4A6C56DDC93CBDA5BAF9D4C9C33CC5CC9614236425B9170151C3BA70FAA2B8822F999
-2902B23E11A8DAE99CA765649FFFEE734CD45A096246CC418F4DA104A0E360D84AF8413AB6315C
-F7B2D93458EFD2CF75CE8E429B4FD9A0D9E2625B56B2307C5BAA8AA4209ADF3AEFF11C2FF9CDC9
-8BC55A81AD0B8975D77B79259ED26DFDB7B48E6AC2BDA8C5DBCD573BE8BF758DCE552BD8D7B9C5
-C3EFFEEC0FEA01A3596C038750DBBDE019DD061AAC75C6DF81EA05D6C6BA940EFEBD0904EA64AD
-CD9A299FC2A677BC166B910146703C4AC77A37D1E35275DF13F0C89B921C2B33905DFB79B21455
-B76CC84D7EFDCCBE9EAD6C4548AFF3EA59A7003A5B0BE359C8B5990DB15451748D00B6658F1C1D
-3C02C9010E586E9EDA7403E03288F939C5A56E56B038BDEA3DBDDEED59953B5D5F3ECDBB9A7B20
-6E97E19EB486E666D22AF8E81C65ECA005599297CC09B83DAE12A4957252A92452C829A33E5864
-3AED6D1A5538BADB723346F28C1FFB55737AAC3B6B95AAB2BFC31B8CFEFC1238F36B24B5E0AF4E
-201DC4B4F8C584CEE2B66A8BFEC755CEFDACC6BD46D1ADC9353BB4CD9F59867A8B9750BA0D836F
-4126BFB96360523DD5EB41BDE2B6442D53B6DB3825AB19A5B8122D39AD6EDDFFDBE959A149E9F6
-5532FC70C32F297A56F4288E355D9E916225C80E4564FF3AFF4E04C65346BF983822CF047F27E9
-58AFE046332F5F8F122A687FD0BDD81032331699C60EFF44DAD7CFDD98EAB24D314013209467D5
-A80786375AB9285D7E4DA5D0B32ACC0AB990B4448822AF1D132563C579C28B38622BCE48919C23
-E4002D6563D365236ACBBC278545CE28ACC29A6DE5A9380A4AF6D2863C0283F75C864A8B5869BB
-FDECA25E17EBF3CE78C0903B393A024C3807236C92B89611B70EBBB96D672132CD28B0A402F98D
-D6475F2F9E471D9CF1D965E56EA4D0D6ED3344120D8D1ABDD8887EB839F7A2A9E0DACBF2555874
-A9200A29C081EB4562F10958353FB72F2E0486F479ADBD4767284E6339BC2DEA6A05556366FAC7
-D8C19CBC7CF415308FC33AC6763E2F450EB9FF4B86CA7ADB2A7BE9033255C445936A2C970D1FA3
-1BBD650E10EEEBB018212EAECC4D4D03046CD14B860BC6BC7FECB4C70BC60456295803399795DA
-D15E5A7F2A3B8EC7BFF9558A0EFDDF178752D7D2BE6DF7CC32212E7F3C632B5ABCF9F440CA4195
-E50F3407DC05ED8EEE3C6EF5D927A304063D2C5927558E212087231C485A118433BEA5D0314C3A
-B3DAA2631617367D5A8B79CF0C1E7982953C575C363FAE2DD20207D5F57398035825BAC5FB0280
-47C7D907B3F9529B9BA37245CA1F50488CB4F3106260D4C324D23E061A2E2E88941D56633B98C8
-75E93770FC0B33209248C5290539C23EC3E072AB079719D3417EFEC7272F496F0CED0AF2A58B93
-45F5A779AA54A0B05F80DB1908F6F4B91C0DF41AB56ECC0B54EA9BDF6929B1C791475CF0864E5B
-A00DCA62280FFE6A4C62629117C989D332FFBC25530BDF4F08592741656B60D82F0CA39A3CF374
-5A626475D1E9783378E940659ABA7211587DE18504C4B300F40434CFE719CA3CDC3D89BB226F5C
-1E345A3C9186716E03C222440EC5A9D9B585F9D10F9DA18A94F927EC32E73E8449FFE392F703B4
-18B525F5F8F765CD63824896DC2F81FA75DB733A417247F990FE6BF0861F1B463EEF1B727085AA
-39E36B48F69CD2AF2F05A3D328B3F0565049C19481287AD0515A52B323C141789D08CE15D0D792
-FF2E8F498BA4DE090B6603D7270D993A152232F4D0E37739FE269E40E8EA92872180B67347522B
-D93ADA3C3B4414004711C25276B1D845571181FFB4EAC47EB2B3E7412593A80D0AB953BBAFEB64
-A0DA73607A207B8E2CF3F1CB47B74F1D31BDFAA5F6E556D270E00DDFEFDFDFCD0BD59CD03C2590
-7A4EB0E2CBDE294AD274F29646BCBCDE44BE8AED41E878557F30E81A0842AB388637F7A212E953
-8AB2119B28C51FBFE4E75EA17AC233949A232B015F748A5C51B30ADB0918D69EC641BBAA574588
-CD45AA7791AF88AEAB4F82FFA0929BA72ADD4EAA58A00EEF780036B65D279A10240515ACBF696B
-90F919ED5D9CD9B65D85450356521278D2F8367228C09507A6B52AE413183521BD2454A755E150
-784E446EAFE3CB12F35A4A92D7F5534260CB84A4D61980C535D23FD091706B2BAFC60047ED1388
-2D3DC00BB1E006A2D678CFB3C2F2921A30A8090F303BAB9225DC241F9CCFDC1860A062EA1FF404
-7A2706F42C1AB7893334548876ECEED621CB105D30E03EF0F5F2701824D1CEB599C47DE9CE2274
-A41E3D4ED68C56D8130877E21EE161E863CF27413FDC0A9FBACC6D518A767CDC7102B786FAA8BE
-413F625031C79934879D9F0D0E82B5339BE5EF972F4B545293743F0E31647B6A022550B1CCEC31
-86297B1E8EF9A0AF76D6B144C84A2FFD5AE4BD4BBE6BE084BDB4E503216837D229CB80E4E2CC6E
-3BA702B3E23BAE1E96309D919A3DBD5F30D78C57598EDC3BEE4A8374E4DB7623E2E6F1C3215B36
-31AE53A2911298A952631D88884A477BA09F526070AEB8E0E9E1FFB8E694DCB2CBBE4E531A7575
-DE9D35B8EB87DD5FE44D4044B674BCEC038F5D4D9324C5DCA1C0505DB20497C28F345A28313B11
-0BE19BF4C12A4242FD01CE385362C273D4A01F234642D9687DC930CD66263344161EC08B49C30A
-0E39176E07272C5FFAD0E3A3489261A070DFEDCE9F27E5DBC8DAF699344C070B6C030339222DEB
-C1F625AF6DB875C69FEDB4D6135811005354B26FAF284CA2B92F7398E24D8887C8E70A151A0538
-9883EC77EAE6F2F7D6CFA77C52D81AC221EB6711EE5F11C621EB3AD2ED5755F7B055C19744B937
-4AF98B9D178FF7AF4EAE1F54F49B4C9B76A3947D647941A5C3FB9C3E5B5C57E4EDEBCE7832B16B
-DFE73FD84582E1AF57A393404FBDB07DF4344FF5837D825804ADBF5BF85682D9C2177ADA261501
-39B05AFE65678753EFFCAD4F871A3C7CDE919F7B677D93ADE141F0778C1DA0D25E4A8367089E09
-8C8E74EBC70BB5CB7B8717A2F23496BC24B00085E830EADA44B528E8A0CEBFA870140598F2F680
-40C237ED915D4E9C5158B1FB5D8ACE3B66E429E6B50C22FBC4D289A15BFF52BBCF71FDD36C6679
-5A9DA5303654B84EDD27CBF199A2C564F080D8F5781D39A32B21BEBBC978FF8C4C3694C4396725
-69811D60A95EC32A232FC0DF1276DA0DD6A2548FFB6CAD2197BA3C704D0A67FB83D05087C9C1F2
-94BBCF0F72EEE91833B9A625C6A749C3666C6A777010E05F26AFCCCC1A6D6CA26EDB8D12A713EA
-43F0CB9692E6AAFB2470787CB207D7F3D297158E4E37CCFB67EF01177C36BACF5512919E62C884
-DA155BFE257B820AB36E88A9F8BD590642E6EE18D295A53B84342E7FCFAC64C21E681D3A974856
-9A1E33FB4633FEB2DE5727872201763A5E649991664C40C76907AC876DF566911F4F151C815091
-BF3116EE7C60CBD379D3737C42FC35CEFFD725492A80FF0AA17FAFCCBE5DBD30B3310319570182
-02E91FF3813E5BF41F7986BB970808FF802C02B31B896CB480A5082334BDF9A390CB20EF03C1BB
-FB64288B244655AB9ECB8BF8B9EA61571AB2FD3B1E2916D38C247C21F4A4AE03F7E1CDD1A28307
-1AE0359B960FD9C45AE39794FCE5D73CA1A507FC6D0EA06CEED17A4083A5B6AD4AC63B9ECC0375
-0B799F3BB6F86E190BFD47CE7A697C6B1C89C3B55C2EC058F3CFEF2EB53B35CDE7749E79531D82
-0A1583DF38B2FC0A4EFDC5C30AA5D1DD77DD8196DE5170101A4AC8C8B9DDFDA93E9FDC07F3F572
-E1577A6E0BB03D5BEDC5B3AFACDE1F015534695942E9FCF6E3C8D7C70BE56738862E3A62922390
-F31AE5391D55D125680F3FC0DC392C7F696CB9CCE6EDFF20A3EA4C38EC16B2D33893E148DD373F
-A3090AA01FFD3A37C1BC80531B4310AA42B7B0FBE02762A656C69A1285003093158CC2D13054D7
-A192DA888380C82D4EC01A77EE962B78D05373B37AC588BD5F8FCCDE19C800D68499E9B07BD329
-70691EB6AB21FF4CEDC94C96E55720728B5D54AE5F8A7905D6B18EBB184992C2D4B4ED1204D6F4
-56AB648076C24864A8A7E3ECA52D5C73E760A442F1D1A162F15593442E0C37855B51FEAACC4B20
-993D9D9B3EF693CC68CA75E449F1E32B00231A484F110AAA2066A4348D8DC5D6AC1FD374E404AB
-96E308BB2A159901B6AAE12E1B5B6674C0D820841B4335CDF20F2C64CCFC7EB064FA0A0F07B125
-8CF9FA6DE9AF57B0ECF09E2DFE96F8F78B83C9F689F1A10D0BD87FE9930701583171FFDC30BB7A
-BADBAB5B079086A7943A3C6EF5C9F652F9BF035916B76764B7B53EEEE54D8A33D5846FC6A6B64E
-99FEF43C7FE90DFEBF83CE4356610C65C771426E7D28BB600E743A575F88E5A3F1A61B5F53D431
-151516B8D247E642574B409CE4191FB6EA040586F49FD9116FCC9B602F76F6298FA74221B350EB
-F69F6854D0E8E2E8BA50D2DCF7C04D3B9B63C7022006371DC3FB8E114F44A501C28A5D63383925
-3896C3CA6A65A9C0B0976A9C5FFF29EE1D27B0B6A1CD2A33928F779CAB654187FF00CAAD0FE27C
-793F5B1A1EAADB7574B2B007D9AC5F341E8AE471088DDFB6CDACD0437D1A75FD7530150DE40419
-E144C7772C5866DD09FFDF928EA4991963E0A5784961B467110E4B126D0F05CACF3AEDCC00B559
-9C789174F96D2018ACC8B58BCBCB827D694B5A4E1F8C4310F7FF5C50FB3E774173D21ECD4D276E
-B02E08A6091D1201FC1176F046466E4D685692D97EABED3699AC741FD506C10B90DCAA6B936E57
-2A4D7E6862198B29AF57010188941CC7668EC6CE860F416D4AB95C44E0B1685804BFB329919D2C
-0AD9837587A380C6FA3F605EE3C84A14F4E8E5702A1F5057317E2C3A70C4DA53FF1703BD88B18A
-07A68C2622BA3AFD610A4C3AF73B7EA0965B34C69AF7216F9E9A00CB609AC4567EFFEAB245AFE9
-02506B811227AF036E8985A0D8931B7DAD9C0DDA01A88BD5E40C6DFE3FAD7D268A41D93EE38D2C
-B5B8ECF6B7F295D107B2217B0555A439E9586B2B2526934DC922C5D75C4A5469F8B3ACB722BE01
-39318429105A4F5AC2657ABB4AF11ED67213AD16120EFC6026480FB15AEC28F3B0C0AC5B82AB55
-322A9E0E6DE39AC103C1B4EE3F6235ED6D9AF0AD4A2949C61C182978D99464DCE81462A75DBE9B
-369F0DAEB667948727B721D4B6C7AEB0E72E86896AC6BE3F8948E5A8C3A2A04FB8867515ADB92A
-B1D0C77B5A29D871B6E3406D44B6C4AF4A2907418BB99FF4912FD5E2171D141B09C3818595070D
-580411ABC386329991F4D86FC7EDAABC817A74BFFE39093115F826345A48E966674B0D3290A6BF
-1B6F634D002F7E17AE7C065DC6FB4A18897E2C25C96B9B34A6BCE88AF1F0D2A83D87C4F7EBECB3
-9F90AC1594D395F785CB0FDA4BCB7E16CC78E582525C5EA073E9611BB5B729A372DBB80ED0A53B
-7D44E35E65BA5B50E383F932F7D0C38B4BCE43C7EEF4CB1DB16AD5C3BB741AE73DD00C0F5F949E
-1C4FE879E7DDDCCD475197917D4DF3CF62CCCFCECB31137B0D807ACA9A0242898FAC954C382214
-66BB36BC54B1DD6B927924A5BE1EF65B6697FC6F0B621AB5499C03CE4AEE3CD7DFD1CA369DFEFA
-F421BA01A8D5794F63B05625CE02513B4C84B8C0189DB3368E7A7568B422DEB07D7E34D10D37A3
-1CF59111FA54E490867BBB45EE635D4E69116F4F008120FEEC6FB7B7FDB5F921381CC520C816D7
-4DC29EBEAF41EA6230982E486E4916B285CC6656EB7EB2A1E13817ED22FE119E49452AA0BEA8CD
-DF0457B8450FAA7CA6863B47B297F00AA6F039941D89626153D5FE7F54ED02FD02BD68EAB40836
-55C11306E38E89F4853E911696896232D12A0800113DC0066AEAC6E10AC5CFD56DBC4BB36BAAEA
-B1A821CD7DD5FEF17884F46BE82040B53705D3541ECFFF57F379E9BE619F52436017F6C677E2A7
-8C105CDC276A7E12224BF30284A8BE1AE06231CEE80398F16040FC720934E33E46F4E4CFB410D6
-2B37C95CCF6A5D0B205865DFD1345204A3D2AF5AABE6C5CFC16E97FC3CF27BAAF54F4F3DCF1388
-1C9916B9BAF8D160DB5573F16C5A1F95DE88F878461BFE98ACF137C14268DD8882B20A0859914C
-DDDE2899CAAA419F561C04FF0DC290F40E319210300E91628801ABBD1DFFBADC685040272DFE90
-7F3DC0C0A5C419FD17FBD4E7B60DC1EC1B69D83F4EDE8B8C6A4DCFD2D419BA88BDB4D9CA0504F6
-DC28F5071E73D2BA95D15B8AF01527B2321837CF1F66DCB58B6071349D5EC951E98B0A3E2945FD
-FA928D6393D852024CE0D9F5AD1C0D4CD275328F1263A965B539F9F77A11D9601C70FEC6109E3D
-525269B54AC7AE10ABD7E9DFE6D2C116ADCA04887F9A61236B2B6CF07BF6629B4F91272921006E
-B73CA6695943828C8B6B6AE6C74DE26D00874B0CAC27B8B6CE2AC29FCEF2DD06520113482B9E97
-B0A65BBE14572E8ED5D698C4B30B31EF4A68659CB178DC79AEB9C37A069280F10E838075F383B3
-E59B8FA6FED1E85AE260C5C9612F65722A6EEA9E0E92188738019A3AAD25E746791DD8FD92AE15
-818BD278F2E27DF6F5E9F410E419935E8829990C1A46BA2912483D48DD5BE54A42FE3360417AC4
-86D19633867EACF8CDE5865F2A5DBCEBEBBBAAEA670AAFC86ECF234FAAE825A47014913BBC29A3
-FE6F4B8AE09F62D2F8B6E54D5D1691D8C1ADE6EBADD268DCFDDC4A58484BA72D6970F4DA7905ED
-8070960225D73B77923C5DBBC359E34822348387C309B17E4F36324A2EA1C2F305D6E2C7573AC6
-63091F2F8396458371BB62B1BA041D418BCC0394B6974AAF6BE37E8E9AA7DA543EDE9F83F6DE06
-177E60C98680B8E4D6DFDCC921B6F044366539BAA9813A6ACD48D0F0229BB93AF244DD191A2B3F
-26FE28BBF4CA9BA5D2E17CE8F45B35D595220E46BDBCC47484911869E700D8229BDE2DD45775C8
-5679A730C00766EB8E69BA8ACD2D903BF01B9F8164E3CC7C9545590C55B5CC1733BCABA7B07A76
-EA61A0315A077A53626EC56D1C2DF338DF09B4DD375FC15260808C2DB4F9659D52F56D474C588E
-0A775743A7238461042BC9C40F1C4F5AC640F5467DF8C171E74FE670B331E57D7799F0A8D519F4
-88BDA299AAD86638A9983172D09EC8ACA7B7C0819CE7528FAF394569E04F54D5A6086E7588FAFB
-65AF7E6904D5409B62DA57A2C3E26184D68D5FFF28E8A0027EB5C128C9C12F1C1CDDF08D8C9D12
-E057AD30CFD90F3A29CEF4525EBA05396370DA91A7802A51E40C331F5DE2DF4A39558CD6682640
-03D174A42C50B6A5B2AB72016B2B5E39FCBBF5029D39712BE03171F1208BE5E1A945AEC3AFCB9A
-7A5E6058F70C3A1C2CDA74DB0C43A09422E11CD2A57CE4CCF0FE58E5E2E7E3051E401C1F34606E
-616FFB4F4442DB141B9BE426BFBD43D14581EA4128D244818F85B6424C800DC117D6B7BD469321
-0D72550340B1DD1C432B05EC414922C899B75559D25A63A44223A149ADB574EA515320E678DF66
-6AA9D619B3C4831B00F96F1C02712C395381CD0383B63BC53C1FA4C5CD4D00862F6819B491D260
-4A4AE4955F7615D87C298396C8278075FDC008CAC25473C9F9CB28A507452B7EADFA56A3DAA7C9
-16AD4F090123C8C885D9D1ECBFF8D074C98BE8F18C0FDC2510A4305E9CC8BA571374BBB7BBF75C
-F1CC9829D5A1A252E4730D1AE3210AB074B67B00C54391328CE1147F205502DFE3A6EC47A4D63A
-B7D2637B2DB121E63FAC1FEC68888A2001840A05AC90B07B577E11D97644517394AEC07CD40D02
-CDB9BE567DA3F4135B0253D503D50EC566F422182DA173AD62E2B94D31A5B4F2099F9FCA252246
-6862BEF6585E1A189565958B38A64CFECA4BE515E6E2BD8BC5EE44FCA593A2B868544321948E7F
-A4AFC1F5A2868CFFE363C7C6E88165444E13C8C47C65E72C9C8B28CA496B49A2E46D81B52B48C5
-7B3C8011BAB8E8DC9A14767153CCD8FF4A2166FB00A60402FE0AE3F0691B572766FA4BCE607508
-3B2B1C3E16CF4C9108462AF1E6A48F4D7A1A41645FA27677281022949500483B46BA23F1755B5F
-EF0578E5F2E5BFCEE2F713B3324A8390ACE191D51408022C3C8F3A207766EACC05A14E3C3EB6E4
-85FF87CE4C62FAE3C6BAD0D26ACC8E7E584A8CD7A25A9AFB42DA6106F07A65C261671202ADAD69
-542EC6D1CC5B1EEB605E474BC949BA7B2E8A64D4F5BD7BBB326C06F9630D4F99B9729CF4205D29
-12BE9CF81FB114541EF8D7D5CE4DD1951CBFBB5B2FF5A9896202D438C7225B8B0F4C985B5A94CA
-09448A46C2E3F04674A59F55BA9851BA61427380930BF2747CCA7CB932388561969DF7F5D9545C
-5195E52A847EF2BF4FE33255606BAF3AD695544CA0FA7681034517640D5611AE1A5F1178CE695C
-223E29C41A4017760F3651122B7BDA4E967BF5D76FB93984A52773C518BBC71DB32FC51FCC2F27
-BF59622C8907241A16D31079AAF1F310041D63C7750872F8FE294C06C483852399414A03D4B684
-44289717B3D097324EA791B963A273D0331714F1F912FD6262B81FC89A5050A5F341E91500CB00
-E970CEE22C6C28ED153A44CF43E9DA55FCFED8B953F9412A1FE477104DB3BC46A897682B4912AF
-1DDE7F20A6B9A4365060CADBE5316B805AD0C5C32D55B8458C47B5D47FC1B4140E0F6B42B78FC0
-BD262313F96DFBEF9EFA5A4F590BCBA3C484A151C05113E4DB9C56FA187CE5D07BFA5DA8EBDE83
-3E75C6AE8D8E651654E11008172BFBEC0C59F83BC1D6AD9C4DE8EEAB779C1F8DC479ED084B76D6
-D582DCFE08BC4397ED71F2562575232D9B41EA2B5F23722DA40231E9AB85677C29A6BC37FC36E4
-DC4414661CC627EBF94AF2B13CA571DBF0105D08632CBF640BE1A6F4B33046238D62D1189692A3
-6EC37D0299B2B43D8DCC06D374EAF0B5D000A8B144A954A37CB7BA6B7ABA3617BE2F719FB95410
-5179899FD2187BC906ED19D54D8BAD2B970E7B62AE8EE1B17989E26F340BDAE188F7FF4213A1ED
-758FEB0DE33A33FCEDD3B874791B6DA5F63B91A2ED5DCD67180D374562A2ADC73359CE9EDF88CE
-824AAC15079441A95D8F0EAAA18E6CFE4016326A75A76C210347ACAFBB90C3E14C7732C8F5CE97
-CC4A9CC6E2F1444DCD170DB12A9BF832CA1A238A29C61E519E9F00F0F5090E84933F35FB7E717B
-B64991ECBE650E4864B24ACA929743EB77591F64487789EBFF2A2BE399C5097D6C673B6C5A2179
-BB3E846F49F2F83F3B1F360FBB2DBA6AA4A516EA1BDED50A497ADF520F2D18846BB30AFA1B732D
-761B6760080B448963D77676D9BACC127E5E033E4F1215F0DFFBF74247404B276201C39D187DB5
-9886A597E04E4CC05DBA500A24C9F2237D5BDD93F9089B92C653E47AF8EF00E62F5F22FF8AADDA
-CCF1CEEE6350F3348792912DC6131FFC1DB93FFCACF5B88C96F5DEE570008CE39B1E002A24BBFD
-C3B0A09767B24644216BF8905E02EC1FE6477575E3C45DA5A05BE475C20DAA7BCABB43B4A9F16E
-6C5FF5483E0F5178E320CA3938736CF32569B61BE5BBC724D2AE0F970AC88A3B4AC2DBA8DE8ED0
-D42D0215D47CB49E69FE1D7D7E40E87D0354C835F45735760AC02A1324ED7816D9838D28578098
-DE0F1C6505133B000164083310573BECAEB20CC880EE592845B6CB4D3F2C94DD06E3AF43242499
-56C2DD51FE2D2208E32FC8A837B4705B71CA68D7214E92F2996066AD6BA8672A2B09652B3E1861
-7F6B1B60CE18F9EE5BEA3616C3EDEB9AB79ED7DBCFF05AE6C5E03F33C4B20C5D2AC8B049B09A80
-1EA83D3E1CC5C3CBF608B39FF2662369B85478EBDD4565AC7E6D79CDCE0A36E913FB6A6A098B4B
-A16EDD7BF1415DBC0A31DE30909DDB588C573FA54C3A7C703D76BE975079B781073CDFD60EAE69
-6BF991B69DB54FE24CDDB02A44CA8C32F0935E77A5B8339F60FC8630A0E921A444643D68501E25
-F64813FD94AF45F9040B148BF0568C1963D9B26D70995169483B011D865DD264225322C45FC65C
-5172DEC70D0B2B792594A9CACB21A225E8D07908A052AE4F0FBD3918F7F9AB0D7D2EBDA5F0E07C
-D043048C5DA8F0A38C225D2C15A5E03689049D80463B7CC35A54E202FB2333707E0A3682B85150
-1BE15715A94AAFDB49BF6BE5F80D83FCAB28B0B800D685E658D41286D4BD421DF10428C40577AC
-36386FC6B76FBB98BFB6A13FB6FA40C6837680CFB1520C0706254FCE622D14AEBF58781E0BF2A6
-222F54C43704D4E370D0AB3C91F4D5501DCF69FCDB8A08CF7706DFA456A11913C42F61A832AEA8
-B189409E146557338AB059AC7BA9CFEEF2AA969C5561B677414A91680649CC3DAFF576FE686F9A
-B9931A749AD17F6C0C90120AF8A9584535F1F0B7C31134C09C8CB07D857395F00D98384D8BFAFA
-FE27566AF9E96915870C87499EBF243D8EE8291E60DC73C8ADC2886E4D9808A39964D24B8EA30E
-F93B04DFBDA5A5B868D29E3945030AC0A394EC4657B4FAD9D2E2C7965DC7EA916A3E20E67BBB7E
-99D52554D224938DEB35B11676F91F5ED24BA6670F574537BFBCD403F09212C3DFC3B8F4DD9EEF
-DE27656AFA41B69D9094FD23779B37D6E54DFB6A654923AA9093006B23CCDD68DE0D6DC6E8B232
-464DF25412DA32486A81887450891CE49172CF0033C3CE0206B02A9BC94FB609491BD3B8F2D7D9
-080102AF684EF93913160A07FE787B1FE843A9064DCE5E29612129DFEE055646FB5BD78019058C
-8E32F297215AC6313022C40FF4BC9A38529CE8F574DBC54DCEC0FB37F1E99A50166F8D7FC40AD9
-283482952E0692D21C6B8FD7592B48D77BD3487EDFF6935DA9F4A926B5CB625C994B2365A39688
-095B9C4663254C7304617D2ED79F333F5769BECCF0B88287F1708FFA7211BC0CF9BB5715EDB733
-6F009A6A797EB3656F8B82AC930695A511B8E45E200BA82B81F3378BBE2196B4B6CFA19B829D8F
-8FDDA6006EE028965C34CFFC5D71ECE1E9864D5C770B66828B9CF8783AC1413371FE27FAFAF46D
-992047F64C1FBCDA55FC6525FE5CF16E681FCB6F35786E262034E1B1B4F09CC4AF3A478A30B408
-498D192C627B06AAF0D88E87D4FE13DC14A9A8A20F9EA404F8DC89C122423FFB5B0E3B88F25C4A
-44C799449D13B169E28A60C86E1738477256CE22E016A0319B60DC8A9D0426BE137616962BC736
-6BE6780942955BDDE4CF4CEF3177E9FCE58E706B3BB8A013BAEE39506E7378A9C5A1F9AACA2EF8
-224186542501B765F002B6B35A79ED7A2A77DE1192250A3D119B687D0AD2CD269348C65075AFAE
-D8DD82ECEF51DCBC18C374D8A092D99BAD3AB5C29A8FD28FB41C02EF3E4D095B7082E6D5EE1A5E
-4306C9E877A7BE348FCA240527B4C349FF7FF84901A5D22428B27AC34B44EC507447644BBD5501
-8FBA01EBA3693418EA2F6906EF3C1577D91B63CD0BD2C519597EE07D98297942D80B0B65C25987
-949083FB0642DFFBBAD74C22C3C10102E57C7AC0DF4099C97873DEF713944BAEB920287B8E093A
-BCE51BD52CE45DB3C6A737A55E1A00AEAB50E71F5D5B0CDFE61551DC7CC3BD03934DF272BE1944
-EEC621EAC02DAAD8E54E04DDD2C3F02CEACC947C799424EFD1A6C75C7A35BDCAD1DBCB9F19BCE4
-12BB019CBC7525536C5CE21E32E9B9AA0685C7D3BFF3D82EEFD684E8D63A526018F4305D137CF4
-6B97BDFFC1E28B7745C808293C24C849C9C61E93CC64D99820FFBC5F1D9F016DDA621C97FA8418
-A0410F78DDF4531885509464E55C2EEBE23AD17C60961699668EE76C6E44E0D0BCC839B808ABDC
-B6FBB586C87A957136216953315981AFB2089C1105EF07DC47E5B3670EC1664CD13718B8DBBC51
-746750AAA374E71D4ABDC31F8E8AC3804E908597CAB8B3E70EB42AC67A0B5B1E2E628796BC3A69
-F3DFB63DB7DE4E40411CDBF98B86688AF4CCD8647AAE4E1D608A00E0834E7D34CFDAD8C95DF21F
-AF62404643BDE3700514BDDC81BB34DF75C7F8EDA704B146D20E14EBC98B9D0A11218EC8578BF5
-239E5633605C769EF3EF6855F48DF16DD8DE5320E1851E7C17311CEB2F9A2811424DDCC0E6BD36
-E45BB5191D890197657B66FEE05B83ACB88E12BE1A48D66949188080A0F2DF71DA7A2E3B072B23
-FE94F176216AD5F8DBACE0791061056E5BA4364BB74273A93B853DB23E396116B8C1C3F3F8C545
-A42F02D45DA7DD2EAD34C01EDE163FC5B9400C0D39BF0CDE1B1FCCBB68D47B44885EB0AB14D205
-A30D1F2E4E1825D9742DA3EBF4E47F6F2F750562400C54330F792A998FFC158650940C0B115282
-D8C22CD34F8CD532ED3B94A5496C33B3802AC5D627B5F0A8706311191EC4252549D813C92A01A9
-804B39402660B489095F9441D958FE3873CD6E6FD3EA91EDFFFFABAF460B71F1C1EB9703A7D9AC
-AAA34337C306B67E7460AEE1AF02E7E2E49A332599BA8CF2309AF2703631B4D91CBED26AF49410
-830CCA7023A7581E2ADB97387A7DBA23189AA993B86BEDEF59A72F246A4F58EBE354992D91514F
-130AB2C167717A97D647A157BB6B1D968AC86C9A97E8FBDE9B2E141DA7A1EFCE2139D13F0B7489
-51CE73B1AE93B19E93B456C491363E045CD5A4C79EAE5174F332A36A9BC1001B793022983DA2A1
-8A8C7FAF236DA88415A4C7A262CA714E373A7333B366AB35B9E39C7389A9D3DC385EE951F66879
-188C6A50C3D9556CF70C19F3308ECAE12009C324F93F69E8208A2A8E9686EDBB141B1010368ADA
-78EBF3E52BF05827E453A9B2318A7A31B681148419434CB738A5A36A9A3905DB00F459B265C793
-41331A9661352E40157221BF0D3EE9A3D7E109BD2FAED3FDFF58C8B17DD8D41EEA780A090B6A61
-E84CC84E0B5A07B7F176E3E3B21FA67A6E51B154DB1422AEBB3F11DE57E3A2928440BDB1005BC8
-58598D8D77F30628DE258F26674CADC2AC1E150981DE5FCDF9A8134859EFC953524A83C1E5F4B7
-0AB82678DA8798AB558C1981DC65545E9669AECC21EFF0F428709FC457833E593AF584435C6D49
-7239E2E6FE9F99A4456AB8CC54056FE1ABB9C591E11B8E1FA72ABD1C07F23BC65D83BDF2914F02
-7711C1B5405FC84371A9050FF9B85F1338CF24D44DB280A284F9DFD368816027C9B21F41BD7B43
-1AA73797585FC93C0A5EF1353B9012FDAB80EA8DA648A32BA684437E904793FA4BA37F83A86CDE
-B9AB4FE06B5DB0172012CF27613FBFEFE108B459EF13ABD1F266E5921B51ADB35235A90B8E646C
-FC94B8A2D25E295055827B734D965E91B5520601415F93BA0CA60767C60AEAAC82678E59BAE9F0
-8C33C925768CDA423369006B6A84E9ECF4A9576C94FBDFDAC3281E13E88603DA9913BA1E148A6F
-9DDCD19E24E39B221001F6C824806A04747CB305F9FB7B22AC6C5EB18E68473959A5DB0FEB5EA4
-38AA8D7292AEAFFEA89E9ADE49034E0F03C2EDDB57D15C1106F2C50FC19E2760B8C8D1F3F21CC2
-306485BF437BAE4B710FC4DA3A7AA53F9A5B0EC13488649448249348B7A1618F5645404E04EB48
-D809DC0BD68CB12AD22F4B46FF2E9B8992B812F2CFC9F6B45FAC4B6180479E76FEAC7946FD6DA3
-965085CAA176FDA9881036220E289F6124632367CF7660E0CF5341E675A3E7914392421C1CA647
-103D4B9DD026337C4FC5A148C39F231151D9E0CD4413DE03379CF0DD10D829B95CFF70A88BF541
-6B6088529B04031C12B75E601BD72A1C1CFC52B5D377C5B80490105A0BDD5B6FE5821FF77E1A74
-DEE5AFA5ADEF8E473975360965C97BF48CFBF7F04DAC7878D0B2190A66596E10934EBC1DA5575B
-B5851D04C34BAB17979B35DF56F5E3DD914D6DE19F22310854513C2766AB6A6C58481B0993CCA8
-95B73C3D45414803FDA3D413F9220AE10097FBE7A9A6CDD150CA0F8575F8806B7F8E35D17DBA0E
-C9B5B827B8B28E634D4DFF5890D40268C96A752A8D03EEB11F06C7736EB608B101C21E71CEEC70
-73B54CB639C23D11344393FA857ABE72BDA7D0B8C1B47C92A18514EA4446E6BCF3C71305E53963
-9A0AE965D8E0E14B51DE79531EA5C3A1C0A9F8B8CBE42A24180E09AC811A85811A536C568DB390
-8F117D5A06C075C452CC2226A9DF157D84570A65DE6119CD69BC0936A0A4E2495330A023EC6C79
-EB8845454A88ADA1D22B3147AD972537CD6C8B7F1D41B4138FD6E89DFB65D12BBAA25C0E182077
-755AF5F0B4147DE8D18C59FF1EB4677FDDCAF2FEFCC49C0B3206BA2616118A86F85FCDE41058CC
-F8BAC9045AECC291C5AFB4B92B067315BBA38295C256FDE9B4D77B99470DBB0B9240E682CE9DFF
-ADC7DEA34BE240F6432DF291C19C1F2A4FFF206C0832BE628EF15672A3091B7AE7967980D10E03
-6EAC6DA540C09501ADDF9860C59E6D721E559F3BF80BDD9ED0F5EE3E95130ACF6C4EC7161B7190
-CA4D9F74FFDC060CC39FA20811C6A1725CDC2F61C080036181AA26C43E056D8FF2660F492C9989
-351B3844CC210FEF0694265282DAFBBB6AABFDFD6148B3F2982992AD34BAF3E34BC1E2DAF2F45A
-BCFF9A9888412158C73F0289F44F7793B09AE11D7788B2DF2539EC09F0FC7EE91DFC836070A38D
-F12DE1B86901966497AE0EFB1C403F81DA5CD37041F0242B55718A9B4855345EAF4DFEB6A0020B
-3996618CEC58C0948B8D68042A87343E81FAA82A20F15AFDCE6856281D80E7082799B654355EB1
-C515B0EDB842F153A30EF109F3280EEAE70BD11079B3F339E218A77A5E73E55F7738A0C81D25FD
-E5A24EA899FAD8D7D5F156BCA8DF019AB31BE0BE898D521D93E02BCA53F7AFCB1825A07BE7675D
-44BB8868354416FA3CB072E032ED4E14397D89689D998AB3540F3851F4D271F0950270A726A885
-5FEB558AD353308D5E1448B3487F895CD02A9F1FCF7164D32747CFBFD7BBFA63470E84A40ECD60
-DDD9D4A140C1818C9B19A67F4BA7D4CC9582445E58F4A9E72BE3FA66F09FEBDDC41AE995525840
-94B372CFF3CCB76A6DECC20991E38C49B70834E1649CADED29C7A3368A93F19D19C8F7BFEE958C
-021F54731E5E6379292C2EE8898058633DF19BC5F7463B48BC12DC2DE92C3AEBE2E7EF273172A6
-B064B6073BA7950D9B203119411494E694098803849CF3A2757ADD758C726291407085D17B054C
-0B5AB36B843AB10E40BC1D556E42F6D12A4934AD98AA1DCE1F3B5E36B3CFE961DE91EF6D242AA1
-93D20582798DE7146964842BA49934D8117536BCDAA1BF4CFD39FAD56FD110128506F3911A2F80
-0CFA2AF2B6F7F931645F8F7A48A29341BD7D503513600E8CE18A086578C158BEF4222141BA1AB9
-748293483AB5BA75094CAC69D6B48D9A598A22843322D71FE4E54D016CBD139F1FB38730A137C2
-B56FDC38FDCF4B911AF65D9666FE871A0184EB3C8677AC77D20B658D211956B101396C72C63821
-5C21FCF514615F7FBE4EEB17DA9E79AA2DDB6BCD486A5B3DB522C49E78154749D9656EBDE63007
-21DDCF2D738EC88B96E2018A76BB47F71ECC6D2EA330796BCE78C1502AE033D1B936ACF4B14FA7
-DA665A97E4FA3AC09F9C269DCD5422C20B8E5E1E45322663041DA01CFA72787E903D4D3974790F
-EE22666ECC6C89AAD89F01E5C683D31B69D298D5C82341E17737413B44B8CDD121705A4BC6BF67
-2CEEEB7C9F8B13E1ECB760A7EFFC1CE62249DAAD1A5F02D65FE2DD8D76B964D1EA8BAF9AA2428A
-020CE6AAA48034D0FCE36CAD982A46428D2A2B2741DEA674C018C12713289A89A60860719463D0
-B35C76FBFF9C39A73B3277B357493C704E1BFBCFB86BF566ADF70F0DDC5D3E01A0413511358924
-2CC8DB3107E229733968608BE00ADC1E0DE80427C65C74F696BD256A9E74731EFA182028D00EF8
-E686A53676FBAE9870E93CDB7C3AE6AC9F4F629E40D209EFBB2961F89ACCDE817C4906DE2050E5
-DE9646B216E31A4FA02F9941A9A104F656807969E5ED4A639000C7BECEA5499B6BED13B00C7FD1
-1473BF322B3A56BBB290C230C67FD50EFAE3DA7C2D8FDA27B0BC66941F8012FD4A40D7E65E7CDD
-4498B63C452F159BA17E2B938BFA3439BB0DC71F4551EB5DD196C8B7C0ADAED1C255883DFBF900
-94740283291693C9DC77C514F450552C6612222538C52B6474C077D71E1369263ECB4948194514
-CDA6A491EBA464C262D90C11FD4706D39EB5F3F4EEF27AAF150DF2EEAD7EA06E99358ADEE0F1D5
-9A24DCED2FB72DB849F4EACD52393C6EC86E9CDB78D36B6B3280BD7B1C3DF08DB3BE73687232DE
-A4B6B585CBC3748164C055F3D7F53C33D9F76B5DC7AD74263EC362D9E2FA9BF9E4247BB900C4DC
-60E9B4898530DDEAFE2E316827E1CB13E9E7CF88D9FE0E5043A55B8A5B10CE654D2D31504135A8
-5EB566691B4812D6E05F34BE2DC6C1BF70CA19A6633000732FEBCE0EBF4E28721B78A12F23F79F
-AF43F2C600D41EB4E3690B7EA24FC1AA3092B5EA5AA8F479F4F54B2C7721351992C114B8A79636
-FD235EE91D6B5B1BD5CD918EB3436C929DC151CB5C42EF4F62D21604F0F1EB3E01AA78487B4B93
-85D0E09B8E2531D936F5D3ED4D8C244B838B8E72416F9D4716C41C89E2980DADA92B50AC976D38
-7F9E320775EC1E9B09AC93914E01A71566CA9343E853CD63F9C0ACE1FFC41E00B5003AC5FB68B8
-0DAE5FBEB6CD8419E2434DBE40D017FBCDF617F3A8B916EE5D8ACD3689A9FA438F54C5AE5C02E1
-CC6604C021400A437E729C6FA9BEF55A049C7056DF91C68DA0C2F7990B97994A10DCD49260FCC8
-BA315238CC2DEFD07651DA975DEC1889723FA502E4BFA7ADDD25138C84BC049E4ED25885B9AA66
-4BA18B23764C3AB41213A43393EEB6FB839AF29F9E4B7AF4317E455C7F37543C668AF9B8B6DAAC
-068370E787B7D64AFD0E8C010CCE9BB2C0D67A6D8CA0CCD2F6DE3FBCDE1BC6CF9F7AE893F93AE2
-9BBE9AE62921C176C9D87DCA4608DAB3A42EE9C2E1F3180D200CFC2CC9706295BF2BC5B41F7641
-1E073C36D501F7B2F2A482D3DE67FE2A65AF72A909539D1109E70800A0126315441464BA5D1685
-0D04455746B4BBDC085E7D15BF2CA5CD8E717DDE8415C1766057473F53F74E544CAFBA17D5A4D3
-F784383FC5CAF153263794C8DEB9C06157407A0D65B0DFDCC20381CA0B54120E874D8154CBC016
-6F015A25CFCDD50A79929B2A9374BB734D3FCE5A72E270089CCF6ECC0FAE93FA7397DB79AC9303
-161BEC51B8C599881706B13A67324F029F62DABE8BD38D6FC5400FE28EB90033CFD5A1C4A2271C
-8375AA995192E491436E96AC474DC3A055E5D0DB75116C88E3E4A25810B15E82CA0FAB77546305
-7AEC6DFDB569A2ABBF5F61EBFB535CFCC451DEDD1001DC891A73BBC3726592543D15A2C90D8744
-01B996B839AF5AFE5AD85A2781A769D69B079486D4B5BDC1019CDB69046E4192EF67EF3004715D
-7E2D48FD1000DA93C2D7A963FB80EF45A0D53E7055D5A8EB872BD9191C8AA544B8BF2FAAD68531
-3909249571656A63EF113AB89AAF3D12F1A2793197962910D41C5C69100348C5B486EA8C35429D
-11225142A70A578B5D4AFEA33D6C6A6C20CEE87CBA9CBC30835067EBD602C4B7EA3C7A41CF8061
-B337EE9C4E279E200C924B1DA0D81C70BE1830487DE961BB8943008D6FBA2F5F5C0A0E319D0EE2
-3C458A69D687FAA5FDDA985B3593CEB75D0998736EF26BE2DC2F7ECF417A5D140A51953D9F06B6
-F7EEFE5EF1B13DC525EAF8A203D4371144548DB8D849005BD175354B9E0834213EBF25581765DF
-7B4D2214568C79A2E0E2DB79B6D9A330B5D58D9323CC21654ECECBDF7BA36ABC9F3025AA414A12
-F4A08034AF437BD4A184811B8C861D21D68C89E1D18E51AC98A308F91D7CDE402449FFFB4D92AA
-7CC3EE25DCD81D03712C0CB1666DAA5669C7552C19679A2F1367A222634A3B3EFF7CB21FBBC0F6
-BC37C62BAC7FC3DA19533344EDB5CE57C8CDD8A6637A75CBBF8100B8049C1F1BDCB695FE052A13
-478D5B16E025975EDA0599E6BE78F345CCF99A3494F610FE4614CF6D7F495167F8624E5A837157
-41C98DCCE432A70222F4BDB2C946E804BF5901E43222D84FDBACB5059DD9BC9A874C498230D3F2
-5699F647C873D6017488990C25F4A84EC4C38ADD46ABAB93A0272201CE3FA3B1CF239FCA8FF519
-8DE7474518CE05F3F0D9E72DA446589CD7C084B3567D23BCE3049FE59F05F542A29728B08A9BD6
-E853F3637A4CC9865196A24C9C6C38B97E2D2005C2CD395E94260AA7530A6C136BBCFEC333D0FE
-74014E6FF97BB72CD076ADA21B960462B0EC7097A7812EE3044B15293A02E3E0C71F76E10ACDA1
-73F29CECD6D9AAB7CFCA3405772463CBE2BA6D23A270755C3C740A5BC4AD27C35B95932BCD8B81
-5F2E8786A8FFA7746DA891C83A962A3D88A7B62C720A0C7360397A4AC79D32EF020C843A1AD856
-14FCEA427D7D452ED6D25227BFD6A7C49340E178906A09D616337FE7A3B44854B7B449A4856F6F
-AD157366517850666FEF127EE87E97234BE5E8059E1975261DAE35308F31C3E14DBAC56FD7C055
-BDEA02837FA4183F158F87150821DA50FE1A57A76484FAB98F808C98BDDD40661FAD8BA00E64C9
-2517E259179EC40DF9EB005F517EE72BE7A3F3F2274C6FFE3712A4BDAA872E19D93D8C01056474
-41D72B163B460947977F93206CDA0282D63F3B5DB0D8911B5F921D5054081B460CF6B213D2547B
-24BC46CCDBFA3E7AFDE74501B68A31BE5ECD011F4CE6CFFD3D762B2D90005BA732F15581AB6EF2
-E99264A0E055EDF3A2D8C9CFCFC0989ABE3B2E9B8FF08A2BA1EAE1FA92D49BDE5C447C5C156CF0
-E5D5EF4A45A1CFA72554B0AD77520C7256FDC2A7056492D52D6CB45FEDD5D627A28956397B0869
-AFBFA53B5D3D113E7ECEA051A0E3FAB7CD8E62BDC94F8B482EDEFE3FCF9D391E59777DE81E5609
-D92EB704435B291E31CAA685E21AF491ADCB2E2CB67E42803B9B84A6479C149206CB57503F6669
-323DBC71800844D05C335D966398B4BAB12079965768236D29994B9B4E3B5794D6A8976D2C87A9
-1AD31BE5D9603A7C3A061C3EC9827E6E48D105F093CF11E188F236815D7D04B879AFCF4536C9D7
-9972181F3B7741E48C7081CFEF5A7CF0E1927E80DD08E3EA3613F5C8671753A00718BE42EA6746
-D9532D5A9C6C705FBA16822E7A847E8B1C178024754B812F6B08CB7B679B5CE29D044E9A2F41E7
-CE6DE6B088B3C1D3CA882EE6692CB18DD9B5070CAC224C95BD3BE0F0FB07218947A9B398C40D55
-D0E09AFC788D43392F122DF3CD74612A2226FBD74A50C53456D344E3725E21DB2E2E196FE1532E
-0EA5CD3772C9A0B3A3AE8C3C64DFEAE4C21D12F570A92A84C75A878084EBFAD870C1A5DA372DEA
-433EAFD79F350EBB0EE20822E5A52C92730FD2A0D08F9A004DD087853A48D49507AA5B1A127D19
-921DBCE86CDD407B5B4358E098AEF334A9FF7E4AB3DE94D3414E47D758A4F37998BA6323A27385
-0DB0D41F9580341570A4CA7149EC6E4F5D952E5DF8024F86D2FB962D7A717AEDB7C95968D3DD41
-DE45F380836F03B9228401B5A0EA8BA64D7AB60C5B45B8A25050B985F63F66BADE6AF149C0BE52
-59D368ED1716D125BF6B5587D443C6D5ED7257C28CAA747120565FDDC0078D4D805BA937244772
-37927A822AB6E08DAD4A672F28C0A1159F061F46E41606A1E00AD0C9BFDC0DB57114083E319A71
-E150F6F2B5AC289425F6A7A440A83202D4AA8B4DE7492A95FD347B281D7EDF6342756511758D6C
-FBAAE5E073F5D15A378F36DD1898ECAE4580C3BF89D6416CB521506F86A2FAFA04A91A93B191B0
-ABD5D7725EEDB2B5983C17333B78D7DC84EBFB7E4A849D3DEB1676A44DF21535931FC16D9D818A
-0C5A8FE5E44279E12BC1CA2E8B2EBF90576CEBA9656E2EBED725643AB26341D9DA080EE57098A3
-26B69EE4CEC5EE684C61D03876FBEEBE651D980738CC23CCCC7376328314F5A6D1083552631627
-1C01A50150FE8547B4BCA181E1D887EEC465E2AF3CA26D4FFA699B0ECB9EAB0DA71A590AA1CECA
-FB8DB0CCDA18AA76335DB7874BDC49224D1DA363011B0F7187D2E0D8FD19189A5C82C4FFAC4CB6
-0FA7B0521BA5194D1222D0779C74EDCE672848C275C8F8E9AF39E0DA3D8BE9B1BD4118D9B11DA9
-D233D9CBE8C5AE5D2A60FFF7D28565A660D27F515D6FA0897CEAD04C6D6E253E0ED5E56DC1F005
-FCE2AD618F79CDA6826875D91262CC6D6A64BFD70E7FDC965CBA9C6BD6F251748A5A42BEE4AB29
-0E0262A4DB580249A00C69D1CBDD49E3AC700CB973BC9358ABEF8A116CB5D8D4668C302EBDF06C
-9504684D7D18E522F7C42EC6A77171552B873E753C1A1888666D23E6F9225D092C6DBF6A0D27C7
-6933632C5F1C5E01C8E139A9EB9BC084828F85095BD9E6EFA0224F86977DCFE653F00AA693623D
-CE04693A7EE2384A285A6BD7AC8767166FDE75194E326CAF447FEBD242CBFC71B637486F9934BD
-1AA8BFE3CB85F3DD258E079EE910AFA64770D5E30CA9B289A4D7FB7CFC48A7040774D36E8CD061
-AB06FCD9234D5032EF68AFC943850E53C1C3980017563C67E89393B8EE4D93585A4EF1533D5F0C
-A40FAB6EBE8721F58D05AA69D6067C2D6CB03FDF0B83DBDB696D4D4AAF3130A98729DA58CCF546
-AB2202D0B4ADE6B4845A1202D3F2456E34A1100FD6D445203153A1D11F3A2511CDA83C936AEF3A
-B05B5FB32B76029153B7FBE02057AF6993F47149E90080A3AF7CB29762148D6F94520A343E525D
-9646C0C79F1C79E75470D232E2B2CCC04AA8990909E0D26DC540582B699A71BB516DC2860CAF4F
-6F0BFC7B5292052DA41DB92BCD030863A117378B93DF7CD9B0252964BB4D80004EF8B3011E9550
-DAAE2D24F2D965E90342D847B3685DB05631D550C1FCD76C3B3903ECEBA1A2496F0DF28F4FA367
-C9A9FDB48E5E1410E815D7E93511EF7C94224686BBE827C833E4C121747AF79C69A27A0DCD982F
-91AF0BAF9EF3F9921B795BF42B817D93DD4D816DC698D063AFB306CC2000B37AE93105AB2E6DAE
-32F9DF44C09E7466A62B2AD48B216374610994CB120724D0000AB54F6837DC64ED4F6CE8684B14
-16D7EDB9D9A399D39274FEE6FD41D8E412B158A26C304FBD7CE0C4F96D01F5AB8A20B1FC4F00A9
-D33AAD2C656B31053198EB4704460D476FF2F505321212903FD21E2059C470643152B99B2E903A
-491E8E394BBCB2C0411D6D86210D5C3A43BFC2E01EAFDEA712F6CCCAA90ADC2A358AC62718D482
-FC31914E0157733283BCD29DF6D2AFF094C2496BAB6AA72265215A4BE34363EB879889E7727AAD
-054F90172C1D6858C8A338DF6C1EFCD64DCA8ACF46038F48392E75DD0BFBCFDE8EE0791CA2C0A2
-8AFD16AE56382ACCAFEE2BDFE97DCF38532C19BC5E36F9E5D82806D26171267BECC9FEAFF3000A
-005686633FE25967BED0096843C464BCA03314F1C5971FDEC8E24B80D0FD97B7E5763B427EBD26
-FD8BD086A2C45FEDF23218CCD381BF364EFCAABE04DA6687241805E37AE866786DF98C62745FCE
-9E0D6332F2BB90C0B2EFF14D08E8EEA6BCDF650D8996F48355D26CFBB859CDB418973A65AE2C3A
-767758AB288A038807F4F6469A823A9EAD746560130A2A5308AD0C3675CA8642B2B9FFCA8382C6
-E61D7959D9BB369AFFAD1C69BE31E00F0B23FB8DF407C5EC68F3BF298A35351844EB9653C83A01
-EDBEE75F792C502DF53257121DC8A8F2670AF1FC747229B53B7100D02E73821E176CF5B7518D53
-B420B1BDA8B70CEAE801D745C66231E62797084CB320DDB021BD5830BA1D3F49E03864E6A6CD35
-34511FBFAE8A4EC4E3EC817228C40F7F87F524790C4A3C4C90C010CD965016345018C27A1325AF
-E7F8F4A0F0342632D1C5F9E6728CF930F789A0F3C740FBE88015E052168A0D722B1621ED710BA6
-6842BE691E91F33EFB0708E3EA188DB42E8F4A54F77D61725731FA2E2D61F245745AC1DBE231B8
-460C3323CEC60BD1CE92CE7D1A2640D1594D24683D5E139164A26568544FD89F144F57905DB9B7
-EF81A36BD91999CCAE2192FC87C88F33B01C609A981D675A3AE8B13DD05E2622808826ECE05EEF
-3A36E25D90EA3723BF34BC6D86CE95EDBC4DD3D088869BDB105A5334B5108FADF1F336605A734F
-17044A5EABF468F4258F9E9A3E69551ECF0A4E8124EDB178B800D2708B95C2882A757568CCCC73
-C40671BA1B7737F55DE6ADACB84E87889738603A6D8BA0DB1D4C5B3730C169DA35017D477758E8
-9A33FCF009BE53F959C3F22973887E920427A968730DB8576A07C801969F89C93338A605B8A961
-54C62036EF908C81E65DBE441031994CACB043755E76A2E55BBAF6628B1AEBFEC81EB727662E1D
-C9DFD4149217DFE632606ADD92D2CA4E14443DC01CFE7EC166A4A2BDE3A06BCDF16500E12CDD2F
-6982F19E9951AD81302D2D0A20F070E75C0A3EDEF40AEB126DAF98250F6F3E38F4BC1B626E99DC
-647644AE6E4EAB48DA046C826AC7FECE466C63F75B872EE71F4F3A2122A383BEFE7103107A6169
-76C4FAECB19EBB850844FBEBBC161506715C357B35B83DEE1852B7268C65F87F4C2F96C3FECE37
-88A902F46571F0994A6586E7E582AACD11EF5EAA69097CAE24C610BEB303387CBBA1DE0D075FF9
-0BD4BE7E07C795A248FE321B468E02B84573D7486D59CCDF8325F94033EC633D2BF2867A42C0D1
-E0B0745EF8D9049D18B2AB3172093793F4CBB9DA888AD43FC22C933FF5C4DEE3D890AE21B280EF
-2DCBDAA03AE4EAB52F81A14412F26D2D3F0D49C8335D8EC4CAA6B3596238A28BD62261094E78DE
-BB0ED51CEBDE25878E1AF705C61D37A71FF60AA47FA39DB6DDB5EBEB281584A5E67B971502716E
-668FCD2A7589DA07917A048F796BD1C8512894F9DABCF712C8CFBD9B5C7760C6CBB3BC6031F288
-235BD791475907E5BCC6B1F300069EBCDAB1C3DC52E49D5C8D95994F880C5415124BFDD673C492
-CB6E77C8C44EFA04F7C5FD357CDAD23CA3642AB4359A52DFD2341072E368CC76125C0BD7607B11
-A7607D35F1A97F0B30BB56D4FBDFC9FF4BB4DCF7D670E7F5615AED6CE0BFF78E3180767C48ABB6
-18F85CF1328ADA21E937FDF0F4BEDF9688870775AD55A0B19B20948BBBA1B75C1DDEF0C2293B4D
-AE1F54F4A99D98F9B40C915990A6A08D5464AFA2F33B186DBD382D01F8B7F4341914311CBE2507
-DA3D40A333890E08236DBB4060CEBEBEE427A4DB8169E748CCE7917C4632FB85434C2AB79DEA36
-5394EA461720AFE26B51367BFBBB310A3CBDF0509EC75C97D6EC15489F3E2AD54D5E76FFAD6809
-C8992975D9C694EEF17EC52E78EFC3669B570D69ACCE61E5A7D6E73FB37823D64CD9A16BDB485B
-9642ACF32BEC3FFC593E03C3CB71867A0CB57DD13A93DCB093276E85D153CD83920D560DA50C21
-443C72B521DA546F12857BCFD5D372E71E0AF1C98EF482F04FE2A1B577505C602F0413A71B070F
-131E9DEF87869FC219DE59A1CC19AE38EFEFDE2B69F52708B60E48EF686EB362C690DE5C031D62
-E9ADA7469297531BD01F6E39DC78B7C6830AAD04277AA98EBA1D82FC0C00F5A6A1E108CD6835F5
-53346E921D728F1B4EC0B9930255A68F3E9031F360CCBDF01C9681D602A5B9F0BE055269D419AD
-73FFF504DBD4953CA30D4CC5B4C57E7921D6E648E57449E189CF7820BAD4274555CA45C66EF0DC
-34DE52D3836812264986B454C9612AE8F4B1A93C86B5E4B7DE304AFBF080BCAEF1C62FE35BB3BD
-335910FFD496760CFFD002A20637C45690466EDE85A4F28965CAC5C66F323D3960DE8389F1A758
-027BD0C3188F249FD61545C1EB9D78A0EBD81E5F5C2C8445EE82C0CB969D788F1FA267B18993FD
-ACE99B21A214C69670C77D920617074059D92819D79FB4BB4497F4E2BE1D8243AE0DFDDA0603EF
-E51D1F3D47135D354D9D7F756CAC72E35BD4E8DECB1ABD53CE2ABA5DC1526A10DA69DA2FBE9328
-A334381E0CB929266765898FD38B74039766985C88C2BB9C448B767264353A0BC63B0FD1645D71
-026DF2C08449A9F32F25C4F432119BD9A7014AE3B43DEBF621C9CB92346ACEEB5C2B599D553708
-2E054C3A5680A08191D7B87991C2ADB192BD11545BA9F5096CAF2DD7B7EB290E70AB4FDD3989A6
-B7CC123DDAE328E922100ED8C7FF95867E9A168F1C9752557AA023C8154E9BA970FA0219A9889A
-5CA8D001AECABC4CA840322BE9EC9F6072E6E7363C258789D3096875DD236CC02B078B22484767
-D7A0CE87394536A796A6498708C287DA9691B1472D4597DBD49F4204A05191265F836EAAC4E5E1
-B1D7687BEC630C3CA744A044993C03D4B935E1CC730FCEA68A2C0F5CCF52FC1A274AA67B3B6177
-F4B87DCED4856E14FF00FBBE8DB4E027751B367722ED0B39CC88216177F2CA955958CCE0A9FE85
-71CF8A1EBF64D2BB3F177F3F0EBA581AF9ED746E16CA9CCC2B5EECED7A0A2254E766B36AB84A25
-4987727F130AA391B5CC2FBB9854AE66876FF09A387F98EEF39D3DDA94CA2DF149EBFB59EA4D4C
-CBA5B5F464C4C094CF7D1F8970F8F5BF27E4C7EC99D5C8DB1CA55DDC6DC5C7DD72B62A7E5C7B17
-D5379A6CD2B6F666FF6CDA9BF690A8839E234EDF6E81BF3969F0DAE3CD69D48A6F5B0E57660BA4
-B57406CE46E3C36C0D348EB44C1116878449F9182F23BCB7F33F944D33D15BE83EF3989FB9909C
-3D5DF3442D7CB7FF592CE9AFCFBF8B1CE63B02309212969E39B9C1A933628FB38AB7565C3362FF
-803A159C82B0FB6D9C8F1E7BCE0DBA8C43C8A269DE2E684C9E20FC4818BEC7F307B6D34661D4AA
-FF8A34AB31A2B3A349D706A34831BC61ADB414C7B75B78D08A6C748715B7B2FC84D94B73EAA2D9
-F1DC97E78A3A4D3375821FCBF80E1D329289CD698DEFE021DC2C620D1558F0D2444AAA9A18419B
-CF2AD07529D307CFB11ACD08EDDF9371DCF540B2B9AB5D005068E50EBB6F9A0FBE98DF6ADE3D4D
-F2F0733C8B094202AE749953495FEB3E9E9A645647CB6755B59E7349A1E338C4FA8E4BFEAF951F
-407EB9F9CF1698C1B253D471FE553D8DA0C21829EC10CBFA7E4411DEC7167531B006BF1DC11E5C
-8BB96793B69BB78081D677DB08C3FA70D050219DE116C05B3FFD88853496D73CA094E3F373C39D
-F8D8F16BBF9F858CE416D17797EE7FFEEBB0428B15EADF7C2DC0DCB6532CEBDA1C07169820170E
-13C5FC90DE91C9D95DCB23831370A5B4B798F0B748C3B80645EC427965D6A24FE712F199405812
-EFEEB8DDBA2AA91AB87EAD349C87248122B510A0DF27EE46408416D8CEDB7E69EE2138DD95E526
-37D44375ABF3B9C266EDDD81C562501AFF0D4241304A04E71346ED178289E1F1CE61772E1C7EC0
-01E94564CD5C9F3ED640D8DAF6C1082CD8844653F78F8000ABBC4F34828085291893D690403573
-888EF8347F6723A5F5B7B49AF74B93F731C83BE6AAB8323D2265932ED00046B5A825E1729FBBB1
-BA18D48413A9ECDA400E75722E01C74D6BE5DF26B17DDF10C370083A20EF2D1080BA9F2C2E71DC
-9C78D0202B9D82EDCC7BA3A8940ABBA51BE105FD8516D8C092EB4BC9297768351FA0BB13722516
-110B2C72FB731641B3B15347CD68C894DCF2281D7A028BEDB6D3001D1D62A00A260989511C8FA8
-0C3F154B12B63BA7B639E6A111504D0B0865B08F0D9973500C3664B374916760F8588C1DA9A6AF
-74E9827194A893D0E419164521AC72B2EF626E544C3461F9A29791BA69814944DDF7032D2D1BD0
-D173D18D3E06BA08C209B20C71BA776B7F44240187996B3F4C42A797CF50F1512047A6359BE499
-F65E639D59877E7263BB0CE25B005E7A387173483CAAFFFA0DA53DDB86CA12DDCAF8E415FFD59D
-1E00855F837CC1087F18471F2146E0E0CC1901F9D1B968C13BA2209DE45FA7FA4863B159EFAC29
-982D64DC60F248DB16FA9F08F9959E6FB01543A77679AFB705B7E03995D309B901BBF9860F96AD
-7715E7E3F0B66395C953DD21380D8CB1B1791F353D06CC045C457AD2FEE593C32D77DFE63FE9E5
-9F25556892714F2C5E319C7FC1051AF2E69A0A557F26C46A9F9B4F176C5CC1B10AA4F00CDCF75B
-3541154818360F6063491BE10311BAECC1E27C38F7349B50ECD72B81F5BDBBE7C2F2994BCF843A
-B06FF3FC7D37D6A5E83FB2B42F884E3BB14D7CE1B181142D558762DD7CA511A79DF94ACE080D91
-A001536BE0848CBB9B54FD29B1AD29AB5C7CAE5257AD8D5462DA2A9D2187267CDC5D71AE4899EC
-FCBD408177396FC553884D50EBB82E5E490A646CE133F06FCA26733A5B8AFC13DE5F3ACBFCD267
-ABE6490790BF990FA258D7B1F5E513A92F5438C99D8158512001538C085259CE8552A617855AFF
-7EBD71DDE3C0C04B15AF98F776E001200DB7E94D50E7812A5D32315AAFEC430EC116CA41489C87
-8E19DE768A2EE390E610F92ECEFEFB5D63113078420EE807194A218DA54D186C412C9906BB725C
-D4380FBD73236A727895C0BE672D5EF49E5C2714454504E87A8D1B2AC808AD09BB47A8165105CA
-27813EC651185F63C5A9EFCC9A7516DF4125E43893622BDBBC8973C8C321824AB1EA53090DA7F1
-B3EF9AC4BD5F4F7D65339D0B32884CC14826EF4860B28E0B1CC119BAFD0EF0BB890A020728DD1E
-EF3D898E25610AAB5FCC83C9FD677387305D4BAF65A7CC9CCFDA17A42E24BA625580F0708FF9B9
-9A87CDF87452E87644CD9F59AF16A8E62A9B76BC3385692D4D3C0294EC71E3B662D53BCC95291C
-3513C55594FAC96ABCF86A421674B92A8610251D3D6E0BCF60738FAFF64D2024538FCC4FBC588B
-843665FC4FC64F6092C6EE7B682A3E5FA272E38C8FAA1CFEA55EF235F5D67D48A46A00FF58E47F
-F96263D4FEF92F333C71AA3D6E0D3D0325DAB33F60234E980A5E0B8DB77F85D628A693C81A532E
-BA7B90C071F8B7BB261947D43D70F7B54EDBD1D6F30B8509035FCF19F1AD8779C9088ECC6F9D1D
-EA48694ED5F7814DFADDC430EB361CB26B9AEB430C31B2D8ECB1D995DCA939E2613CB48C0BF401
-F2369329C215B3814BD135E573471527958A3DD8971694A02B812A33F4F5588F06CB0FE949CB3F
-648475AF8C778DDBEE0A7E522FC9309A6496489856BE72B91D6408CA7F0F388767C8A6B0710069
-23097353EF934B0C6A9646054B06B4FFBA632813676CB24CEEC3E28D3D63C8D13A041DFDCE0158
-72A4E2DE2B4735363CE09E06E4E7F8F6A9ECE06F8BF82937A8D893043B7438832F17F9D5E7B082
-92D68D0E0617B22E126E740E1B67F3595CEAFBA8DF47059EB6AE1FB15F2DA5A8981CC9B8805929
-F1564555CD055614CD94A5DB5487B39636DAC4FFBBDD59665AFDBC5253B475316EEA6888309F27
-AD14C2316F997372D5688DFD804F6B6034B57885B76705D2E3484CAA5078FE95592118C453FA65
-A99BFF295671C1E9BD2E6AABF1F48A71503613D3A98FB047FB5278A456A6FDFE328CED49A2121F
-0D1285701F7400A96D6F11FB99C6A456CF1D792CED72652CACF93B60B273006C83DB3741441BB9
-35A5481CECB254F410103A6DD01882097C8D19EFE4990951CCA88394A0FDEE1D763F6381391C85
-F78B9A2986AE3A4622E9FEB55B38ECF4F0E0F83DAFF187A734C752F579906668A745D4E7DAC7B2
-C7731A61252E51B8FD85E077174BD9E623F7AFB78DC102CC6368E8E115423F4CD2CC4212F4199D
-C5D6AE755191D6E6BC040EFF9DD381C15FC4659992FF8990A4847A4A11B50A241031194229B54F
-00B1DDB9D1AC575529629A161A0F1C98B248C605ED6F85A9EAD6EFB098EEF9810C320AAD530901
-5125E1D5887C25E222450A0C606116F1DC2ED89D3F2D3A6C666171371E59F1DD1D5891DC3AC02E
-572B135BADCC453EF126F15C986499CF1F3DC7B9F7C9AA47399022CF9DFA28899C679F76BE2B00
-1FB281208719E23C5301941786E1873CF7CB4DA0F5F92753624C7D8157683F6E957805EF570618
-6E9EB09162F9AAA04D7907990296F899F1621A4976734F9DCAE11CCD969F9ADA669D86ACF1FD71
-98D23A1BE3915D8ADE29D8CF640D5349FD3799EF45E6BF86FC60A384AC7D6F508CD17A4B274B37
-4B37645B25E34304C2D82B2A31170FBEB0A68966793674C1B3A4B6A117BB2F1E9F7CBD52E590ED
-D32BBE4CC0F75D0861D37651754D3BB1F3FACEBBDA42355D301510C9D1C35B8DB1ACEB5DF35D6F
-76CCFAC79F3BF0C5C7F797C894FED365267B0A33514B8F7600424CC7D6E7FBBE0B0D3C8B6CC8ED
-3CE2B4520E2FBE35A154107E6B84CDF46828D6720F62235AE2457D0DCDCF91010BF15D3CAF95B4
-A236019BE0AE1A2E8F78F5DEA56FBF1016234F75423D307BE491D29F6C27EFDC11BCE180B20F39
-EF0C4A9C72F8ACB61DB425A5376330DCFDAC700910AF3BD767BC87C4B9691C3DAEC8DAC7C226AC
-36AF7E444BD30E11EAFBC8BB77181EEA3264FAB7F63142BECDF37B8A5F63807249E618458D29AD
-0E1FEEE567EAE1B4B513A447E822A688C5D87D64C8ACD804AD1C81815E287F50BF5630CC631A93
-F95C59CBA596DBAE1EE8502E3073D76525FB2D4F94C5203569B02F94593778E8775A87CBAD08C8
-256C51A19CF381C24180D4980EE17E94B01AC761F910D6AAF09C5027B79293FC87A1DC3CB7080F
-6EC0AB763CDF14F6D7B1899D529C42A262B579A3BB96B693BD793F0BF7AFC8D1B60289BF239224
-35CC3DE78EAB44542EDEA0F24828922A702E7A11FCF529925FEAFF53751502F9434B72978AB7A1
-2B64E7BD6DA9917C9196EAACB3999225501410C818472B097C708523C310A3FAC7521BF6AB6A4E
-9E1DB38DF4D93F9C12BAF67BC8B70AFD8D08FD6F898B96629A913DA0DE669678FA1EE7086A1C3C
-0D45AD5C63433C574BDD8BA625897262A06F5AA47FDA71805868B9BBD7914D7BE697BC90C74785
-30DBE5F5576058767B5C302CCF7DC6460D44FB635B5AB595F216C13E7A4D54029C1E9281444B5E
-3B1FB3D8C7D72BA0201C51F4ABEB9CA263D4AED86B5B0CEFD0EB142FADEE40A950CF441F547B7C
-71427C30CA22C161DE130AF5210E5BD0D58AFD748D574B46A2B4EB4D6CCD31F4DAF0CCF94C7DCD
-80B0268DCE4E69D97E6F3CCB731536528B5CFE9AC0133871CEAB7FD6B1EDA4FC19F8B3E7D9A92E
-9DB50F198B792A13986A2368DE33CCE717ADE5B0FC6F76BE8B4EDE6AB157E014C6C48CFAC5D507
-53067E9330A2FE7737A0A8F259E5FFA7A030D85FEB857D785866CA8C6A5043ECE4C1CF30E76C0A
-071FEF8FB30CC9BF26CF5DD8ADB87A0C03494876AA1A2E9AEFAA45A98CD71E78608F7523B6D686
-EBD8048BC96F91397A4CAB1D5A496B43042C5DE6C1C439B8D09F6381E88F825A08E818297AA27C
-1D37FFD541F6A9E5D4B7E8DD8D13F8268C83135C9631A603C69DD22E6D3B76063E5B0BF7158C9A
-BC9FCCB946AC24995228C48BD031D0A959944181482739EFF6CF2330A6A6C6FB906EB123E44488
-F42AC2BE237CB30C441B5051C028B94D9E6B7E57F5A3FF5504756D7EC411CF61073763A5E72FC9
-DDA6E3345F58646B69EA140E1C711D794E083623B84A4FE110256FB8543D32A2D5535B7DA0A73B
-D171049412FED79B84BEB56962E1FFE1A12F9BE4FBC72CFDB9EF92BD60B200AE8D66AEA30B158F
-E9FE278D8833111AC805ECC90D65909787737E1E1FFC88DE07B8D79996C9F5685F57102C65DA61
-97513F85B173200E3222876AAB83941CB066E3C642AD23958B00B17516A2CC8D8BCB0C802CF34F
-A97851C037E656C30C446C740422991832129889EABB35F5661A430E5A503F99F5381C5F26692B
-D8DB7E9F6D312A297B697E93831A06F386AE2BFA2BFD9361F2E366E18EBCEE56B82C16B2DA0017
-95CCD97D67ACCABD22DDF00898B3C39C7442F1488552BA46D4634CB330D428A19351E401F91819
-708A82D856DE3C29180FDC56C6CC7038302E55FAA5B777E8CC6CF4BE2ADBE59BD270658F168C11
-096178AC07B7B830C0E782D41F97EF221B7B91BBCBD1EFE3A7AC3BDC0CD61C74638DF410AA53EB
-AC35A079D6D3914F380F4A376B50892AF20CF28F4FA355C6364C614A9DB092DB38D768211FA16C
-A991684DFC8F257AB0AB3F18F3D7C89934FCCEC089E6709BAD37B935E875E34AE5AF4561138D54
-9A725F4AA92A66364DAD50D00B1E251FDEEA8C145DF1ECF74D59981948C6A393D7DE3EDD731D2F
-EFDE29D89E9A4D94C69835050FC3D8513ED2C39E9FBFFBB741437DFB73277E227523A45E6362D9
-1DD5739D82821CE0DD3963D0A4F01563A82A94BCA4282563F1371322943A286FB67742953B9152
-7B377F49334141DE26AD5D170CAE36767A380A794C755A708E339635DDD2F6E7FEB4DC851502E6
-F4500CC83DE2F216304D0095190E3D405643D609921A6A895DE6F2EDD003CC4D30A5F131803822
-5EE6E072374BF755D5C0D3B59888F5B06D0167BBE0A6C5D8E5504000E4CB71C0F18E01CD5EE76F
-102DC77084D2EFCE8D85A8C2C38867F10C945C8F13B12F1470B0260612C69D494AC06D92DD3EEE
-A0CFE25CFDF09AE8C96ED32836E28E5583D60A8469AC220A4EF63123D4905890EE48B617C6F16A
-7976BC855AE0BA10E37261AB4752C6C9BC43FDC20F2355E07BDFCA70F7F15744A973425A4B7DD2
-26A11FC9D40FC34A38EF3A05FECECB29D1AB4BE73CB14CB3F6D43542D3A4821D626A3D5EA1691D
-C39F4E066C1B6C332E7611F13E27BBB6D7147ACDB573E9BCEBCF7E35FD3149BB0362E701FAC28D
-7F4D114A358D286E750F364CC2FCE36D3E6E9DDF6739FA1D1710439B28F159AD6C53AF63CF1D9B
-43D23CF6B8BA2A6F0EBCE50C5B730CC550ECAC630A328BB269E26DBEDA5FCC6C1AC14FE5485FF1
-8945D6C33657E86812E1483AFDDCCE4DA1F2CCD18703CAE39AFD732A4C26D65E29699848C2E396
-64BC127F88BB774A3088AC0A1414B0E44B194EEBA2055140374AA338D6B9D49B4BBB64FC859031
-9589D4166EF38F1B5DD8E4EEC2B39251FA156B8D00C07353C2B038322D130FC9EFFA6BEFD47BFD
-D6CC1924AE5046C077AAC80B29CFFEEB825187DB1B72BFB4689673F10EB0DA0AB3B63A5E2E8C7B
-39854700F3534AF6854E0C381A051301D24D4182A9FF745437639A4C61AC7C0505D62263A29E5F
-E0C7DD0702459061330FC9F72DF43336BC1F6AA1B5630E74C6F723098DD22B7A1DF9D710C10D3A
-96F90A36693D97F11F285CE3A4C7C799B3C3F28FC99504D54479A6C3D027B48D3B31EF23FA1A11
-24840092A41E72E08C3146E22B110346B2DA7BDB75505658E66F493BCC1250A8A7EB41836A2655
-DA0E9FED1AB3AB8065695873CCB358322BFFE548A17D79FEB4CF4D4E8A12E6ED79CD0065E1804B
-201A45A6F757809D5CE810C02A3EACABC8C28E1C766501B886152AC027E75EFEEA7E1827FF276A
-39ED79181CE3B2D94145710CB53538E8BF3B0DE5CD3EA0EC4F7D2BB917BEB5D8856C935A00A4E3
-4FFB22842279D7B2993B4213B01B71108D2B6516F1C229FE83CEB9D330B64A9CB9884339AD50F2
-14891BB3AA89A6B63193E54F641D0F8416D0D32A1D9E849B51EF1414A7214A65DEAA37C6559CF3
-A8E16299F42EC5CFA325B8B40712516E7C9DD6D9E3E1A62559FAF2A49D5002F6DD4113F5CD58D2
-A03C8DAD6B18960A806A3335B4D2A4A8BD7C09421B7B5DFBBBAA57A10E3B8034768A634565CE44
-B6C0F84FB5AC4DD6C1905F544B830DF14E56E5B8E33CC75917FCA0F4F8C878ABF607E971F8AA6C
-E6BA24E970A7AE710E56331D3F9BB7C2EEFB6C09835DB23F1EE6942E464B7ADB1C9E08CE5194E4
-948223D4C3445D4D91A9D884BC57D305C1E71331FD869E412FBBB3701AB9F114837AEC737C10BA
-624F1B234ABEBCE05B6D7DCF8C4FA44952DBC825FC41A934D71A23B4752DDAD280B5EC799278B0
-AEE5BB83051B5DA60F34951FA7B90189DFC0D53C0D2B7303EF0839EAEF0A096AB442E5176E91EA
-A754466D1807B1290DA0D3B3A675EA2EF9D1AD02D177195D670AB368EBA57C4B75ABCDD4D603B7
-7FF892E2210DDEDD429D6B12FD7078A0A04C02ABCF10B169660D0A7E184CAA2EFCDC98A2212692
-EE0914895248F7FBB690CE2A465AC90971CF57271ED4DE777D8B345259AB02B0DACA97E184E319
-8ABB5DC33E9BC6F92744EAB9DB5C20DFFA36B6C0CE1041ABBA09E50D8BAB6B5B3520FB34DF68EE
-B43B674879201EA95DE7DA8500DEBF253D5A81DD13AD3E7CBCB30200E003C27BEE141ED856C11A
-2210D12B1470804733AE89A0180211F81E25C422A95406C8A8743798B4AF102EFEA47BFC2CC2DC
-349599A4C00037A9EC03D2810B50A52AE9E5CEBEA3E2B4B6EAC0EA06046AF69CD718B57044DBF0
-DF5EA36A9B8DC51037C3396B2D0959DE97AFD35C17503FA02A313F5FFD50BEFB383E9BB672C535
-54154710BCBAD171A654C879F500BB7DAD189B1E307001B046D98C3737F906226342072DA7B7A2
-4FADAB5381426AFE402C42B338627709900EEBC77F90459492BE27041A126AAD9E44A12CE03C83
-09A407163A04F667F256CFB1066BF03F317179E57C2762DE417C5EFAA880B35E7B424BE96CE0A1
-1660F85B8FCBAA45E8F2262814ABC86C58864CF1E843F2733642C72D9AD13718A9A81C1CB4DEEF
-130614E91B8852FC6793BA0F55C42867951A1E39F5DDB1DFD30270438FF363974633862C75335D
-BB602C94FA037434DC319E6A0019350200782CCBDC96910DD18FBA2711A2534B08087E83A96C91
-3CB856FD45AA3658B76CE7041A57D46B019C76B3ECA0D757AFD0534B7C6CEF2939918CEB5DC524
-9B5601CA37D0FBE8D90EA9302DF998E37BAEECE630F4019FA8E602D460D6EB8682D115EB3F2C5C
-8AB39639E1FBBB1109A31DB5A19F116068518C3C98FB4E91144B893A403E6601D4D81DB1C1F00A
-80E837116CE3EDD313100D0B8BFD3193E20CA90AC3CB107733B6499A690F2C8D336FB29E144470
-2A5217E1E91852F5EE0B2F30B61CF661109D0ED6687D7DE2FCE90622DCDB176CBF18C9852FF3C2
-B02F9FD7AAAA692E9162349E766EC29CB98034D3A8731F4912193F1F480B657BA84E282540D2BD
-7AFE547D10936B1739CBFED239A9C3FB8DF52E9BA1F38FF0F34E703B16F87C48EC50662078FAEF
-9FC4EF4526F90740FAD6481AD3B4B5795C9E57DFDE09DF24CE8773B1FB4CEF1C95E73DA6F72018
-CA0E16DB42DDFE16C6697FE4D7E0AB517AB0A93C85EF5E7CE2C44137A6AB15159738728C6FC2A5
-BE3E799D5C832DAC601477C9FE8C24FB368AD1C6092C0DB6F516CC8556A481CDDFF1D26640647D
-01516E38275E27B2013434E4DF83335EB166395405F9DCFBF6C2CE886DD59B1AE605690493CFB3
-708BD1295A114D79A26F74CC11F49EE90EE9A364B514967C0B379E676BE00FF0073CDF0CCB5756
-E66B04AA0FEE5EE376C0258E2841D90176CC6694F5CB6369BFE4453236B4F5ADDF98B86C6C8F0B
-74832F6BB6684050D22CB28CCF9087B59ADB30838930E2BDB1FDB955C560D4D617EAE79064F742
-7F1DF3E2A20E413C7BA3E9AD26CA814295FB331D1080B45F006513F359AB822C8C9AFDE0B2CE30
-8936A66FC5C3033567C489565A58767D251D29DFEE44EEDDC59DEA50457A258FE68F7EA61208C3
-238C7EFD69F09A5C8FCD557380A6B4BD82D659B26CB4DCF180CF0057D120D6A6E0DC291C40DAE2
-833F4E84A18F10F2F32924BD93C5C70C207E5620B60E172E238EAF0198D7A1249FFB788D6C1AAA
-4E7D0B433D58C79AEB3E5CAC751B78B55E2C2F2382F2F04A71C044B98330E16D9B74481FC55496
-AF2FFF408157D99115A38BF0767039211D6841345BE3F6D624EDAEA4602BCBC3A87C8013595D9D
-09E7207197FE87FD585244060418EB2CB09EF369B785EA8B401798695B473AB58965057887EFF0
-A6585B3629E87D700C8E0835F1E35C280D61FB49871EDEC7C4E5C770C3D8DE717FDFAB7EACF7AA
-E78A1A4F0772EE38346482F021A95688E1D3121DD80A88A349258ACCD8D094F403A674E1710F61
-46DE9507C73D51C77354C475B37F3E266ADEF2D739A17EA5E8BA5F65C314D57579BAD77D37E765
-DF196FE16397CC58CD8B21C21BF2E92A0D0A4893D679AC9012757602EE65A70B93CEA9D02F8DA2
-29C783474CCAB3F8D3A06B2DEECCAD27F621D6852932D43FAB8D81167A47D16D86837B68B910FE
-3D97E07239B767FEFE692990A4F3600F7BFC55B7B137073467FB722D45EF59362B11B7AA72C101
-401FF5216F48329E7217AC572CC736B77BAD3B863FD622F46CF547EBAC0ED63BC0AF3DC86B816E
-D1B862A0A172539AFC23ED6201627BD18A317F6A2C5797591EED54D9AC7E5336402DA66965E311
-768EE74D1DBA42FBE2C59848F405DB9CEA39C7AF0D13B6F0CB99160A2CBED0ECE55B21982FDB7D
-59FA99649EF7F00ABFB9AF764DEADD60DC3BEA997C182A9E5857B1A9E3D1305A57F608807A12D9
-045236C18F174A63BB2F66F006915F701A7F6BED3120A63438B5B2EF4F7DF4A5F422FC1E61D395
-88F0A865B710D1E9165CF6D152210C7165B392E35B72D1239A18D59DE31A08676686D4C739D500
-D15D2DBF84C0C18880F41BFD757C3E2D15CF68A2444B863F6FFA3C9765637463FD9212ABFE1B5F
-03A882E46D4236052D3A270D25A26457A4C9F348B6C8F0819F3BB5BA54B09071326369AC2E7CA0
-66D472F6F7DF7D4D1EA9FDDD0717973A72257DED260FCD992C0830581EBFD02CD4941EA7EEC4B8
-5C8ECCDCCA777FEB024288604350D53F97CE23A7C2EC292EB69D3B2B75DA47C65C2C0CFE3BE097
-F9287AF9C926292CE9385A45DCDD0314B2DBDE5AAD2E6A61964D96DCAE2217BC4B5A056AE24FAD
-4A0708F63594BFF486CD18B55C44A8FDA7054B0C9A20F3C3799B8F7647DDD9B1E5A5E6579B95C9
-EA4F3E0DE8556789FB080C7019134841F44B7C9E526EF858F8ED5C0112CFD2E3C1C1F382B766D7
-310529696AA7A533D5B0B5D3532C11B3562C6DA713DEB04A5BF022058772C94CB22BB4FAA3295F
-CCA609D18EA85146A89C046FC60B0DA65A416E2A71AB5CF8D536138F2A85DD04AEDA42AEF41754
-232C92F1F79B303DB4F2ECDD3018D9C683A4BD7D60A158CEAE71D5C231165962BC3E88C2C3C0F2
-9CA2EF9070F8C0E99BC9F3652FD5599BE3911750BCBA6E5C5934EDEB6C85074B11A895A874EBB0
-E59043499D026A6C062B4F86FFD4EAD2C9A31D4E63D09EA1F00C55653A5A68717D0BCDA0961ED7
-608398841C26E307749A5C2766B0D5671AD7407C0696577DC0347FFE8CCE0772750D4D6E13A690
-E4A5EB935FCCBFCBCA751BFED56FE38A181016F87A05B90873FD8C9D843748647894AF1FC2E48F
-E408F7BA4CFC9C1A8898AC99ED230E985173B829DC2FD21F35C50103C053DDCC9F98357191CE1E
-19D6566727996460781069EFF33CA451A1088E81956DEF8E8CF997E292FBC63F99A84AB2C23A52
-09922836B072AFF17EC0343CAD1B847851CC31510C8CA59913CC8DE2B0CDAF99846F7F341E23E1
-C7727550EF11476472B3D082ECC47EA7E2B56A747E6A7777E2E1AD4F4F2209B5329F4111D8F7E5
-383D76382F8B5FA0D65F7DB47A1A080567023EE270833CBD88B00EB79DF491674B5742D27E6875
-D68C127262657624764AAE5B6A8775965A179879D4ECE7EE9D77BA6DC8D917216FADD9A26CAE9F
-9F5B135F6B6AA3DCBC7715B33EAF70717561E6C201513AB2303374
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndProcSet
-%%BeginProcSet: stonessb.pfa
-11 dict begin
-/FontInfo 10 dict dup begin
-/version (001.002) readonly def
-/Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def
-/FullName (ITC Stone Sans Semibold) readonly def
-/FamilyName (ITC Stone Sans) readonly def
-/Weight (Semibold) readonly def
-/isFixedPitch false def
-/ItalicAngle 0 def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /StoneSans-Semibold def
-/Encoding StandardEncoding def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID 38792 def
-/FontBBox{-179 -250 1405 950}readonly def
-currentdict end
-currentfile eexec
-05D2542F9F75EC0822B36BE6F0DEDFC8DEA486830878B9EFC0865425093E0C2E69D6F33CC9AE23
-DF5EDBC1E5D079FB4764B9F54C1CB100A936A445065CB97D7CE6C0C4370B3ADE577ACD273EAED6
-15C410480C863CB75FFCE0E72EDB5035D97674731BBB8E694C0302E84C5CA55F405C83E06FA42A
-DEAA89CE21DDD2BC9F048F7501C2124566D55A81E16EBD047DA68CCABDA9D52A3880295FD057C8
-C7900A8A31BA7C4990680FF1F74D5699C19DC8359898F7A25196FDBE5DA6A0E5C6DB74B7BBE88C
-542FC0E458D64D52230079CEB32C6644A8809436BD133207FCB1E7165359DEC653C7EE65AE80A1
-92C83B6CF310F74AF760499DD67A4DCE97CCD1DD538308BFA46A992B18C02B8A332869E677523F
-E7C2597865F352B2BEA414020204762126749DC095CC55AA76E9C67A97692D14826DBBBDF5538D
-99E15D4C082726916270333E380EC6C71B2B79A5D15D9B928F63A48C4314E5CC3CE2BD2352533F
-5BBA3DECE7526814138B51B898666E823291D0142ED689AA36B326FB41E67DC29C46A7CBCF563C
-63B52680C9BAEE2BB55409547DCA64033DAF803CCD32E3768FBA08543D80A937F61B8C95927BC2
-A08F4A257D03AEF025F3877B798E55DFEA17A2C3A484BC6C6ABD60A2723446E2C67FE0BA1831E2
-D7D42EF86439263917CA19CD8F5A0A65AA7003345D13743E757A7B1D9BBCEAB6FE0022B4ABC17C
-108C913B1066A7B5218861EE2942E39E1DABCE1D16CB666B14C7421B9A58F1DAA519E6E96570D2
-AC187446F67438F56E1A80DF7A72A6A76CFC27FA07D10B624E8E1C53F71720B3351A9649A6F261
-FCCDE6BC61C0587E7CC6217F98D04986EE9AD86B0BEB09C24BA7A3F4CC66482EC7FD60F4D93D4E
-82272616392166AE09582F1A6146AF9932DF4AD2C45FB468B5D2B9E119E93B4E18EE963DAF1AF6
-FD876B362B31E36BB0A876A49D82AE89E0CAC13DE3DBF29FB96C8788CBC011CCCF04734C1CBA5A
-6C18343EA1B0DCE808382C9FFB44F1A7752C5F9AC6E7DAA59C08130034A8CEDCBA8D48881E79A1
-7BF5749F136078DA9FEC9CCFB09C85C63FD964D722ADB32B1040DB91B1508E460CD08FCB7A9E42
-B74AB09EB3F836CF46648BDD92E8DD2D48F8EE8F80FB1EED24E901DC294DD024D25A72642225D3
-028FF69FBA04392FD415B775F0B132D75D56CDE9C0CEE44C29F8F1692EE002A973C5114B03AAC6
-D1AC009184D50790D83CF803F2B36D94A8D7F3E1C56A0C924447F56925F09395CBB1DE38C5F13C
-1C7D563C43EFF5E8538C2BE12C8E214B774000FE4E2751DC6F3E2CC8DF5E4633E090E4C34C0CC6
-F06BD829B1105B50429205B2C4BA32480035CF513F4039B69EB475F16EA439E277D5CB93D7BA17
-41696ADBA069DF046232169134980DF13D2C75FAF57582B548FE67F7215D7673077168B733DCA1
-51B0A7591C1C2D7B1E93E485F54799AE111F272C49ACFDF6993996A7C5699B250CD2A9D82B7A4F
-60F990865A5A21C394ACC4D61BE0D9DDBF8DC253D156265FAA5E5163DF739F013C1BE519F5A616
-6FCDC3938E14D17D7B4CE878481D5DC2DE545CC29C88CF043EE98C4BFA6E747DC626152B6807A5
-640EA39CE6802541E5B4E80F6AAB41B13F6E8C0906556279570D7B3C5509237EFF4A98680295ED
-7BD3789DD532E12C47E9D26AB9831688E6A9D98715419BBA7AE390D6EEE7E913E98FCBA6B268B6
-C958424D98BAB18372C925ADC53415508AE4AFBF212D66A20066928CD81E5FFE5ABA34802522B8
-C49CD00CD0F7156859F14A254566578BE1E0986A86738BDD7E81EB8249A3C2B4FC522886C22209
-00BDB96EDA972558EF18E9408E6FA8B59B5E557CDBC6B9008E018089976A83157637EBCFB60E46
-0BE12F9E92FA8AE384E2E27B58A4DD46B6AEF078F17410B64296BC43BFF1AA720AC0D575B0A4A4
-685F533A846D1C8E6E3F0A8929DA9A4DD039AEC0908EEE629B28F8516836DDA89AA7E033974759
-7BAC32B7F65A47E875D6575930E4561B1077A8B6D4EBA710A60EBF8BD7F90D5966DDF217676838
-C714B7D0A1013CE649629797335E4F1E736A452FF105F1E31DB1F105F51C5DACFE14DAE5C385B9
-A493AF229268DE313F00275F6EF4E995D8E104133ECD3BCB1378B69FE0DDB100CD4481F3F7FFEB
-6B696096BFDDEEF1268BD9ADF681B57381896F851EB12534FB05EDC89ACE59E7CDBEBCDD622953
-4E12BA0C675260841609CB656B05D37CC7FCCBCC92BEBC4C2C3112AE2CED5590518438B2775DD2
-78DF847B5F3677934099A8D34B98E9F793E6C86C76B1CB0E42EC4EA2E9ACB22EEBC084026DB163
-40F8CD9CE194D2F6EA2403255DA218EC31EF12888D3C4ACE4C84910C6DD17C8321533B65496C0A
-67EF9AB8BB49D8A9DE10694D21FA679AEDFD56DF18C915FD82B3EAC5F279D4CCBF02183DF4EEF6
-11F5266108A01D054321E6F5922F2E1F78D48DA966549F37EA876C71BA109FE81719822315C2D4
-EDDC0B3B0C2564BF6D2E2BC3AA020B462F0A42C562C1FD135DB84A51ED677D2EC962C8A86DF9F1
-2B4487AF45584603D517D6BD04B66659ECDF446CAB71D768A9B4B3F58293A6DDCA895309CC045F
-951AE11077FD1AAF79DC80C0CACD362EAF1744455DB964EAD2D65F03B4F7A01AB2FB41AF084012
-C199738AEF935CF46E659DF852A78D343063014A75399F5FEC92B75DE7E04C6E42DD6D6CF84D35
-820297B7D0A4E072D9F5944E7EDABFD4E309016B6BB3450E2942DD131E7420AA2CA3E766BE9CB9
-44C28330F2DFE1518C2FBEF785AF8D9080EEF0F9E1553C2E855AA68EA71D8F5A16815D1F210430
-25E893E408B006DE432D9A1F5F3E45531785B3F8CE6B175E2F39B99945382E63C3F31C748BFC26
-B7D14060043017B3ED93E27E1728E264303B21BE3F78DF47DAA1395361BA0B84BECF2F8568AD27
-67314C0BC80A9B733D96515CF586CF038630707D2933EAF664665C7692563B2B8707B2C21EAFE7
-33C96C5CBF7970C1310EAE671F9893091706FA128B2DAADA95F26D0EB2999BC294A22A61883E19
-4222815929D7DF0683B5C8056C4D1FA0E3716C155D1ACD225D6B68976EE1A42171592A90EBC10D
-93FD735DE0FAAB691A4098239213F97BF81A8CDDB5880CBA714F22230D208AD96B9B73305B90D6
-C94697D3AE9FEE5A52503D844CDE1FC15112897C62A9C9EFBC3D775C40BAF7844AF7034669B332
-70533EA71BF0A9C27BC03A02D7040926DA1F10906D26E6431606907E8522BF6581A311A1EF1075
-B697053B59020B7FF83D0FCB0BFDF143FA8E645C5340B9226D1FB3D03E892BB24D7F5438D7B87E
-FE337343C1876CC99495707F87D96E1234B58C71A450F62CA5CE3B895B52328AC1739D3967DB01
-26EE475B5A609982C31B8FF352E959E417E907D5B9C076A27018849AC10E6113C1A0F816582683
-727477CBBCDE1222F9EBBB5648D29517E72496D1F0A44CCDB34106A53521EE8F61358A267105EF
-49577892389BFB701520AA73E6B8070DE634B853F3A61818A4B8B33264416C1C3C83FC0C8BE091
-F30252A8691D193456620B3BF471D4CCE9397558C7EAC8104C8C6A13CD716D916211A12C443F2F
-04EF0C31FAAF043729B6159B57826CDBDD6205932B251089385E4E30C4D51744A45D96FC284097
-2007ED353D62D3CDB6FC755C11BE98E8FFBB40560C93CBCECBA7C09692F817DCE1BA4526A81179
-2F2C19A169C91C025938E2B26A803682CD9921844BF9AAB1A14514BD26F046E8769D79B3604ABE
-0B786F60D424B2C6323520A982E906CC3E92D3B52AF04530708DD782134F4052EBF95339F50CF4
-5496B70B52B59CB6F54DF382CD9F4BB11F629861133B4F585B816EF197B60C5A2D9FCF7E20BFEA
-366B42D5F9B2BB0F67B045A5B57C185F621EEC91932855E0C91770A5E4FBDE4ABB9CD137C88B4E
-E499D432FA6DB2B87C71A03AD23BEFBBC5A8FB3E2130F451B0A0DD40E84783C26E573B43B15615
-4F7EEB8B381E1F97C54C48EB5AD4A1545391EC3F6650A0E43F4C23750DD58157AFAC738C07D296
-EB9AFAB0C0FAC38CE8566293C584B2256E79544A5B242834BDB31A8646DEB04C95EE80EBC2F845
-BE0536A629E8A0D23D355CE4D35E5F74A2D4E08CA6D47CFB1E0F4F98EDD2EF3DC779B69BADEEF6
-AF06F1C6CD36EED1C09E800CD723689A001000F4201D365DA557D11F057E858520DE75F5C8F354
-69A9DDF5A29D3651EFFFAF4FDBED2A9C1275DB764ABA6FF74B789DD65C8D082D9A9FC800873132
-FFAC9E782291EE6696D483D41C1398E8C65306DA0D306BB9EC713AFB4C3D55A4C38D865381DFB0
-E630628FBB7CF51922E547D8975301E2A81E0D429FAD1C65993544AA5431B880BE4F314C4981A3
-FEFB2A37BC1BEFB267FEC47737819C14C04486943CC1432135BD844A34617ED7E4140431AAE948
-E989C5C72B6B090AE889B62662E8D30D7C633110F08600F8F3DEBABE1B8272571B1550FE35C252
-818F856FFD8231E801321CFA4E088D1D6A4F56F2CA81A909D0D565B33F5B2574FC52FCA1107E4E
-94E7237D994DCA0E5C13348B6ED835AD7279D78CE290B38FD42876FCE44471AE6E20E6369C638E
-6E4B49B00B68497F912FA6518016ACE6DCA8E865184CD563E1713D7EADF64E52BBD13CE5CE54F1
-9EC5974E9F59D287F76F03F756AB42FA3CDFACA79792679B7ECA516D1532A1BF1AF2B04002A029
-AC8DC0F34527E917D6A559974DFBF9A5E13E2E1ED526F7AE17BEA04640705CAEB05F06544A17F7
-B44BF54B6B80594D71AEDAAD17079CFE2B6C65744655418B1527D51D4C45E5F321D52468C168FC
-A515979287566DFF26C061FFD7039C232FE1ACD9377C58850C99BDAE145F949F4F504D74E4278B
-3CB2EE53252AF7805F3143F0999C8C0D17CCD2E922375E563EAD698D9AE6D0DABAE5A8340497C2
-1238F9FC9FC05B76A47DA0CCFF8D108D1A188F5DB575E5C08219A04CF78E06AF124FB3FC3B4E78
-2677F3C09F9D892AB294B4EA15241CE2899514EB4D1BCF51D294737089EB4AC56AC7852E498217
-7B804241177353670637376D4D1BE4F13A6107A6A6E5A73679E687F5512801B07F67568F737B3E
-00FF13F7F8DE9C73EB3A2865B07094AF6FC8710BCBF6915BE2E2416B9A866BFC513E29E92898FB
-80F81130E4AB9E5C5D559576BEE4AE5B01BD28748240E7B2D7441E57053F934628A99CAC7F4C72
-F0A343B7937E295BBAB9DAE5CEFDD103DFF935B2454E4AE0AF39776A3C0F40701DFECB27C6DDBA
-4D97972C03109A209C6F98C1E6FD3C81AF5CFCF5223866A5E58514FE8D5DEC95945865FB6F6FBC
-51FDDDDADAB1DBC68F35F756426EB29A6A415AEC11D2EC09BC523713ED44466FBA3FDDEA873A14
-85D7C042E490BEA7512D46705A9C77B52BF575BB1C849C76D0E32033A9F59C62D3646725627CB7
-948C2F72EDA3D5D27E83C2F379B12CBB6D7ED2DCF3BDA29728F99126E56A36CC9D7FCD83F2A4FA
-DBD5C188379CC6A56073F57E75221E5BA328E84EBB6ADCD9D258DE03E5ED83123DB1964511B792
-2730D692F96B2E93273AC148ECF069362F5EABBDD6C577D0DD1D724BDBD804250DB2EB3A2B5F44
-E7DFAC5457D117F3A1B132A68C61A35179B3349A1F412C0322CB415256FE517FCB0C206CD576D0
-181CF1ED3A068444F2A19D9EEB5324CE071472AEE02E225C747913392E43331C5DC96BA985E2E1
-605A3BC09FC92CDBE4A516E1BD248D34FD85023F9D738EE10B2DC23ED8A1A2FA207A1A474B94A0
-B78694D7B9C386302B2BC7029442E574B6258F9BAAD8A099C5002BE366649A771A94A533B4D336
-695DDD599DFB4FA963B04628C52D6DD937BBCED417FDFE925CA54B9CCF44EC78D2CEA9AFABBA6A
-8D0D7479EE60204CF38D1E9B425BD3BD37519D0D64E154CC6CAE7CFC7209F4AF4E66A9DFBD1934
-E82D1209E12C44CBDF4C3E902931C6C983E712DA93F45DE79A58BEF6E742EB63D7D0C187D4037B
-9C1FDE3F204509EDCDCAA5075E3B8B4C5E62C18C2FA01040A4D153C58F0D6AA66335ACF7C455F5
-855AB3DB0A1241287856574DB170DA0C55A9AE190FDBF3049987C8CE26C501D0F3A15E9915EB5A
-9AE4A49860DA936CC61228A21C343DF6B0CCE324FA00C32653DE16F9BBAE85E9C7673159434D14
-2E25928D2EAD8021BFB2DB4F0AE93900577C5937A7A0E292546C66D9D30759EF06120604689FAE
-F808522BEC56BA62621F728E9A4A4D31DB7F7D82DDDFAB127E50E72F95EFA44D40ED9A82A1A3D2
-14AE275930F795AD74375A989D78EF0F3B28138D35A20F516C8546081BA4BCD6B493B49FAB5ADB
-C841C48AC8B22EDB9131BBAD00425D3601F4928F72F60AF6BA2845DFF2C1C46C8C0919481C2F02
-6E71627A0EEA7C1233BFC67B16DEA00AD0524FF2FD04E49266652DDA742E2770504C22430004AE
-F8CD94E6E54D1E8989264B7C22D770D9363899F97A900B8637C42CBE9DA0CAF97D69FF39910919
-155CC68FC81208F9C7E9B7B67BBEF02D65930444E9319D98A3C063EE56B907CC5B2B054965BD22
-074FF61F8F74ED5734C46BE532C9BA883C55AA5FAAF5EE80853D1BF06E260679732E7712619C39
-9DFC4225E71B878CB758C6C3DEB5347C5AD64A22F0C6BF2C692F5EC354FE9EFB940AFEDC511F8B
-1A12BD18C1FF14B354748DFA4553A396DD8457234FB1D6BBF2E58ED6A4BE5356E3402E69531BCE
-0D57E7632D2D3D9A7E7B54499CBAB807514330C566D104C48A4FBFD7F3674EDE64D674DF126856
-1145F8D649CFF1C069414667867EA7B65A012658F1376E7EAB4525EE1788B25C348850809E61E8
-CCDD2FF708C1A61EE0E2D6B5D1B85B2095185668B37836FCAEC18D5444D0C00EB6D75E811D3C50
-9DFEEDBE86B8052D0021B187A93D1EA1FE0147D11D75DB5B63536410DD74040D77F930292D00E0
-8351F7DEB63D98D55F11AE5AEEEB05D00D7E7FDD769ED33F1C61BF087C300BF8D5BCE34B479D62
-8231B9ACEF19EFCF675BB4EC2833458A151C340BA5DAB949917CCD8C455D30F4333A834519785B
-53938865FCE3D7D524C7152E03DE2F84D82F6F90682B0198BF688B2A63213CB432297AE92FCB56
-7D0C3EA22C28C373D3448D402719D0C68C3686CBAE4C45A6958D1E89E61EA8FBD3D1F63366AC59
-9490CC2118148017C72FB239F1540216397DDF36E41DC49BE4F3836B09C674454C1044A02704E6
-FF7FCF78AA85B1003C1B0EB2B5021F8F2640A68E4799E75CF40FFFC212AD560131330489555A48
-828EEDD440BDFF3FCBC860080992A3367E850F9D9D20AF1A0055D4AD13505245725BC3DFD7261A
-B7770CC41C6B908872FF99758DF7EA19CCCB8120AEA32C5E5CEACC05A0C40300C8BBA3EA16ACD7
-3C9331026D850FDE83996CA03F642F5DE54818540014EF65571190394D94FC2973A6C92CF674DE
-2AD9DDFEA8B93F556E59B61AE558E6E86824F23F6A0A72FC79A48CD14FD7BCC76011A39D8CC9AE
-F8E72402DB96DF0DF48885881F508C7C59AF6D06102FAC84718630870516EFC9429A3E95376956
-314E65ABA124F92AE11682F9788E493379F83FADF340783150C51739EE87A866D352B99E6C1F4E
-AD8191B7DBF364260CED3274A261C3AAF908D473C2175D15AA932D88DDE57C2EAD27B4D0F05C9E
-5137A409334D0954180CAB64372166266FAA5A22506D85A4928E240AFFF318EF63B45C26D23237
-6C465AC9FCF64D9DCCF13B6D5103C1F66574CCC968EE0F6CCA773B28D53ED94BB7B42287A6D3EC
-102143F52720CC5396EA524575C1CDB437487288B5587D24BFFF1B82ADD45AFECB4D747A628948
-623E61664F3655BBB1DE782B7ACBF256875DF5FCC20BB7506910D12BE7291EA0648298FD361737
-0458AD089170A005942639F7AE5BE8D1FB6B95662FF074FBCF92776E6F4C7D241D1EFAEEE40DDF
-E8D88DC1EDE3D9E0768B8E0FD38BCD9310F8A74CC0C671B0FCD404739FBC68BB02B1D90BC4D91B
-F5C24E72D98D1D36A0611BA9961B74CCE43411DA5BF2659414D74BCFE8E277EEC4A11F71342A97
-6291C52A21737F224178B619F048F2A44E9F42BD5530846E10C4F05624026E355FE623223DBF42
-90DD504ADC56051A92578CA2E00BEC120E0812E0EEEE934FB9E7FEA6B4925B4F5118F30C5BFF35
-F8A1F069B1FCC24694519FD9E817E01799FE1FB9FFBDD28222663A74E9AA253F573FB3631BAFEC
-D327514A43947F04F31BCB22C98CF9E050732BE8574BCEEBFB9938AA74FC68A3B2ECD6ACCDF22D
-E9F46AC3589AAB1C352538DAA0E1CA320694F79D7E5E6934128DE7EE3E3328D4D494B5E85EE40F
-F2032E44AE58770E78188177FCF23CDD200280A39EDB76E4D7BA6F728CE8784507F7DA164F062C
-349E325C145976D0102E65DA171F95A04A3D550EE3DEAA4A564767ECF3E7D0D5D2BD6D06CFABC4
-1D1BE5A5F1C478DE08343F2D9D6A74BEA3DAC953BF38183EB9BF9B188F88459496BC74A3EF6514
-12307AF69D68A1BD9678C642D11B75A7B5C113EA8036580596FA193F2FE45E52274F20583F6D0E
-7D7C17CA09022D07573E33F52394FF499ED067EDDF122A4AA44B9B4CD53C04304BD53BDB734D78
-5866891CFCCB5CC4ABC2EA2BE6EB432BC0EB22D9EC45BD31EC11244F9C7ADF81BCA29A70EEE439
-4A3AC5C2BCBD2E82A26B06A348542A4C56D778D2DFF2944B5EE2B2CC32762FEEA2E95D18075847
-6E18E6596B9ABB3F36745BD8228EC356BD8DFE89F8180277C50DDA883A59F1D9A21704ED019070
-7E87D30672973F4EED6C744C2E71BA35E887C0EA1503A941EA20902177DB1F5054175A215A9D4B
-FEBEC521B22F9A2924F76ACBE573E216B1C97D5D7ED322DFDFBDA1049A219EE3736B9B763538CE
-0B1BE3E253175A515DB0EB877A547C4929C9EFBF4DBC586BB076ECD7575930E4561B10A56E0F92
-165E415F78ACAF1A99AF4A1A8625CF03B6FE564CEAA6CAF2FB247541CABA278DC1966B6DA19A1E
-915024184832E33129DAA8F37C57EA8FA66B1D7C1E03945627F9807513EAA0F87CD55676460692
-E76A71885A1A37BFC0ABFDEDFF655DED8A9FC81F57912EA87ED5FB28E6FBF283FB6832C10704FB
-B1B46D7E1BEC70B5DA8F5CDB58D19E8FAAB5702A3A726EB077895D36CB6338378A3412922016E6
-5C45D77C3D7439705970C5772DEE02821F1BD236AFDB9982C1986DF161665D7A927412507700FA
-B2D873E77BF818713A257FC7FC29DD7D4987249D535E3582812CCEF3CE72B60D23F33436D1DA42
-BA60496719774783F395C42C1B44C77F6A66620F1F92367B56777A57BAC024874680CD1049EE3C
-458B24210627C745559087033EDF0CFE14485FB79D541888D97CBF9AE6BBEF9CE0DC02BBBC83B4
-C2BC26313CCE46371C60BFC33758C6BD3343C0984E58D4CE5133511898D7860DAEF04DABC44731
-7AE3A18BC898833130CF72EDD91A4E42D85F4B897D0F9E9DB4477E73063189161916DE6F34FF73
-11FA695AFA2F897334FD81DFFC505BEA5C13A3AC792569C6935611E95B74D41D9DE36140620979
-205FA7859E1585B1124DFE4B04D880615CC2198A67D47B64851A642F40CC16A8E8AE202EEC55E1
-008E3879241A61E6673C9EDF77EFB2A43F7E85E196BEA0043898FED01FBAAA47894EE7392B1DB5
-2B9433D88980461A7F6BEABE6B752600B758F0F2529EA26D57BF2894910AFC67FC6D190F359058
-517766C9403B404D50865CF632F371AA67319B6262F09A92A65E86AEDEDAC504BA901B8A19FA14
-F7C6659B209845E9665474981EF9513115B93DA16991B5E31A70DF01DB06D47BF089EB184CE039
-3A1C2C08A2B05625CE02513B4C82D026C903DCCB3135FE88A6A4CECFD2D5808CCC99BFFC43DF9C
-FA2EFE9875C3491320D62FA3A54558F298E3854DC3FC8D60EB09C534E6A14102F4953AF79A57E8
-7748A2E01C683B8ECCFE4AA681D943C3758FE70625227DE214CCACD35F15B4782100BA3C0AED4D
-523681438AE195D5B58D4F61B9807EFB12B162FBDEE63C22CE05D99E4E289EF01463DCBD748D9C
-6CA0270DB111495B0E7BA377CB34163DA6E3B7F5FE89FC9FED9960F3EB9FC42F1CD39BFAC8A36B
-F0ED0CB3B6D8503E78432EBF42C0EC6D608241DDAB2F32540AB22CEFDDBBB10077154846AD5253
-835558E1A30C426F9E7A488B88C1699ADDE69F0821342C60042D0CD505799BF1A4D86D94DC49A3
-046236CDF462CA6367220E041FF8EFE18CA65B989E865FD237A7E120EEE95915295F4FB8D0508F
-A98A2B7737D6088047521E6B740311BAA5FF402754CB1193C329B7A74AF5ABD596E5AB66C242C9
-F6F89DA12065DB01AFAE32A7CC6156B8DFF94B72C8A5F415C738963B112DF996165F52CC48C2AE
-FC903178931044B9095A09A9691668AACA9118D67E122B70BC19A511759544CE3A9BFCB73A6504
-D77E24A350FE52FB0107AEE12F59AD32C120B1205B69D0165E7BF98C9F17A04DD46649EF7E363C
-7F52F573A1B99733E5303BED19FA3CF306879C7498B18ED8EE01E8E87715A44DCEC5D259E95767
-0A469D3C4E5EC2043F6EE288ACE1E3B39084529455E1F8389186F7662F96E3E1B053073CF04D2F
-F322CFDB6263588B3802327318A8DCB9A61C9D1B1DD2F8070F214DFB2198650D14A77C14FC1AA4
-06EC487149B86B997DAF22E30CAE968971664A10A0CC346961FA49062E617ED3DD0DF737B41437
-B1DC2B0670890F9ED97E406B46A94B05A538E8240572BCCEFDE21F41A66520CE5ECDD3C0CCDB3F
-19332FD94654A9EB7D7D5175013094AC79B92D1FB0BA86F209A3283DDA9DB25B4F5A0A03E72FFE
-A45F914757E8C50B8F0F8176FA8CF44C271A584F7BE700A0D36572FAE05EF6FF23C8BB33EF6BA3
-3186583E4F55D1256072B53B91047AF7868B31CB6150F5456FD4FFB8B4B2EC3EE1148E8DB34353
-B3BFA4F84B8C3001E575372BA3F7BDF1BB6C4B82C2FAD7575E12E287EB971ED3D91404221137A2
-53026C8989FC472143DDDE9E2D49A413F1D6A409179CDC3CBF544A093FA05985E0BE71CD6018D4
-2127D0AEB4388FA7ABC8558172396885A8A42F0A0C768A4B0EC2B4D1862AFC4FF363F3668A33BB
-6F788A5D9E9CEA2BFADD7A4C611BA217D15A1F6BEB135F8F7C9FB011642B6240181494A6C192A5
-756766F62D7331C142C551AB0E64ED8CBC57EF3C295DDF2DDBD265816761F199ABA1D2E5349684
-94E676D10461C34136FB87B9FDC817DB731419278301DF86C91D21662BFB36615D4F85DF3793E2
-9BB4A86F1AEDC061B1593F59DF133E4C97B744F6AA19EE0E23ED826D0AAB5EC479F2F131DDAE26
-0F4482E8215F2A06C33152F1E26EB4F7EFE862846A37A084D6090216A1A9E111D416629AA37375
-C4924FD96E87673C5B41F627F5C1BF682E6C411725CF5414D7ED4328B94EB8EAD9EA991D0F120E
-872CD1397D36D5C2DB03164F2E5D414519FDB61DDB3E27D5BC7017CABAC9EB67BCB6A5FC451C13
-E7A3B944C1795ADE61894809B085AB4D8C046486714D086043C8E504B57476C5AFFDE8473CB6F2
-2DE06BF6FEFD368D6F8D0E00292B825EEE18F1FD3DB34DA347F1B13ABF19F22F10313E6D646809
-90E4B8D166499128BA14D2F2200C86045C731B8ECFD52B2400C2CE1BDF0958C4FCE83EAC4B757D
-CDE1F5CF4455FCB27259E3AA102E4CA642122D5DB237BE915E606850D47CD77AB07BE7B676DC86
-B5E0CE1FFFB177E2A84023F7845B5B570227433638DA173C086730C2C647096473C22DE7A47F1C
-C33E00434946AD9847A55A6D54295BA6B2F80E80A055A02A8E80D28685FFA0B766430531AE79D5
-BCA0C699624502B43A3EA10D8E3FE63AFFD751828FEE69C0769BD331FF2F4367FC4F8AEB2C06B8
-7CA3D251DBC6E81F7159862845712248FB86A0F73B767EA8784EEDFB538E41334A8F4280B64E34
-9C2260B1917657651DEE10B78C60E941AC56992BD61B84200E942F341C37C7D73D9F2AFEE845A1
-A8ECADF6BF3DD77D17517AA99FD9A0C87E735F998C2B05716746159EFB439B619C7AAB02C607E2
-911A203FA36C15B3ECECC6C72037D49F15E550FDBA5DE6A7BAA71AF83459ED20A331037F0E25D7
-177CD16B4CB572C2257700F150F03FE9EB44E9C840EA81BC1D9B9E6FACF6D05C01C1709E5D78F2
-BFBEBBCE08C5E32067CDC71FD50042FF254BF62E5E3923B66ACBAC43DEB6541EF98E1CD9B122DF
-C371CCB970C345006847880DC6814CCEC5B5955B63786B4EA225CA81C5A19487C518C8FD98568F
-13B79EDEB465CC2B0FFBF5379C4A2C0FCFB018995107224DD43754E55F7017E973F4DDFC2A14D0
-97C8C5DBD92A5D161C25B6488D53E52C4EDAD89203B0A2B5048D55EE9E577FA75E46E7648B5430
-09523BE6D66603F7A2E317FA7AC44E45342A977E76D5384B6763FE2186383F10711F36E5AAB801
-11B02699085C3222F6622C201B1C1F975721CEE86419E9DF365F1603641DF7A5905BEA0C54D3A1
-8BDCE0C892C8CEAAD1F6AE0E727B792AAEDB30390CD4C17D072B82859C0B6E6574E8F2B4F4AE03
-DCFD278B90DED764C0E6F262CCFAD7257C7D2E2733D0E9BEC3C6DF0BF779B516E41506BC084928
-3724C876682C1C6F36340AE8072AFDB1F710C2810E808C8E789DC3962174978E020DBC1A16F129
-AE110E7C701601D120702B0AEA98FE3B9EA28CD175B9E445920BAF32BCBB13652BB33B62147859
-765CD15B51A63FEE61FF92F458AC28849BAB775FD42123658F31F6DC0F896F2E37CB0BD310B098
-E7B1A6F473D0624E3D8EB7BB91E00BD164A088EAC207F0ADE1D9150D546E00F3CD038D792F42D1
-9625A14D30E8B972B263433BCED195E8FE4F200C672A1F167F969B2E067E32B7D69765823620D3
-E68894BD03C3D5E614FAE9B173C21A946453428B22C009E0BD4AD69D94BCE76303775FAF74C151
-A6D0C5A3F8703CD5BDFCA2A469BF6A42A8FA8678390B9BD516C76C2D6F358C0A28BEBF971F4C4D
-1D81CD15D913C4E3C1F934847081BB1897CA19DAF87B9D5EC72A7C26B65563514DC162CC129088
-0CF4FC0C115CF2768075CA07B04340F228E862A40F35AAD4484B109FEE50E26655A8C699205D70
-C2BE4D2368E3F7F927F64DA140F979B299B50DB1B9224E6750A7D1AA909A4921ACBE1F47C8B6B7
-0CD46EC98C9BD56C35D3FB61AE9BCD3CCC39141C92786B8C7CA61E06B88B9A1742EF6D5CD417F4
-282F220212D30EF97DCCB70CB1153E8912131C9E2E89B490BA9967CEDA089AA7D7E2925C4005AD
-5624A294E63F54235F579488A705D0D13BCD668263122CC591D2417CEE1B1C220BF4BE45722F3C
-4891858DCDCD88B67AA9E69D045F25841C0D8A4A8DE5078A22088425A6027A9FD1063F2243600B
-AAB3479833220D38F365C95EAD2B8E37E6784EA29A4D54C4445C52F3939B1A61F05FC9E5DA8FC0
-84B9B5FF7AC76B07EBDFA6EAD5E70210CF795768EA6408DF4E7EEFA5FBEEB3FFF0357F61EA6061
-06619C14EC6E4EA347AC6F96F3C852459965CD29328C3FC164F570A646D514A1FBD9C2E08A4C41
-A0539C8D5C0849A1C6173E4DC9B2B039F7B5AAFB46A98A7A9431D70388D06AB90B58BBAEC86E75
-17F25C7674A633324E1CDBBA4827A775BD6CA1A9A8AC24A51E6FD163CC0B47A00AD11EB05B3AF4
-F9F971F04F4865EABFF9EF599DB3982C62FB91915916D87E40458552EDFD00A10FDC75F86938AD
-E38ECEB82CBF2944ABA9E99BEB9856D58BEC9F1E0F52C64BC2B7B19D9B2999D16CAE02E5D12FBA
-62B9ABDCF95C664FB4550E890AF732E7EF278ADB9A945EAB167FDEE52993986949551159B3FBDC
-E8763E8795989CF46DCE7D53F9CDC713B79DD75F38D26813A6B31FE0E48777401F6FD86DA5DC18
-3F9625DD30EC75282B831CC151F4A90426BDC43EF2CEA37468363519CBC10EEDE7453F7FACA12C
-0F927B78922A81C3E78212D89AEA5006C789425A01A0F382EB35E61A15846A7C934AA1F164D44D
-E80418740CCA9364A9CB96CD01BFC91C4BB35F0F854235E98E8DFEAE7DDD7ABCD18AB84E78C00D
-D39A4F53B52B14E570D9E5377328F43BDD82936E5992A745123B42FFEBBBCF196744F193F57A40
-38B5AF3D5B1769C10EB947B4C2D6FAC578ABE2C4E682F63971EF5346C62DEFE184DFFC039C233D
-AA977CE3224DC9E989E49FFCCC73BADAE85B2A9BFDA4F848009237ABC481993FD7C358AAEB62E5
-2685C4597C9BDDC55C6CEEA1B44A2BC0A27061D08B4EFD8B97664CF2FB251B94D4900F135A952C
-46F5FA13A30F6AA5C1150A186678B610526C764054DDCB5FFAAB0B31A92B8BE1AC60F5829A927F
-006F619D10B59F59F137FA60D01ED6EE71E6544EA7CF8C8F81075767F7F88D7A2402EA33F8DF20
-9A8345776CDFAD3315FAFCF94A9776BB34697262D3856B8F72E238E8331F2CD4EBFA2CD0C2F633
-D67CFE012E32F7E1F199983EDAF394189E72D6398F48B8988668FBE0B6B1F307A9D127AB640767
-69F7856F28B8F979093B752A753AFB5E5371C66192D884FFF00A97B30FED991A46BB7F982B7858
-68BFCCE7593D432861C55AA6C48A2EDA8FAF4F9D23FEB5FD1F477AE532237A372D425664970BD6
-67080775EB9A3D080B10593CBC271FA9D8C95F9A7C89DAA54F7815F7C7126F640CD773E702037B
-2FCFCFF8BE9C6AEBBEF95A50790D25D1B289F25B43B959E9C2F94F2BB66382F299FF5E88AC003F
-2A04095AE808A6FC812C3F488B5783DACB58ABC15F81B8420C37B7797FF551B10DAC03FC1950B1
-734F753A722E9EBAAE5FC6140D800D1E3655D89B89726BB8100C00E57FB85D229E64EEF50CE010
-1699E721B94CFB42F3CCDDFE876B10B49A7A38FE69F8552D631DE6CFA9F0CCE3144AED6AD00214
-36ECD9044A3DF2B9944BE491C3F3282C38AD3839BEEC9485B30582C9D8C20986A9D2DEBA760B14
-6D541841D42FA9F46C329C5679C31BB32F89B7E4FB817A02B1CDC7ECEEEB84818B60540DBCCC0F
-3144C673320E3DDBE6E31F1677479B75C18968B766C924461482B35754DDDB9E43C81D226C91DD
-E21768A54CF64FE29980317C6864FADA228D2A972152ED1412F9498CE60B7C3B50B9890AED723C
-795934409C5EB2C727A8872C6A0DA820CCBB506CF0D78AFAD64C06891A8B570732AF12F60D456E
-17871E5E3ECDD6B3CBD8F86234C38E4FD00CD39457419A169E59EF4EE625DD40748BAE47CDC39A
-9BAAF4B65FC6C5511D9061DA352E981880F6340D6B6A20B839754663D26F6F53EFCD6EA6EC963E
-581E42331B236409F2F98C43445BA0D7D0EAA52150636AF735BFB6C475C904FD4754034ED58E1B
-B4DFAC824B3669D3AC473BD833B3CE889323987BF1EB3CA1A0872ED5388460F360FE9D1400FC8F
-10833946F68832978B0F75CB14E9FF75E7C5B9464512BFD5D5C4BDDD7530FAE0B397948FD5721A
-0D7B38FD5B67CAE166EA2DDCDFA1ABF4F8E1195913D222AC3A7CD5BA9C07304FC477FD91FD35CB
-C784826AFED5D80AB7C968036E868930508F4F1C6D7488094B78990BA4B79384C4E55E09FBD28E
-CAD7764DF404A1832B243EFF8B0F344F46A3D772E6F0507A50CF120C74DD6674DE4A72531A33E6
-28A5B1AC079AE7A41D62C723D90B7A3E999486CDCE2B64BCAF7443BCC37A9445C1B4681BD26DDB
-C451658A1981B327DDF00E3C9AC34735605595466472C34636749C436773BAA155E51ACE57A294
-62812D2F6E396F57E8A6CF5A739308FD478C69528D86B3CC1442761531D6BB1FF48A513DAA1BEB
-617A418AF696988E29538D9EF0DD8E16588D9157E619AE1226F4C2F37146DC6A49685C492578F3
-EED7B8DEE2FCE03460ADDB91C37F7A29E2D3276198740B73C93161A75FE0D83F02ECBF1B5AED93
-086DA0545EF10000706305D2911EE39ADACECBE06C1B5FE941EA8BCC6C2B6E9485674E7DBCEF3A
-65E8FB59E25C291AEC3158AE9D7C2FA661224B2CFB87970A84538F0370ED6DE4AC43BE23F914A4
-D67FC71AD27ADD384CE9099C65AD89980735B046C9F37CDB29BA5BFC3530CB1658DFEA94D70360
-F63781D87F4501875647342791EA609FD1CAC8A338BC25D296A80F4BE0A24A847ABE708BD8B7ED
-150C3E071BF0F8469A994072DCFC16BBA90FB24A71CE8E7F76ECE95DAA5BF3E78D0AFC22435753
-B94EA390CD95C19BE6C739FCB37F7051A879915507F6F4CA85CB9C5C9B1DE6EDC1A59D0463EC09
-EBDAAC2E5969658111004711C2C3769609BE35F8461BA30BD7E68321505A14B30E0BE54B29DDA6
-4ACD1D186E57F16A15A1211EAD0CC317B8B7705060E18140358F950B050A232E2E24FDDF74F90D
-F1D288F3171A38351A141DF305B3FD32F5A47C25337C252140D3D529700A391F5176134F6E4752
-7452F76E16B9D5025A0D9C4BC0A8873A9D8BA4AA0E323E1E635EE715E09E3782A64B1B578C4FB0
-489D594558A9DFDEC479A9898B3D2002EF6A3F0AACEFB4F4CD8261172C27D15D3C8A6D8BBF8550
-B5A72672A513F340492536A1C57EBA1E56138A6EB1FC138BAA1DEE14D8334BA2D8368E1B1BAEDD
-F4413490723E24933659A2C2AA76918B347ADCEA2DA773F4A90399B0D12E6D9697CCA9743D2B9B
-B2E347841AF2FFD3B2ECB2F52C6E84E249A98164940093C6B0F7F3EDC12FDB0E28458321EA539E
-D53AC5A8A6581D13899666E387F45611E6DF6FB6A912DF34837CD02A7CBD449DB6D76AE8E0B9D6
-674A78ED831CC52B501783FF61B3D6012C7FD091F78BE568A2D9CE4F30FC6B5762295DCBDA1F53
-54569F381386187186EEFA58E583D9476A4C2CEDC6B952315BC3AAA66AC4A0FF34DC46268C5B47
-7F98F170B5CA4CE9188FB5A7DE9B6C706F0E13693EDD06B359EF8B71C9CD93A55DFD9E9FFBDE43
-A8992E61E8037865318C26858FD577096730334BF64D160FBAB4B4A5D0E126E1F74F866D5B84DB
-3ED0283CC471ED7420D5C7029417256C39A3DAA6282A87C42EAF85EDED92D9D2C68B7508F9B401
-6C1C52576F20AEBF17D4FAC5D2C26C30E4F0B0DCF82914A294B01A711A06702946A90876AFD511
-E4DA8B1E2DBD6277F42BC77D6E51DCF5F682214D77BDDA36632D7024E05D01A80336C3BBA5D1EE
-6668CE16AC8BC11AC5075376590EC99818AA74958B818247ED7313B3D07D0D5D8C303483F0F0B7
-5B46246F62AEEC7DC00DCE07F5C4659B18BF0D157736575022524B7188F8BF5B5F4615E507C9C6
-8605571DF81A00715BF3D4F9AB6BC5CCFCC10496FD7EAE80D65FC97A9A5A1B82D85BBDEECA1E94
-0ED39A49C5CD3263FF051456CC785663437D56DF6FB1539C46C351FC0FED4F6C3B53E1D6010F91
-2B925DF6E2A25A7FDFEB8BB6F7FC2839467EB15668B2195DE2083B17CFB9A6B1822833DB7BE3A2
-DB6A97DEB48813C13D4BB2D257459FA71A67D1CA5672F01211EF9ABB0C16F378418F20C77F5F76
-2FA56B0F84DA79EBDF728CDB72277CFB44938799CF307E6ADFA8AA564530716D5CA8677C8710EC
-846C6E87E63BC962D59117B661D1EB2B16B8E13484DC1C7E6DF23B21C6AC4C69BF61C41ACF593F
-D36A9119969F5075A5D428BDB46620CB9B3BD16ED48E3E78C8A900FCD978DF20D16E2F895B149A
-53FE7AE1A14B0901BA3A9C2FEA002FAE3DD25BA0C1C1918FCF1C85751C4778B8D4FF71FD4275ED
-9C3E711FA12D503B0C05469AE2F0F82E9D6F7E1CF0AD5BE1BA3985CB588524AE771AD942A6C2BD
-8BBF08E9C77EA4BDD54820BD8A0FCB35A5C93C0E1A3BB507E003DB5941B7950940BBA323E45FDB
-322585D4792B5BFA97BEEC138D4CA56FA3022D3AD99E30F80557D9B531747E9F4429BA9809CB30
-D20005BC24E3A3488178526464E8A950C7D04C787225FB6DF51C3A38229C33FE52848F4DDD9665
-7B61FF9E0690EA6BB963F879D170F2EFD592D12731890BAC9AD2FEA407B161DF19EB30D6B833C2
-7ACBCE55FA0556E2F991564C15ACAE23647C57BF1885C1FD0A80C1A9EF044AF1F6C6C20B3BB5C3
-0B94C38F718696C127F3D0BBFEB64F6D2CDD82620640D7E1A7BC954D97D19B1BAD7B6EA8965E77
-EF54B80632B9CD9F8BB6028DAEE40D5965299407A01E09CCA11CC830B66135F80D5CFE6BB4CB3A
-6C8FDC309EAA940B1401C268C635AF7167B9CCCF3E7BEBA89F73B721000F8B0EC19B0F572A5B6B
-262C8FD862DE10BF92854FE705A5C5911AD6D01E83B9F15A0B7F411FA37DFD64608D0611FA75FA
-355737F0A5F1A2736D071AFBA31A2AC2F41F8748A9AC1D61AA643FF10DF9C7F0310B861F74B504
-C53739BF454C0BFAB07552B85879DBFE4CD367B3E96ADE0C3604A4AC44BA440055D572F06E86E4
-375E88A47DCE391EF8DE0C730D340AAA2BB2A486517D7A30FEF8E49B70094284FB20079BE3C8D5
-049F0B631B76D2DF986520063E0BC6AC94DBBCDEF79ACDFB022CB575C57AF8F4ACA52FD00F08A2
-BEBDDD5C7CE5F0121F2861B95C416F82BE06778D14275D4A486665A639DE1BE871DC7E2F8F0DFA
-340DEBE03F9C33622B0BE67DCD88760CF15732527B29120BAFF09DAA09DA45E32DE6B8A2339D35
-0C94DAA47D0C749C250CE7CB211BB390C521404E68F8FFF10D8CC2EC293A1322A3A6F3E3818D0B
-248A90D38612061328DE74A3D22D0BE467974BB7D3FB9A1937AC08A0955DE27876236AB3FB780C
-CCCBB0419C81982DE65ADCEEEF7230CD442C4C4A9C093AAE35A02797FD96AC49C8694FC72D0C88
-1420112C26FDEBEE7A305AC36D0658F01E1D8E685479AA8924F3FE5088642C02658CE696894DE6
-004CF81CF629C9DBDD43EA44DBC758935838CE09BB1F91250DE21F3B1AD55F3BDC8E6C95271DCB
-7811EFFEBE9CF3382176869B3A618E3B7BBAA72158B6AC5749118DDCF030AF00E74624F17D422A
-969CEFBF127BCA9A3198C2BCA0C8CCA866A809172E90E464733C9A270B1C3D2DFCA7FEC58CD753
-9D077BD744B94C9554453BA9D1BF9E6AAA7005846FD4B55CF15D60C06C3F2445758F28BD335E23
-5556B5C01A38A730607C3517698B63AF6924074CE49F290DF73CF429E6DF2FAE37A2CBC2624F9A
-6D0927C9D450BDB81C352FBE1D31871E7DDDBA1358532FE253371C8D2D8BF8C4CA863676D15E57
-C5321368FE4E7042937EC55138C4A8C27A6EA262CD0D91C0D2C685C0A066C21EC0209E391A5E2D
-49E2C48FC53EE4BBECFF04A7F8766681837A85238EF4B5A9692F28830CC59D70B5FDA03F42E0AC
-58A955D18D3596333C816F59D9E145095A83617021B47057885086A0348B573766CE83A8275C23
-6D0FD66F945C3648A154C23AFBAAA66FADAF1F8FE11921E4917558D001F26F984EFA75A37FCDFF
-CFE38BC3A587D49FDD012653EC979E65B8A52E461772A6F0C50CD9E1948FBFEEB9F3B217B4FF7C
-E5F2C86F011B8CFFA027499E5E2DA96D2C1C83E517B5B6ED1925259E97FCDBCCF1D84D0A63B4F8
-06B3EEBECBF6B25C52F78B81AD948142669990E80047ADDA3CB0B9125F1FC99F141581E0F98FFE
-91006E83866ACEE9BD48C5D79D8476BFE670EA9A60B4713D8FEA9A1A75DBBB3C36C69E2E9EE598
-33458FB987DE5E00733C954D610DA3C504A678DBF248E061FD83DE507D44BAD90D8A4DD5D9D92D
-B0C60AE2A706F7EF6FA4D17E1EE1F47AD5A399D5D53DBFBC651544EED9E39692749EC9D096B7C5
-E461B8AAF039F663B092B4D2E7A36C12A39A419CA6F3EF7F4D1D2AA1387B701030AE94ED8288C3
-BBA3D4514886BEC46BD8A25292A919E9893E7487512DCDF3B8269F6BACB5BB38CCF0801CEA8944
-F38209BBEFE1789B30069280119C67CC9BE0F77B19340466D2A2BA2C4B75F38A4F8AAA832F3063
-D93C514B7E1D22A6D63DA4CD7AEC46DCCF98E787BE93240CBF28E56EB757B3A8AB68486EC15134
-08680E0C765DD06C6339E87F8633653A7581C52FE8D0798664FEE6191F8CB5CBC9258E30FAB211
-6A6373890BB95884DE4BAECD590203EC4D8428007193C1113070C39DACE584F19363CBBF4DB4EC
-D870BA78008B2BA2E5D0124D6EE28AFCAE0097A8C7836DF5F6B2ACE881905C5765C5D7C68FED00
-D71A5C713335947713FDD49E117866F02C1A4588FC1518EF6E1CD9406CFAD6B5A9DCC50514F5BA
-F1B5259C93A8D917EA76E357DEF2B8D27DE40886959220898D59769523A74A73955842C0B44634
-7C9A1F335454A23C72F092DA2AC404CDADA9928530393880988810EEF73F80080011F1E6C3A27E
-E2804DA5CB3E1DD0CEA4D5B484F631F63474BD9EFB277C12A1F92A071A52C5E986E87EE69A567B
-44E6E1288E03D9023BA7A2222168D5FAB8D47211F7C52EE10C5DEABAC98FD192B609073F4225FB
-D035AEFDC4C9C6A042BD0A6D13AF241117E9F20E8E7CB2C068528D21D0F89E342B892A4A72FB18
-195D716AD02571E213373C608E13038D3FB474C0630999338D65C637FECCC5F1AF4ED5F9190894
-585989C690A83C63A0EE07ABCF2215055ED665D5423111218FB924C0BCCAE7BE3D634C9510D118
-E87B8AB3B7D92B8044FF15B7A0C8E1DD8A950D94958CD2082E8101ABA7447B038CF39D3099A952
-7E76B3CD1A5736F76B44FB16DE786063CA53D7F72C17326DA5B257D73B6DB82ED224FBF8CD8AA7
-42B2EA5126072AB706ED6F008DD7B59A274412BCF6DA28F9A3909FBFDAECE3F8BC302A94A6E376
-BDFF98E2B9E5C476C01FCE90A4E92176EC88FDE2A09180E0E1A21F597412480BF19F4D02CFC87D
-95343BDB16F1DA15BADFAE941A331CDADF42D591F0CB59F117DB2A1BB22D7C299936CB6DF37C47
-B37D4570C512142801E810BF82978CCFBA35761C64FB236D7CBA3755ABDB2FF5F94CFD74FF2C58
-E3B9EB02CBDC8EB3D1CF25D1460C3D8AC1FAB52410FBBBC323D2C1A99B54906E7ADCD33749F347
-51B9CACC97269AD7A879C646489A1794657BA4127F94CF8E266289979CDE7A3227742F1F4967F2
-5A49EBAB5E0B3FF4D78D558DC86B446553AFFF75B75590157EF4E4B670D4D5508ED790E39884B8
-9A0881CAF324D84772B53AE4080AC52DEE29C8506FE6F3AFDC9ADC7D1775DC59C83D09D9AEDD9F
-BC849545D80B11FD15A4FDF2ACBC494EE00259AC37FE497C6F35A4EF51B25C67C5212AE50430ED
-8D6BB73FC89E34F2E760296047AFAB9BFE89BD2FAB47E7639F04DEBB92208578E6BA025F180411
-1AE7985966A5D2AA7084640FD7C7F96578321D74E9B508903E6D5D3C16CD3FC9788FF487B31632
-5FE044A262CB14D4B97250A935124F8024D1340F58E6FD6D7B0411E3AD19E62522906BBDC9428F
-E31F00E1A0CD96DBE93F1EE73119AFE7C71F059A90D9DDBAFE00A4173E1FCF74BA97FAE28EC8E2
-45B972AF106D1FC0ED3574D1C713E0E955C4917745DE163E12B345B00A832F7F7B70CFCEB76F1A
-88C0CF050EC5D2C9331BA0D84B9BB9D0ACE85F021553DDB0EF3485B056421587241844DD64623D
-30C7EA91B5685E61D6D713D0867D8FF904E254D89B3A6F6E44239E8AFB210C2A5D741E0976BAC6
-5F07CFF611153E2DD8370D4E924459F571CC9D8B9C4BA56C0BF6BC1F6D20AA042CDB0EDD617148
-22A7A57F3B7030A9D055A8B6D5CEC8E83F471D692278EAA138FC371AD98D772D210B0F874799CC
-9D7F29C2349897B7C77353D86CE4D17F970531A57FDB7E7642702D853AB8DA5F580690262AC019
-BC2672A5238FE43BD2FEFF2D2338D71028EA1DA10A987E610F0C527D6C5E7D0960AAF5D8A77FE9
-88B1C30C6AE41A073DE7DE2053B99031214A3C69E66301B2B2C12770C070F80DC986F255D3C766
-7C4AC0C85FF653193CE6369C8AA8143B99AF8C21F58E08A77CB575369E455EB094F4D180C645C2
-0368477129CAE48C36F4396E82E18903313AD0F39E666479E88C7CA4F99089120135DBCCE047F1
-97FEA92C118A0C3F936E4D12CF469FF2C1546C6559ECDE6BC9ED971CE2ACEEE6B4541B97DB48C1
-491689E0CD883F221B58F2E3C13336176A1D2FD31524E4E56D5DE01527EA3BF596A9EC4163DC9E
-E300D6D8FB2A806A2568FCF190903D5FF08442C191980ABCE30178BBB7A0D51DC2F39850D2CE51
-8F5DAC1055CD93EB1E67AB262460646A235A14B6A2E2DC1FDF9079877D90F1997A01D7ECE1E0AC
-3C69979C7A92D318F6B93051CB55F1992A0A737A3520C553AEABADC17FF5603F23712E31985E40
-167EB338F9F96444B908723C5D906B67556B0DC088E808A239757304673DB8634E5B049A25BA86
-2491EB65EB2FD1AC1793BC94E806B22F06031902BB37F75B16E12FC28593E171F45E8B5C076370
-EB2522791038C864354C495FA67640FAE6296C953A004B68BAFDAD61F9C095768E4496B3120EB7
-718DCFECD3B6D6D506F32561E435FF2AD83FDCBB6CDEA0669F0345F651712FE000D80952151CA8
-CBE574B5828FA7D2599A82BD6B458B4F462A6C09F1D7F335AC4D8919DFC8D2BE73284691A78F83
-605E0E1818030DC666D458E168F389F9DC51A71F232C4BB3F1CEDAC17E9A751D2A496A49BE94A9
-D806656CFD620842FB76BDEE39576136D7D3B2DD8B1D2FF9A6A288EDB4128C71FF0A8BE2D140E7
-B2DE893BD3F1878631401D13156D6992FA8DF287978A8AF5052A33E7FC68EB9D2487D47B0AA43E
-B25625953FED6F4AA641604367E30E94BB66CC4EB3EA2497DFE7CC0874CB031A0635AAB2ACB504
-E70FD9D9C1F1D634D041425688DC6D4669E9ACC514A08BEC99A7F5928E98943CEC9968A09BF757
-38AB42F50308407B95DE4AD69EC9EC52D1E9C589F8B52B52091AE3872812CD55F633DF67209A25
-9FFAB05696B34096EE79AEF64B59B589E2BB49E2908FBA309167DB66F7F5D47C3873E7BD213B1B
-48E966145D40DFC0541FE4F3C382A8E15AE837DD4C7B92C53E7285DB1FE32F605B89AB71DAD229
-D4921534DAB151E4AF32840F33B9C7F3866ECCB6B53D232934CFD94C8C59BA87D62BDA859472D2
-B3CF283E94783B1D3BBD1B35AA9C10974011BA857A8772462F1B2AE8130E1263BFCE41489F5532
-3CF207FC6F8B299AF55E6762CA918374FECCA6B5B55F2732FD908D25AAC3E703A05C0D6A70289E
-ED5329628E968989AB3FE634F471EDECAC8F7056685B61DCEC44772089482AFA3CF96204E0440A
-04E570C105F1A79F592AC40F5559FA0D29178F424C0A051B92E4684B6E90DE462083F33A7A08B4
-63E12BFE98B2DC6021FA61140EB257FBD66F085AAAD4C6FB0C089B1FEF91FA820B7A2DCDA6147F
-AA85C6279992741ECAA61EB6913F437CD0E9D94B54319C12BA6EB71D8791D04D40DD386558FF9E
-DE3883C324528EF3F428D01A175B7DED3A48D184420DB29E352D025FEF804E16396F186FB68775
-5F6C9277A0555B1D4FABAB02A6D40AF88BB5C9D82C32E577CAD2054FDF64ADAC782FBD31593A6A
-65DA02FBD1ABD742C73B7634FE90DCC689489780A297B29BB3C175B3448D331B73F307751CEF96
-BB6C0C48403B1A0C7977AD7839111486EFC50AE2FA28666A0AD657F686018464001811DF596F8C
-E4ADB26B2F717A2C520AA033A184048ABD8C9DB5D0D518B00AEFEC2E6E0507FCAC2D5D09AD941C
-8B04D61233C49770640BEF7CE0B1E1424F191680A0FC4E93B5CE99A406E262D325E952D3F96EE5
-A67E22C686170726A86B6C5C72F8A8511AA6F92BD57C9A7524CE47DB120AE506E577106DACE83C
-52595127133D310397646E3E75A3B9D3B2F49C2E7DB6B0B0BE7F0392B897BDCA28461A272ED2AF
-E554A375CDB58649C07E6FB9ED7EE571FA41B8B0A7A6EE02667449ED8C079B688438BB0FAF2169
-40AA668C7771D84D4FABE67A893048C3EED90182CC236CEB3A2EF960A92EFC282964EFD400EDD4
-DE7B86DF8D18E8100DA9409CE31FE6B7360D9238DAD7590FBDE2E6686CAA620E5B578596E810E6
-AE10CA734AEE65FACEC38270F72A484C6386F37BC9122D036B531682B16CCE84C2038A58324826
-D5FE912EF4A17B59075C8FCB2C949902CBC3D948B1F8EF3EA31F6CE0E4352F3D643DF65116979F
-FB9C6BC403CF123AFD13364947D9C1B95ECA218B17F8C515108B9527E4390BCE3A9AC2C2100707
-6E97A45317B5B56FB1C582985C853A4C0C88FE31BC32E497DE73C57FBEFBE91E549C3BA19486B1
-60B5A5C3E05300E553E8036C4D831F4A65AE9D489BE07EE4BFDCB3543015C173A416B1696093E2
-DCAF9410F4A2DA057162B0193D3C03F600106F767E245191CAFBDBDA048CFE83C441E3DD223EBA
-0863BCAB6A9BB64365CEF19CD8EB1F328B17E2A3536407DB189CB5D4C8FFAB9CBAC077F4041EB9
-A73AECFE166891570C0747E94E4EBFF4914F1B986364817231471AEA4D2136FE16A83BD7CAE91B
-721499F40F7D7AA61FF7864FDC514CE91EC8608A135D8DAB5B0FC96F72362994E5E20E328EBA8E
-58F0DB8835FCD34C1757B99A98202AF46DE08761C367B2C8FFAD3063CE2F1419DF8E01CE2AA8CC
-C7148BA74AFC479746419CAF20E4E195AB8BA6950C24DF0BA732192FD61B2CFB8A65BB9B83A9FE
-9CAC67FF11B57AEB8AA1CF29F05D3A8D5EECD156D6423ADCBE34C2BE9E6E7D6B5F7551763C5DBF
-AFBD02021310B5E3699436F86F449A1B8A9C9E89C39F541FEAA3EF045E2E5088388618DFCF52A5
-7921F88D6C2D2DC2C50274B46EA6900D295720CCA3B23DC55E0B03C30A74CB9C8F77E95A3BEAD8
-8CD80B9118CF0E295CF02AD0CBD484AC35C804735A540E173D4955D033EBF28EF625403505199B
-F1B82F35648B70345550BAC06F01696C4B81C27BAEFA5E7A6A0ACBEEF1D6F83B0707787D8E98FA
-DBF67B75AD26538D7EEFAAC57DEC507158DE3EA39D3C88D3AC9E73AE988B1790C343E49EBF0070
-C3245FA4BE1480DD9E041087F87AD0520791D9BB20AA78FEEEDF0772E1749F5FD4F0FD46265B73
-815CCDA191731F7E973EB698D3FFEABB83956EC55D6A7517643906224EA5C8962DB69EB0EBBD38
-66BC8F4951F9C6CC0C156F514DC6CC91F4E0AD9AFDA4CE3D4A67E1D09D29D9B7AE386CE2428AAE
-6255AC616F9681DAB06ECE72282B0806D82947C2A680E8A3B56B0538A39AB4C55B9DB329697234
-FED1FF4298DDBB758F5B79979109A8A37CE495251311BFFBE9E0660B80C41F9A61CF994F3EDA36
-DBD67A1E44FA9C778A34E5C974E82087958B23817CF594718FFFF3423DB1FE5E7ACD4C4922402E
-2178531BD057406134E8F65CB088C3B9D40DCEA5BE9AAF5CC8E1818226852442A7F9E593688F18
-1CA6651D1073C402EFDB48F0A177E654B9CDF18B3EB01B8B70EB368FA25206DDA4AAD4131503ED
-72F6EF1647101805A062140F08B74794CEA728087D532A5C96B89660E664024D1F0FCF96447261
-32733580D9EAC90466ACAA47F0BA5113B9E462C66F7B17DD46F6EE4E1CC446EF9287A947FEA7C3
-0F4709A72C88E7C9BEAA57FAD2A7FD53EEDCD929D7013803F481F982737A6CC1879E5D3080EF8A
-4B6759E75A56443D49A8F2CA2CC55D1FB2DAD56D5B5A0D7C3C7D0A31BFC7BB377FB52DCE2C8E99
-CD3938DA37177ADE7F069E92A6DF8767377F30213677EF1C20B00A4F5DDF8E12121AA48171F7E8
-DEC03DBED1C65067784A79F0389C1739E633BA9D28EE2CA792314470255BE7248D40E3587C0A0B
-B6DB277A41BE95AE6390273E8A0B07FB13E5B530E27227F48D1298B40ADDE2E7035F94D10A2A50
-AA3A3CEED67AE00BEEAB2D163396F3DA8F68828FAB9D5E9615BD0A302AFE9775E684BC97121D80
-AD3B42C18C37FB1DAD5903B97E892160C7464813D891856E08E1ACD27A40760B7627A49F58F7EE
-8B3D3660C3DB676B6B9B71DF2968750B9F1A80DD62EE3BD32C3B47DCC6C140E5F11B27F60F7927
-F1840E9C6EADB2D6D77A1C4DEB0FA8F892B44EA91AA4094C908250B6F4F6AF2CD54AD502384C9C
-AA119D4D06DA553B03FB85AFB400F78AC92D8788DAA55B1C31944556D5ACF3AE6B4C58066E5CC8
-D618A8A49B984F703C797755145EBC8662AEDF8313522DC68C6F14C053708FA4DDBA689C43C77D
-05056D8E55E4AFFE1896E0A6C26FF013ED34E9FF62AD8C7379F6188CD1EC8AE0EF98FEA0908ABD
-2BB72119EB4D4C747152047E26AD4B14DF75F09AAA6157BFF0FB8AA220D96F2367280FF2BB17C3
-A9A738428BFC2318757A70E80E6FE8570787969C8AEEAC42A75677FDDE995476986E9EC26D17F7
-FB5F3ACBD535FDD13853DB3BAAD3F2E24370A4E8837B3EB483C395945722B35DFD7E2FDB46F2ED
-44909C5DEDA732C2039ED60989264739690320E034B23ECEF5828BB96F8F2BA4397C7B68B7F72F
-F82851184FBD2C4C392F3B5C59E5B4EDD83353CB47FCD432AD7AFC3C7E26B55928F0064993DBFD
-9FA7E89D665C7A041C18E1304D5DE61801A0DCF44D7E317954ABA6C94365661347030CCFCDFE67
-19E6722145F2CD8E1D92AE1D78C60E301EEBF94B631032E0452206B1F478B3363B7B683EEAF821
-3B8156D95EA88CD65E6844AFAE9BF59F61649AFE540A9FDE690FD5F5C328E302C9EB43456AFC10
-7E3296AEF81303FCB9CF186A6C96FDB7513D2F6F84BE3EE195FE18FEA6F2EDC04C44F266D8220C
-C201A5C84B9A81C2437B8D2E85EB7992F9FEE955FB316EA6BD40E7292F6733B9C561BF467FDF52
-B7C54D3B05D6D404F3348748E3D0FA42E5BA7BC2811139A7162181B5B13E9921701C60B0FE3F08
-9EFD39BEF19E4C8216EC556225337CB50701612C86EA1E0B85B9447D30A850D9AF35E039A1177F
-E44023F345DEDEADA693EF0FDC26468411ABAC5EDD43D9B81B42F6E4DAC35F4C68B25096004025
-87F4AD458294720EA0038D75092D449980584FE7136E22F9C170477CCB97E543CB997F84331A0E
-5AB5051B7143E86E80D13F163FE9D0B90EE9C6604B71397210300A1A098E70A27C591941A20463
-C242F2087396954BF9193E634998AAD4EF62C4ECA6A5A6B4FA755E9680F427D86A06BFE58AC515
-ABF75AC0D8F2843B39699850402D84EA6231D69A9F74F7DBB1311358AB6EAF9B965F2135257F26
-A328482E47922F23364FEC67DB123B0732BBAAAA4F88B66D08D6AB23CC9B123AE8B652378741C9
-5DEAAB8C553857883C37890ACDA07DA6996B3BB11E8AAA56F7C0BF9896CE207928BA8478F99ED2
-FF729969504DC5901265184C5606EE177FB5ADEACC7B02388D4E960F0EC674726410D099B490FC
-6B851CF9085D8BD736F82E76DF6DFFFEF79221D00370C6EED9C23EFED4FE3AB85D0A52B32B0C3B
-3FD5987A39B2BF2C89DF867E07A3C767A25F5279136E1F2E0B8636F9ECA61F03789D2ADF3C9739
-5FBA915DA068B96AF8C8F12F1D5E509B873574ACD34F2593EC309CAD1452BDCBCC3C30FAA7D023
-F44F742ED67CDED191B8C6FD26FC85E9263D174B9DE982200E94A6E4F63FB0ED4398D4A3906D70
-796A29649F70D77A8D63B1970D609BC84B93B1E4583FB5D1849C46D6C00B9643ED635626A37088
-36184EF0FB6D0DE5D537CD398F9A9361BB33DDC174E2F9C4C6D8E05648F2DE96FA713D8502678D
-D64FB9B5597F78778A22D1747EF5B40913390ED8D2704A83362AEEFD90AB39396273826BED27D9
-8FF6B4AF9700D3AC5688BC4327C8EB6973B85218C0D00020B59B57DE1735A2815372646625076F
-5278E827179D08372B9BA679ED92F3FD55CFF8B69EBDF7F8093703384E48D974AA64C5CF88C1DB
-103CADE052E80605E70F6ECB32C4639CA413744CA95E29F76DE480F988CF2B52C1DB780593C310
-7A4E8C7914DAFC82B98F853981FBB896DF909BABC9CC1A1C008C3ECFFDDD656D481D7DFEDC42FD
-C71905F15F665F800AAEC67C03403A153D46B305A45A1E05AFE40BF394D3C8A071CD5EEBF305FF
-5A371BD1F117670DF1A49C2B5D1CC83DB21FD5389BDC26601627D729D6D2BB18A843F361CCEC75
-D151A8CADCF2E49A33316165D44EDE2CAFB3179E0E2AB8B5E0A3DC050D986D073BC7413D036AA9
-8962867022EC234CDDF1EB6769054D8A2D165A873164946C614CB9AE481E6B55B2801D9D6114C4
-F3CC16833999E6662FA63B7FFFFFC21BD209B69FCEA1C26B905362105807F12C9E68F9FA012E6D
-C8DDF21969D38A19EAD13C5D49407DB5380AC40902044149070F9D7D251895CC5F8A597F45CF23
-7692FA7FF33355A31E26E7BB97CCF0E0DD2AA36AB210268836E819E45DE8518C8EE54E1719B483
-1FF5D90DE03C4E4C864057144EB4654B908EB052772160C8ECF1F862C3F504504F9E15628A4A4D
-16B01F543C677ADA28A132F8BF5F758CC086DEE7C146B83B4C6476C3A550C6218675F4C33F1ECE
-DCAB0C3112BDCFDD94A3032A73C6124451397A08EAF12937E980425DF411FA762E7817755EB367
-1A999A785D410301145F7DF41CDD1E3C642ED64B3E3A352D1C65ED1E62B2C9F40C9398CB30F77F
-7EA88CDED5A5D51106D81DA03475B3F2525DA1AD4AD55379682868E4B37897D04A8BAE8B474A8C
-60A51695076E91FAF2FD3E6FDAE7A633EC5A83242E224E1546EBD0A6BE6A1C21619A5226BA46DE
-C4A93E212FEA0531C74115BD39C52665E51001D9D0C01AB67FF7E3A25D4D644BABC17EA0300ED6
-70B5BF65DFB5F3DEE45189F185B494498A6C1ED336C60901A8E36AB95F56CB53410928DE6816E3
-CA8FCC48C1C30B86CC6E2B3E265EBD4C5C888574A9987A037053B98BD86AD429CD752C92E38982
-4E9C1E441828C53CC495BEDAB0FCC65612F4BACDF7566DC2D9794275D3C64E88E4A70886FA6C06
-F6E6CDA24F4C5258D56E3E0F647325C176D28287327B6486818334B4BEFC9226FD828184E13A7B
-44CDE166E10D44EC74EB1FC336470717BE9CC57B6DBAEBA117730124DED41270AA7A20D2CC5E82
-6F8E3A56B246E9EF62CACC7E4DFBAE4FC117D6CE6BD747FAF7E65FFAB333BAFC276A8615E36B2F
-9D2C245729CF4F37A85B67CB71C33998503C619321A3F1E965FA60CEB0409780BC2C85E141C044
-1A52DC12D01583932E878BC3898756C8B70615310AB72E0032D58452F0844553D86BC4710BA757
-E0F8B346F08CEF5E11AEACA08ED7923116591DFF79A2004AE9E36476CD523085E52BF5F584E99A
-A8F98416F11E7BE5CF0ED19B9ED53A8F5FACBCFE684C67AA615C58969FC9778C170D5AA4B495C2
-7FCE92D4BBB4A6DDCC03D57FECC625BAE1F8EF1BB450A617828AB945775A9A453CE791D118D7E3
-82DC1777BE65E6E8B7C5D6D53BEA31A4849314E6AD576437AD7BF724CECB0C5F82ED0CCCCE6A2C
-07064D4857001B3BC90DFD3CB563750C1F85E1BEF1D504351E02F136A6846F3E3766CE83A820B9
-B00E4030E0D0AE46D1259ECC0F222FC261A59D458FC690A4F3AA9CF130C75089706BB44D0E11AF
-80AEE0D30AB29AAE0C4F15DC3EACFDB17F2C398B32F1BEF376003ABC5C20A093203D44D3C1D3C9
-6730A0E2DFFDEBA332266CE06F31A3682230593B1441D5293F251509B06F2A623997A6F2E9E4B8
-F98EF0FCEB693AEBA92FE01768EB6417610228D5F164775FC17579D231AC3F37A781B960B2D28D
-F7ACA6DBE948731798A429A8B13A9E50B55A39CFD2538214C79C6A6AEA31B4A6E00CC31A59A772
-2B850CC0E56F624FCC9538EA5536A1129D3AA5A2982D4A09BE412E10263225FDA8EA1F8E42C57F
-0DAB402551A3504DCC450516FC8BE30B4835849A969A30986FA1D70A35159DC3838ED699721F10
-2758530FB4DC7D09F9491D6651755EB0A2297B4ACBD7D39A5FDBB18C09860EBB8B758AEA34934A
-E398402DB1E678368AC44F3EDA1D0D0D9D4F622098A7954DE9AF40A4BB212036DDA8A547883F09
-EB4928ABB2FE16B20AD3C4DA1E433DA1A6A79DAAAF015AC57988E75428D0FA0F2439BAE2D632C2
-46C9518D02D8AFCF2BCD48B6ED4ED70A6E84E3B41C0C4C0A3504BBB7C8B1EBF881211BEB2D6F5B
-821A773211A4275A88ACB6802899EEEE4E749383F4C8B05C364A0FD51C0BD79A29A44D79614CA5
-88142C955394E2E6947EB28568E84EFFBC1E53126B0AA649C5DAB9FD3812A82F36938DB423C744
-787DAF1E3615B14346FC285AFBEFF55619CA9C42FFEF7249E963A4940BA5523B63440014470723
-D98680E944C61D52C24C93D8D310CCCA583AC522257F9FD187239C5CD8F6C8F3ED9147EF975ADA
-69C88A6E9837FC60EBD23BF6353B191B9A60D35E783D9C404F92860FCACCEC13A520D874413DFC
-9E49B9665C6B4E571DA5F798661428A59B3E85DA5C1CF692794A19AE33921341D21BB8D4781D04
-704D31D3698CD619E18F671E767307AAB05095A47BADD8A9F3119A3BCEFCFB96B67F19C285CD45
-04479B251D4C1848636F7AF7E4E2F3450523C66C06ABBF9EBE571BF6079C53ED599684D7017F58
-33CA60357274C5D77BA844613955DC41F1257B8934D89624C66297AAA60FA3D8FE51B8071A55C0
-2B974BF714A4787154E2BE39EEA83C9CCC78E179BEE40491A7B1A69E9769065173C888DA32BAE7
-1C48A75B1ECA34460C5E7FAE5A6A0897C716A938E503D7569EEE2267314934144DED48A7376DC9
-95F1C3B89CE79946A39FF428F16CBF65E8006C9A1CBDF2D7553D4B71F884408415964AE608390B
-CA3901704E39A68928D810C8815CF7A86FA3DE326CA7D506FEE41CAE47731B2834048D25FA5F93
-78F42F336F89062F42FBC4ECE7A2D005A72204F28F0F0DEEFD83A7E2123FD8374E9B24109E00BE
-717395EBCF0692924216E3BF281AFD254E2A68FCE1344196031455C86E3800CF42DB12F84D03BB
-F9DCC70446B94AE2F67CC4847378F33FD748C76BD7D70AE4D03AE6C0230BCA80E436C2126940B5
-CC9AF92BAD3B7D52BB30A24862089644AB0E8815856B4AAE6A930240F8B6E357A040907A3D3F2D
-8DA2BDA625F5D4A2C2D7DCBA663EE58EF285FE140BFA75D28FCFF911E4F19819970268494C8285
-EBB9E85A662302D91D5B5725D508F55C1EFD3090305A904BFC3D9A7CA9D80DFF1EA435A846437F
-86DBCA41BE2F5B4C63588E3FAA3AA34EE18AB77680F551E0E81F94822ED3606A36409FF601B7B1
-2D5893C206B985F234EB22D8144DF148E73081A4EA57308D5CE68061B213862CF80C8798ED436B
-98CEF59156CED23B0718D240B9964074BBCA5EB0BD2A4F16651755078C28851D9575DBB137C2F4
-3B4AFBC5AB51F921BD6D50CA1A12B2F01C0D6501324C929D2D8CB56A83C82FC5041A4277A07EC2
-08612B09BF3D963D3A19CA82822DAA99699CC068284878829A27BE978C031EF4CB21E0F8886FEB
-70BA0EC4A6A906EFB02B9F03D0058ED7518F7343D1A6EDFF6D3912A82939B3CB06BC34F978555E
-749AA8FA24A7F9FC2D594083D139FEE84EC6523D878172D8E65BBF5FAD490090094A49456F4CEA
-EFE5413F93E50ED2AC3CB2FA53E498671F274EDE57B451C541B044282E4AF9A3760762EAEB0835
-7447709C3311E05978E4EE8CFE0802F52ED18C051690F1BDBFB0AB8FD9017FFA728BEDBDB2430A
-147847EC3711232297B0A463A705C53A36D7C6FC08949BDE34D494F550256EB1E083BBE7F5C703
-514B16AFF5D1930B3DACA9FCD03CD06409E51FEA90E950C6D93A8A1E0DC7B2CA228F56EC206860
-C8697516327C9D31D23D59F80FE2E81726DF71B43D67E94D00E841B5BC14445DA2E194700E5A60
-98EFD9983507E8AA4CFCEECC8BB43E41671B0AE88D8B0F5397F2168A2A7F5C9B9F2A4338AC7F88
-701DE489AE5932AF0AE9E4817C4C72ABEA740489E344BDCBD832A3A8B6A9AD5BCFA6A93595D2F8
-E2A784D313E058C60F62535013530C77B8559CE9A91F2F1569ECEB7662C34CB86C0B1579C83A6F
-71B3D80C2FFED3AAB2D76E71EFAF3287AC7710B9879D65298D28CFE6EE1E3714A96259D72ECB44
-838AE9623CA9D4F57CAAFCCC7EBE292C1D2960A51DE1B4AD960650DF179115BBC3B78BF5D90086
-A503818AE875F025BC5026061453503D3AA579CB0E9C809E31E7512480BCE4E0CC1C69EAE3F202
-B2D9DEC3FC0A23D11B906CD73E5B735422371413350FBFAFA051584E1463A94816DB6BB48ADE15
-5D9A1F366D3246E0645BFF4959C6385344A9A9FFD935A413A27BBE68CEF39C66DF14F56E36FC9C
-90DE20E82E1E5AAEBB441EE68CFD766F410C1622F2C1D72CC428F12E99E02D2C733F238B9902F9
-CE1D502D85364A2C4096C4FEB1639CC9D69F92D12C7AEE78D074B8808CD0BAC8086C401B0F4CD5
-0E49304ECA860A49BFF8874F2318561689AB5F7B2E5F1C5272FB75D5ED19E4136A91A3AF905856
-3D4B83865CF15078CB0C2B967E3AA549DB591A3EA0C1521DD7B2E222C171BF8EBE765A32A4A578
-4C611BA2C61B241F2AFA40E49712C919401968D84197A731B799D5397BD2B937329D299C8F0047
-DA451992E606BFE30A8E1814907A87FE84119AFB93703D9787D4C1C413F5A76236B78AECD7CBB5
-90408A312F60BC1BB63423E10312C80A121A154722994138BFB16B0393A07AFEC716EA6977071A
-22AB3ED600A094E5C6DD73F6D7F0AD132355E7AEC4E301E821E11FAAA66D70A8E3AC5253AEE552
-186B6F6378B62C14EC41AC9451513A4B27AEBD66959C41D778F3EE8C6597A0E2A48A4EE9D14F2D
-A3802830D791A3D045E94071071E8BEA8233805BBF35906CE76DD68F0B738A042708D796EB4EDE
-C17CA860D8578157D85F550F31D3BFA8D28B763E9C634F61F42FD978EC125E90C71E2F537EFAF5
-283D4F97E572F1664912F61F69A1BC5314076FA5211C400DEA3C4132AB9CB8192080D78B7EC39D
-14FAAA15298AB6C80A800957B2BDA1B2705FE6EFBA0CE5855F7E746797F964799EEC86675CC0EB
-30B447839C99713D0D4D665D0F1BAC68DAF266267A57AF2CA066FDE9600E4623613B4564C58A6B
-7343AB9DB446DC7FD45795FBAC9E7A7031AEA78EB8507BACADBFD9390EB90FC198391CA7E15CC2
-9B7C7DC6964E210FAD7808E92397B86E25500354FE8F749ED4C9A98A48B6E5BEFF2B2D6D1AE9EE
-19F82E1A144192CE87E28731AF8DF82CDD1953D73B63D54416A87F4FB927F6C99EA8EB5291B10D
-C519E5E60F8C5DB071F46F1A308B8F7DFA353C6CEF2578034B31C3B7537568B4C23657775503CB
-2F9E829D8B5CF892EC4D405F215AB48056C1ADC9E2D7195463DDBCA169F84060C6BA9D89D3CC01
-0A58D845F687B148F35C17CAE7D627E63616C3ED8E3F7FCA1A2A894E0A11918F25C97C608B02C8
-94AECDD3981577E0F550145E18FD99EE2ECDEE940C7166BEFF60771C04C8093A0E74BD30551793
-15358C2203ADD885313B9C4AFE031A15116B4DB5641871F6078BAF130457D50547A0FC4872A9EC
-C4C8BAB98AEE3EADB728523F5A1137DD046CD438E3D6C1DEFDF53C667A76570EC5F2BEC0DBD668
-5E18B204685A3C29826E79CE98555295CD1B17B29B46D52AE264C5D713DF91E38161717BF1BC52
-FCED4EF0F9E8E7384351530E4E1FA42EE19403E64D2B8C335E4585A32FECC7D3860819ECC40484
-EAF73F3CD89A56C7D2EF439C8C4E773C136898AD7492444FDA8FDB8C35223969CBE88BB5998C2B
-B30F46081A706ECA4635B16B0EDE89901B3A7FA30A87AC59F0E3242314229267537F9F4BBFB5B6
-29C9665AE09B0A3BBCDFFEA35422E7ACD6776786BC165811A457AF8FD7BCD4624FCEECC83B2416
-B225A6047E6103BB737A668E6EDBC8825302E013B73543A6114132CFFFEECD1F9A9E2FA449BCF9
-85BCDBFDDB0AF49E2E42AC2511D4767C9C63198F03EF3733F3965A2C057528644179793910DBA4
-E78749FC2D2DEFBA1974E3A16C06B97C32B0DC0BCAC4B76564F7A1E6959B26CA35C806C11B02A9
-8D32629F3CC7C90786DB3E1A70C7F3C43906860630BEBF14CABF8B6D694B27138D633A338BA1A6
-0EF170D8EF499E3FB9D58C3C723A4293D4248AC65741884D5929B77EFCB3568500A991C00B58AD
-2BD6C4D7DD017B05D02FF6E21E1C0FE24824EDF08945C7C6DB0EAF97200D3F0FF3DEB6405A5E9C
-DB4610837769F1DE543A137CB2508051E95C322328E550BEC8E72EF8CEEF6F8EC850326CE919EC
-2D66D961A3A872F086340B00ED43E63D714F2B26BF48D1A934411D909B4C1BF3B5512638036326
-5E2C49843403EBC73B3D5BB924D285E9F4B2DA3ED5D25DF840F95A089ED664C47B4ED2067E7107
-D5A83C5C25E981DECEF5C42FC7E7E210A1415FA477A5BA8DF602E04B026303757CCCFF6C2EAF53
-A95F621469BB567842F70C2D26118A6B017AA2D8DEB49DFBA75E8CDA1A6980408071A8B3152B62
-8B5DB74790313CCD0ECEBA0BD8632C7192853A41BD44759009D034F25EB1AD27A12630128AB4AE
-A7FC3B39B6BA97ADE40DD2B76AB10CADC51978D5F3F366AFCFABFA031AAFABC1B8309571DCE7EE
-20710F7282C77DAD16C1917864109E40D1B789356E45F8180126FC628850A95FAFD346B9B386E2
-C5FDAADB80844361C5D65DAFA9E305136624E7AF744E8A6831639C06C74E1DFEE49E52C3FC77FA
-601F194D97FBF6D8EF0F948F8197854CB5C7509375660EB1AFF2C385966225CD1F7566895033F3
-C4DE4CF0081EE470F4AAD53F3165939CE32132509671FC167E8168C8DEF6B595F7E32CE6EDD833
-976F27556545C800B400F31173570A54E824CA84093346AD43761204C2647F8A105A5646E7A5A4
-0697BEFB5B5E50355A84B9F0AAE34EDDC377F3AB3A6D922E2BCE9CD5420219D0D5DF8B1D26A719
-2E20D7A1CEAA433F058E34879748CF4CBC1E6A6725102D3375EF3D6785A753F73E92F78590015C
-2B3EB46F173A4CAD6E397DB0C30BE0EE57DBF27622A21E6C465C5EEC4B07112FC2D3259214E034
-229E2CAB1076CFA2CFBD0902CCDC5492A3B4C3233CD4FE6786077898E47411256FED19766B5C12
-2EDAF0206AF06CF8158A38BA554C1F1024D781BACABCDA739C87ECAFA132301160822F3C58C3A4
-B760464A89D990AE9CCEA67D3A5406355E5339F699AC6A775F15172914E55E2C8F8BB2EAF2FDA7
-E7D78411DAFE61A15B9858E980183C13F082C69D4E996DC59D5BC53AE66C50B2713510A5346FCE
-DC3A53FF738B3AB8F6E7F12DCE034394CE40490D95FD9F5F484B4E965B1A39996E3F0DD6E5FA6B
-5C238E858B92EB4E9F4FA3310F5E5135E75A7806613414C6EB5191645FDDDE7DA90936E1D4AD4B
-B096E47A5575094AACEDF7A8AE46C1572BF6C273CDC7DCD2E9845AFB9E5531E91C21BA0FD3AFF5
-02155654713ED807AF7D55EF534CAE7456FA608A3C270018A85D80522EEED986BAB71CA2FF56F7
-A5B1DD9205489BD0E19C14C585F56622EFA9DDACDF3D1C956B2BFA7469EB513998DD71B0C8745F
-F8665F2926825FE1
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndProcSet
-%%BeginProcSet: ppcodbol.pfa
-
-
-
-% Generated by Fontographer 3.5
-
-% Copyright (c) 1987 Adobe Systems Incorporated.
-
-% ADL: 712 288 0
-
-
-%FontDirectory/PPCodeBold known{/PPCodeBold findfont dup/UniqueID known{dup
-
-%/UniqueID get 4303737 eq exch/FontType get 1 eq and}{pop false}ifelse
-
-%{save true}{false}ifelse}{false}ifelse
-
-17 dict begin
-
-/FontInfo 13 dict dup begin
-
- /version(001.000)readonly def
-
- /Notice(Copyright (c) 1987 Adobe Systems Incorporated.)readonly def
-
- /FullName(PPCodeBold)readonly def
-
- /FamilyName(P)readonly def
-
- /Weight(Bold)readonly def
-
- /isFixedPitch false def
-
- /ItalicAngle 0 def
-
- /UnderlinePosition -90 def
-
- /UnderlineThickness 36 def
-
-end readonly def
-
-/FontName /PPCodeBold def
-
-/Encoding StandardEncoding def
-
-/PaintType 0 def
-
-/FontType 1 def
-
-/StrokeWidth 0 def
-
-/FontMatrix[0.001 0 0 0.001 0 0]readonly def
-
-/UniqueID 4303737 def
-
-/FontBBox{-28 -288 631 1046}readonly def
-
-currentdict end
-
-currentfile eexec
-
-D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC1B1F3F7121D1D0
-
-F2C60DD206B0D3C8C450620B47320CA0AEB8937511E456AADE8E66B301B1E3E9DFE17E2F79ECFE
-
-A709FF3DAE19B4C169DF6773EDA414D02915A6F0FAF8B24FBB0777C697BE8A37D63A390AD9DAE4
-
-95BB7E626721FF2FD3FB147C80D22BEAC37C2624D818D58C8DF0209F5CE76ACDDE57A303D9042B
-
-F0A674D095697F925F532D1814BEA8F8A5B5223A32BC4A95402F2C843181776EA6DD8FF9EE5F34
-
-89051FE34AE898ACF3201433CCCE8B93D5627B76114F999C81A0C554599F115C89AFA9221F963B
-
-6A2DA89342621244ABEB0E794C885F335E4EF8188C4B15B1E6630A405DA50578DDB37C96B3C8A5
-
-6A7F70B55BC23606EC03C231B2380A83E0F0467A4C6F858A0548AC5AAC2F1117E7A4EA7A8C52D2
-
-01B33626C2BEBCCA6DD9211D6C88F609BF2C6B133E55FCE6D8860090AFB3C065835D7B4F34AFF9
-
-D8E0F4E0841E4367FF8604092704E1E3626FE8CB4A48EB13E45CBFEECBDFCBFCBE64323566C437
-
-6AF858ACD9ACDC42A1C9285F253C3113122BC9AC460E2473581F9C1F210B6FE7B9D486E6C96BCD
-
-0CF9C52A89D2FA2D30D14D0FCC9A2470A3B91A0CAA9620CB376C417573860071332BF012305488
-
-2289CF2A52934FB7F32BCD94337AD1EFE57BEB43E4A661FF8EF5DBA38FA3C924E8517AEC114103
-
-11E79D6DF861159AC74C9620888EDA3AF4CA08A15623B5F3D1AEDA88B1BCCE8F057173C0337C67
-
-CA2A599F1F4BA039BBB26179F54A57A8797A9C4EFAC228FEDF1E2C50A951EB19770525AF2C6850
-
-5660A6C5F4E7C7AB39D5755DDDEB1BC4D04EB10CC09F907E6BFBB68807A874392E443C9867046F
-
-4B020E5D79BA450B63BDC0FB38AECDEA91251673C5327EEB74821505993A490133B73F7A4D90F9
-
-9D4B3778E50274762FD18E87F7CA1D009DBF4EA8CDFDAC1494B7E78C17B43A9DBCAEE0CD5FFBD0
-
-E0443DB5CB70E71D7C95AA35B42CF90830969A8C84802E49EDA9528B7D0FDD9175A6D41F7E3496
-
-7B2E93815955A9B14B34D2A37E6E88F80C7C11DD39ACDFB1F10A1237A0FCB1BB37221F7160ACA1
-
-9037AF794A3183554C07C03CF9DB3FACE33A2FB584A30A81578E99B6A625861D2D2957D5EB8789
-
-CD0934A41FCA23C935BDB7094848B0FBBC592067A34FB3AD564BE71D20074C2A4B624945ACFC71
-
-131694C4056E464D43E3249BA1FB106DA6E67BBC6DCF542801C73446A921ADABA4B4BCFE6368E4
-
-543739A1AB352A54F734ECD3CDDBC89F014F59682E3C521B33CA0F9FBC23758DCB3446724DC4F2
-
-45B6D123E904451D2030B0BA2FCBB3E58711779949740AED1F2E2B36C78EBBCCFBCBB6FA25EFDD
-
-0A9CA000C67D6BE7B0B3618E10ECF1FA5279A7D16462F5382AF104B5043777194F0138CF09DD2E
-
-F53D8F4735BBA9B1493FB2DEC4D33B35CF18813FF6BF9E9EE78E2AF93566F0FCBF4D6BFA7CA307
-
-E7B29BAF1B4F4743B14074BF91055E3FF84C3AF83C6642271BAD1430C7AFB976832E88471FCD13
-
-ACFD0E867F5BFCE3CEEDBE63EA33A440B1A28111E39EBED5D08BC3957C95C33C2F3BA027005CD6
-
-FDE60CC4471657FF6FADD89450AAB5DC9668195FB9D8F7510F13CC8EEDAA6D0915898CC619DCDE
-
-8BAFD257D6B74F1ECC62599FF345702AEC4EE7BA242C73CF8A361C72595F6824240DB10F50A8A1
-
-2E605636FDD4DEC8C7F7247E1924DD13FE0953677E86CFCB8A10F15E60C79DA019FFE0F748497F
-
-8D7D92B07FD2946BF908AF2B6CA40285C966D7767A14FF85E7F43B49E0F8EE1DA6B4E666347026
-
-4743E0AC871379CF8A079EDC65C1D84896329990B60D9A33C724E01756DDBD8B9906AD18D1E11A
-
-095085675AF9723C0DE46F78E04790916CA89B4DD5EA57619B59E71BA530B694598648D332FC78
-
-EDB34358805B64DF60C5D47AB82F3AC87B5385C39116B03017C3E4BB4556B96DE5F266B379EC69
-
-9F4FC8A9F854C41E8BB03C9BD7C003883A90226992C67B2D02DBA92242B94D21566C83FAC1B4C1
-
-2ADE6FFAA049BF6805AE76A6A6ED48144DACABDC8D2F35CB5C08158A73A0A1006667738CC471E8
-
-29D9487E22DFEC30DB6DD281931E9BE9C84859D6FA932A76F9D85A1E99AFB5F5905BFED6FFD762
-
-5654649757EB640B5B3C0D18019BECD629162091B69154DC0BDA1D08F0727AC851BB43503EE396
-
-D3682541A730EE450C30F663187C3B5004D24173F962CFEA8E04F5DD664D5F6DD515224F7E256A
-
-4EA07B5CA823456D75708998097267BE5D77D20E71BBA0BEA3F327865A7A0C5746289AA653EE2D
-
-2157C2AF3330A45557F5F825A8D75284FC69BC15E1F73AC0F5A11B26D47210D195F557B265E9E3
-
-0F6AC77C5D3AB084743E6B758365757B81D430549EF513E79AEBBA539A745F24D48AE8E728F028
-
-4DF28984F5DB1203F0BD66628756565393F1629191C50347C0A48205DD807B0E6CFD353E22BA43
-
-1CC6ACD8C6B4E97D691F743DAC69CD0881AA81CB3A48A08CAF9C32E4400A77F94A52F9AB18B4EC
-
-ADCA4F073DA5B3BF4079E0125B3064685FB783E1565D4A7779290BAA734052AE798F5CD75C9127
-
-B338A49E2CDFFD9F0A429F662D170AA8851250713E3D19928D974B9A7CE6987DCCB07A53ACC32F
-
-D217991C80C5834BBAA796A7F9B206368542218701D93279E1E197D68CB0FD0313D7672A1327F7
-
-06250FEA4DD4C623CD568F1F6BA0468D5C98B4E9C963E9E9B21BE58922750A5076449C8B9DAEA2
-
-1C46E2384EF871C9456ECC739C1B3CCB5A85CDB66E90108C860B180EC7D4DD769214FA963F26AC
-
-66E28EF2DA1CDE21B3EF93714E42E7AAD53346F23EE3985B1A3F871D49CD56A0F041FD19A4688B
-
-5C18B14C93AC2D30E55B902ACC35DE79C6B3D3BC8DF6EC35570AF34D3472C24EECB4C07AD7DEEC
-
-6429F96942BFACA4B7CFDBBCEE6FCB8D5B542E289599F9FE1C2FE2B1E0E18F135722CB2118933D
-
-7743673DD8ADA0AEAFC20C36E0157B724771B00DC2FCD821C26EADF429ECF0A24CE808ED06CB80
-
-EDDFFDD8300AC5FEB7C1B7CB59054D1A4F04267EFF030E171533ACEA869E8E93792D339FA96C6D
-
-648A9D4CC88C7D0C1B036DA7D452007A50EC5F0CF8F4C622C7078CFA3CF4BA424A63906BD510E0
-
-A580C22AA1F0279F9BE03B7E1B6C714ABFA2FDF4EC8E14714970FAF1BCA49C71C91C46B2F31A8B
-
-C338180AFFE97E0A4FA6BC9FE4750A84620E2CF23AABC6CDC4097140480D2A09C231BD32738D57
-
-26BF12435640C3978CD4C855484D6CCA4482834FD761EA4153B1984D0578B776CDB21D48918012
-
-86B6466492608DE797A7B951A979A2DCBEFFD69297C46F2B372F8ED2CCAE9372BD4AF6455DA71C
-
-65FFAEA6E84523ED098DC49D560C5D6B60BD5C19F0E61BE5F7859665295150E152FC3E885800D8
-
-C832757ED77F7C53B30FD7EFB7C2258DF6EF3AFE23109D7A342F9B348FD6F36EF63C9571A96F6F
-
-8DDA17837E72A6FE0598FFB8E0D5C220DA3D3938510923C93DB72B25726A57885D418E8D6C049A
-
-F6EDE3A1DFCA9B10B28EF6F1D077D4B375D9CB33CCABDBE849FCC158E603ECBE7A90622598C99E
-
-88B32C2DD4DE614CCFBCFD9C2726DC3B26544A3989F1E47398FA46ED9378FB048ADE2A5E4D3620
-
-708AE4B210FB4D97D3D6FA9FA4403515584D86F7C3CBF2F743CF2A63201ACD67E589B6F54BB05A
-
-4EB85B91328B9F2375E571622742681DB4F9447A2E0FBC4B4CB51FD7F8BDE4AD2D5278A472D2BD
-
-B5D88B77982B01786C035B57F85E89DE40E6368728B7283F542F3A93D3F5A7B1F6C982BB43A5B2
-
-FDEEF5BD8C61831865349BD6D41EB3D2B0F94CD10E6D75C370667831119311B9888D0BE9E84BE0
-
-F180960AFDFC65AFADCA3A9C145695CDF8C8AF9150B7BE09E5C0EE64FA511B2C8C6F5C1B206297
-
-E3C7C9733875DD3976A6D7A2CFFA5CAE810C02FCBF2349D346370B5C95F00FC99A7FBC91083A6E
-
-4901E21F99159BCD464196651D39E6209557B52F604FA6144437DACC5DCB92FE8F81913B2EE3F6
-
-B4206E0DA6A01F381D34242902678BC68F4D8B1AE7FA11A799D06C72A376197DB2527F45E2A1D8
-
-50D47D835CEC8F963A6FF0A80778E46917E6DCDD841DDE904E3FA961EDFB8E6A5B7B47275581D4
-
-1EEC0452DB032189B0F40207B11607D1427D50211D76966122832C980F9B9715DF2A25DB8B7940
-
-9783565A3A325C5CA68A248E7148944844EE8A2CDB2ACF7D8A462775555E348914DF3238F0EEA0
-
-657623EE65C29B7AD07C8B6413F78A0A4E9FC5307E427305C95FEF098E53E308703D757F37F193
-
-7489AD1131582087D24BFF50A916A0F8E6E71C335E50B31650CB2FE42388473C55213346737CF0
-
-A5D880D0A56E3E19B753411E92045A0E5C0073F378E9002DDBE0B10EE177F32FD9871B98E023E4
-
-3AA3666F4594591F6AAD8C3FFD37804A451F21C86E794E657FF50F549B9F32E4B0281C36ADEA91
-
-854944606176A6B3B7C55DBCB560D82D57D0AC1341F03240AC56A15D878EDC113A61277C4DFE71
-
-DB85C6D82658105052EF0EC3AF873F5F0D1881B97CAF0CE52167C819FE01E00DE7B448887A30DE
-
-453A38BFE37CFCCA4F41E7EEA5A415F33052FEE64F7D2108C09F79E97DBA6998A3E3D5DC37A352
-
-9333CFB254FBCB62F90A0A80BDB3606FD94A5D69A32A5EA004E94E45976A514BBCAC041DCCD593
-
-CA673BC3EE1B8E4F904C3BBA2E19E1B55518C7D69B662C115859D51137FBF2D3DC019A8CD6E6A0
-
-C14E4311B15FA670091B9CF8ABB1C196B4E0FC824BC2EBA76C62A23FE8C8A38D313F992FFAAB30
-
-594798EE9C5C216D6E95411A825FA4F29AE05E0D883C07D24C4F5108839F131395731DF39486CF
-
-4D8D668B85F7A55DF83F5ED35F9B494B0989878C33A0817B8C7537388C5C6A658014866EC07D54
-
-C89A80AF83A7C4DA21DE447206DD4C2F21A39C8CDDCF3B58A332805714F82B1E966180F5ECA958
-
-27ACDC40A4A6EC8FD9BB024D3068C94FEF25E4D6337E40D2A002494EEDC7905E6BAE38426B344F
-
-5B36EDE8FFE894652422B11A320285916F4EE5D61E5EC9869D49729A0CAB13873BB3E0F20FA518
-
-B812E5D24A641796E38A1766D805A89D9D9FB642143C377B365EC45BA6C193B3124C069C525517
-
-6F35EC85546C1933F25B093DD56C78AD86E502A235D2773ABE3B7BD49E3DC78A6AECF20CE9DA4C
-
-87AD7C7E75BB4AAB78797EB93819A5C8DE68638EFF281B141662A463135DDA0D2D236DF0EEB709
-
-AAD9A549CABBCAC4E577B1955BDD8BEB42650780CE2B1EAA47C35993E1E1F05051145A94C89D2F
-
-4162BFE23A2C91B7844885AD346BB88E9C9F8FAEDD20B6D6E54A9FCFE3C185401EFE58F29CD4AF
-
-8D9DEA6EBFF427E9AE18DDD3D1BFFE2A17A7137B596E239B7426CE38B5C48C81D17FF85462B648
-
-70A3A7C9F2F3AEE9884D03CDF387F90C5CDB807E222A744A617317038707BF3130ECAE267926D1
-
-52154FB423E2FCFC438AB660738148882BC686DB56C50D092D60428D9B0371704D3FB8FBE75D56
-
-9E22B0E9D767A5A8EB7702C34F7320C30FF142DCEB9D9157678645C51391647F9F7329B39C2432
-
-00A8D0527940F8DA37A300C0182CF76F3220B1E62EAC18E8FE0A8C93A0A5A373386E38093B81BD
-
-3EC3CFD5BF2E88C51321D4540733173592661D85F1AFD04739543C397E368C73500456264B2625
-
-37B8EA6D147D264E48E65FC6694D277E5970B0FB471D76280A74008B10CC5A216ED07F21A24BD5
-
-DBCEA5A4E0ADA483F04ACD7697AB7A0A901C0192581D4FABBC24489E3CF535737040B0C15BF2CA
-
-997026FCC37E36088D513CC20B68C8D8709E5D5811B5C510D6193A81323A271620D239CFA32F96
-
-3AF5F3B5857AC680D1491DE3F22A8BBD2952EEE5B49637F24BDE92B5A994CF5E0271CA9ADB47F5
-
-C298A391BFCB60C630312AE893AC48F202568DE1B43DD986A38A0F478AE6465F83B0FD3ABD7FFE
-
-3EE06BF88D5016BEE2E90D4238722A604448708748D608295E3B435BF2B47C91FEF385F2731E95
-
-1F73FABCC88CEB8BA48A087BEA2DFFA9301B60C4AB426BDC104A2411ED838085FC06CE3E4E6906
-
-4D7EF3F301DD3CA3EAEF498E6A7B4B1A36E9790E7F69ECD5E8967050835CE779E3B44014C27AC0
-
-456A96B9E28C71F30031B49FB00DA195A32C4175B6BFB279FE435EE92D4FD5963E42FE99D95438
-
-7400706C17567B1FB65C4E90AAC10CA628032E0493A971BD55D83E1AD70B240BFB6EEDDD625D4E
-
-4CD6D4895668B1446DDD235E8DE44B694F3F93AAC2BC0D04C871FFBF5DBA1C7EEE0BF66C949A58
-
-B16F55497E82ACD40BE356CAD3EBD707C0020ACD410DC6FFC7CC460525C2001A0B4A8B7B114932
-
-3A65FB65BB7C20CBA305E53A312E9719A15C45C39C85A4F1F008C361B1757DC0BD8C10204B0218
-
-AEAE29D3FC55C12E9985EF36A45046F46606924636F7F76480FEF7F8D264C73266C05A6DE699B2
-
-37F6C1DF777306BEF1E0AC48A6B1548ED41B7EDCE706CC8A66B3D9437210C9FCFAC978C8F9FEEB
-
-8E220D024C04DAC2CE62DC8AFBE7AD4540B5ED3668E7B59FBA28A7F8D822DBEF84DFDB72566EC5
-
-D6223A165959443A2F980F6D16C8187AD321C27AACF884336F7D8154D06FA46E3FF51D2DC26313
-
-FA812F9F1507FD75B80411DEF69FE268B9A4587195E45B1FEACB0295C63BA8A4CFD47E7C711511
-
-AEB00E93C0B359EA0DFDAFF5DFC0854E2FC63AEFD37DF473859C040D6E8D82F640C1815D3F9A53
-
-AB3E1D5E1F0B0E125510F2C6D503C4CA518BD36892B83AD31B3734804F72600562F9246FA2B5B8
-
-56BD55212CA27D700A7913AF505BBEB9BC3B2EEC13D7289997ABEC078808C79F65939B07A2619C
-
-0EFDE6FF7BAEAEBB3A4A321846F639A7096E4F7688E523DA1901EA3FFB6A71110B6CA2C45D1FC5
-
-49AC32F03FA5AA7915EF43770A13AA68C43F4FA3DED55D2940F76648076D955B509217254128F7
-
-46C3A2AC47D683FBFBE12057454435941CDE662220AA7B356E4718D591B81A06C04DCA83A814E5
-
-AFBBB758EDF1E8DF1BF622D4E4BB637E017E4E66F6067CEF0650EED31BCBDC6947DADB3982329D
-
-E902E52062CEDBEB77715735E698E40448FEC00842BAE3BAA207D2B28ED3BFE1C1FE428439470F
-
-4E1D8358E35E4B97D61EC6A128B4383EA0276A947BC9D16794C3A3D7DB0BB59FF649875E0AFA43
-
-E6586F8B4CA921C1AAFC0E2D1C970B380977CBA505B3D531F3789282E21D1B5D9D3376EAD7E4E4
-
-00085C47CB858DA960B55BEA07E0B012BE3F5620DBA167C105B95FF9B5FDD28D5354C877E56710
-
-1D45F9AA471D27183A55AB9B34D626815D32CD824A4C46772D8FC4931341E227309E8307835FD2
-
-5359A10F84AD5744B8181DAD59176B6B466595B42331683F57546ACA60106654C9A1E5F1BD47DA
-
-F9F93598E75CF032198D69A1C4B152A29586209903C7BF126BDEE5A3806BA1766BB02F5D75E33D
-
-B2B011106FC3C964F8FAA9E9857BCAF903463FA7FC37294E4F0FF98BEA22FB44F7AE5E6789658B
-
-BAB5C30D6C32D5E24E268B54353D1245ED78D1D7385EBEEA49ECE496A4261F992F67B664776D6E
-
-CA1C8352499BF3CEEF365E152582F98590B8D903867B6557200B1070D91EA32EFDAB0580559EB5
-
-56A835F74BF458693F093389EE1D1B1FC1BD2AC1146EA9C5E4B14BF26AB3EFA0BA0AA1813E6C61
-
-B7011AC330B293A5CCDDB41412F97BA02D38E502D596912D165F6B0300228891210DB700E975BB
-
-47427388D5F3246D80CB9703FE5F2B2CD40873AE0521850D4D656174B52F24C06AF1D9FE4ABBF9
-
-8B432B6150B0725E328E54BE382A16D5DF6C47D9DD14751B96E2DBCAF4C9858336F527238E263C
-
-58730C7E27DA1B21AADBB48154CE5E9C92660394D7282FC07917C91D0E91DAE3FF7DECFD5E8082
-
-563E1673A15CFC069E08D554E3B8DF570209D567C65F3D26F251B405FAE5F6106637728BDEF735
-
-EC2D5E7AA3F00434EB58C3307D221C12FEF6D741ED87081DD6B93D2E9282D09A7262EFFCCAFFDE
-
-CEE8C4E942AFFD8215B84FA57D41F5815F3A3191BC379EDC454252E688EB9788A551A17876AF1B
-
-0A5ED5A62E92E7DE332ED89A9B4F406552F9B706A6FAD59A433F72AB6D4401E25CC37C0FF91713
-
-4C838E5CB3CD5AEB8556443B1BF513900F293B9BCF33F96608D1B108CF9BC7DE95F4B518A86987
-
-28F20729D60E75E53476868220B64E905BBFBE8E26808EAEB0A46A1E096EF868EE4410EBC87D36
-
-46037AFC6D177F42F8DAB8D5C88200AEA14388AF09EAF5CA24D72A172D654BE198CB426949C4E3
-
-D23C7D49F4AEE4D20124B5830480D0A8CD0F7EFCA3FD251C609D124D0BB4E7A6CE89EA7C92E0E7
-
-B9CB870E127E0337A2E645AEC27D1B0D85C57D27F0F7AA1E849CF1F4E9BDF02297C3E61290010D
-
-4EB0F30697D30ECCD1EDE1766BC137F2E2A3D7CED25B1BA259D100BA16AC3D29C01DF83DFE5B24
-
-DCC9FFC2B80F61E91D2E41560241C00E79DA970A09D8AA229CC2F5C114E0713EAAB560442CCE73
-
-993EB9882E7C0292F248C00717E3A1DA46ABF3FC716226EAAE35E8F20726B1A045A20F80B02473
-
-8B7B93D0E79C6FA11780A6C94E64DE53FEAE019E4D838607A05C7746A3385C9728CA29D8F64373
-
-B25307272A77028815D80451061B010EC8E82B0B70243F66B97ABED264F7B53B163DE8204796BC
-
-C593CA9BE3F43E26713DCBD9E3449FD300F6111A50EDD2F9CCBC6D0012A973B5F6A1651074FD14
-
-76BF69456870C5228599FE7CC0959F6804497A28E3AAB129024816FBD3C0101A9B709DDE0A92AB
-
-F0B2948E096624D067F17A8CF2E8251A40969E857D86739883B6B46967EAC2286BD451F26B4A16
-
-026FC5F3A087F4BE21A90D336B69C5117F3AD532AF6E3FE9C8A484D372A1C8C1A342264D3C3782
-
-4F3B582D2885642D2B3442121A7F3BFCBCA35D09DAFC4B8AA8BA4E0C1139E3F29ABEDEA82732D6
-
-3810F7FB2A462E11A32DF2E74904AC7C5704C545FD6D08D6D1F6F07C69BD5418E82F6B33C36A99
-
-5044BA660ADDEB24C7AD10889CB785169960F8E6EEE9A321BAA78794AF0860DB5270193CDC9C0D
-
-5DAC45A1E67FD6063A1998D0624A5DDDEBADC8C42318929535A693677673B24CD2CD2869148DBA
-
-C1EA486DEB1B0D83E7785F1E1EE65B9AE3C839C7427108C13C4B7F657BA9669D1FD3E3BE5FEE50
-
-AA20946EE173BDC0A9B940744AEEA3847D56DE7E86ADDD6F63000CB048407070AF65E4BC097347
-
-CD82F6084D20C529E35490492E5293F97554F9979405CC6FF7F801CC3DEA50DAF9BFEFE8623B2C
-
-8C7560766C4115EEFA40BF980647F6D3187A689294060DFC214E22441044CBFBB2B6274EDD44F5
-
-218057869A46C517138E4F848DAD69F24208896C8DF860F0FF71EF89310F2D82EB7ACE6A72928B
-
-07CC57A2DF6443761D91283B59BD006650CDFDCEF8BD64A0F626CEAD770572D489E916AFA1AC26
-
-8F6D22F3F37B63928472B81EBD287F6619900AB5B291A047906AAEE2CD93F7FDBF1658DFEB8D8C
-
-D7EF987D0D1235FF8DF202F9E83AD154500909996FEDECDE0EBB2F95F69805EF1F774D4D143AAE
-
-9A50B64BD514D83D00F05715F163BC7F64B90663C5971D6A5393C1D6011978EEFFD57A7B93FA57
-
-E6CE1CBBA31DD510696A344EBDFACDB87AFDB6F425BCC13AD245E9264467960F951AD797AE9D9E
-
-631265ED0F12D4ABB0F6189FD9433A236F00D01FA038D5BCFB3DF68397610708A777FC3021B685
-
-448445D326EA7649406A88DA392857FEA6156684E3547E8C757BC38223C0CA2569BE438D03B575
-
-70E815D58BD82C2EEC861020C1DBF073EFD9C8136ABF263461D3AF77D057F50214904DDE51C3A0
-
-61A3A1E1CFE413E9A148F05A8108608EF7FDB96F392E74EEBC5A4D354BA2AE5678D28AEC014979
-
-128630984EF3D5586DB8783F0603D7210782DE979C07BE8DD589C710DD44394569B8BDE770BD90
-
-35FAF3CFA48070C5CDC8CBEA2B5AB2620D4C40818AD740966B733B99E8CBAB4909F5EF5B5575ED
-
-0A8CE4635FBE9D69E57999B2739F281CA4BEED6FF2948B8670446BBB30D0BA6679AA38C2DA2A30
-
-960687F2DCF0C741539102968C8D6582E55974811630B0FD2091B63477747F45CA0ADC23221AB4
-
-C2E94EDAD6F862119F127A79A2BC073254E941B37B830E5FB504B26E580320DCFD5B2D03A5A6BE
-
-3C9350031D7A58F7B351A9F917ADEFA72D81490B325C4C1E39175D1D3F7394A009D04A7B706E1D
-
-3B6F61BEA096CF4DC50E4C72999667EEC869125B3EB152E3E7240968F9B93BDC91CC5E62654D7B
-
-46E2E60A4D2260322B563C543D9E171D5F1E816E73222709A1E2F14112209089554DDEE17CCB1C
-
-F066D0AA1387524FC4B2BB47071407428903A1B9721D6CE4046EC2FE43B9CD9409BAC41B76A27B
-
-8D4CF3DA42F9DD8A8A751DAD103F169A1524D0780022F764C49FE9B44AF80FABFE48BFE40D62D4
-
-1AA0618245AD7BFAD7C105A3C064493B109F765EB06BFF5C1C8138296C635AD6258FB0894C2DDD
-
-BD37C46FD22311D265AE50CF391C85F6ADF59181EEAB5B65D1F81149AA5425B1C11A432032CAA0
-
-3EB2FA8204E9BB6736998DE9B12E9E37EC651560F4E906B342A725E21021B82B84249D5C0F6D96
-
-33C4196279E569DB16585843D65FAD0B5D893BB0A9D381324F76B61DA88DB8188E59C4BA15EE5F
-
-B2892E7260F9EA9861E44921ECC1A27D79B25050615852C838BC3BDB4D9A3B81AB2DFE7667E2AB
-
-0592E4D8AC4172031E12760F14AE1C058F986A22699E024E6C6CB50A43066F1A0304AA67AC44CB
-
-379814C791103B6C2D4C1439FC3046B611F6326A5BBE697384A976D0D01815B933EB4734966D07
-
-E1D509471BFAEEFBD3F9689EAF82B0E9AADC2368AE52AA48F0318AA1BCC81C3F2B89D48C08A1F9
-
-BA4D7CE86C5E913A87A0563D7790C471DD47CBDB273AA37CD4DE6BFDBA407483DE275FF57FAF93
-
-22591A8523E77A3343CB6100AFB6035223E05EF3530313885FFC63A8D72DE099C50A774A603098
-
-59EDCB3C4E424C9073E0B5B32D988FAD04EB486E65A3EA7FF7DB3D2FDFABBC92DF6C742EB6F09D
-
-2A78387DC0CA8561743CB9C8AD949472DAEC66ACADD435C818D28127770A8DA2A5090CECCBE16A
-
-516D7985D7A49C7EE9D08854435008ADF25041E8BA5744591AB7E22D3705EACBD1D9C6378F172D
-
-B82B2C7BC51293F40064306F69103E6A0BC1C1046C2A0AFA2E038550C194354EB8E263085E5390
-
-749E2C98F43EA68D466E40C5FEFE6764939CFF817814B85BA928C5859D20709D78CD50B957E809
-
-0F37CAE36B181C37E80E9E8690D2B9F0C34D204B8E4A5A164CAF2FA4FC6ADCD77509EAA5236233
-
-6E9DBFD1FDA1CF32A9E980DCBF4B7C338CD18399ACE5108435767FEA8414585DE7C3E08590B37C
-
-CA0318A82C69ADDFCEAE156E5D1FE3EF9526515FEFF356E0351CDD1D3AD340E7727A478264DF2D
-
-491259F05A6504093949502E8D10250556B87ACBCA7EB938C62BE0D0DDA4D02A93E18769B895C0
-
-4E5FC1B229FF4A3D7070A0856290BBFF3460C5E1AF92346E7879F27DCCD8A5338791656C376128
-
-421DA4B07A5F96160F0421AE10C1F1675D396A80635B7CD1BFA4CC564263DA5C0C84F3787DC8D0
-
-8ACAEDE11486C155BB1B16806303B9D21974CA19516C63402A8F0067CEDAF682EB2A2127348DBB
-
-5A662B5E87A5375B396B1153B843303501ED93534DF7C7FCA09EFB0261311155FCBA2EA97668A4
-
-65A7751F91BCA566E4946565BA1D664CD8FED19E84E7563205DD7AF77E2A4CBC6846EF5ADBD11F
-
-1958E086FD7673D5AC997867EB0217314F32D60342FAAFFFF957F60D9B0AC57E611137AC695DEF
-
-E313BEB5334B838F83A54C3ED76AC55C67571F367A409DA052A0354837BDEE4D11B426DC9DCC74
-
-61A6F422B95DF3894A002B02BDDFE3FEBA8D8E3BB7556F501A83A10FB0137F428FC522260E0A4B
-
-1655399490DA83CCEACED148AF1F447C9BBFE3B159399C82EAB257BE568A4DAD68A664D7397342
-
-AAE7D38223CD9AEFCFE5E399F1D70404D470A1CE10D46CAFF5D522352C50DB8FABD7348FC6CEC8
-
-34D5A82C04DDA105F85F450E7363E4E989C6725E6BBCF7AA6680C97D128FAAF4D6E3859F03B0F5
-
-A3A8A70E0C9DAEE84BB95F41931A30AA18D6C51D9DD3D3B0ADC7D0B5FF0D0A889A944C4468F96B
-
-9E59515BBA5C86BDC5394BC40B80CBDA19857E9DFF41E75802D2A2C0247122CE94A7D5DD8F5846
-
-27ACA0BE5C042A02FB7362C34614BCD17350AFB1F0EFDB09AE2F1C37FF21E007CD4DF1729AD932
-
-FA20A8F85C06201F9623D959B9E4A90CD04B6E4AE2C1795828B022D990D939D5D1992CB2DB807D
-
-072CEE580FA9A79F07FD6C4980C997EC524B57B350DCE4F9013B5BB07165DD6FA1902868328FA8
-
-0D3CD770B783818DE508E59383C96A05FBBA840831E129F0DBDD7B4AB05801E99E968EEB7A0106
-
-5AF04F11C641CADBE745EB6EA76CEE1AA8524E405F23A9D0683974A78879299600BDD0924FBF18
-
-908625872A63C38B4DDBBC8C764EBD99F0877FADB59B5F1D4FD9FD2FC1FC8C4F068B7B21B3787F
-
-728CD8CF5F52CE4A760746241C4A696F6BDBAD58A4D35041D744FBABDA2F883CB475E5F75D1ECB
-
-9056C3E52878FA0DDDAA30357906543F8440D1FEBC000297676E3C5AD462F825F1D302A2C7021D
-
-5A62595363A791A8EDBB22EDB9DB968BA0EEB4DF66E4622A04EB9FDB041DFB527CD404D62E4898
-
-D5E7ED464B0C24D58DAFCA7E891481363761D803A9457B7A2403E1816FC67167571D44E27469E7
-
-B1BC3AB85CAF808BB4043537D1B80CC490970D87A20857D868CBE901076419436A4E3C95C7C9B6
-
-0E3CEAC7DB19859EDE149FF3F07BA586BE12698F5C0CC9815FF2A6C62F7DD98DAC639084CA7003
-
-C99B9196CE6A6DC59CA0B202C9AF54620E38A0712AAC6E01D2711D40D012F15DCC51647721D4F7
-
-F31E29E6CD7EBB59842B01BFF8C7C424F0E58D4FD15D56DAE60A6450AF2254D368CCD09CC3FA90
-
-123C44ED4DDCD7F09D46C1354E5FC1A6C1901EFBDFBD4D6AD80EE95EA1B726B2309C0720424CD2
-
-5F72D9E5BF38B51271FD23EEA93013114B356370A3C9D438EBFA0590158654E2A3B7D4C887921C
-
-F6538D1BB294CBAC75CA66CCDDF0B7F7DF1748942A908C07EA13E6B809B1350B9D73CECADC98FA
-
-35933A81A34B7A6F8EDC7DC2AF60B2F0632962B401AAFE06CBC8EA4DC636406F2CED5FAE7AD0D9
-
-ED5023813855A83119423E4A114B413C3A016969A7481CE45E4E061ED9980FD961404B895D5A7E
-
-167B4D32E153DC778FCF5DA5EDEDF68D5707671B23DF2871C63FDBD6F9B9BCA9E7BB776B37107C
-
-38484453F24B4A3421A21D8797DB822236CA1A15D8719726C59D51F7332259E7CF23F28F1D903F
-
-100F9B0E8D8DE56CA3A99CA5B40D0622CC4D5AE6BA77112CEA79B10D0D5A808DA20D76B56FC499
-
-206587F6A0EBECA10AF73F8E091D82622BFABC52A28DCC8C295A24041869E6363CF589670D3471
-
-1F3BE64D02C861059FA9D10081FD2A0EA137C39ACFB2A83DCC9486195E40E99C0F28418B2C29C2
-
-9C01A8CE4D98F29A22E58CAA51E9ECAF4CA85FB59E18C2E53873A642E31BE8E47591DA6EC6D7C4
-
-E13055B8D08D6D1F0608A1080A38831280C98D7D47CFEBD3258432AC396BBF95B77E9470BA4B6C
-
-9A052CC8EBD7277C3B78514BDC491570B7D7B473C15CCEECB4D312C775BD8D99E46EBECF6C3533
-
-FFFD3E5BEF8D7B9424447999A91CE1880918D750EA345E6A10771DBEBDB1B4CCCE1474C07A9C4E
-
-A894017BC593024CC16B595DBC835F4EE8D9ADF7FE8671E0BDF36613FE7844C598A789CA784B9C
-
-97AD2361D7CDCB2E9BD45032A38D6B0EFDFC8F67FED8EB3CDE280D81C6DC9348BD48CC580D2958
-
-5658ACD4C3DBF2D7D85A78BCE9512D7F7BC2EDF7B76699545F3B1BCC202F53C8123B15F46D8F88
-
-1070F1232CC8FD212F15785FECFC6B83C0F439716A859B64239C1FA880D32F62376EEB12EC6C00
-
-235C9D550AFE84C981329B4B3DF17BC0E57E72D89058D1D3E6EDA91ECFEC0ECF0B802D41B4AFCC
-
-8DD250C13AECEDEAA1A0A6EE26F3351572849FF5E637A898D7B0A099D87012E274396A27E29A21
-
-DB29584ED72FB614A317E47C6177A9FBB2E5320BCD90CC086B7DCDE6ECEE01F597738AADDC7D9D
-
-33B02A09CECA2A389F16AADCD2FB02EF257BAB1265ECD97E25F0DE1C8E7526FB5F8C328FE37078
-
-A9D0F30D81B90A97A752505C8A2F8C9C7226E248AFC5B4318EB407B6A5DCE33FF5309794073737
-
-F72CB55D73FF66EE1C055B9A3E49302C11D7248F36CE257FB051674274D51CA4C0DE1F927A882D
-
-F54C567B73FF1D38556CD22716A3F269B9FDDD261FBAE4A916E0818EFA5C193AA00456DB6F7845
-
-FE41F715A8C0000E6FA8151895B3F21DD9BEF98D9CF674A60C8A1088502C6E09899D6456F4AEC9
-
-5875068E29E2199ECCB632F7A459324512A3BBE6E65132263EE3A4E2FB4205580F5DEE083FD84D
-
-48ABA8E3CFE81FB1465D3027FC69C260594ED380C47B6AE3DC2E35661906D98C0126FB7A80FA3E
-
-9A2DF727AE36048F6B083D8D8D8B1A8028B073B96CE4B5447050665BD926D5A1151F3E0CD63C60
-
-FA77FF2746D4A9E3E0F295770408CF348672EAC4772458125A8976BAC75469025B5AE8BC55540F
-
-41308CE31D273690C95D1173F05D953FBA2902E364885F821E14FB8153C749EFF100247E4AB315
-
-321D9C192E68B3FD7B51549B2224183195A549016D2A4BF943F37184743D6E5575F5A192E23290
-
-CA227E29F9BF15ABF4FAD388A9FB689A807AADD44048193B5B5B81CA9F9D7195803AE02D1A6A49
-
-00074E47313554A4F3B842F080510CE27645B65B57761A364D0F890115D8834EEBDFA247923AE1
-
-33AEDF8A46F1D1D410296E25E79C01F664136D8D219D324FA9B3349B1D5D180C025481EF9E7BF1
-
-100F242EE16EF433054913E0ECF29C4A0830E93FA9898F7B5505F87BDCC02101531C7C9C107BEB
-
-0BDECAE5A49BEB45D3BC0D869B441BB41A64A229DF5A40CF258B0178203F91318D97D529D922E8
-
-A82D36F34FFF98F0B0DC0984903B9DFE86932D96BC16C766FBAA4EE8449DD1BA7DE9ABEAD68989
-
-8BDC2155360C631458568E63B929DEF983C6E56B563394B25A44B25DFE2CBF86244D266E44B6D2
-
-DA18ACB4B2F537DB64110FC5187ECE20A514CE61209956A6555B35818E40A7036B8402C6E7F957
-
-0BA69BDDFD8CD3C77478ED8491C1B721DC66078C59097F4F328BA45D7711D5F105AB8E5C0D3C5C
-
-F88CC85A2AD9D61B39B7D5BFD41DD227E50AC8244A00D9EFD6C13679B415B0A0DAFEF87F2D0E9C
-
-E1FD835736DF865C151628CD950E7DBC216AB359D4575BC46D610D6D4A0B50351966541D60D075
-
-D98C1E28A0602F0876C3877050292E2469B66C8473420266AA8555F39F01A8C1EA343E3B42E1A8
-
-F362DEC13E6B1CA2150B54A2896D413CBABC37515587400994662F9D892B1ECC5617D309DE995B
-
-F881BB27B0D1EB7EC8318ADC767A76ECE369E01BA8DB3E4797A78FC81A0852DC3FF3758A51589D
-
-BB0C8981CBF74076E83F42109DB8E11C9FA042A13F7866D34137D02681CCC2A8A24BDA46E9DBAC
-
-BF8D771B9EFEA416168992D4A0C5489848C5FCEEB6FEED260DF9D39F576EE08492B5BE18E34D1B
-
-7C4F05A828B2A8205634428F0169B58C95D6019B899FCD1910B4518D0B62861FC1803083617858
-
-3D3273555D54206AB9624DE4658CCAF3FF2DA8DDB07A006F569F05AE0EC5E8BBA69E336B5A1BB0
-
-A62C4DEA0ACFAB694374484EB3F531805445023CCB2A58832AA92DA536F0563AFC31B0C539C566
-
-82633366B4D9DD8AFFD07071B8A172123901EE104E0A6AE2E3FE7AF22F23C3E4420F3B1C26CDFF
-
-255186F1002FA7836BD49637C480DF686F2FCE81C3CAD72EEC91046A3F2573F3A6844418FA4333
-
-96D24B40272E3B580B66EFB2ADA4DEFAB6DAD03B7C2BED09108A353FC68A77014365BCED57FB50
-
-5FC75F59C2402FDC24A886CF7B64B9FA13AB380DDA7DBF27B6B04C7FF37F61C9997B969654F75D
-
-A9929395371BFFB0D5B4FFFAC278C1E3D26E9D02C81891E8FABEFF9935FB2B6EAA225B6A223D0E
-
-D3DA70173215D25D7A3EE298AC98B9B3433A7060B52B9B1783F85E18602832228D139A86B37C3A
-
-FFE85F8552437DDEF469ACB48B86FB731379EB31940B6835CD47C640600082F3EB2E526B22F49C
-
-504721A32906DCF84888E8D0612435994D7475E23B0D6E6F829A5997812E8B53DB03116767DCC1
-
-90F373E1C58A786564AB2846C95CE3A63DA0C9BF7B5F41C2A16201E2F2232BF05E4E7015E0B898
-
-E410C7934616D499B35E96E4FB738165B8ED6708F9028114F3EFBF5B4C9288422F206AD6324AEC
-
-120A3BC0AFB1EBBA7639C8D0209DB2C432155ED7124110F3599D8E6CB9167435A06057308743D7
-
-DB1CB5CA1F1774FD4AA3BE52C7B8B04234CB4B92293DA24ACB5C03E38AD4ACF2D5BF78378A52B1
-
-D0443A548FADE2ACD6ADDCA315674D917CBFFDD48FFD4360721A9F3FA0F9F9EAF194996A33A524
-
-C8B374AACE6A364F15560886F4378F5679AF393C195C56817CFC26ADA9679180274303DDD38A41
-
-820954702774A160227CD496E147859CF2523466F8951D1BDE79AA7D21195BBEBD2DF3DBD12942
-
-2A11241FA8009F43421BF7973045343BC959CFE22530A9C3B9AE5F271BC9273756171B19885793
-
-97D4863133AF782A9B15B2714C77C6FD56077C00902C057184AD01B10B5556A6E07B6B062647AB
-
-22C783519B87E2D9A2BE689E32A95DFBD2865E585CFB0116A4110D40DAFCD0DD87709DDEC40B87
-
-4433B29CF6AA9F9406CE62FFEA07A59AFEF28E49E7BBA32C7F6066995414E9EE5E2048A298177A
-
-13DAC03E5DF94334EB6E124E86E837880746D2E63D2C49B4D0D5872991431447CE8E242A35DE34
-
-6C1D2F3DE7443EA05C2ECAE2518B883A55DDDBF53BD64A7351930C6137D351D4A88908E133A914
-
-4ED0D2001D7BF8F4CAB42242FD0B38BE90FA76816D816797A73D3B9891A0FB1950723BBCB97E15
-
-1116E7DAA5B18FED8DBBBD2FFA0B6115E256EE6755E172DE0C8F2515A494E698CCBDE81D710514
-
-AE7F732992096454BFA76172EA259DD9CB0FA5EC1BE1050C1553B34EE9C206B540DC4F53173C88
-
-B80A88B183B63949CCBCFFC64E0B9C2A9C4BC838DBD2B48AAAA1BA7B40EF4311E0AEA51E8BB2DE
-
-3508BE43E33D63D13BE33FF9546259D0EA541CDCB46321AD22773DE75726823F32EC1D37ED1122
-
-65BFBD416D0EF743B0420B73E0D73E1E8101D53E63279FBCC03B580E00066348440569704E32CF
-
-D40AED353FFC3ED3FE2D0A145867EE27FCB184E4FC03AF5F9F01767F9B2456281D326DB639BCA6
-
-6223ABA7CC63CD678F663F61B0408F1A1976EDE9F96FCCFBCB0AD29C8E27CCD81CC6C5E697B304
-
-97DD51F00F3FE7FE33F931A17FB7540263D7F749A34007D2C7CB2EE57A075C4333E2214B866661
-
-743E487ED761B8774E076ACBF9C2DE66992C70189A1EEB61B49068F413CB3851E1ED18257407B8
-
-ECB78EA381D5E423907B194E7FD9DA950C1A502A0A61ABAA12E71102792F7CF05AE65A7C631A96
-
-37679B2C4BC651E21DEF22EE339204DB722D1FDB119F9798C718E4EC9439C472D89D99612F71C9
-
-F49890C596C28BA324C5A79535AD77A5E36E1841F829DB7477CC63A944DC16DF273D376B230653
-
-C50A97F5B9590DA325210B935B68DB01B80CA6596ED2AC5BB0243FD75EF8F6891EF0A3C01EBF21
-
-FD96DAF4DAA83A5A89485490A6FC9BC693B28B0553EFFFE574A8B3C5BBEC36E657C2CDF4DF45F2
-
-47C59AB1EE5980725C51C43DC289E21FE69791D9436B49DFC122C44BE918733E70E3844CEDE633
-
-4932C5207898D707AFC2BE3AE1322CE0BC8A58F8101166B048CD6E94B392A54BA88115F08C1066
-
-4F417025B8AD2756EA62C9945999E536D1576B5E1D3327D516609D1B371A0E9B0B9FFA934B8578
-
-0D51EA2AD2AEA9FDB6419DD0485B95AF90A38B1EF5F68A1CC5C7319E4A53BD9BDD208FCD59B264
-
-BB05DF3D7E571E81547EA4815683CFF432345F717CAF3E20E627CB39B9C434F659AF97760230C8
-
-4D0C809A9F86EC721FF113D84D94FA2F37ACA9A8C4C6A2763E2F28C9A7C8220FE7F8A99209E094
-
-ED621B684B69FDA9194A7CCCD51FA49933EA157061FA23DD5FB90265E4EC9A818C1379D5E50809
-
-FC7EEE1F12D5B1DB33C6C21DF11F0D9B49A3A2D2A9F39E056B0604B6FE0FAE6F09B18F59B2C197
-
-6592E58B746D3A99AF56B1D5F2AF93A40E43CF30E1CA184D1E898C94802FF9B2365AF38D0CEDEF
-
-638B210931772BC190E4D40F4C5A1212DB95EA596DB64C7C0609C6814459DFA2286EBB5EE178FE
-
-C6AFFC3B9B520DB8DDB4EB5D4222D869799FD198C5D64E4F3887583EDFCA2B8F511F90B0D29FD0
-
-40D1427FF12F09664593E7EF1C0B426DC41061F34ECE69367F852FCD723499E564C77614CE2434
-
-5C0D41011AAE7960ADCD3E2D63EE16177D198975EF288842FA5714AFF9E533597855A0827FA444
-
-CC687E8027EC98CDB3606FEC5A045E2AC87E90EA0050768699C9598057B50310D387E91055E974
-
-AEBB7C9136C6986B279BBE5E05AA3091E97C7104E1EEB0BCE9D3448D86644340A0D11D9AC4B6CB
-
-DB4BE4D6CFF130833FAE4F03249C45298571455480603F5EFE2C1892875737ED1D561C3938689E
-
-7CB30DF5E26D479083CA61017650592ADB01BF6DD12807B65F2BEB6C8FC949AC5A1FFBE8079817
-
-934BC8897E251F4C6B27E7B6B5247F5E48C39C84AB8B70B14A868553B5F205F79B8160DEDE2172
-
-A0FF07AEF0735780736E5EBEF7E8187645578989518E1337D352BDB192AF61858778D21D7B44A9
-
-7C26F44564852788556E84D60619D1CC84E4B4A0F49CAD9B7B713930C957C632117674C503120F
-
-C564A3318560C1C57CC76F78B8E1FCA4E24EFE078FDE51A24D12CE1B799A07230441A08EACF0C7
-
-9D514169E543ADE9B97EEEFBC6C50CEA20D5AF481E8F2D5B623C444B409FCB1CAED7C3EA7754D6
-
-AD14BBE11D707D6FD3A70384E275DD06A809793B873E646BA143BE816971139F62FE007C313F7C
-
-C7370E1A3EFD18FFF7BDD8BCC1C67761A6D1EAECC7D953C58596C0B54113C8EB522FE6FD8068F0
-
-02D60C7EE92491E2F8D509A6EB872197C9FED96D963C65FC98F3DDFA3748D33A2A82C22CA4DFB7
-
-DDD49F7D622E859FE8F0DDF95144E6BBE906167CCED0D65EF05332E59D739066859809F0795E07
-
-DF9064968C5648134F527337CC5F610D5B941F0AA975F6817B920A3118EA63DE7FFF3D59BF1451
-
-E2474BFE57C94E03AC416CFDFCA559481BB587A9F8366260A884A22CE93FA8A172AB770C2DC5B0
-
-0B73C9FD9FDF5E242BA9B845FA4DB9CDCA2149A4479EA77E69E9F3742AB5711517BFCDB1B3C194
-
-7231C437D9E50C42218C3568ACD953D742D9E093DEFD04C07F2D5F151D00B1CAD086EFD5B10446
-
-748524C070123F21A09EEA839E381527DF98DE1B735C1111628A0FCD75AD863AE47A34207DF2C7
-
-8D1A50E7AF312BCC999DE49BE0F54AE7337B2B5D83C4F5507A5355C2CE2900CDE51D25A41B7407
-
-2134074708F558DDC22C14C7424A611E281413FEF9A438C8DE4BBA6BC67A6F26F0E1ED9254513D
-
-20EFE361A7426B2E9BAD4889152298ED397C6AE1B7E0AA1F93A4A717C13439B02399C773DE87E5
-
-A7ADA2B1514424939F44F114E0E663AEFFBF7BAED51670D789A671862566777C93E61E4BB5E744
-
-FBFAED947BD896DA9E1C947A1E9D328D6B2B38B23CF0ED78BFC399B9BC395F08DBF457FAB6E43E
-
-84744858F94A729DE846AA8E888C1A215C23A297C2D7A69F3C60DA53ED12FAE643A7FC15FBB680
-
-3A8ED275DB3D1E0199A71F203C8FE1F58F39289303BF7AEE928C0927EF34F1614C23C89E6FE3FB
-
-13AB6FB91EB3DC4718A8C031D3C7EC111F09AC79AE3F6245D0940A4284FACCEDA645A129A5241D
-
-91E81B627189E1809E4E4CB8690D7D16845C0E97EEFD7F88FEA959FB55F70830659CB2002C6913
-
-7870DA6E061210344B5CC6B9D03AC7B5441BDAA81C25508E3D5DD7645F7FDBE1C0E9D2360045AF
-
-2D76F46EE26CD703717A7C2E83406AF63A4378F1340357735D13B6C6A1E9437087FAE7C42E3CC5
-
-EB89EB2184DA87E6B523163D16CB221FB546C039774F1C7E4C2D19C648FF1D078691CB7A90524F
-
-AE0F1990289F3A01BE5B4BE31544102DB04EB64950A6D633E6DD1E70C1B5B50FE00D1270AF7DA1
-
-C5AE22EE0BC7D63D6ED9EDBBC2DB21A657B7C6E39284551B66E959EF624DAE21EF0598E598E5FA
-
-D8DEEE0B87AE1CA77C8902CC8927E74B0599B8DF867DDB285F30817639243DB7F97191FC15AFCD
-
-34FEF8ACFAF926AE60C13DF70ADEEE70B4D2DEF56DD6890CACA39E94CACB2E01BDCE1A29E96643
-
-CC9329028C931A5F748426032CD586E6D759033F1E46833E93EFCA0AD895CEF1311380B8782B6C
-
-15EDFFC736A939C6CA53BDF65F88484E4053B076358780D1549CD6FD0234587A4616A008E6FAA7
-
-E5D9EC458FB293B143AF0858A8532FC6B9E6F69797CC27548F1961877B9C749362C2E3BD41056B
-
-68E284267156C72A8909A86037F6A755A82DF34999C6957C415212D060C15114D5FDAFDF01B3DD
-
-563428B401E85105D7BDD9AA98E54670561354D082B5AE3C370EF9E2AB1BF8A8E3BF61B4348C0C
-
-C6AD2795B453F8F81D36DBA8847143DD955203C9A0DFA23E32EC2355AFD6678A2B05FE6E46CDAE
-
-3E8E85ADB4AB71B7F84D1266EC92A846F08170694AD6657CA47F560535D0FF5725C41CD0FB3219
-
-B9BCA5F9545658248D79896A8B5DDF1968D4D95A37ECEC7F44F2A4D6888214FB19541ADCA69F72
-
-94BEF62C0520E95CBA4A2B14D12BAD004E6468DC136C89AC5065719B9175B8A1192C83A43595B2
-
-66A196E820EAC6CA3547374FB3BF23CDF14D939B67DFC5DEA9F98D80545BF93CA67240F97A1A5B
-
-CD137F2A42BDEE7552968623E6CA659FA42EC5C2CBBEF2E2706D06E0E2CEA225482214B9B6C45D
-
-97DAF24899EE8BC6D8A980E5621075B9CE837B724340066B74C013E8AD806241DA5A18BC3E9657
-
-EFFD4A1443704B90FEAFE0A407C7C2E880FE970560BAB064935F209B1971E03C33B2B37AFB4428
-
-01A9C4D63A6A93910B607D424416620559E7B95A50E879A8A0607A2CFAB26D40858B955C8CBE4C
-
-C55B6736F20EB7439B1CB96CF00E91690659147C7D1608E5260A2E84D749D90708BFDA92BD5834
-
-FC22619A51764DB4D8CAE6463AAE80503F42CB4E7830BE796E4DCB10A1EADD636C79DD1C174C26
-
-DD44830C38E92BB25DFA70DFCBBB2D0B692D3C5917FB669BB36AB2C2C26ABF2B35C0B581F76D77
-
-64644DF89EE87862DE3D5BC1EDC74912E4F2799836023EF89E5E817DF6252B4F953DA4FD0BC02A
-
-4E22FA762048837FA8C99439BB1FCBF5E215B5B4368575E8D6769E3D01A9A252D7B20327B9B315
-
-95C01BACCB65A38FF04A5613698AF2FA63B36BC6942ED241E1ECEB7A9F2E8E381D300329CBD4E3
-
-1B19BA0AFF6415569F8774B28CF9E6D343413AA0D41DC3C3F686843BB1B7DAA242A635CF345137
-
-B3FD4B6162A9DEEA6BFF1E719DF602A8D79CD5A60BB11F26D437BE8B4A039D6C2D64ABED520C07
-
-F09E8037A8D76D7E3ABB5946D4837F1B12274D0AFAB29A44E027B2A8C81574B846A7BA94756AD8
-
-F33D2B76C79FE4D94CB3749A64ECAD8AE9D4D4EE219D5FE4524EC95CCB89BA3C73F219A88F674B
-
-2D40E2C5B4497903FAEA7BC3C7F22590F8F2D6B62151885382150E9611BBC33D9ADCE695FBF947
-
-2AF79EBEA09169FA0047E09D9499D7A977ED74E4DEE3BFEF1EFE0193AAAF9B8A2E285ACE63FCB0
-
-4DD5AA4FD311EB8005E81DF970D2C3927B9327C4093236BC98FEAC8E130001239A81C426D477C7
-
-B68AAC466820F7E655251550CC979079F3200F12B6DC35C84DC5A19EB0630BBF3CBB2539AED37F
-
-4EABC464CC5A8BFE75593C7F3AA5BEBA6CEE1AA2DC43E40AA823232D66714C058F36A012A922EB
-
-0FA0B58510C1239004B84730C1C69AEB4A38084B6E465D9EA04580B8110C9B1B023CBD1EA44753
-
-F7C87390A884BFAC825D84B93CE4AB5136264B8A1E0C3166E94E8EFA9072A10AFB760FF2265012
-
-A254F0755F81E1E42ACE3CF03D443D81F237D7DD9555F2447155DD76DC076F3BFC492392828705
-
-3EE6BE05DDFE30AF2016FEA53154ACA91A6089E9807455A536753078B7294411751450CE4ED63D
-
-0DA4C9907DA2136DE96A5289B783346CE7E6DD2C1D85395F91373C139B3CFFC5DF1A2C47F32537
-
-232691820BE497E818BCA561345707AD98249DC40062E30D647FA979EFAF4FA50AD9CC270D47ED
-
-68E1E462F54EB69E6D734C6DDB41B5C2B1D6281AD3B9F497B3B96D0C94AF938E9E785A96DE5DEE
-
-9ADFF8340600B3C173B6939B5B06B8F1341276F727EA16933151D7DA8F254786EBD6A0372B10E2
-
-79058D2327F2620B039C9453EFA9B859BB5BD459E7CCCC36B80221932668403F62BD00D1E31758
-
-E647FEC1FB816B6C52451E6FFC50EA8D52277178E3C4AF5B2A59F383B271FD132E216945B69A34
-
-B13650F5EEF129A972A695FF2BA138E10935A564AF918A66C2D51CD942DE7F843127A3DB82875F
-
-1A14662B0C3A15BE4BBE1D875F8CBE54C7488F4131074822FD47C59AA4ACF18DA9714E2619C8D1
-
-8A9EBD5098AAAA1150D83681A6E8CCB070784B128F736BFB43CAF5F239E9934878C02328BD3084
-
-CF52EEB20A26BC36E76A8DFB36C9C1397B16D16224DBB9C64ADED191E0E53C61BE7D056355F20A
-
-1AD4EE38E1EC8C1927C2CAFD36FFAC24240BF07CE01FF3B5CC5866B4A3FED0BEB8695E23C1E16D
-
-6DE2883B8A66A2400313B263EC2EE6348BE002BE0AC2B5B406E392C53FD41A144F7FF24BDE9892
-
-7AED17BDE620D5EE8F0495A9E915FC0F7FC69F8655023F3D00E3309342340AFD3F00CE76D50B48
-
-5E1AF9DCA4D3F2A40F7B02558949DDEB6DD69A5E67B8B5DAA3956EF97E710CC1BAA7476B8B534D
-
-48596240555C7A220CB029664AD274F478903E94AF66026F8562CD6C19837CE9265CB6AE578217
-
-0336FF4C7A0EA5C28E069006CC760D3B535867BD376C0E6BFA43A9DE5F6D888211DB06B6F3E5DD
-
-AA666609CA7E2291EE0596731E4CE79F34FE0559AE8E1C29E8D60015A445C34F8E643B53372EB0
-
-5331E58197096478DFC49B7F092A6209A2D209DC02EEB1B7D7B12E89A0551C06D1C3F3793D745E
-
-BC6D2D6C57628E5BDFAE09936976D7C9AFB653CE4E6E198572CE46180FF9EB009CFE450BA26BB5
-
-705525051655C355B5D61145A7EE06DFA487B311DE72A975945FBB64810434F8D739FE95632601
-
-A46C6C95C8BE365245A89CF7634735DA14CC68E23F4E9E82AC0E0F85ADE8628BA1BA4F9118F800
-
-7237990280C19061A305B87BDE6FBDABE71A72740E338925AA871C918D927F28ABB19FFD2A1261
-
-C82CD3A47B76248828300E14D71C75B777375D2970DF345C37F3BE01E56A047C99D27F41D81DF0
-
-43C1103352FBA194EAAA50055DAB070346A20F39FB007BEBA34627337C1B71465DE82D2221194D
-
-D5A61B666683F09E21F76418A8086FA4B2ADF0C94D5A702A2BE6BBA71D2A9F8767B2A390229450
-
-EB9867BEA6859EAD686C61FB52157036BA8F62468CB934E10DA07C43942B964A92C279E3DF2635
-
-541FF403CC50F7DAF1F1146783B0D2906F674273388085A1F697E6DD821649569B8CEA2920830E
-
-95A966358FC6BD7F8BA0B93495D054967B4DBF8D92EB337F50BE0DD9A03C23D2F5B5D9C73DFA4F
-
-7E01125425EE62ED9CEF7810C88553CC671A7DF9295F50DC482440E40D65D093FB5A39C4084B5A
-
-39A7C13B426BD9BA5E8DE29FEFCF03915C4DF570CFD8546B274B875FD0F80F57F1A0DA69F09DCD
-
-F98D279C0001AE6DEACE32E3B2D3443524C5FE1CD2770D7F873201442B1CC63F3CC33D2EDC0E14
-
-9327AE6C9E9720B346A3D783A0EB6D39E10C6D8C42E310C37AE06BE77056F58ED39D35BB2BE86E
-
-EC0BAABE99682DE457316B7226E0C968807D33772A20D50658353D2A6F0804E6F22584AF5887E3
-
-6AA4E7EF9D470153A11759AD42DA6EB9FC0AB5496547CAD0EB7243D0371AF330E9DEF3BBDE115B
-
-C312D0784932BE630ACF1853BC7CB9724EF91B5BBC42ED211A9FBF9105ED50DBEC61EEA28858E4
-
-B579EF2929F285ACC101311E182A27DC8F05A8BB074C559C37083D5AADA202B0BC3BEAFB7831E8
-
-79916C5FAA116BF4B4DC68DF94403DB1134D96A72A81F70D2F16FAC5768B4BB454C8DCED202A31
-
-221B25B2E3F8DC912C38FC8087F2C88B2A54F9937FD257110AB63FFED01D85D4B1161F08420F22
-
-2725FEC4B5DC4D2AF65A8EDBD3B59E4ADBFC2478E9850B6ABA868553DCB23313BBF6D03D178FF2
-
-FDCF3393B051F799D6C60AB7D57D62FD23A3F076915882B9BE1E3ED0A3DA893D6BB69A9BD15C8C
-
-607F0213D34673F8FEDA8187DF8C28E6E4A7B1FB92B11E92294203A36F95790EAD1B41CC833673
-
-3FB6A0189356C16636BE965A20E8959474834794E4D8363443CA4678901141D8BFDCC31B94BFD3
-
-CF9E54C566723BB52BFC868EC02AE2B96C657FB4FE9FBBAEAB700075588C874F559F3C85E007AD
-
-CF76B3E0372ED97E3E9775CFCE89DB79D3968DE2F396DDF4C6F2B65C909A191431F5E2134BB886
-
-3A620E2D537719D2F82FBD802C388EA66C454B8DEC27B7D6624FFAA31F85C5B13DA941EE9A7C93
-
-A5F9EE3C537B709656696929840CC05D2E60B285CE114018F19D856DE6A1408246C3A2ED085ABE
-
-E10C7B7D1A8080BDE2AAEC62F5D30C6EEDB6733EB97B626435C9CAB5FB56810E3E1924AB170102
-
-AEB24699661DB27C5A92F40E4BD4A88697EA623A3F2F80E3F217D59B50649085753E9F16C55BD1
-
-C45D2C57297689D12F55F62EA348B5FF6580B48DA85B9BA058349024D1DDC77BBA000AC0C2B635
-
-DE122E3A9EEC3434BC9B97B3546BC7850C3A472101002CF05AECED688C38D5AB82966E45AC4CF7
-
-FF266AE0F68669B5EA49C65A65ACDBF9A830988BB625A8263E570EA2C6D6A786277345EE7BD28F
-
-675AA6474ADD78E016D599B415B054F67EB1DE9BE57710DF2122405B482018D248B29619860EA3
-
-A268C586775761E62651D1BCCD3775647DFBE84A97C4EB66D204CE839B6DF81E8970834C193FAB
-
-73FD40FDAD28D249C3A086759D0F7A23457B91240AA045FB450EBF2F5DF24E5123DFFBC7A633EF
-
-723081ACBBEBD8D99C41B7ABD6C1B3CBB52ECA4976F7487AD77808052D81CE6F128109881C32F3
-
-827F5EF59022301AE7917B2D2E5C56FC82386CC1E0684FB6B43A67B51AE8B12E5B82C5214EB798
-
-38A004A4D704E03BA65038B87399EE1F93EA4CDFFD2CBFA0AE1C1E81073BD88202015EB9ED570E
-
-DB33E01777343DE3F8598EBF0CE1C79F8DBF49AC9A6E26ABE56D4E36D7452E6BF7CD81A990B6AB
-
-B05824BA2C2988D509E98E9A9ECCE3F869E1A301E7A8D69C293FC60506C762A65E66A333731BB7
-
-7886E82DFFAB187E264BB8E939125244A658DB0EF727428969C86E4240B8603F6CEF7467BA500B
-
-FB2A0461F8929E652EB7C684B6356A4F1B01317BDE4C0E278BC9C0D19D7F0F1066B7915C15482D
-
-347EA313239390884645B9D9216096257AA199425944B88B8E60D1C9D818E6C7FA57484E573FAF
-
-2681901CFFA7B03837251BDCA42963597D59F5C47CCF4FE61963D6997E88DAA6A80189F54108AD
-
-91A615519EBCAA0294CE0D2A3D6D51BA23AA538561AACB1859F9D8E7C7FBEEDFFA59FDA30C4930
-
-F3C70288AE3B7DB6835613D7975AFBF1254ED80A293C286A400E74816D07AEB927730C397EB1CF
-
-041153FC821EE357CF8D9C1C55CA1B578B603A9946E8B623AB642F227041A18A987C8A826B8E67
-
-7F8DEF5B1A7A896F2D04CA19703A9492C35748A0EB34614843CB6435E36650B1D0311D8862E78F
-
-A870CBCF6A1A6DA31FC1BCBE97B02B9F9D063975A8F4B681CEF8D7170C1D66C41BD8BBED7C4DE4
-
-5ED8EA4D5DDE0FBC9B11349AFFFABF8C7C62CF72064F93CD36EE781E45938513E6517D325137B3
-
-C8B07F6C85CEC99FEE73C19E3319C4DE54973E9F237FD4F5F522A1E247D13A5A3F76D9A223C1DC
-
-05DD98AF2F2870DDEECD1D17816F6362BA4E4C3E767823496297BD60D5AE5F3BB16C47946E1B9D
-
-599EE1945DE81896C20E0E1EE5BCCA3A817F140DAB9106C6A39396356440E28C8C37F09083C2B3
-
-8C0AF322A5A6E9911963BCB674D63BFDF08FE2A7378DFC5292CAF29E29F2C6EFF00299E23673CD
-
-BF97B919E4DEAB76A52BB588CFF489D6C984BE6945121555D2D11D5760935A18C7ED5794A8590C
-
-A9EE7CC716E12E5E50604E4DE26AE7E8198EF72323B8B449C7059831FE2B32C0B7ED4F977D455A
-
-74AC42335F92FABFC69BF798F3505987E10E6EA4B1EBA7DACDF2D8F76A14031698506F920439B5
-
-542E334FB3880BEC75609926EE99529C4E923E39369D453A4C86CAE241DAD49999819B6D3CC8ED
-
-7F99C4816DD01065DD385D47A56B3FED36E1FB26174E0428677D4BC535A2CB35646C17AC6214F9
-
-3C68C7B702D168B4439FD66A44EA76BA805180535EB32DBBFEC29D4B453317C6F35E21CB482490
-
-74F1C89B3DC6A53FE588F8DB408EBA1C60C9F2EA013F1517A8DB3CC9A097A2643C0CE53EFFE5A5
-
-E5B26CF40D3A9324F0BD35B6F526E83D2A381E976E00AF14E7F4FE22ADBB71236A5068E297C7D7
-
-0994672D86FFBDBED454659F54CAF5A364FEC8265ABA8F4F2A047D54B883E81AD48D094DE78A0A
-
-D1389F5F7BD0B36B3FA11F8864D21E57F453ACBE2A892EB6F126C9881799C021502428B0BF483D
-
-304777DC0AFB7BACCFA42AAE43121A245FAD4CE23248102CAF93C72016942B556CE59A2856BDD8
-
-7CAB9A22FC690B30ECF8926699E101D8F74D98F2759E819148E54EED6392F0B22030AFA655E07B
-
-E6B0F6A58266D5AAD8365D279FA51584ED4BDF5E981E31732868789362A13F68D7EEC3ECCF46D9
-
-1857482DCA018944AABF993F90635C6028012240D8C670BE48E4BAD29BBC118DA0B733E2019502
-
-09F2C608798E3FC6CD3699B61D207753A5C7E31D5ADB610F7A9FF36C6E73442569F025EA5E8A4D
-
-FA89E43F10B44C907024316F07B4183B202E8677F4449520CC06361F075BCC065A0C4911373281
-
-88FAC72EC24B9B52500D103737D40A311D5752EBA5F06EB593B56147F708914D474B7E67EC48C7
-
-32D40AB7C8671E0C80295DE3B2CE69C9759B536520EBDA938729214C68FFEFCA119B865C2A4BA5
-
-15986323AD149636791AD00B328E0E2D47AECF406A43D94FC87CD50AC65C5D4E55EB24F48938E2
-
-8305E1DF0C6ADA42CA47691246860F50A2A6292F0590D6F8C4076F3C6325AD25FAA56A361C03C2
-
-03694A39103DD209C04B85E5B740CEC222993C676750BF937448E4B0EFC94903FA04A658951108
-
-DDDC3DECCB7B71B544D030E6DDCDDDD5D8ABBE90862E8CB4E65C298F2AE4D6AB773091F637CF8C
-
-CA75568E46C5C3F6D837954E7C1E4AED3C449FBDC85A31C87D457485D0C1FB4C97957925EABCAF
-
-80AAB9607881FD1EE9DDB9869273A69AE28EE67E694A7AC15B38BCAE76120E84A3A570466AF88A
-
-C140243B90CE2A0A206F726ACA103D4AADEF97E5B5E4C753FB08381820EC8056288BCAF86DD714
-
-BC55BAE80E8670802A30B24361B4830E55563A74E5DB9862CE0C5AE972EF9188A9D961ECA5EFE4
-
-45DD11FF240B19766D261CAC32F2FA24B8DF95DD9A5AE6BC5ABD66E0883DE81DAC808EC9E64D82
-
-06BF34D3D418CD1502C1BF865FB89046BF228323C9B259FEDC44A24B41AFF7D4E6227F33CBC59D
-
-BB33633D31BA0F654F48762DE5D7B0A03079E67206C4661BC410F3D5F46DF102741C5949AF61C8
-
-BDB8552BA01AEEBAA183ED57681FA2FD92DD4C40E8AB10AAD4857888DDEFA5B8490191A629C0DA
-
-6F099607F85ED12417E879D770E016D297ED31E4D36082B67002F833561227A28891B6D2BDC3CA
-
-CF3F6CA3D833E8B1E587B4900F5BCDB295DD1626BFCD5D9BC31B8CA086E264F25599BE42E07D58
-
-ADA6E054970DDBEBA58D7185EB003AAA869138FB31EA477C881E556A0B35841AC095E226523B32
-
-773E128F541068A77B43F61BA7891F37781FC627C39589BA4DBCA4DD98C7BFA311A7CB6EBC7EF0
-
-A2A25393D7BD84D00D951D4CF9D9A1834038838830A50352DF68C9701D0CE7584626BA1ADF1D00
-
-B592F34897EBEC6280DA5223E46A0DB875CB10BB772B7CD16F26AE19CB1F2E554374E89CD4F7F2
-
-7485D9169FD48354317B1646578D956553430BFF2090217B15BAB550A8E0F36DFD6088A5E9D52D
-
-6B5303D9E2C0AEB607749384DF0CE76644334FF36C35387D76FF85B8064460C28FC895AA0B9994
-
-C3670EA26E8335BF331F4B406836CB7EA457258912C6DF48042050C7D333BC02FEE4748909FB45
-
-8DD5D55E7FD04497CE34DBE82E88D6AE641250863B8A57B11624E62CEDD80E05FEBADBA6466363
-
-ECECB921D11DF5939891E5B5CABB36FBDF822EBF17D950EFF3F4E850CEDC5F0FFFC97AA162BFF8
-
-A67CD77EEDDCF5D5FC48A303DEB2EE716B0C6F53469EE23B553D65FC4CDE004A2940C71E4BA72C
-
-1482B2FD2ABFC6E8A877A807486D86DA69611ADFAB9E76527E6AC15006E26DFDCC3314F24D277C
-
-53305160A9EFD4372258C69E8457EB24AE163AE997DA692DDBD6F9F6B4A0A80AC2C2AFEC71BEE1
-
-3C8EDF43F7A622B2BF0C860FCD6405704D60B6C71642F27DDFC08A8A02C6108B9036B5F7CAFBA0
-
-BC0DD2EE4AD2A3D063E2AA078FCE226B11467BAF992719B55DDF5FFCE2B34466D4CBFA8FC5647C
-
-222EBD11EE60BC567F05AA38704DDAFEC8937469A83D09643F7B798EB28E5DA823B9A06B7BC8A5
-
-C05DC705F0A1194FE17D7948940395617AC25BC922B3C838C507C1CAA95B65A2A5F41929D75D3B
-
-1EDC261930CE41163219C8827803ED5AC50BF85AF7C69D57286E5120C0F08114BDC3278FCDF774
-
-3FC7D8D5EA3B4D3F2B2F3B7B6C4D62D20A7D98AABDB9B9DD7739561B15FCEE8139B81EE60331D0
-
-939E99099F2B167A0AAA9E85D803062ECC6ED36916C75EB58243C2825BE97F3021D23D73A15615
-
-12EA904A94924AE1B66F5AA60AFE3E47E5A37E5BC53572BBD578AE923C5465F824056703DD1A1F
-
-5EFADD557CFA322C46BC944199190C9ABB2604DF2A7B55480C5D7035AFB7C7A7459A0A236573B9
-
-91F462ADEF5953AB2F45CD837DB21CADA6D39CFFDBA3554C166BA7F1FD28953FC38B853627FA21
-
-75537144A6627035A512B2D36DA71BDA234132D7C2CEC4F29750C14FB8196D256F05922F26A3DA
-
-E22E4E14B52196F8CF7261CE0CBABDAC1A2C2E0541B0ABBC8E09B1731DDEBDD541D9557AFBD90F
-
-3D84A8789EED596F6DEFD34E4651B7FF9DE1CC419FC7FAF1A3E7D7EE147D60686EFD5F55F5D911
-
-EFDD55C4E0BA647AD599E0CE1405F71669FAB6791F465E7FC1C247AB4E52C64FB2E6A18D4463B9
-
-95CF637998CB91BEB1B68A8C3E4460F8F1E35169F78FAC2D6677E243854D6F6C8685E5199D8FB7
-
-25E383CF338B276FE785954434EE8768FB95311D47FD3273751E4CDECF0CDE3F77A7513B39E319
-
-186B4495016FB97B4D996F4FB86AFD00EC9F54AC44AC519BBA5DEBFD5F39286817B25695750E1A
-
-4F210DC8C06A862F1F88CE3AD7D5764581E588D472B8B407CD074A5CCB39D6E138FC3E58C9C096
-
-4B8C0195847A7BC0E58E796EE60A10FE003F26231EA0F0EB7E100DD6890F6AFB8C2290290A97DE
-
-4EF1F5BFFC07292D2B4D2618A430FF3E115BFB35116835891EEDEF4D9456DCC8A25DF5429BDB52
-
-7151CA42570F44CF36D6FD31A10D58631F5966579495D6217A21DC436B7E26ACE1C03E62CEAEA0
-
-7C09A6711FA6B7F34504C4E0799E797D4D2775FFD0E9C2CED9DCC8F64F8639DF8B20EA979708C5
-
-81BFC54F08BABE9F5384E357885C54AC33E0FED272154843631CE03EFD93DF01D1600BE65877B1
-
-51C41219367641ED0192E12F26F871B13ECB2582F75CA7F1BAB3DF0B89942BAD036E9AC7A4C72D
-
-6EBB0BDDBAF2F6F9AD284CFDDF2934B4EB86E94999D1433EFA2E278394DDF686188AA8E6C15179
-
-AA232AAD24D5036A39A49C84BF33AC864FD76BC91D8E915F0A604B8A4AA99836DEE01D72E06596
-
-88FBD19195D92F5C7FD98C86804E7D3F7E818CC61B377ED48B5DBD744351564FD4E82B6DEB1A73
-
-B964684985FCBAB97AC903DDE810E01B27C44267B9D6C3CFDA7400CB922F6DCC6B711C045C7C1E
-
-BA276EE915936643A0A6CEB49C0DEA87B0D67B4294F21F30FFD59626D777D5E63B5400B1EB92A4
-
-03CB688B5341C40A69C4D413FF4B317750531EADD11F88851F6345669F58C53EC8B764AA666BD6
-
-E54B48E4743B2EEC13D7161C5203433FDADD9A4CB3E69641D3795A2E810A45BDAE3532B97A52C4
-
-9DB552A876C1ABAAB2E3AC102C9879D203D62B1BD4C23BC52E3F0C94A557959C6C575155F7AF65
-
-0542B5C10247CDB5409454C6BD7F56C13230C7F5395E211CF2FCD872FBBC1ACD687206EE59D6BB
-
-4EE63E2441869F875AE35680356EFE5A08AC504CBCF36F97743F06740E5137D17832DA142933F5
-
-709ADF6DF5177A84D22BEDE4CB3E6D30B11B3C91BD0D202352BDC767106C4A8719DA2C75A355C3
-
-53C67CC53775EE192E31554AE02399EC3E5CE779AED77D112F3C7059D3C6A316179EF3C3AE04F2
-
-3ACA411387E1E9D0930E9C1F3752315D631E556936CCC6EFEE77DCB7E705779F8302848EDFFE70
-
-D12A5C7BE23CB6ED65DDD47F0E0F082160A2538E1B032AAE17C97CF7F97217972F997CB20AF71B
-
-897B0CE19C8972A909EF1380692B82E9B09C257A0CA5CE07F272B56BD321D9EAEEDEEBD08634D6
-
-B9EC03320D2CE208D823C0D02D5BCB9A991AF784FD705CA331662621D3D793C8C311F7645FAC00
-
-BC8CAAF74F3FB8D3323639082601587B7816499FA4CD956628B7806CC407815BA0CB9E26145300
-
-A915F7B546222E5B4969BD44D9DF5194D7719A0A7BF72B0FA4DBA8B23BA02DC8441A9E4C57C7DC
-
-CCC2F5BE59786F3D79D070C1F2D02003160BE4B02E6767C5876973C786E10F567A1128C675DEB7
-
-46183DB34DAE298E07F0F78A48FBCBD6EDE2698639ABC2E5A1B2E467D93A69BD2D67F41F62593B
-
-8242C4A4068BEBC4FA7165B60BCD07A8752579FE46CE7D0494B06D0CC2E7568EDED60D0F9CBEC9
-
-D3D4032E650741BC21A83962700144F1CBB68AF25BE0C0D5EAA9DE8DD8A68DA7E0F6AFF1BD8FB2
-
-8278226A2EDDE7E0B33BA6D2A0514D4F90B48FD6300FFA9B7479DC934BF3AAAAB95B2AF9564E9D
-
-6EC39957E772FC5F24816637820B68B880CD84CB0C50B4DA212A20E904D37B360E29DDCA2CFB57
-
-EF239A5FAE7F964C72B1FAF64972E4969337018D26C9CB9D68B6CAC4E3CD2D3893145C9432FC6F
-
-0FF8C062C3F0F1C3AB0ED8D6B5505BD16EE6A15AAE57BCE07333465501867F2DEFBBE0274E4673
-
-8FFE8BD1B4211FEF4A8C28208E98CB4D72DEC559127AADAFEACBC0D98817239180BCB43DD239F6
-
-91A3EEDE515A3370AF5739841AB9C91DB77B91441E4A6F0FE113B4DC509E4BC951C800CE788526
-
-9E836A5AE595A7277AAC851330CD3CDAE4DD4569994E1F4CFCC75E459BC9E1BC7F215BC2D6926F
-
-5DD509A09CF22C506EBF22D2304870C3905D94609F8295D0C55B403A7572FF4C0DA600A74D3641
-
-DE4DC0CF14AE350CE94E713A2AD831422F2171777187840069F414CBD31F3648F88287C50E4277
-
-32054F5DFA1FABEA57EECB8FDC8019D37336D8D0E840FCECD0FDF19E56A386C3521E28726C3F0D
-
-B6DA49210F72C66BCC1E5CAB15FF19A8B25C5442A0F9E0D41FAF824078FC6F6EBB3778C6FFDE69
-
-8EE021C353B2A00F83903E001A1716E75308A08A8A8978CB4A99D379C76629EEFF65B926EE3338
-
-54144F43B04F838AB5003FC36505325D3E4E4B5FB75A1221B32DCAC4CFD3588FE0DA34AF3AAFAC
-
-A3955CAA04856A196ADDA16171AAB7E21C34CC447741E506F153B7F466871342AC72D798B63572
-
-3F4947AF84E679D4A9145EC26064F02388C731B2DADA26977C56FDE09BBDE051AF895A9CC4A80C
-
-E9AAE79F06BF913CBAA69D445B12023AF1A7BFD584D44CCE04F50D77E92F39294AA1BDB08FC656
-
-7218CB7FA34A09E1574F7AE40DE43FFB717625F2C5629AFD71ACD8D80B88832C24D8DF82279D88
-
-32811AFCD634C52E321A4778FF066508A0A63CFB3905EA75F5821DD568B90D1128BBBA44223C7E
-
-75DC8F780568FB2E603962125CB02C1A492FCA0A0096A5BA8B7D0CB1051A94EF617DA1E5771B0F
-
-DACDCD877D0699E01650F8CAE7027A20AC308B7B71F8D2709CED981541B50456D7D1724D28FDC7
-
-4B5FD05BF71A98DBA1B27D269436C9BC668FECBA8D660DDB7CF7F7F961BEF05FA62E49421619C4
-
-4CA720C2426A1D486C95E026416DD8534C85AA200F95B8EBD4A452541629E1FDE2FE11D84D969B
-
-2AA01A9B7F546A64F598183C23E26D38D86F47E29C8289C5ABEAF1D5ACABCE10DE46C50E3D25D9
-
-80D079E8BBA99515AFD9DB25CA8D34984D5D96ABA65E2850482F264D8316ED3868D5357AE02AE7
-
-3CD5282DC1908A666F9EAF15FBB2E19D3EA3509C5781ED0690A20621BDD31AD2D80F7787C5E678
-
-B7171B945C5AED7918DC313E011653D4AB5CA151B48144A0A6B2C2DCFF361F711811DB6F249BE7
-
-6579A43ED363306D6811D6E5801D6A84D4C892956F0D00A98CBF568A4BE481325AC9F0972FBD5B
-
-6CE323B0FC432288501276BDDA4D50505BCEA44A5C7DFFE118F1EA9FB0A01CE3B7D8D042CB8C40
-
-FA31C0C7F5D650D856C6CA864BE3BB46D88752D81EB1500923F9DB47C86B86998C8B1DA70776AF
-
-72BD3CEE2F22FF7F132DEEDF8E1FAD96D242863252F03322B458428A5D996852B1A862C57CF087
-
-C1ADE9803FAF24D25ED54C9CAE1C3175E752EBF0DFDD3DCE002BBEED1A185F2B968F1789645D13
-
-D83E3FB15F24DF44E85B303F32C681762D23ED813ABB75551A32C8D35C60FB3784E926AF187F45
-
-E98DF1FE17EA91AD0A11EBCF14BB22BFF19BB52452E8E06CE322B2959CEAAFD992054CFE95C7F2
-
-45F56ECBAC06595F4202A5272B7AFCD40C99EF3F78DC9FEBD552DD4913570438351CB76ED69147
-
-B46AF589E77DC42EF021804940ABB395F549AE7661B0E28E180C8B24B82BDB77AA17D8FBB1BFBB
-
-B16ADD5B48DA8ACA8321A66B606E67F0D64215BC3E25E74E26E6908DB19E966F94B1F3FF872642
-
-5380FD722B02C251D57E301016F29A98416D90B1945837E265A284FF2B8D655891D769DAAD74B5
-
-EB5A3274FF9140D36EBFD08A5BF579BFE5B3BA96856ABC7C4871A0A8F76D0734725F6F1D42EB9B
-
-B1EC84AE290BBC3DE601801002B8E5F075A15D81F958EA446DD2DB8F5DA10E7729AEFF94D5CDE9
-
-9E4B923722567B86EC81999EFA2F713E597AE8D971586DB1FB89AC63D3D4A6137053B4B9C9186D
-
-29994F5E4C70172153BE37E3AB1B9388A6765ACD2B02EFC8DEB50670EEF79FDBDB3494D32E9687
-
-A193AE6DB2B7B73C43876FF32D8CE6420096D9B7F8A9850812881A1E18054D57B98403A323D05D
-
-DFF6CD7AE59F4EE5FE466CD63C27D7FB6FB63885D05F4AC74951392F0BAA27B08CF886860D4484
-
-415E1DB8EDCAA39CE758F8DCB80F961BD4306E4A462AD7AA3332195002B32D53E5C212C01C9949
-
-FE30E8A3EED6747E7657A567639006F3B411985444AC3E1BD133241D58DD32A27803343E8DA969
-
-60AF85010E9B3B16AC4CFED28F3500D558CEA50C507F7A89A7F069B1FAE873584D6CFA0D4F1C29
-
-C46207EB676782B203C55279B677716D754E0C14F15711975054D94ADC8210EACD30208E0FCE47
-
-F84E120C545DC0F1A4861199D42E5A809B531D42AB092C9C42167DB6303C5A334DE18DDA7E79D8
-
-ADC546A81AF4BF03695662A9CFCFE6FA469DAC6056242A8FEB87929F978909C6D4C93DD2D60BE1
-
-60FEFDAB92638872C3E6518746C1B1DAE17AA967DE79876999615075B2FFDA67EE9B743E2CD560
-
-EBBA5608A98A05DA37D8F21C1618C02D8E978423DA80D7C38CF562610E85DD0F1775D8021C9432
-
-7CBB1F5C20EA41E8CA19A4E6D50A3BD5129E21101E312A9C8F470E1EB12D038E5AE4DE537F4327
-
-B77091667D196C3612BC6925A24E66E2BBCFBF6A4C938457FEE36DC1FF74ED7A9C8F6483C58F2F
-
-27B7065F35663227EE4492E3F06B6071CEA45739ACB943BF0EFFBCB99D03233C5312703E74CFA3
-
-5288182D9F371E3F22257964F86472AAEBA8061BF039C98C0B8DF14C70FC8A313DCDEB943E6253
-
-5234AEE628B9F97660A768CFCD04701A0F4C818BA5C0219E70B37570DB0D625E4DE3F220EEAB0F
-
-A19422A17124B098EB4C9C9E71E2AA0BF536A81161C2788973EB56CA0A8064D6025E64C5726523
-
-265C2E6AECF2E044D0969508CFD4DEA7AAFA7177FB797A5E58205C094BE985FBD4CCD2D249ECF4
-
-B2D76689EC33F64889F2AC40092F47B9BC6D5CEDD1A9F83A0832096B81BF7629E46591C109F57C
-
-4018EAAB78FE716D76EB3C35129BB163C13F3AB7651E389713513BE66A06E082E90FD2BB0C5CCC
-
-51D229B3BE5AFDD175DC9791EAC0C2BA4B32CB0427AA15BB506BD677907CE43D58F929C0E711F6
-
-FC95778515C25FE9B892BCB8448EC6EC0BE48861D1D57E0B36F62CCD687D82404CCD52A38AF266
-
-E42D201953249DD0E84308C0CE4A6056B0952F25084C684D3EF20C608FA6F4C4E3A1A274307747
-
-4E903EC46735429FCE1E1EBA363D509385AC067FEE1027282F6C735768B965F26E542C4A66A62C
-
-C134DFF94C692401FB96E63F3FDFBE3F531A26414275CAAAB1468E2B46049CB39989523D2268DA
-
-DB1B9DF4BFAE94F06F71FB2FBC496A687E62CE86572B9ACED7A6C65F9850DAA52EB296F7DE332E
-
-C44FF1E0EF2E2256A1B53BD9C55E75B81AA96830B1EDDA395C6FA74E0D2D509A5D77204BE7E17F
-
-8E4EE6CB1763728002991C68357AD3882B9C216B8A75746E29680B4A807386364E8E5CE44FD163
-
-4DC1EE5BA8F95AC20135A4344E1A9A367FD474C3572818FF643DBCE8C8D0C00DD800CA9EAC582D
-
-C5EF87C4D13408759DBAB4E8AABE8E77CDE2CA89BB581FF57D7DD284BB8297985444DB074D299B
-
-3B71A8F9B586E153A23F750B66F396B6312CD221F44172A6BA22449582A9294ECDBDFDF0917B66
-
-0A2DFA1E643188A0395C2E73B35FBF25A957A456791AABE4713C2BD33F82E0B3DA41D141FDF28B
-
-94B72AE08A0D3982864E8A565FFE5BF9DB4A49F721ED28CE94DC27DAF503154B2AEF8D4C3B52DE
-
-AFA794FBFA63941E9AA7F14D8FD4A3971D399BDA0797776D69C0F65FDEB09F54FB732C4EB24A1E
-
-74DF30F098C59BD853E4AEF3DD4719D883F38EF4131EAD84DC3E23B7A35825F39F603A1F8F10B6
-
-FB7FCAF52A1A7E315E4A8B9DB9568C2F23482E9641F80073330E8D1B0280AA09793F1D93D8B5CB
-
-7841A1EA9C923275103B63215B439F7C23C2EE2A4CE38DB0B7FBAEABB44123F0FAC8A5FF1DD555
-
-1F4CF7B3313D6A392B58BE872FCE3A867D502834B56AB141814BD0453D048D6D114F938C8514CA
-
-62060978E9B954F45FD68845DADCF5B8992BE49B25022BF659A06B65D4E7182565A3D9009B62E0
-
-D1AF3E897D35CF76F5AC69752DECC7E3AE398832F4EC4208A1249F3175E65964F4E183C8DE2F07
-
-ADF37CC73A111890AA07F12B9E5FA53CC3FEC2AFA98281D95DBBDA5AFE7709857B98F21176C381
-
-5B765AD80E38658EA89A6F88354C3B1C906749F4770F1D97C1785998D591C001C437B231508398
-
-1DD933C182F3FEFE22C6B9817715BD0B0929A1C96EC3342C31A2582B9F900CDD60F0835DB71597
-
-4DD0844893C13D12728093531390082BF3ED1D4C7FF399CAF014BF996745142BB3B49CCE64613E
-
-5274252DD36C90C714EC02E6560E0AD5EFE5412B6784421A7C12A4C0EB9B079E0A2CADB5951A92
-
-A6783053658AD4705F321A326164CFC717A214534EFD49097672A9076B3473560FC6D0BC1DE474
-
-713D41F68B804DF99ADFD2E19382305989E25FDE33356E3D8C4574BA41FE107BE34D322A1C50B7
-
-3B964707DDA438017226D5BB4E2FB498D50C9A7CE93E6D52473681008B733D494BBEC7683FED8D
-
-31F20172314B781FFB9FB79DEA628109340C92ACD967D4673126C95FA8C6E2A8035C919C3DC2CD
-
-A6787DCD041223A1F555BF011BF3A0024D8D3418B4CFA68389FBC545E1B37AA102D91EF40397F4
-
-E2C4564FBD4CC394C0A1153C3A0D51433725D358253B37567EC595609B2BC0FEA0AE65DF4E1D20
-
-73481EAB5035A7B91377E50C19A261EA0AE9BCFE4DCFC78E426646D64A546CC03A8F29B6A513F8
-
-8496EF201D7A9A3345454A497A06F57BCF060C8064472A7A6C156FFB96A9CD663C807F4DFC6B7C
-
-7DF42A95FC91FBEF4E27D1AB6010C76B016AC1EECB98184E501C7750500819FA4A36A50EAAF09C
-
-A8A0282200D23F769418E8421A940B894208860A5FF525EDB804AAA456EEBDCA2D57D5E45EDF16
-
-75B3A693F1D7A6961724420BBA61CE91F5DDC953C698ECF6CD185BB510B05E056F87E6EA729CAB
-
-38168E57A52153A5BB5938C085533E50E6FDF30AE4C5CD5F61B31BA06E5B069D76A95CDCC64E7D
-
-FCB162DFEE4836C38AB16CDCCCFECF1810EE561DAB5F5A9059D6321EF09863A1627F5C3F339A5B
-
-54CF627D5C45B794DAC46B9E57FEA489603A9D2315CB9A42CB24ABB75555BFDD2147E0DB0A7F58
-
-0BDE81C7C70C3FF6FD6CA304D719C189D0D7D991CF3E87E15240411FA94237B9FB145FDD4380FD
-
-3A5EE1843BF55C6C9F640F7B9E42AAF1D96FFC44D53719B83F9C11CFDFFE51BC454F50F20D4F62
-
-5516FE4FFB1EE798C85AFDA53319185A2CE94EB37170BD3B949582ACF20F43B0F1C4211843D50D
-
-4C0FB615107A5985F2CE49CE2F7B159C4E566E617B1C446198F48DEE3D31E9194AFCA71CE2870C
-
-6526AB1B0614C1B894FDC0DB2F2356082B8C311CBBFC4422AE45B90852326DE98A17CA8F5EB9D7
-
-492404916C61367BB9DF4FAAC2FE30C6A739CDD73E0AA1ABD14BB2D7663C86BA2598AF8B553602
-
-DF5A032CF80F79DDD04D3630DED47B48E58EE74EAC81A5BD90236954A02D98A3DB705DFBCBDBD7
-
-598D774A29200632F546A159A2656B85982FFAD6E2668069663CE017D158B7CBC1310BBB867053
-
-B300E8FF4A5BCF286D6D77CE5F5890D3E3FDA72C5DA30D7D72CA3E040DEC3792FEFDA71CEDDBF8
-
-58F17396BD5B8DC99EDC09E9A2B98877AA79665E1E43CFF02030BEFDE9E1497C822AE458BB6B15
-
-0F6AA44D7064E68294BB84CC34535060053D36A75B75B7DE664D281406FF31BFC907174B76FC51
-
-1164602EAEC09AD19A0DD24F003C17FE377B75CDA898A38A4291EE50C5D9C69F4ACDC239477849
-
-C60F0099822EDD6E3BB567ACC171F7AC87C775E56B079147BFCA802075DDD839B869C4A71F63B6
-
-B2C65E4B9EB1CB8BDF55BD6EAAE1F290B52D712C14F365D3805E29A3B5643BB90EA7E1CF8D9B42
-
-FD09FFBA06CE9941885CA6F91F0D1CFE91A94A9BC6164634FD7CA2AB88952FAA0D249FCF47ED81
-
-B9B520ED9A59CEBA8993932D67C4F9ADB27871E711B7F0F3A4845510C423845F396AC3938DE83B
-
-0304054192A788E343D51381E622E5D46FEAD67D853BF1C8C269D90D21B6267409A20E24ECEA5B
-
-1E0838A434585814C7E5128BE6D0C248CAA2014165A8B97AAA6BA8A3BD868361E8AF0C120EADBB
-
-C229EEA78227188AB22D8E85F638373E74CBEA7197BAA9847D8EBF16145726AA706C0BA81EDA7C
-
-FF7E88B39F19609165640246A4A9B7F261A5C93A5AD64D933C4A8EF9D026F2297F0EFAD595D0FC
-
-87C1393EBB9581D91814C47A0A3B06E5CC450CC22EE1B201752258453D4F145567F7D83CD99920
-
-B5C5C19B0C8BCDA6948298B6771A50CAFEC673F44A6080F89880EF0F766DFE9FE1D9C850B0CB7A
-
-6CCCA280698E832649CF604CB549CAEB31CD8356ED106F365321CE6809E2BF26C186497CDF2D18
-
-698762E4749A90F6C1D95B8EA7EC96319113C87116118100FCEA0D550F2832C57A8BF5E1E1C847
-
-F0C90EB114C7CD6C3AC2C2C5D7A7B56598739CD0CEDCF8D069EDC437C7CEAE5C0CDFD46BB57F23
-
-BD0D61B1AC0B9205FF34194628D5FBEA6CF56DDE45943EA188825138341713796874E10896757D
-
-93ED98E7B60AD890DB2AB682330AE8E15572490001C91EB2A8D7B56B33BC7E0599D4DD3A5692DC
-
-D2E05FC5DEFEB9102505392A008ACEE79CE7B2BE2A2B0AB1E783F353183BE0FC9D19C00474E0CB
-
-8817352AD755C63145D7C965C0E742F1909653FAF30C41875C6B7ED342141DB4E74512EFCC5B64
-
-A91468C89A8E692F0EBFBB4BAA6264E31702817C9AD8EB8BF75104E4D4ABDAD1FD5A81166FCB17
-
-A54E71767343F36C47D47FDE07FA3B7F943C2074622BFAFBE75603A0A117C1BD679113900992DE
-
-63C0FFAD063B669BABFF040F372B03A3030D1D1AE05188B73933127E8EE73625FC75DF1138F055
-
-C815FCA4AED0873CB6BC13414731FEFD7EFE52E3EF824C75E0A0561DD0D7BFDC5808F1B78B7D9D
-
-B562B3F0697A11379D087D49CBAEBABFFB60402E35DC6FD4D20D3C2FC88651291C379E4E8F1BC0
-
-924BA435EDE740137583CE6241C8C2FE4DCAA17103C8C8F40A37D27428E81B370788FA30C814BD
-
-1501D07654C470FD5E94CF0C0C52B5FD6E510EAB08D8869B108849B9003E7CFE8A256DF7268EB1
-
-DBF4ADE9FAFA0963B1A6A9B8AD40011E721B992A9FC9C998D26400ABA8C5B9D521C28642728063
-
-D9D0668B2B639E625D4B4F2FA3786E57E7938F995C893E7D332621716C6968004F7C302889C4BE
-
-46046983225AE2D1BC276683744800DF9683E960A8689338789ED2D2FEA1D639804EDD686295D9
-
-0128130940AF251D6B7803F0AD941F3F3D999C5459AAC5765C743BEB8CB02461B54EE0281A6006
-
-3AA762187D3B03EDD3B0B1F4EC416DA20DDD0D89CF302F6377CA73A36FD44E86C4DC6DAE2F5A64
-
-AFAC62536CDBA2C86D6AC1C6AC679E50B557045B2EB802C4C7AEBED40623B17A93ED24B65AFA01
-
-0C3FD297B52B2647355A411ACED255CD4EE2ED397B3DBBA4FC2745960491AE76F826EB9C3442A1
-
-661D656C27C486B3568A63F0D6DB571B17380652333C2D262A69FE1AC016D6D67C854A1AE0D72D
-
-ECA2AA38E6A3A3EF52B4EFA56B1913C0154BC1722016BCB3BE5B4EB5160DC9CBC068BA3EEF1F68
-
-7B663D25789E03D465A88B93A47404AB2CABB24AEA4337A79DED69CECA3E5616F3A1BC6E923B21
-
-2F58DFA41730543D0E484D43621E697DD091D3BE143A85895824C13FE5B2FC2AEC9CE8B4899197
-
-8019B6AA777AB5EB24FA352CA317C7C7F1E9549501DCE4C016AB22CF3FE5F1B911C5FFCBBC7969
-
-2D54AB0B0C92A5DC73A5BEB28FF8D2963CF66AFD981EFFC7A1246653E07A5A071442F0F5F719B8
-
-D60022D82643527C424D74F130544FC363F9D4F771B846337902AAE901C881130559CFEC5630F3
-
-767A1E1200A4DE082427A6D0DFD4CAA59DA510C73F7ED165A7FCAAAE1B541F1778A6B8FE223F28
-
-597743986FF80C2142BB9E347892AF7AEFEDD29ADCEAC1498B31F5FCEE94BB9E48750ECAF7DD52
-
-A39E793D99C03D875B9330FB1BE085B968C3B4EDFA0F050CF84405D3A42EC8732AF0DAC9C86661
-
-337B70929CB485028EEE81C0B465842EB01DF15C1EC0BBA5805FF3E900576E749187C0D94FAEC7
-
-E3F93F1F30D11242E7F65FE0EEF91676419B2E43223C0061E46C41FCF5FC82C011D2490D7A840F
-
-F0A8DD6CD0AB1CA81C273E1604A9F54AC6EA6BE04E6D14FEB14DEB14DC7CDF5878F35224C5EA7D
-
-EC76C8C5CDF816164BB47F9C6020D371F30419198AF45BAD5792D148F915BAF0DD0841169B77E4
-
-5AB50CDF50B98B4C54CD0BF91269D9FA67F74EF71BCC462AB9EC71939D361EC20AB52BD906BDA5
-
-FED00D420E32CF30AFB953C4DAAA807D5A5D3F24A353E9B0EDCACEBFC69A29E65A5CDD1B61FB66
-
-5003FCBF372FAAA06019F9945FBF32D62C461F4F4E89A400F9E0B3A46BDCA99EEA1AEAC92B3ECD
-
-C7B14616345D9A3FD1837FA24F916881004CC27351A131400D7634ECAE7DBFEE4553C86A9B1362
-
-E3BEF463D3B2923B45F5D8241F43533EC0E81168EA76DC28DC20F6A71508EF1C0EB6B946C220DE
-
-FA265F3E8F35EBA374D0865539B3857C9A21B1D43BED4EFF755B1E2C2EBDEF2A3652F19729DBE0
-
-59D94FB5448BE1F8EF205E070199F7C1D55394968A1FF745AE925EFB7237FF79FBAA77731C6C47
-
-F6866815020AA41F7F3051C7ED028518628522AE80FAD972B0A988F5793BE8D421444A2D2C0061
-
-8C6061A4CE81A807ED81987248D637B525C4E2A3D24E8AB6EB11FD36E9BCFE5432E46B89B2192B
-
-AE685D7EEF494C82A45EABA1363D2F4B7973AF5B2050B3F5471B2027511F816F1A3775861673F4
-
-B292E3425234A41A3D270A0D0C0139C105731A6F5F845685B77876B46F5ABB4DD64B669323967E
-
-D11E40E3A1837B060A6685FDCE58D2DD31D0C9A9AC68203E78A787FC6508B4604DF609D14D7AF3
-
-0E0D2CC07A4905339F7AE4522D6061FA6A7E4CB7A5A8B2B5C49D7A72DA46892AB0C82AF7D3AE1E
-
-6D882BDA8C266984230CCCB95AD2F5A0E33685BB93DFA60D8FF703C76887C32D93E53DE648C72F
-
-25128565DF4F410D1B2E8C9D569B706CB99542A27BA685DF09C752286021C18F9BD2B9C582E827
-
-745D6901DD99C4336C0268C0E8A85BE9C523DA1E4D0BA4571EADE80C88A14BF4E7450A1BCEA1BB
-
-FF95BDDF2AF1BEFEBBEE7429A4FFA5F72FD40A7AC1B70F8EDB8325AA8A611E37B0BCDC846C6C13
-
-CAA9A830E1F090059C6E3405378DF90C1AF48288481268DB2AF862AF3AF7A9C71EB60DBE819839
-
-6083CD2F545C7D78A37B90CC3B9F35B30F8D424EAC374DEB8EC893715791EE8B0CF8F899A4582D
-
-C9F2F738232B983AD8A77855D1E61065C4471EF0CDF72C0C8AC6AAAEEE1A767E8F7F0035DC77AB
-
-95BC1E2AD39914DF3E13725D8C3B5DE747B0EDF1FF3F80FD160D9A2055B4F2FF20F4626AB41979
-
-5E1FB1F382A07639342A4439A6E2F18F3832BADDE63DA1D78FB63557261C6C86C6E99FC9D252D8
-
-95A9B653782A4CAE61A6DE512CE97EC46442BE27746A90474800725E95307825739592D585054C
-
-07680680F1B60D37D64A5B0A69C84BFB05CAEFE941AFF94CD357A53C9C3E26FED2205B11F82F79
-
-64DFD8FF16D5A3CE12905945BF41C8A56A599877615B23E436DAEBC71B45BF0163A4E6D13238C0
-
-479C3DB9EC99FF0B74CD22248651F2E1BC7860ED0336E6C078D0ED4FC72F494D3F136528B25CF1
-
-53D41DEAA0761EC1E8F31F90DF1D73EB3A5BA9B52D829EDAE98000B6116072AEFEAE4D861E8928
-
-FF9DE376C856EBAB1A189F4248318A44CC3E073B855A13916073162D7A26C08BB55BB39A12033F
-
-93B55DB97CEAAAB975A7372C15D32D66578A6539ED61097D4E019CAE33119870E96C3E409E44BA
-
-E5F9C92F044BCBBD1B1041C5C68C45B766BC1FE51B57D74C11682E6FB6245DB5B24840FF1AD084
-
-4B98342B17E18B42B9FF61430B3A703D97EF8FC75B5F8462F404CACCDB2E6D947C1FCE7DBB0388
-
-DCEFF510B06216C218BE38F9460726FADC19D133E046C9057198C1C25DF85D45EAE84F3A66D339
-
-D9A1C0CD7FB6A8C706A9BA062E6415BB11BCA1923732B2A9BA984FEA53490547A03063673BB384
-
-D78CF48782AD45111EE91BAEC2128DF1A273F9143A3D28AA3E1F22DB7220092047E22268AEA219
-
-D0037677A57AA98432E3749FD577DA26285AD0E67E231F5E208385F4757D217C7070692E6AEB04
-
-EAD85FC981AD586A35293854C147A62230A8790822589C62C1BC182F9E07B7E0C5B1D02E9A73CE
-
-222AEBDB0AADAACA9685B12D914220637855F928B1C95251080DC17BFE674938D33E6C92C047F1
-
-BDC22EDE502AEEB780D6FE78304E0AEB47F39A7AA01C8B3074FA0A423B603BFB29D99F1C125E41
-
-42D310FFFA16CBF8EC7C2B09E7B088FC222706993BB4EF41C9329CF0AC1EF60DB5BCD8A7FEAC1E
-
-9DC111540A7E1633F36B0D94CB0B15A8E307CA19B3CD877BAC7AB9038CEB293CFA0EDC053AA4CC
-
-5049CF239A0841C6391A1ED537B49655EA5395477646BAAD042A98B61DD270973665497FD5CC42
-
-4B30C3911C5589231559DBD1FB713E1A384DC62A16816558A15CFCA84CF4BAA29835107C113B60
-
-04BD88E1D4B6F0EF035083AE58040791F8249B764C341064E95D788B90695E3FA9E547E456F5D4
-
-7995046BC81D5473E66C374FC360B4410670E527BC95332D6FE7DB8B8DC47AC472F37E83240AFB
-
-3800FCF5AA3279E672B3DA63FD22384CCD852C2516271892E923B9932B6DD432BE49C90DC0B554
-
-23EDEFD604A08963151679A94E3FB3E64340399F075A21DEF7843CBDC9D2D347D59CB072F12962
-
-7BE7828A6E9DF46877235D035DCB1B38BBC44BA3E7E8FCA39B5B34CC649152D23095F93B74BB7A
-
-ECD3BBD7E4087854CB47132679FB573AFE2A091FEC294B2B9E730625F68291EE7DC28C3D554037
-
-F62B30B05121A5A55D37081BA4E6DF3CD6E7347C8072E518250DC7305555487BA229F7A35CAE7A
-
-7E53417AB93E9630F6CED04F3A8C0B3B5417DB9E1D48C63EF34AF5EFD4F13AB7697F7DBB88B437
-
-A26532070E89E418AEB58759CA2EA0403C3D4EE2260F1DBB3CE9F1F06EE4B9147F9DE988324791
-
-E1C111877A6825DD08E8902A9555D2FC7B8B746C4B214AB4721F6A8251CA4D62F8E33CB4A7EB78
-
-C6C55F215314612AD89D5DBD8D5F614C8DF58AA798C7C9324FD435F059A1E94E90B2BD5EDFBDB1
-
-FDC906CEA9F5CC1204A0EE9FB244AC48B3F85593C45FBAC2DB4273AC81C68EBCD7B95E13B3D8D0
-
-87399C5EBAD86963453E54A2DD3BCD91ADEA9F0B13457B456ED9432C9EC1F4A34AB0FA8235C26F
-
-23838D53275CAC1491BD8A45026446F39EAFF0CA3CDF787D3F75EDF0D90260801639B3024B04FB
-
-4D0DA03D4FD56A2C45AA94062D92354212BDB7E62DB57BA0F08EB3727D5452E5B70B6F0FAEB0C5
-
-B8CD99011D992514D5C1D108E7E6E3DEBA9753D96DDE02BD87FCC830DF9AF89D97D6FDD9A6C77C
-
-489EE06A1B453F8A7B3776F11DCB71C9304899A22FF393F8DA55460CDD2EA1C8C70F4931FA109D
-
-5139EDD0FC9E323D0F8E323449D12470316A1D5022DD855EE9357A35C0673A093023DF988F52BD
-
-6438574B5FF0EDFAAFE12DF3747300456ECDE2814B5CB39EBBAC8198B3FD21D1FE47D7E9326A67
-
-99AB4CD5072584F774E95C55EC967AD6EBC94C45E3E2571F982379234E5FBFCAF666ADF6C64763
-
-B99496497A44A1E300928736B77011039A31CE6BA569B19AB447A6F1C95D5CB423D6A6A9FCEB77
-
-4C184F45EE6105F702B25E6586296EE177A97F5C508393206A15C40BF1EE90C1DA654EA12BB4E9
-
-C0F1D8074EBF22BC4FFE94DB00BBC01DA692DC6E72F3976C6184B7F17066B6C0B913577705EFEF
-
-F28C430A0D20E9CFBF3F1BA2F378FDD07CF7C4DAC021FF0A65E82A784F5B4DB061440032007E3C
-
-CBC4919B756235DB7988A17F76C9F16739F3202102D84484CBBFE5BC2927B020CC123121EE247A
-
-A03AC0859B54231C345116314A453E35E1C0E9FD30434915616F1B6CA42073D53EC446F4DE65A0
-
-4060367D2AE61F4B71945D3F00438E98BE840AB4254A55FF730BD897F592C5308A41351EE39650
-
-D71D24B8F2500392B68CF88C25DC357CBF0A515124336BBDFE42A9DA2AE5ADCF5F74B4B6285C0C
-
-6BF38283EC0CB48981C142E7072713506B6A38E991B507DF8F0927CB86CC86C7102446EDBB9DA4
-
-019CA4754FB67324019837E8DB09C4FC33CFE423DA1F2FF32CC343409C2DD71C814B930F59FE25
-
-E81AA8EDC97BCB05C03A51C48438020816EA31E6CEE57E394F6019945ADE3F9BBE5238F5AEE297
-
-82896EAFDB40CB42876BCAB6F37CBF8C05B9A84AE9D7215774682C0F32E23FFE0D61A04CB9E74D
-
-1D04B3AFEAAEF7B94251576B80EB8F15619B409AAD454613FD50AA7D4F3ADFFAB7332595EFACFB
-
-9655039A8D13519DF9E8B259E342F45501FD9414D9A1CE8A1DB2170C0E635497A54BDD296E4414
-
-46DFC16311669B81EAA99EF9E9F9DC6173ADECA4E9FD1D4D924A6FDF1A619D83D5AD745BE22CE0
-
-74AA80A93FB804241573C4AA99B435C0C553B6A34C1CA2420D4AD5AECF101D0C220117F52FEF1E
-
-A6A7C2E6C5ACB12F4CFE0434D38A7B80D457299CAA7BEB22401F6F41BFCFF1B73074DB204AA4F7
-
-4BF21DF02FBCFCED325450A316F3D0E19A9E578EFF6E36AE9B9FA83AC2761D9B0799760774555A
-
-CA3DC87F8FEF04FF41729AC36E78730AA4FDC9B200DD19E55A2EEB2914BC4A7AB668576E842FE2
-
-4BC3171AC6FDE3B12CA0A5CE473CA9B16AAEEF1E038F3CD0CD46FDECE92D31989529AFF640EB74
-
-4534262B1C4E74BE8E23D394A492BDEEFC7CF549C29298CCB93C99F5E7EF12F0F31F94BDD5571F
-
-A1393D675F0F7FD577F13B8A650627B83D1377E1D5BCA502A977CB56B3238D907336D392005BFF
-
-92FC98D953772DCB25A3353D07B7A21E21744A996725EBAA1C4E9359DDB16EA30F8B7B054F4338
-
-D80BC231101800CF513329DF073BEE3A9E99ACC65C4661660AAA6B2466E06BE9C9123A663F9BD0
-
-4705A874392E443C986778FDE4DBB2AB0AA855471E6D01BBE7B21F00725454FE21747084EDDA95
-
-A23AFAB912899C1155F94CDED48C003C3E06755DDDE45BC868865D5B5E6B33F441848EF915146A
-
-843A1B0F83BE8A3BCDEC8F7C33D0A6C80C17A39CFD9E466A4130862C8C9C6213593ED513B82E12
-
-7739B18A26A31884C99E43CB69082E710679FE9EFA6E57ED06B79BE2AD684EA2927843B289A1D5
-
-E54BC9B5C03EA51F5150B1B1E878D467E6062CE785053F1BC01922BFA0EF1527758F2DC5C97E84
-
-D64408424A58B069EC173390844E0DCDE2A14E874BB99D4A237BDEEF2867158C1DC360EE8D1CCA
-
-3578F9434A856C06722CF9FEA30AA6E923EB7FA1E4669732473F04A4F22282782B18B530C50616
-
-807BBB1250E64CE29BC8EAD8023A47DFD73125952ADF218E0503E6B26F09629757773511B97661
-
-28BDB57D2644C1AA9411C2BD09A1C184648ED435E61F0A8E6A3CFE2B19F7756604A32CBD27DE9E
-
-B083BEA7B9E505AB72E8A011BD3B38D71943044D552B8A2C6A9529C74C03461BA230DC1FA15BDF
-
-8EE5E8C00AA2519F2768CB41B29EE521879E4F5D33022E4F44E8BA54D9E952D730C60E283C0456
-
-9B2A7E0293E622DB7AF03759F4F6C873CE2D389C99398524E8A277E0124F42A701EB9748232621
-
-AC50CE70BAF6DEBA4CDFB47332DE090F1E6616D7457AB01CD96029F8E690231882F653F26FB2ED
-
-07DC43E96DEF70FFDDF5FF0802C87F60FDCD5C263A8AACEDD785454C63D7D1E4F0550081B30C1D
-
-460D7E7855548ACD4E31BF10893E793CA56A9E2B36E95C17E7B1ADFB825827FE2A6C00888BF692
-
-FB608A4B5B21ACB5E539667DFA247A7C108118D73E45581E53A30924061EC53D1E8C96527FD228
-
-91040578E10FA9B1B897230214B7224AA95BAFDBA6DB7DA9A65C6D19BB494D4C10E50425E88A05
-
-8DF29637BD37DE8482816F8EA5718639DD5C80671E52B9EE96470204F17C938B861718430AEC84
-
-04A67E719EDC2CFF1996B71FFEBFE745C5A3007545CB68716B04939633B6EADF766BD82AB8AA4A
-
-58917F66B20858E8B824432028EB5D44B20ECF9A394A7D2CF0C0AA6662C93442C8E081852C778C
-
-E8B3EDF6742CBB82412477FCDE7668A431F255A09D89558D6A95DB4C16E4A8EB40421FBA484DDA
-
-6371DFFA62972FEE696BC1C87CBC8A0A7854F9C53B52140C41F3E41A7CA5818821AF96C7DC4194
-
-EC0CBC08B2E7B3457FEA3E52C46467EBB84C739FB61BAFF1EA3341E1CBB563B9B8A31474AA8A0E
-
-AEC04C792AE8C1EDAB97142259FF325918D503A884CDF665D0494FDCD6E8958FA02373AC28AFA2
-
-62EC087EA4E120D22D291092834025B8D5D5B1FE22887017160C00A48BF7EABFBA436E2286EF68
-
-3FD641B1BDEA05A364B62E434B9E28A15FF9BA9EC7EE3E280FFBC79FD45A29F41B40F09CFC29B2
-
-688D662F156261913B3FA356A05EFC9D6CA122FB208B49BB38EC7543754CD60BB69C451E1CEE9C
-
-16A6C8900F6AC44EB8E8956B9E9FC43339F6AB2EFD67CC9943D3E9B957E2AC707FB9C035B89300
-
-81DB24B6A862189ED78C6B265B5BA7E0F4BE520CA0C6D0AA4E2F06F2E3CB1000B62494E924D03D
-
-081FE8FA8041E6455E0D2BE15FD5D9839F8E9D1C449EFBF81340456A7C11D3ACC1F17ECD601AD9
-
-83D228A1442FE934E61F2FEAAEB222A4DC974A49CA8AA64FA58A0E9CC64E1D19E8CBD37EA99E61
-
-CC37399CE7A4B002F36128D90D48DD0D929C150A9B791E1380494723712D4E9627689B21CACFF6
-
-535E6FFAD9CBB45FF42251DBFE4ABC9603ACC441AAA23D6D4CC515928A5B16A8E8EA265A3D50ED
-
-1570D38FA8CF1F52CED44AE32C669A6A334061D4C17EE9594B18EED1CF49C9DC20CE59CF966938
-
-3A6035B828AEDA54CF8EE35AB11ADE0CAA017103EA1A16F8289DC481FE7A027E9D56170F6AB618
-
-81FD9E6315E6F4AD853209C0720140237E3C444B714A417794975B942458C1965BF8BED420FF2E
-
-12C0BB6E977625AF3F10A16250E6033DC439D6962C59C77E5D9B99FAE6BDA21B09B82E4A832BC5
-
-04B4065400697262CD99A9C38259BC9522A66C2E2F4EDC8928CAAF77B9BF050E361DBE9D4DE7E1
-
-77F84C815F668F8BC2EFBD86E4C5C5F55CA9DC514EB07CE415BF56EE372335DE73D12DC9E67BBA
-
-6E5DFBBB7897D4AA214E51FA314E48DEADBA951330CFC54818C0205529520926A2074DF651C200
-
-BAB99792B3FB589FA7A81FBB417F94BB0478FF5A0DCB3CC649C00DF54686D76B6AE61AD0BFFA96
-
-F45EFBDB7EAF8D1CA349243B6126B26A8EFA36BF30904FDDF5D5FF102D67E5520B33989D196D70
-
-03297395971793E0C20A3C12029EB0CFC829D37D775452A9C4479BF6CE9AD9C2552530DE9628AA
-
-6EA46FC1EF19DA37F7EB79DDA088186832C8176864EC7BFC5E18E5E75C57995B77614CA213C0D9
-
-1F618C2B899E8BA93065C470475E0E914D39908C528CA0CFB179F7D88B369B0FE607020B2685FF
-
-308D779F2E22D9291A2B2BB5745E7311841F95DB8F929566A3A7FC36425891AFD5DE997A23F8B9
-
-9DECFAA1EB0A65155677B5EB5133DB8F3DDAD0745DA9BA572519C915B353985676734A828C70A4
-
-6A903A48F92C843C3C6BF42623C4281DB0B4294243A830EBCC4B4C722B9D795F875BDDA31AF7DE
-
-68640730185361F2B704F0C3ACE021A08A13393E95F0C153AC305BD3D6B1F9CD1BFD4E930AE7C6
-
-6D92DBAE21878D307C5B03AD9AC113581E5625A05D195A503F8460C00093AD8AC2155898D64D56
-
-07EF4022640582C97265A2F0D578DC7C33B2A8A28DC11DF55C90F2C39FE6BD29A5E0C2C9CD82A3
-
-136F63E603E53791354EFA93AE3A60903A3B284D0555602352199046F7E6380AD34E593A473D6D
-
-DE2B28CFAD3A75041083AEE4FB12D9EB4B069E405BCFFF5A98E3C2223CAC88F773A5C0ECBB16CF
-
-12A483641862009037D5C54A82FDD90D40D8FD663EBEC7C91B5947DB2FBF4718A627B10C078307
-
-699142374725125BE0A11DF893D8975D43BDF8AFB1476A2DFB2C8381E13CB69A8B494A6A8B0033
-
-9253323E3E285E05A9835FCF4FE2AFCD4D782A03FF8311F15A51E7F50385C4A1EFAA23950E7919
-
-D107F81C9DE9D4A10F64EAFBE8CAD85C0287CC4D4E815B561493D74FC62FEF72B5AE05812035CF
-
-4D8841974D9CE41B711DA438D00EC602C911274F7C7E0DD5F23035C5F1737EB151D12BCC736DCE
-
-4B2ACB25697D79DFD9F594B4DAF1DB7F540E11FA9D4A15C868C595BC35B4F74490624365948143
-
-51A771E4864CEBD6E92378E709463C6FE7BEEBE0F325613BD93094EFEC8BAAC89772FBFE654075
-
-351E62B844B80131E751AC4F39505DB26C8C34422C66A40316AFB198649802319D1FE4E1E66040
-
-1AB234971207ADED6B4A806F0CFE971D3577C7EC801355E5F84ACB3A33CDF296CB33CF42E74ACC
-
-003117D8F700FBD84F34EB9ADA38EE0716E1AC8ACE9882C10BB4B3633A6D877DD6578C1DB035B6
-
-DD9E4E2B2349350085E0428AAAC17759771BC4EDDA1A2D40FE0B15B65A8EBB4C28A526A49C56D0
-
-C24FD235653C78F2C40379AEE793937ED6F0BF8F4CCA825C305C0F3FDEEBDE8ABA6352F1DBF049
-
-55DF7695BFAA59E1894C1C57CBE29E48EC2F44DE77E3C449E13A25359126925E4C6C4649F0436B
-
-0188451E473513DF34C4FB2A9A37141E27811C6B33952D9C3BB0336E622DE192649C5BCB761700
-
-CE9423E9B52B20B7E29B6CA470221D593AC0C5D8951EE2A56FED99A8A3D018473C0CA28E4A4831
-
-D6A861A76C7165314BF7A299DCCB57F7D4CE2AEFD997AD21C55647DBE4F0FBBA1F413667B19604
-
-69FE97B144BF2DD823CF23E22313E8B89AB25CE9C1746F141E2046DE217ADBE18BCC3BBBE0468E
-
-03F277D3F95B56CAF8E2C51A0AAEDCDFA2294666A853088EF97BC279FB51FA78419DA0AA83BF6D
-
-8EACB8118E0462E0401EA83023DBAE6AD5420BBD25E3DEA46FB3B7C9376373C8E362E74B01AE0C
-
-E9D59C6945E108E0E92C23F62661BFA54700E203627BCAD11E7895AD59BE1859A9FFB6F7B01685
-
-23CB111552301916107D7D2A403543CB84AEFE404B8F170EE5B408981A88A65C335B3FC3454C00
-
-153FA92CC442BE0590766F765E30F82FD41499DE688DAE2748D5709BA47A89E825813BEF4DA6FA
-
-EC5D7EF6E9CB0913B5BC6A6776BF9AC7668485DE88E6265F5CDF0A854FC86DEB070E40A41A1251
-
-1291E1A6419C7694ECA5EBAC9DACEAC303C3E9FE8A62A64521E18B49B56B3ECA6EB0FFA148B2F5
-
-E558857426424288BB54DE15453E1B321D4B04C8D728B30B756B0597AE61F92447B3A757131539
-
-8701AA4F8A6B46B4283D50E26F5770EC6427592F16A66CAA8199AF84FF05A24A5FBFD1588B6114
-
-E24CDF39A99E7A6CD0BCD44E0E8776C9465D86CA3E3CDE34B33D317EC75D953411C90450003B0B
-
-941881686C9B4A3260C1DC4FE31F0A53577D4A4750AC7CDD52EB3274B61597DD5C111AF441456F
-
-E090821BC7B29806714CAC0EF5B8DE2DC813D42CDC8530F6EB1DD82657EE1B6DC39B0E2BADC17A
-
-7A13E4EDF2A893B41CDA754D6EB684D6A8D496DF331401FFAFEDAF3FD80BF1A35C2ECA54F42BA4
-
-9DB8C7CD73D81F5F1060515D47E6FC08717B9E9299B255536241DBFBC673945A38839B35D9C8EA
-
-1AA449CDA80805C4B14A54087EAE9E4EBF0E61C83A1BCC6C8243313F5C6FBFFECFC6BDC4368DEE
-
-7AFD489FD48DAFD34C59FA6D2DFAE7E2C8C95BE05D2AABA6D989D41C7F0A4307D118828963F2CF
-
-A652BCFAC33B22991E4F6D80D851C0722205702155EDB00053B5DAEC50744AE55E9184BEADA83B
-
-F76964F7D394FC27AB82DA1A65FDA56D3648D9F5AA1FEFBFA71BDC4B66E8C4A9DE4935F0FCBE47
-
-958493161696480DED3314B7079901FE5AEB10F89D9F153D654A0F0E58D70B922ACB969BD800A0
-
-F3CE421FCE37319D377D903741A60F8D83AE8FAB1C999BD8C391316A1C0CE6B3F181DEA3D2AFBF
-
-02ABE1237934194E9F42A973AB4971D3E3CB63ADDDCFE9A47BE78F24468F83E652E7E67D853F4D
-
-5020D7ACDBED250D1CDBE86D5801CD56913C20F8101F509C90F97263FAC6FFDD6C8705CBA0EFFD
-
-5EEAE1BE11841DC48401A7C41A5F0ED59FAC3CDFB8A2DFD2AC0F3C12CC0E964B25B344E1B6246A
-
-292D4E9EE6FA18BF71F1BB7A91EB5B8F0E20A4FD8593B803335980224D372417E3662D96305524
-
-F200B70168AA3B485BD83DF7A42A5771882FA599F0FAD36C9B4632E56D751FEB579F530A6A4C20
-
-A909765CADF9065E4BC80BC52FDA6A2186E22B2559017A626F230522DE708219012351E9205F6A
-
-45E968D94D4116EF55E13EF921B3740CDF45596206BDA272B14A8B2F6C6ED744BCCC8BFEAB9B50
-
-6088DBB57D8FEC837B4B00F57959EF515CE8A9802F54AF1DE01F071146D9A68BEB382FE03DD7DE
-
-AA00AA32BD552D2FD1B09E92E31E3623434A5A34E702ED0375E1A97F8B09AA52DC4FAB8A15F09F
-
-ABF0BE47AD03D997236B6B556AFA9C4A3E4135DB4956DB38F914446D7E0FC6AA21D4232B0BF5EC
-
-66F43214EEFC8CF98854BBD625668144478959A983A01DCB4FA2BC8FCDE08F3D4DAB474E05C3AA
-
-80B91FE4F53F103EFDFB1A509696E0B66830DE466CFE8243292DE34D4E9AAE50EFD539C120BB3D
-
-C0F7D3EAD1C033EF7EABBE1294276C0F78C7C089C76A1024870EBB09D493D9A4F16A3E65B5C5C9
-
-F380DBF5365BBE83AE13AD4E96C852274FA6CC8370CE8FAD45449D9050E7D2EAF352F169CC7EFA
-
-67B1BBECE485C2DCB608AA7B2B6F2762B7E4682BCC33EA0E305CC395A3D7A2C2F7E0EFCF2B1055
-
-F30E631757BB5BEA22D9074FF2D73588F9E9DD12477D44BEECB9A03DD5439C472CFEEDE2BAED9A
-
-FBD67AFF806759BA0AE34CDCB12CA52332C9328633C42F1894DE5F9EC50136AA1293C9D8937160
-
-0DFB14E2E95490853B0601AC7522BE8E519786C87AA5E1ED2B96CE221009AA9C55BC60AEA4E8CE
-
-FDB977B28F0551C306C22FF4016728BAB789B65CE07F611B9C84808837F8765E5D94B9C867C0E3
-
-AFB0EA4A21A324CC0A3BC3501C39A9BA928B09E9A87408314DE63B783392D5BD9B3ACF56CCD70B
-
-4933C1724732379A616012DFF9A9E14D5A55F50D841333958D6F36B56926228F4796421E470735
-
-4FAB7431899445114BCCE5D27117BFEA65EE1118505765132B7833FE9978899AAA1BE3E3F8AFCF
-
-0E9E1140A26FC9CA154A6BBB84C3E5FD6CD8B82732BE0179DEBACAC5340C79493A18FA2E5DF58A
-
-5F0C6546F5A5836BD61C904A8EBAF16CD933A9BC7FA72FA72F319A0A6EE86AD23C84E672D18CBB
-
-0696F22E1C69ECEFD15FA52706E5DCF3CB5311B28D9A614446CE033547EC0EF5FFAECF2A04F1A6
-
-C3DE91ED2B3FBA94DD7796E45D26AB00B99B3E295751BD6473F0BF36EBCA28FFAB2451E93DF4E0
-
-26BF0844FABC6A12EF15EBA64A5CA0E97C6DD06B94BA1CB29DFCDAD8C203C1CB6F7A1FAF4F3B58
-
-5BDD0BF922549CB45DF8F2196C709F2B9A35A43DB0043E2BD0287A3C313EE3C33F119F09A5619F
-
-B350F4011A93100CEE0847F1BDE12FEE8E323C8FAE34D535DB5A0DC8475DE8299E3C9CD6D8B0CF
-
-D6481619C68E77D92FA10D9EBCC13E474AD22B1F47D3F362FC968CFC1B5B52EC24F19BA894967E
-
-ED811F37525C260AFE0E2F9B302D6FFD019754EBCC14E053A9EED1905F402BA7BD3D8AFB09D2A8
-
-E94D0ADBC3C2ADFAFD2A4052256D58B221D0A20995F9C394F3A3AD6436CFE4F0030C7E8C2094E2
-
-092F5191C2C721CA9433369AFC221D01872BF68298677841A0656772649E7EBAAC8B1B81A38E75
-
-5B02DDA4D08B2F357C0C10E1060632FF74F7EDD5CFE7F9DBB232C3A231D128A3368C4D9872404D
-
-F45719B3EA0455836B893F07E07762F0A2FA9E011010A0872353F0CD2243E1860EC33F72E15EB2
-
-EDEE1A91397FE6D2729FED1B3A66FD009EA8DDDADD1FFDC8CD3603876F8D0C7AD60164A96A6C73
-
-B8A8B50985E1FBDA3ADC50018D341F285036B5EE255D975F6C3B5698AC4A94B2317BAC65889783
-
-4DB7BF52E9B8D20FD4981515FBEF23963A7F8636D0897E7EA88901CFAE1FDD18DA86C246507A34
-
-7672ABB116ED605AC9B4B6E899B9E8F6867140BE89DF5CD52C65C27E860170AEA6CAF303C860A6
-
-80A85394DE6896CF928BED76171F8904C5BBF4196BAD906569AC5C7057ED1201F2AE8393CBF704
-
-009124A6E5231D323C3FCE6C48CA239F169DFF496B951332DEBA5F06CEE48B6BCF824F0FB4BFE5
-
-4C1147BF208C2A9D44132D0895FA7A87F6FAD780DDCF94545F7030EF1808B30EC659FA2B6EA011
-
-A3C06070388BBAEBE45F8EAA75F72BA5B4E56380FB7FC3179BDB55A9A7CAF8D7FB60EAD6DA939B
-
-09E69159432671C88E22B34D115B6DEC54955454D622857094B70C3359D6A22C239FE03853CFD9
-
-9B7FA73D4EE3CD34124486F01F5CF05A423FFD794F577F50DE6776779107BD58808EEFA24DE1BE
-
-94BB27F82A19068D7F9DC695EC8473341F73FED626A4A6E89B58D4ED2024F78AC7678829FA40B7
-
-C8AA7400EE3CEFE125F64E1AB49CE67FA2F2D1B81FC322AA64F16463C134AF51AA9C3A154C7FD4
-
-30BCF4531EA9B6211F92006AC1C61894A7DD5C38E6CB8CC68D6A05BB95B0BDAF66971D357EFCAD
-
-89BCB8109462B796927389567F797E58823706AB224FF927A7616F0E4527D90B0DB9689D850D4B
-
-4F147080CBBF3493E564A1CC43627075E79BF3C3091E4650B8E607F4CCCBCAFCD3F778B7A1464B
-
-14A4E229FD41B5BC4A98880F008ED63FD25AE4504EE8BD38B641F65D0F3F65961AC315F4D68139
-
-7C2470E88813BCFC7E41FDA99AEFE170E274D53DD3D858D8BBDA154BFC93482C65FEAE4AD7E9A4
-
-7AC9530F0A82FF46E8BF22EC64B3A8B69527E92245B3B272C311FCF9946E93476D838EC0AE54EA
-
-8CB899087794A67E6B4E96664AFDD619FC074FA089F83A02FA4FCBB5BE698E508F87BC0F48051A
-
-8AA4DE3EBF3FD93ABCF58C1FB64257027AF8FD69B7CEF07498F48F393B4B4E9BDD6519332A780A
-
-E72152CE168E399E75DB4414618B9EFFB4986B85A94CBD0B912E3D5CDDBA6B784EAC660969A83C
-
-CF3AF928B6E84586B5F1CF353EFDF022DA5DF130E7FFD1698A9A7C26C83F135FC39E9CECB8855D
-
-9601A08D9E5ADC5397EE9E639A198A61A79B3CF5960AFC41584B56B0EF5C604E42BDD021E716B7
-
-3718AA7FA7002D329F22E3898B52F3111E975D5054C8C1BC491EDD67CAF876517901CB7805FA84
-
-4279435B26A2B54C086FE443C079A373B630528664C8F262D147F44F19B3760D4CB4D3A38B8E7B
-
-8492F3FC910E45A201FFBB8B3F06F80CD135C321EF51B7A7C30AFB5A14D5EA851E4B23232B3F0E
-
-272603125DE99C6B1755C9D3E8B9E92D33AA4EEB55D07D06158FFF93BCEE921CBE6A9B6605BE3A
-
-D1C203AB903AED90A1F735D32846EE9BF7ACBD7BC479FDAD8204F0A5601477E2CA092C7CD57671
-
-E2B179B60A72794FB3DEBEBE9E41EF333F97007BFFDC1A1C55C79EB9CF85AC2DCC23700F48D6EE
-
-621D02FAAB7D7E7C512B939362AADB1ACDB25B75FE1B935F15F922AE4E03632EC9AC1CCE112FD7
-
-CC8510B86921209CEF5E66F52CAF4EAFD83E772A653B0B10EA7DE38174A6458228F90146A1C5E5
-
-F057D384CB5CE531C02F7BF2BD20517F182597310157AED68C2325CCABC22F9D38A32AF1575707
-
-DEA5139E0363677162DB6EE9D46619DAC88D9D97902D5C58339FF9B7E3DDBDB7226DED36C1CB51
-
-B50BA744CB2DE5964126918879DBE7D2FA616FBA9D4D2965021EDDA8A88FDFC08853DC1FE99614
-
-15C741B21FA7D79A6F0281BD054E49C6F1893A2A4B3708E7272F42C6AE8A5E7C95CD6879466150
-
-CB99F4110B392DA7DF91419571EE31C926B3571DC0FD7302E271263C4AFCF7553525651D8D5587
-
-7AA4E1333092ED52A9672990BF34A1B60EC243241530E67E9F1D7CCBBA1B511A24793F2511F3E4
-
-763B02D4084CFF099BD83408FEAD0403E33A6BEFBCAD9564232FAB7BABC8BCAF785A6EA74AA882
-
-B74DE229A6C9D140E617F10E988467704D31695637106825DE0F31C3BBAD7EEC317C2CBF7CA7B2
-
-E25A5365C8234B9C57C9E3853C7A581972B3186AA87046C09DAA4429DCC56C7CF7F9750428B974
-
-49E6D9E0EE104BB2E80D05797D61C71F7751C5726E1FD7C441176ABD32613B6D7EA98B4262F9F5
-
-664AA8D4E9422AA0F44C4A1C79C32140F6F38ABD0FE9D7CD85997A357C999A37674F4603609349
-
-BEBA4F86D818290F6D1E75CC70555D68A717EC063B92931F2278E460A24A53377D85322FAC03BA
-
-D008ED6402F3768A75CEEF4EBF73852A2512C1499B3D4502E05E9C4C77D962708DE7FB406265A7
-
-A7B0AE38E879BE8922C585EF4ACDA2A4459C27DEAC5909ABCC15064EB6B974EED95702286F8C04
-
-E59187241E357BF0FA2F1B1D2576366DD96B15E40891041435D3542344DDDCEA9982E7850BCF12
-
-BF60093F0BB91279E8AC2A40DB5C7F0586422A9B7519B5A14F0E5BE49BC0818137D0D512A2BD6E
-
-475855EAFBEF470190721A6E90966CD8F47F801780B6181C92B6D401BB70A64C95B12AE7DDD980
-
-D32323EF569C05105ADC3AB5DE127B421EE1453DF7FC5BE2275E5941FC9C7FEE09F931039DA70B
-
-920604D40703369B47D8014E95F827563234D32A08FCF8B99073FBF7E87A34D7FA1AF9E6B5C5C0
-
-8802250ACB7E943DA108BB2485A41324819CE85AD51CA83FC7575FD5E8EE353AB8C6B9C2F3DB8E
-
-B3DED45F22711190321A2F6F95097DD6A0ED91E0DA54AAFD05A6B9D399239525CD833E9AA6231C
-
-D4F835B730E5459C399DF7693DC4C1CAEFAD6416BC95F8B9F0533C0A27D86B42D8480FC908AA91
-
-C0468F0BF73CC5E260E5F00D82C439E9A581B19A61B5014606D57D186D9F9469217B4472DB1609
-
-FED1949D29FF3E2E3FAAB536FF7949A26042B9FC5408B7B059EE35B0E287F4D8CEE50E540DB716
-
-6802EFBF0FB60F18E5A1FA942A4E3E66EE68EA44B8FF66B3B0669E59A81C6166312987164E6DC4
-
-DB7509B11444287A5BEC5BEA9FF656D5A42C0DCB10F83B14DF02BBFE729E9839E594895DA80448
-
-B760D7AB5E58B675ADA42098929FBED35D62A54737FE6E612569B8DE4EB603F1DD6DBFFE8F79D6
-
-AEA1B0599913AA70083EB94E251DB277BE9F492E4D13B2E42FCCF825B3589EC4F9427BA659A59B
-
-73DACC3C9D2E9CD77267DEFCFDCF2117F5207AEC4198130B1B585875A49B6E01C8A5FE5EBC4678
-
-2BDBC438BE32A1CAF134E9B53D82761E9B682E0A198A812F296E193C296412596978DD3C5EEF0F
-
-BE7B353568C5627BC6467C767F9ED8412EE405C24F6DFE95AF72437D1AD9B992FF30459D232491
-
-645E845FFF03214949D33E1A48EF2A99DB29DE6FF82E72050E0E6E08E863DB570ADF515D82931B
-
-AE70437E49C397767874E34513417A49234BBD89F19FFC3EE3CD9F5BA7112A4BEC07012C709585
-
-97ECA5A501365E3524A500FA8A43A7BA90F91E8CD5825F65940825DE80F5EF11198952A258B5BB
-
-EC5AA244F8674BE1764B526DB6B9D244C886980B25C7EE4ACFEBF79349E26F2D2D65FA2810D1CD
-
-4B39233F9638546A3FF1E8D017EF458F182CF228392AD30A6E7DF715CD0B55FA377DFA6880F554
-
-367A6E3728065DF65CAD30AD927943963973F6596C1C1DD29C2C84B224F81361D4CA2ED2CC6483
-
-A59F833CB8A964C281B0BA2C834783C5752986B8E70583E6C9AA33132BFC67998B992F249D0AD7
-
-6C02BDD2925B39501A69E4E00DD3534C474D0715C913E23660BB765C2E5FE37F445AC605F62DE9
-
-C533EE924EFE205C528C372403696885DDD6BADAF602993F3DF49957E21B2EE409AA6336A8103E
-
-BCC0B33B8FFD8C818F2D25D22E3B0E4E874CF4ADE03F69C1B017DA9CED9EAFC6CBD86780C819A9
-
-CE03C2AA203CABD299251B9090F2659C3245A845B50EB36BCBC07AD6FE0A191D3E8BD0C9B9700A
-
-706EA3028E8055B585A6D8F305C80DD5ADBE1DA433669E1D9F459EA105B5F6D756A9FF3DF71607
-
-9FDA77312E447F764C0F178B7F128DA4ACE17F8D4F213864C2AAFAB0D5BCE40A19AC92FF21D7B1
-
-F1F3CEC338951D7292147937ED0BDB0CEC2578D0BFE12F7F21B4D76ADD1F557E8A5761399591C2
-
-D4A2CB1F0D9564586567AE9165451DFF5D61E08F0421A8606E49A552E19F8CCDC90CA92C4BC2AD
-
-2FC3DC29DFF6E56BA85D8E7B0388962DB5BB107CBAB4FD4170F24C21DFE2A3EF29DDB82C02EF32
-
-4B9DB2AC09C1A5EA7C71B1547573B68FF8C3215B803CD3EDE122DE1D71492BD3B71C5A6DE52D50
-
-8E98676560ED273403B9D655F239579007706C078EA3EDC120EDFECAF4F13379A4526FB3731A08
-
-9690CF6D74F2E95E332D1DDB36DF458771F0F7BF321E524447B6E04AC33011E855A0E25582F104
-
-69F1B6C19089AF013C38F2624826A5730641
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-0000000000000000000000000000000000000000000000000000000000000000
-
-cleartomark %{restore}if
-
-%%EndProcSet
-%%BeginProcSet: texps.pro
-TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2
-index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
-exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub
-dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
-ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict
-end definefont 3 -1 roll makefont /setfont load]cvx def}def
-/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def
-/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def
-end
-%%EndProcSet
-%%BeginProcSet: special.pro
-TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
-/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
-false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
-/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
-div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
-/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
-10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
-/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
-true def end /@MacSetUp{userdict /md known{userdict /md get type
-/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
-length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
-N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
-clippath mark{transform{itransform moveto}}{transform{itransform lineto}
-}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
-itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
-closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
-0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
-/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
-scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
-ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
-not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
-TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
-pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
--1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
-TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
-sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
-0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
-2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
-{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
-div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
-N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
-maxlength dict begin /magscale true def normalscale currentpoint TR
-/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
-/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
-psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
-scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
-/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
-psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
-roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
-moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
-begin /SpecialSave save N gsave normalscale currentpoint TR
-@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
-{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
-closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
-sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
-}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
-CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
-lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
-}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
-end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
-N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
-/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
-SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
-/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
-yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
-%%EndProcSet
-%%BeginProcSet: crop.pro
-TeXDict begin /cX 18 def /CM{gsave TR 0 cX neg moveto 0 cX lineto stroke
-cX neg 0 moveto cX 0 lineto stroke grestore}def end /bop-hook{cX dup TR
-gsave .3 setlinewidth 0 0 CM vsize cX 2 mul sub dup hsize cX 2 mul sub
-dup isls{4 2 roll}if 0 CM exch CM 0 exch CM grestore 0 cX -2 mul TR isls
-{cX -2 mul 0 TR}if}def
-%%EndProcSet
-TeXDict begin @defspecial
-
- /arrow { save 4 1 roll 14 dict begin /y exch def /x exch def /D exch
-def currentpoint /b exch def /a exch def /dx x a sub def /dy y b sub
-def /arrowlen dx dup mul dy dup mul add sqrt def /angle dy dx atan
-def 0 setgray a b translate angle rotate /xp arrowlen def /m xp D sub
-def 0.5 setlinewidth [3 1] 0 setdash 0 0 moveto m 0 lineto stroke /back
-D 8 div neg def /up D 4 div def m 0 moveto back up rlineto xp 0 lineto
-closepath fill m 0 moveto back up neg rlineto xp 0 lineto closepath
-fill end restore } def /drawtriangle { -144 72 rlineto 0 -144 rlineto
-closepath fill } def /cropmark { 2 copy moveto 0 -18 rmoveto 0 36 rlineto
-stroke moveto -18 0 rmoveto 36 0 rlineto stroke } def /fillpage { .9
-setgray 0 0 moveto 0 792 rlineto 612 0 rlineto 0 -792 rlineto fill
-0 setgray .25 setlinewidth 18 18 cropmark 18 684 cropmark 549 684 cropmark
-549 17 cropmark } def /showpart { 10 -22 translate /StoneSans-SemiboldItalic
-findfont 140 scalefont setfont dup stringwidth pop /sw exch def sw
-neg -46 moveto 0 setgray dup show sw 4 add neg -42 moveto 0.7 setgray
-show sw neg 0 translate /StoneSans-SemiboldItalic findfont 30 scalefont
-setfont dup stringwidth pop /sw exch def sw neg 0 moveto 0 setgray
-show sw 10 add neg 0 translate -600 10 moveto 12 0 10 arrow } def
-
-@fedspecial end TeXDict begin
-37298252 46178789 1000 600 600 (book.dvi) @start /Fa
-133[33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33
-33 33 33 33 33 33 33 33 33 1[33 33 2[33 33 33 33 33 33
-33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33
-33 33 33 33 1[33 1[33 3[33 33 33 33 33 33 33 33 33 33
-33 33 3[33 33 3[33 36[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }73
-66.666667 /PPCode rf /Fb 1 14 df<000001FFC000000000001FFFFC0000000000FF
-FFFF8000000001FF007FC000000007F00007F00000001F800000FC0000003F0000007E00
-00007C0000001F000000F000000007800001E000000003C00003C000000001E000078000
-000000F00007000000000070000F000000000078001E00000000003C001C00000000001C
-003C00000000001E003800000000000E007800000000000F007000000000000700700000
-0000000700F000000000000780E000000000000380E000000000000380E0000000000003
-80E000000000000380E000000000000380E000000000000380E000000000000380E00000
-0000000380E000000000000380F000000000000780700000000000070070000000000007
-007800000000000F003800000000000E003C00000000001E001C00000000001C001E0000
-0000003C000F000000000078000700000000007000078000000000F00003C000000001E0
-0001E000000003C00000F0000000078000007C0000001F0000003F0000007E0000001F80
-0000FC00000007F00007F000000001FF007FC000000000FFFFFF80000000001FFFFC0000
-00000001FFC000000039357CA842>13 D E /Fc 140[135 6[135
-3[135 3[135 2[135 97[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }5
-274.999988 /PPCode rf /Fd 144[37 2[37 7[37 1[37 98[{
-.82 ExtendFont TeXBase1Encoding ReEncodeFont }4 75.000000
-/PPCodeBold rf /Fe 1 12 df<00003FC000000000FFF800000007E07C0000000F801F
-0000003F001F800C007E000F800C00FC0007C01C01F80007E01803F00007E01807E00003
-E0380FE00003F0300FC00003F0301FC00003F0703F800003F0603F800003F0E07F800003
-F0C07F000003F1C07F000003F1807F000003F380FF000003F300FE000003F700FE000003
-FE00FE000003FC00FE000003FC00FC000003F800FC000003F000FC000003F000FC000003
-F000FC000003F0007E000007F0007E00000FF0003E00001DF8183F000079F8181F0000E1
-F8380F8007C0F83007E03F007CF001FFF8003FC0003FC0000F802E267DA435>11
-D E /Ff 82[28 51[42 42 60 1[46 28 32 32 1[42 37 46 1[23
-37 23 23 1[42 1[32 42 34 38 37 11[65 51 4[65 2[46 5[46
-51 65 17[42 42 49[{ TeXBase1Encoding ReEncodeFont }30
-83.333337 /Palatino-Italic rf /Fg 140[61 2[61 61 61 61
-61 61 2[61 2[61 61 61 1[61 55[61 61 40[{
-.82 ExtendFont TeXBase1Encoding ReEncodeFont }14 124.999997
-/PPCode rf /Fh 134[53 1[53 53 53 53 53 53 1[53 53 53
-53 53 53 1[53 53 53 53 53 53 53 1[53 1[53 11[53 6[53
-29[53 4[53 53 40[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }27
-108.333331 /PPCode rf /Fi 134[37 37 3[37 37 37 1[37 37
-37 37 37 2[37 37 37 37 37 37 37 37 37 1[37 15[37 8[37
-70[{ TeXBase1Encoding ReEncodeFont .167 SlantFont .82 ExtendFont }22
-75.000000 /PPCode rf /Fj 134[43 43 43 43 43 43 43 43
-1[43 43 43 43 43 2[43 43 43 43 43 43 43 43 43 1[43 8[43
-43 2[43 2[43 43 43 43 2[43 2[43 43 1[43 43 43 43 17[43
-6[43 39[{ TeXBase1Encoding ReEncodeFont .167 SlantFont .82 ExtendFont }
-39 87.499997 /PPCode rf /Fk 134[74 80 118 74 86 62 62
-62 88 88 84 88 132 43 84 1[43 88 88 57 76 88 69 89 79
-7[91 98 145 96 96 84 74 89 103 86 103 99 129 74 1[44
-44 101 99 69 74 101 89 89 99 6[42 84 84 84 84 84 84 84
-84 84 84 76 42 46 42 2[59 59 32 39[{ TeXBase1Encoding ReEncodeFont }66
-133.333334 /StoneSans-Bold rf /Fl 82[30 24[46 46 25[51
-47 76 52 55 30 39 36 1[55 50 53 81 27 51 1[27 53 51 30
-44 56 41 51 46 11[71 4[55 3[56 2[31 26[23 1[23 2[30 30
-37[55 2[{ TeXBase1Encoding ReEncodeFont }35 91.666666
-/Palatino-Roman rf /Fm 82[32 3[71 46[48 53 48 80 53 58
-32 42 37 58 58 53 58 85 32 58 32 32 58 53 37 48 58 42
-58 48 8[64 95 74 74 64 58 69 80 58 80 80 95 58 74 37
-37 80 80 53 58 80 69 64 74 6[24 48 48 3[48 2[48 1[28
-24 1[24 4[27 36[58 2[{ TeXBase1Encoding ReEncodeFont }62
-95.833334 /Palatino-Bold rf /Fn 134[138 149 222 139 160
-115 115 115 1[166 158 165 247 80 157 1[80 165 166 106
-142 166 129 166 147 10[180 180 157 139 166 1[161 194
-185 241 138 1[82 82 189 1[129 138 190 166 1[185 19[87
-45[{ TeXBase1Encoding ReEncodeFont }42 249.999994 /StoneSans-Bold
-rf /Fo 134[181 2[181 1[136 149 140 1[218 211 215 319
-94 2[94 1[218 1[191 218 167 217 188 12[207 194 2[207
-3[181 4[266 1[189 263 2[233 65[{ TeXBase1Encoding ReEncodeFont }25
-349.999988 /StoneSans-Semibold rf /Fp 141[25 2[37 38
-55 3[17 1[38 1[31 101[{ TeXBase1Encoding ReEncodeFont }7
-66.666667 /StoneSans-SemiboldItalic rf /Fq 129[37 37
-37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
-37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
-37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
-37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
-37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
-37 37 33[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }94
-75.000000 /PPCode rf /Fr 129[43 1[43 1[43 43 43 43 43
-43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
-43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
-43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
-43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
-43 43 43 43 43 43 43 43 43 43 43 43 43 33[{
-.82 ExtendFont TeXBase1Encoding ReEncodeFont }92 87.499997
-/PPCode rf /Fs 82[28 50[42 46 42 69 46 51 28 37 32 51
-51 46 51 74 28 51 28 28 51 46 32 42 51 37 51 42 7[55
-55 83 65 65 55 51 60 69 51 69 69 83 51 65 32 32 69 69
-46 51 69 60 55 65 1[37 4[21 42 42 42 42 42 42 42 42 42
-42 25 21 1[21 2[28 28 23 36[51 2[{ TeXBase1Encoding ReEncodeFont }71
-83.333337 /Palatino-Bold rf /Ft 134[53 57 85 53 61 44
-44 44 1[64 61 63 95 31 60 1[31 63 64 41 55 64 49 64 57
-10[69 69 60 53 64 1[62 74 71 93 53 1[32 32 72 71 50 53
-73 64 64 71 7[60 60 60 60 60 60 60 60 60 60 55 1[33 45[{
- TeXBase1Encoding ReEncodeFont }55 95.833334 /StoneSans-Bold
-rf /Fu 133[62 65 70 104 65 75 54 54 54 77 77 74 77 115
-37 73 1[37 77 77 50 66 77 60 78 69 7[80 86 127 84 84
-73 65 78 1[75 90 86 113 65 82 38 38 88 87 60 65 88 78
-78 86 6[37 73 73 73 73 73 73 73 73 73 73 67 37 41 37
-4[28 39[{ TeXBase1Encoding ReEncodeFont }65 116.666669
-/StoneSans-Bold rf /Fv 134[41 43 65 41 47 29 32 29 50
-50 48 49 74 20 40 1[20 49 49 25 42 49 40 49 42 8[54 77
-49 57 46 43 46 66 45 66 65 77 40 49 23 22 58 61 40 41
-61 57 48 51 6[24 48 48 48 48 48 48 48 48 48 48 32 24
-28 24 2[29 29 17 39[{ TeXBase1Encoding ReEncodeFont }66
-83.333337 /StoneSans rf /Fw 82[28 20[28 83 42 1[42 42
-22[50 1[42 46 43 69 47 50 27 35 33 46 50 45 48 73 24
-46 19 24 48 46 28 40 51 37 46 42 23 42 1[28 1[28 55 55
-55 83 60 65 51 44 55 65 50 65 69 79 51 60 28 28 69 63
-46 51 64 59 51 65 5[21 21 42 42 42 42 42 42 42 42 42
-42 50 21 1[21 50 32 28 28 23 5[23 29[50 50 2[{
- TeXBase1Encoding ReEncodeFont }86 83.333337 /Palatino-Roman
-rf /Fx 173[33 24[25 25 25 25 25 25 25 25 25 25 48[{
- TeXBase1Encoding ReEncodeFont }11 50.000001 /Palatino-Roman
-rf /Fy 82[32 50[42 48 48 69 48 53 32 37 37 44 48 42 53
-74 27 42 27 27 48 48 27 37 48 39 44 42 8[69 90 69 74
-58 53 64 74 58 74 74 90 53 64 1[32 74 69 53 58 74 64
-58 69 6[24 3[48 1[48 1[48 48 1[28 24 1[24 58 1[32 32
-27 74 35[50 2[{ TeXBase1Encoding ReEncodeFont }64 95.833334
-/Palatino-Italic rf /Fz 135[50 1[47 12[23 105[{
- TeXBase1Encoding ReEncodeFont }3 95.833334 /StoneSans
-rf /FA 82[32 20[32 95 48 58 48 48 24[48 53 49 80 54 58
-31 40 38 53 57 52 56 84 28 53 22 28 56 53 32 46 58 42
-53 48 1[48 1[32 58 32 64 64 64 95 69 74 59 50 64 75 58
-75 79 90 58 69 32 32 79 73 53 58 74 68 58 74 71 42 3[24
-24 48 48 48 48 48 48 48 48 48 48 58 24 1[24 1[37 32 32
-27 74 4[27 29[58 58 2[{ TeXBase1Encoding ReEncodeFont }88
-95.833334 /Palatino-Roman rf /FB 134[149 149 2[166 100
-116 116 1[149 133 166 1[83 2[83 149 149 83 116 149 122
-138 133 11[233 183 166 2[183 233 233 1[166 2[100 1[216
-2[233 199 183 216 17[88 47[{ TeXBase1Encoding ReEncodeFont }33
-300.000000 /Palatino-Italic rf /FC 141[42 2[48 2[30 2[30
-3[42 3[48 13[60 11[78 2[84 21[27 46[{ TeXBase1Encoding ReEncodeFont }10
-108.333331 /Palatino-Italic rf /FD 82[36 21[108 29[60
-56 90 61 65 35 46 43 1[65 59 63 95 31 60 1[31 63 60 36
-52 66 48 60 54 19[102 2[36 36 1[82 1[66 22[27 1[27 44[{
- .167 SlantFont TeXBase1Encoding ReEncodeFont }32 108.333331
-/Palatino-Roman rf /FE 171[112 84[{ TeXBase1Encoding ReEncodeFont }1
-183.333331 /Palatino-Italic rf /FF 139[24 32 30 1[45
-1[43 1[22 2[22 1[42 32[42 4[58 7[37 37 6[37 4[19 44[{
- .167 SlantFont TeXBase1Encoding ReEncodeFont }14 75.000000
-/Palatino-Roman rf /FG 1 14 df<00000003FFC00000000000003FFFFC0000000000
-01FFFFFF800000000007FFFFFFE0000000001FFE007FF8000000007FE00007FE00000000
-FF000000FF00000003FC0000003FC0000007F00000000FE000000FC000000003F000001F
-8000000001F800003F0000000000FC00007E00000000007E0000FC00000000003F0000F8
-00000000001F0001F000000000000F8003F000000000000FC003E0000000000007C007C0
-000000000003E00FC0000000000003F00F80000000000001F01F00000000000000F81F00
-000000000000F81E00000000000000783E000000000000007C3E000000000000007C3C00
-0000000000003C7C000000000000003E7C000000000000003E78000000000000001E7800
-0000000000001E78000000000000001EF8000000000000001FF8000000000000001FF000
-0000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF000
-0000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF000
-0000000000000FF0000000000000000FF8000000000000001FF8000000000000001F7800
-0000000000001E78000000000000001E78000000000000001E7C000000000000003E7C00
-0000000000003E3C000000000000003C3E000000000000007C3E000000000000007C1E00
-000000000000781F00000000000000F81F00000000000000F80F80000000000001F00FC0
-000000000003F007C0000000000003E003E0000000000007C003F000000000000FC001F0
-00000000000F8000F800000000001F0000FC00000000003F00007E00000000007E00003F
-0000000000FC00001F8000000001F800000FC000000003F0000007F00000000FE0000003
-FC0000003FC0000000FF000000FF000000007FE00007FE000000001FFE007FF800000000
-07FFFFFFE00000000001FFFFFF8000000000003FFFFC00000000000003FFC0000000484E
-7BBB53>13 D E /FH 82[25 51[37 3[42 25 29 29 2[33 42 1[21
-2[21 1[37 21 29 1[30 35 33 16[46 3[42 7[58 50 67[{
- TeXBase1Encoding ReEncodeFont }20 75.000000 /Palatino-Italic
-rf /FI 82[25 21[75 37 27[37 42 39 62 42 45 24 32 30 42
-45 41 43 66 22 42 17 22 43 42 25 36 46 33 41 37 6[50
-50 50 75 54 58 46 39 50 59 45 59 62 71 46 54 25 25 62
-57 42 46 58 53 46 58 6[19 37 37 37 37 37 37 37 37 37
-37 45 19 1[19 4[21 58 2[37 1[21 29[45 45 2[{
- TeXBase1Encoding ReEncodeFont }75 75.000000 /Palatino-Roman
-rf /FJ 147[26 108[{}1 33.333334 /ZapfDingbats rf /FK
-134[37 39 58 1[43 26 29 26 2[43 44 67 18 36 1[18 44 44
-22 38 44 36 1[37 12[42 39 42 1[40 59 1[69 4[53 2[37 55
-51 43 46 20[21 44[{ TeXBase1Encoding ReEncodeFont }33
-75.000000 /StoneSans rf /FL 134[46 50 2[53 38 38 38 1[55
-53 55 82 27 2[27 55 55 35 47 55 43 55 49 7[57 1[91 2[52
-46 2[54 65 62 1[46 2[27 1[62 43 46 63 55 55 62 7[52 52
-52 52 52 52 52 52 52 52 1[26 29 26 44[{ TeXBase1Encoding ReEncodeFont }
-49 83.333337 /StoneSans-Bold rf /FM 140[63 59 2[82 87
-1[43 83 1[43 87 2[72 1[66 1[75 9[149 2[92 6[141 1[108
-50 4[91 22[37 46[{ TeXBase1Encoding ReEncodeFont }18
-150.000000 /Palatino-Roman rf /FN 135[174 1[194 213 116
-3[213 194 213 310 116 2[116 3[174 1[155 1[174 20[213
-7[290 2[271 65[{ TeXBase1Encoding ReEncodeFont }16 349.999988
-/Palatino-Bold rf /FO 139[89 89 115[{}2 100.000003 /ZapfDingbats
-rf /FP 135[133 1[148 162 88 3[162 148 162 236 88 2[88
-3[133 1[118 1[133 20[162 7[221 2[207 65[{
- TeXBase1Encoding ReEncodeFont }16 266.666669 /Palatino-Bold
-rf /FQ 139[67 67 115[{}2 75.000000 /ZapfDingbats rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%PaperSize: Letter
-
-%%EndSetup
-%%Page: 445 1
-445 468 bop 0 0 a @beginspecial @setspecial
- gsave .50 setgray newpath 278 10 moveto 0 100 rlineto 132 0 rlineto
-0 -100 rlineto -132 0 rlineto closepath fill 1 setgray /StoneSans-Bold
-findfont 12 scalefont setfont 296 19 moveto 3 0 (CHAPTER 24) ashow
-grestore
-
-@endspecial
-299 355 a Fn(Parsing)84 b(Command-)299 654 y(Line)g(Options)299
-1557 y Fm(From)21 b(the)f(forthcoming)i(book)f(entitled)f(Linux)h
-(Application)g(Development)f(by)299 1669 y(Michael)35
-b(K.)h(Johnson)h(and)e(Erik)h(W)l(.)g(T)-11 b(roan,)39
-b(copyright)d(\251)g(1998)e(by)i(Addison)299 1781 y(W)-7
-b(esley)38 b(Longman,)43 b(Inc.,)f(to)d(be)f(published)i(in)e(April,)k
-(1998.)77 b(All)38 b(rights)h(re\255)299 1893 y(served.)c(This)24
-b(material)e(is)i(made)g(available)f(with)g(the)h(permission)h(of)f
-(the)f(pub\255)299 2005 y(lisher)-5 b(.)34 b(The)21 b(publisher)5
-b(')-5 b(s)23 b(permission)g(is)g(required)f(for)h(reproduction,)g
-(storage,)299 2117 y(or)h(transmittal)f(of)h(this)g(material.)299
-2329 y(For)g(more)g(information,)g(see)f(http:/)-14 b(/www)-9
-b(.awl.com/cseng/books/lad/.)299 2541 y FA(Most)41 b(Linux)e(pr)n
-(ograms)h(allow)f(the)g(user)g(to)h(specify)h(command\255line)e
-(options.)299 2653 y(Such)23 b(options)h(perform)g(a)f(wide)g(variety)g
-(of)g(functions)g(but)g(ar)n(e)g(fairly)f(uniform)h(in)299
-2765 y(their)31 b(syntax.)60 b Fm(Short)33 b(options)g
-FA(consist)g(of)f(a)g Fr(-)h FA(character)e(followed)h(by)g(a)g(single)
-299 2877 y(alphanumeric)25 b(character)-7 b(.)43 b Fm(Long)28
-b(options)p FA(,)g(common)g(in)e(GNU)h(utilities,)g(consist)299
-2989 y(of)f(two)g Fr(-)g FA(characters)g(followed)g(by)g(a)g(string)g
-(made)g(up)g(of)g(letters,)h(numbers,)f(and)299 3101
-y(hyphens.)34 b(Either)24 b(type)g(of)g(option)g(may)h(be)e(followed)h
-(by)g(an)f(ar)n(gument.)34 b(A)24 b(space)299 3213 y(separates)19
-b(a)f(short)h(option)f(fr)n(om)h(its)g(ar)n(guments;)h(either)d(a)i
-(space)g(or)g(an)f Fr(=)g FA(separates)299 3325 y(a)23
-b(long)h(option)g(fr)n(om)g(an)f(ar)n(gument.)299 3537
-y(Ther)n(e)c(ar)n(e)h(many)g(ways)g(of)h(parsing)f(command\255line)g
-(options.)34 b(The)19 b(most)j(popular)299 3649 y(method)k(is)g
-(parsing)g(the)g Fr(argv)f FA(array)g(by)h(hand.)40 b(The)25
-b Fr(getopt\(\))g FA(and)h Fr(getopt_long\(\))299 3761
-y FA(library)40 b(functions)h(pr)n(ovide)g(some)h(assistance)g(for)f
-(option)h(parsing.)86 b Fr(getopt\(\))299 3873 y FA(is)38
-b(pr)n(ovided)h(by)f(many)f(Unix)h(implementations,)j(but)d(it)f
-(supports)j(only)d(short)299 3985 y(options.)d(The)22
-b Fr(getopt_long\(\))g FA(function)g(is)h(available)e(on)h(Linux)h(and)
-f(allows)h(auto\255)299 4097 y(mated)h(parsing)g(of)f(both)h(short)g
-(and)f(long)h(options.)299 4309 y(A)33 b(library)f(called)h(popt)h
-(exists)g(speci\002cally)f(for)g(option)g(parsing.)62
-b(It)34 b(includes)e(a)299 4421 y(number)22 b(of)i(advantages)g(over)f
-(the)g Fr(getopt\(\))g FA(functions.)3232 4699 y Ft(445)p
-eop
-%%Page: 446 2
-446 469 bop -187 -116 a Ft(446)118 b FL(Chapter)29 b(24)83
-b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413
-4 v 128 83 a FA(\225)100 b(It)33 b(does)h(not)f(make)h(use)f(of)g
-(global)g(variables,)h(which)e(allows)h(it)g(to)h(be)f(used)286
-195 y(when)22 b(multiple)h(passes)j(ar)n(e)d(needed)g(to)h(parse)g
-Fr(argv)p FA(.)128 407 y(\225)100 b(It)22 b(can)h(parse)f(an)g
-(arbitrary)f(array)g(of)i Fr(argv)p FA(\255style)f(elements.)33
-b(This)22 b(allows)g(popt)286 519 y(to)i(be)f(used)h(for)g(parsing)f
-(command\255line\255style)h(strings)g(fr)n(om)g(any)f(sour)n(ce.)128
-731 y(\225)100 b(It)30 b(pr)n(ovides)h(a)f(standar)n(d)g(method)g(of)g
-(option)g(aliasing.)52 b(Pr)n(ograms)30 b(that)g(use)286
-843 y(popt)c(can)f(easily)g(allow)f(users)h(to)g(add)h(new)e
-(command\255line)h(options,)h(which)286 955 y(ar)n(e)k(de\002ned)g(as)h
-(combinations)f(of)h(alr)n(eady\255existing)e(options.)55
-b(This)30 b(allows)286 1067 y(the)h(user)h(to)h(de\002ne)e(new)-9
-b(,)33 b(complex)h(behaviors)d(or)h(change)f(the)h(default)f(be\255)286
-1179 y(haviors)23 b(of)h(existing)f(options.)111 1453
-y(Like)h Fr(getopt_long\(\))p FA(,)e(the)i(popt)h(library)d(supports)j
-(short)f(and)g(long)f(style)h(options.)111 1665 y(The)29
-b(popt)j(library)d(is)h(highly)f(portable)h(and)g(should)g(work)f(on)h
-(any)g(POSIX)g(plat\255)111 1777 y(form.)68 b(The)34
-b(latest)h(version)g(is)g(always)g(available)e(fr)n(om)i(ftp:/)-14
-b(/ftp.r)n(edhat.com/)111 1889 y(pub/r)n(edhat/code/popt/)111
-2100 y(It)33 b(may)f(be)g(r)n(edistributed)f(under)g(either)g(the)h
-(GNU)g(General)f(Public)g(License)h(or)111 2213 y(the)24
-b(GNU)g(Library)f(General)f(Public)h(License,)h(at)f(the)h(distributor)
-7 b('s)23 b(discr)n(etion.)-187 2541 y Fk(24.1)131 b(Basic)40
-b(popt)j(Usage)p -187 2626 3413 5 v 111 2888 a Fu(24.1.1)59
-b(The)39 b(Option)h(Table)111 3099 y FA(Applications)d(pr)n(ovide)f
-(popt)g(with)f(information)f(on)h(their)f(command\255line)h(op\255)111
-3211 y(tions)24 b(thr)n(ough)f(an)g(array)g(of)h Fr(struct)42
-b(poptOption)23 b FA(str)o(uctur)n(es.)111 3417 y Fq(#include)35
-b(<popt.h>)111 3633 y(struct)h(poptOption)e({)258 3741
-y(const)i(char)g(*)g(longName;)f(/*)h(may)g(be)h(NULL)e(*/)258
-3849 y(char)h(shortName;)292 b(/*)36 b(may)g(be)h('\\0')e(*/)258
-3957 y(int)h(argInfo;)258 4065 y(void)g(*)h(arg;)440
-b(/*)36 b(depends)f(on)i(argInfo)e(*/)258 4172 y(int)h(val;)551
-b(/*)36 b(0)h(means)e(do)i(not)f(return,)f(just)h(update)f(flag)h(*/)
-111 4280 y(};)p eop
-%%Page: 447 3
-447 470 bop 2237 -116 a Fv(24.1)82 b(Basic)23 b(popt)f(Usage)119
-b Ft(447)p 0 -76 3413 4 v 446 71 a FL(Table)27 b(24.1)84
-b Fv(popt)22 b(Argument)i(Types)p 446 103 2820 4 v 446
-120 4 17 v 1167 120 V 2775 120 V 3262 120 V 446 219 4
-100 v 532 190 a Fs(V)-9 b(alue)p 1167 219 V 502 w(Description)p
-2775 219 V 1160 w Fq(arg)20 b Fs(T)-7 b(ype)p 3262 219
-V 446 236 4 17 v 1167 236 V 2775 236 V 3262 236 V 446
-239 2820 4 v 446 246 4 7 v 1167 246 V 2775 246 V 3262
-246 V 446 249 2820 4 v 446 266 4 17 v 1167 266 V 2775
-266 V 3262 266 V 446 365 4 100 v 532 336 a Fq(POPT_ARG_NONE)p
-1167 365 V 240 w Fw(No)21 b(ar)o(gument)f(is)h(expected)p
-2775 365 V 688 w Fq(int)p 3262 365 V 446 465 V 532 436
-a(POPT_ARG_STRING)p 1167 465 V 166 w Fw(No)g(type)g(checking)g(should)h
-(be)e(performed)p 2775 465 V 169 w Fq(char)35 b(*)p 3262
-465 V 446 565 V 532 535 a(POPT_ARG_INT)p 1167 565 V 277
-w Fw(An)21 b(integer)f(ar)o(gument)h(is)g(expected)p
-2775 565 V 410 w Fq(int)p 3262 565 V 446 664 V 532 635
-a(POPT_ARG_LONG)p 1167 664 V 240 w Fw(A)f(long)i(integer)f(is)g
-(expected)p 2775 664 V 652 w Fq(long)p 3262 664 V 446
-681 4 17 v 1167 681 V 2775 681 V 3262 681 V 446 684 2820
-4 v 299 933 a FA(Each)34 b(member)f(of)g(the)g(table)g(de\002nes)g(a)h
-(single)f(option)g(that)g(may)h(be)f(passed)i(to)299
-1045 y(the)29 b(pr)n(ogram.)50 b(Long)30 b(and)e(short)i(options)f(ar)n
-(e)g(consider)n(ed)h(a)f(single)f(option)i(that)299 1157
-y(may)k(occur)g(in)g(two)g(dif)n(fer)n(ent)f(forms.)65
-b(The)33 b(\002rst)h(two)g(members,)i Fr(longName)e FA(and)299
-1269 y Fr(shortName)p FA(,)25 b(de\002ne)g(the)g(names)h(of)f(the)g
-(option;)i(the)e(\002rst)h(is)g(a)g(long)f(name,)g(and)h(the)299
-1381 y(latter)d(is)h(a)g(single)f(character)-7 b(.)299
-1593 y(The)21 b Fr(argInfo)g FA(member)h(tells)g(popt)h(what)e(type)h
-(of)g(ar)n(gument)g(is)g(expected)h(after)e(the)299 1705
-y(ar)n(gument.)33 b(If)23 b(no)g(option)g(is)g(expected,)h
-Fr(POPT_ARG_NONE)d FA(should)i(be)g(used.)34 b(The)22
-b(r)n(est)299 1817 y(of)i(the)f(valid)g(values)h(ar)n(e)f(summarized)g
-(in)h(T)-9 b(able)22 b(24.1.)2355 1783 y Fx(1)299 2029
-y FA(The)j(next)g(element,)g Fr(arg)p FA(,)h(allows)f(popt)i(to)f
-(automatically)f(update)h(pr)n(ogram)g(vari\255)299 2141
-y(ables)21 b(when)g(the)g(option)h(is)g(used.)34 b(If)22
-b Fr(arg)f FA(is)h Fr(NULL)p FA(,)g(it)f(is)i(ignor)n(ed)e(and)h(popt)g
-(takes)h(no)299 2253 y(special)18 b(action.)33 b(Otherwise,)18
-b(it)g(should)g(point)h(to)f(a)g(variable)f(of)h(the)g(type)g
-(indicated)299 2365 y(in)23 b(the)g(right\255most)h(column)g(of)g(T)-9
-b(able)22 b(24.1.)299 2577 y(If)42 b(the)f(option)g(takes)h(no)g(ar)n
-(gument)e(\()p Fr(argInfo)h FA(is)h Fr(POPT_ARG_NONE)p
-FA(\),)e(the)h(variable)299 2689 y(pointed)21 b(to)g(by)f
-Fr(arg)h FA(is)g(set)g(to)g(1)f(when)f(the)h(option)h(is)g(used.)34
-b(If)20 b(the)g(option)h(does)h(take)299 2801 y(an)16
-b(ar)n(gument,)i(the)f(variable)e(that)i Fr(arg)g FA(points)h(to)g(is)f
-(updated)h(to)f(r)n(e\003ect)g(the)g(value)f(of)299 2913
-y(the)23 b(ar)n(gument.)34 b(Any)24 b(string)f(is)i(acceptable)e(for)h
-Fr(POPT_ARG_STRING)e FA(ar)n(guments,)i(but)299 3025
-y Fr(POPT_ARG_INT)19 b FA(and)h Fr(POPT_ARG_LONG)e FA(ar)n(guments)i
-(ar)n(e)g(converted)g(to)g(the)g(appr)n(opriate)299 3137
-y(type,)k(and)f(an)h(err)n(or)f(is)h(r)n(eturned)f(if)g(the)g
-(conversion)h(fails.)299 3349 y(The)33 b(\002nal)g(option,)38
-b Fr(val)p FA(,)e(is)f(the)f(value)f(popt's)j(parsing)e(function)f
-(should)i(r)n(eturn)299 3461 y(when)26 b(the)h(option)h(is)g(encounter)
-n(ed.)45 b(If)27 b(it)h(is)g(0,)g(the)f(parsing)h(function)f(parses)h
-(the)299 3573 y(next)23 b(command\255line)h(ar)n(gument)f(rather)f
-(than)h(r)n(eturn.)299 3785 y(The)c(\002nal)g(str)o(uctur)n(e)h(in)f
-(the)h(table)f(should)h(have)f(all)g(the)h(pointer)g(values)f(set)h(to)
-h Fr(NULL)299 3897 y FA(and)i(all)h(the)f(arithmetic)g(values)g(set)h
-(to)g(0,)g(marking)f(the)g(end)h(of)g(the)f(table.)p
-299 4234 897 5 v 299 4315 a Fw(1.)29 b Fq(getopt\(\))g
-Fw(connoisseurs)j(will)f(note)g(that)f Fq(argInfo)f Fw(is)i(the)f(only)
-i(\002eld)e(of)h Fq(struct)46 b(poptOption)391 4407 y
-Fw(that)29 b(is)g(not)g(dir)o(ectly)f(analogous)i(to)f(a)f(\002eld)h
-(in)g(the)g Fq(getopt_long\(\))d Fw(ar)o(gument)i(table.)53
-b(The)391 4498 y(similarity)22 b(between)e(the)h(two)g(allows)h(for)e
-(easy)h(transitions)h(fr)o(om)e Fq(getopt_long\(\))e
-Fw(to)j(popt.)p eop
-%%Page: 448 4
-448 471 bop -187 -116 a Ft(448)118 b FL(Chapter)29 b(24)83
-b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413
-4 v 111 85 a Fu(24.1.2)59 b(Creating)39 b(a)f(Context)111
-297 y FA(popt)31 b(can)f(interleave)e(the)h(parsing)g(of)h(multiple)g
-(command\255line)f(sets.)53 b(It)30 b(allows)111 409
-y(this)e(by)g(keeping)g(all)f(the)g(state)i(information)d(for)i(a)g
-(particular)f(set)h(of)g(command\255)111 521 y(line)22
-b(ar)n(guments)h(in)f(a)h Fr(poptContext)e FA(data)i(str)o(uctur)n(e,)g
-(an)f(opaque)h(type)g(that)g(should)111 633 y(not)h(be)f(modi\002ed)i
-(outside)f(the)f(popt)i(library)-11 b(.)111 845 y(New)24
-b(popt)h(contexts)g(ar)n(e)e(cr)n(eated)h(by)g Fr(poptGetContext\(\))p
-FA(.)111 1051 y Fq(#include)35 b(<popt.h>)111 1266 y(poptContext)g
-(poptGetContext\(char)d(*)k(name,)g(int)g(argc,)f(char)h(**)h(argv,)
-1104 1374 y(struct)e(poptOption)g(*)h(options,)f(int)h(flags\);)111
-1586 y FA(The)26 b(\002rst)h(parameter)-7 b(,)26 b Fr(name)p
-FA(,)h(is)g(used)g(only)g(for)f(alias)h(handling)e(\(discussed)j
-(later\).)111 1698 y(It)h(should)f(be)f(the)h(name)f(of)h(the)g
-(application)g(whose)f(options)i(ar)n(e)e(being)g(parsed,)111
-1810 y(or)e(should)f(be)g Fr(NULL)g FA(if)g(no)g(option)h(aliasing)e
-(is)i(desir)n(ed.)36 b(The)24 b(next)g(two)g(ar)n(guments)111
-1922 y(specify)g(the)f(command\255line)g(ar)n(guments)g(to)h(parse.)34
-b(These)22 b(ar)n(e)h(generally)f(passed)111 2034 y(to)37
-b Fr(poptGetContext\(\))e FA(exactly)i(as)g(they)f(wer)n(e)g(passed)i
-(to)f(the)f(pr)n(ogram's)h Fr(main\(\))111 2146 y FA(function.)50
-b(The)29 b Fr(options)f FA(parameter)h(points)h(to)g(the)f(table)f(of)i
-(command\255line)e(op\255)111 2259 y(tions,)33 b(which)d(was)h
-(described)h(in)e(the)h(pr)n(evious)g(section.)56 b(The)30
-b(\002nal)g(parameter)-7 b(,)111 2371 y Fr(flags)p FA(,)21
-b(is)g(not)g(curr)n(ently)e(used)i(but)g(should)f(always)g(be)h
-(speci\002ed)g(as)g(0)f(for)h(compat\255)111 2483 y(ibility)i(with)g
-(futur)n(e)g(versions)h(of)g(the)f(popt)i(library)-11
-b(.)111 2694 y(A)26 b Fr(poptContext)f FA(keeps)h(track)g(of)g(which)e
-(options)j(have)d(alr)n(eady)h(been)g(parsed)h(and)111
-2807 y(which)h(r)n(emain,)i(among)f(other)f(things.)47
-b(If)28 b(a)g(pr)n(ogram)g(wishes)g(to)h(r)n(estart)f(option)111
-2919 y(pr)n(ocessing)23 b(of)f(a)g(set)g(of)g(ar)n(guments,)g(it)f(can)
-h(r)n(eset)g(the)f Fr(poptContext)g FA(by)h(passing)g(the)111
-3031 y(context)j(as)f(the)f(sole)h(ar)n(gument)f(to)h
-Fr(poptResetContext\(\))p FA(.)111 3242 y(When)j(ar)n(gument)g(pr)n
-(ocessing)h(is)g(complete,)h(the)d(pr)n(ocess)j(should)f(fr)n(ee)e(the)
-h Fr(popt-)111 3354 y(Context)22 b FA(as)h(it)f(contains)h(dynamically)
-f(allocated)g(components.)35 b(The)21 b Fr(poptFreeCon-)111
-3467 y(text\(\))32 b FA(function)g(takes)h(a)f Fr(poptContext)g
-FA(as)h(its)g(sole)g(ar)n(gument)e(and)i(fr)n(ees)f(the)g(r)n(e\255)111
-3579 y(sour)n(ces)25 b(the)e(context)i(is)f(using.)111
-3790 y(Her)n(e)g(ar)n(e)f(the)h(pr)n(ototypes)h(of)f(both)f
-Fr(poptResetContext\(\))f FA(and)i Fr(poptFreeContext\(\))p
-FA(.)111 3996 y Fq(#include)35 b(<popt.h>)111 4212 y(void)h
-(poptFreeContext\(poptContext)31 b(con\);)111 4320 y(void)36
-b(poptResetContext\(poptContext)30 b(con\);)p eop
-%%Page: 449 5
-449 472 bop 2237 -116 a Fv(24.1)82 b(Basic)23 b(popt)f(Usage)119
-b Ft(449)p 0 -76 3413 4 v 299 85 a Fu(24.1.3)58 b(Parsing)39
-b(the)h(Command)e(Line)299 297 y FA(After)26 b(an)g(application)h(has)g
-(cr)n(eated)f(a)h Fr(poptContext)p FA(,)f(it)h(may)g(begin)e(parsing)i
-(ar)n(gu\255)299 409 y(ments.)34 b(The)23 b Fr(poptGetNextOpt\(\))f
-FA(performs)i(the)g(actual)f(ar)n(gument)g(parsing.)299
-615 y Fq(#include)35 b(<popt.h>)299 831 y(int)h
-(poptGetNextOpt\(poptContext)31 b(con\);)299 1042 y FA(T)-9
-b(aking)44 b(the)h(context)h(as)g(its)f(sole)h(ar)n(gument,)k(this)45
-b(function)g(parses)h(the)f(next)299 1154 y(command\255line)34
-b(ar)n(gument)f(found.)65 b(After)34 b(\002nding)f(the)h(next)g(ar)n
-(gument)f(in)h(the)299 1266 y(option)29 b(table,)g(the)f(function)g
-(\002lls)g(in)g(the)g(object)i(pointed)e(to)h(by)g(the)f(option)h
-(table)299 1379 y(entry's)18 b Fr(arg)g FA(pointer)h(if)f(it)h(is)g
-(not)f Fr(NULL)p FA(.)g(If)h(the)f Fr(val)h FA(entry)f(for)g(the)g
-(option)h(is)g(non\2550,)g(the)299 1491 y(function)h(then)g(r)n(eturns)
-g(that)g(value.)32 b(Otherwise,)20 b Fr(poptGetNextOpt\(\))f
-FA(continues)i(on)299 1603 y(to)j(the)f(next)h(ar)n(gument.)299
-1814 y Fr(poptGetNextOpt\(\))g FA(r)n(eturns)h(\2551)g(when)f(the)h
-(\002nal)g(ar)n(gument)g(has)h(been)e(parsed,)j(and)299
-1926 y(other)20 b(negative)f(values)h(when)f(err)n(ors)i(occur)-7
-b(.)33 b(This)20 b(makes)h(it)f(a)h(good)g(idea)f(to)h(keep)299
-2039 y(the)i Fr(val)h FA(elements)f(in)g(the)h(options)g(table)f(gr)n
-(eater)g(than)g(0.)299 2250 y(If)48 b(all)f(of)h(the)f(command\255line)
-h(options)g(ar)n(e)g(handled)f(thr)n(ough)g Fr(arg)g
-FA(pointers,)299 2362 y(command\255line)23 b(parsing)h(is)g(r)n(educed)
-g(to)g(the)f(following)g(line)g(of)g(code:)299 2568 y
-Fq(rc)36 b(=)h(poptGetNextOpt\(poptcon\);)299 2780 y
-FA(Many)21 b(applications)g(r)n(equir)n(e)g(mor)n(e)g(complex)h
-(command\255line)f(parsing)g(than)f(this,)299 2892 y(however)-7
-b(,)22 b(and)i(use)f(the)g(following)g(str)o(uctur)n(e.)299
-3097 y Fq(while)35 b(\(\(rc)h(=)h(poptGetNextOpt\(poptcon\)\))31
-b(>)36 b(0\))h({)446 3205 y(switch)e(\(rc\))h({)593 3313
-y(/*)g(specific)f(arguments)g(are)h(handled)f(here)h(*/)446
-3421 y(})299 3529 y(})299 3741 y FA(When)f(r)n(eturned)g(options)i(ar)n
-(e)f(handled,)i(the)e(application)g(needs)g(to)g(know)g(the)299
-3853 y(value)21 b(of)h(any)g(ar)n(guments)g(that)g(wer)n(e)f
-(speci\002ed)i(after)f(the)g(option.)34 b(Ther)n(e)20
-b(ar)n(e)i(two)299 3965 y(ways)d(to)g(discover)g(them.)32
-b(One)18 b(is)i(to)f(ask)g(popt)g(to)h(\002ll)e(in)g(a)g(variable)f
-(with)h(the)g(value)299 4077 y(of)28 b(the)h(option)f(thr)n(ough)g(the)
-g(option)h(table's)f Fr(arg)g FA(elements.)48 b(The)28
-b(other)g(is)h(to)f(use)299 4189 y Fr(poptGetOptArg\(\))p
-FA(.)p eop
-%%Page: 450 6
-450 473 bop -187 -116 a Ft(450)118 b FL(Chapter)29 b(24)83
-b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413
-4 v 111 170 a Fq(#include)35 b(<popt.h>)111 386 y(char)h(*)h
-(poptGetOptArg\(poptContext)31 b(con\);)111 598 y FA(This)c(function)f
-(r)n(eturns)h(the)g(ar)n(gument)f(given)g(for)h(the)g(\002nal)f(option)
-i(r)n(eturned)e(by)111 710 y Fr(poptGetNextOpt\(\))p
-FA(,)c(or)i(it)g(r)n(eturns)f Fr(NULL)g FA(if)h(no)f(ar)n(gument)g(was)
-h(speci\002ed.)111 1073 y Fu(24.1.4)59 b(Leftover)38
-b(Arguments)111 1285 y FA(Many)24 b(applications)g(take)f(an)h
-(arbitrary)e(number)g(of)i(command\255line)f(ar)n(guments,)111
-1397 y(such)j(as)g(a)g(list)g(of)g(\002le)f(names.)40
-b(When)25 b(popt)i(encounters)e(an)g(ar)n(gument)g(that)g(does)111
-1509 y(not)k(begin)f(with)g(a)h Fr(-)p FA(,)h(it)f(assumes)h(it)f(is)g
-(such)g(an)f(ar)n(gument)g(and)h(adds)h(it)f(to)g(a)g(list)111
-1621 y(of)i(leftover)f(ar)n(guments.)55 b(Thr)n(ee)30
-b(functions)g(allow)g(applications)h(to)h(access)g(such)111
-1733 y(ar)n(guments:)111 2007 y Fr(char)43 b(*)g
-(poptGetArg\(poptContext)d(con\);)411 2119 y FA(This)35
-b(function)f(r)n(eturns)g(the)g(next)h(leftover)f(ar)n(gument)g(and)g
-(marks)i(it)e(as)411 2231 y(pr)n(ocessed.)111 2443 y
-Fr(char)43 b(*)g(poptPeekArg\(poptContext)d(con\);)411
-2555 y FA(The)15 b(next)h(leftover)f(ar)n(gument)g(is)i(r)n(eturned)d
-(but)i(not)g(marked)g(as)g(pr)n(ocessed.)411 2667 y(This)39
-b(allows)g(an)f(application)h(to)h(look)f(ahead)g(into)g(the)f(ar)n
-(gument)h(list,)411 2779 y(without)23 b(modifying)h(the)f(list.)111
-2991 y Fr(char)43 b(**)f(poptGetArgs\(poptContext)f(con\);)411
-3103 y FA(All)16 b(the)g(leftover)f(ar)n(guments)g(ar)n(e)h(r)n
-(eturned)e(in)i(a)f(manner)g(identical)g(to)h Fr(argv)p
-FA(.)411 3215 y(The)j(\002nal)g(element)g(in)g(the)g(r)n(eturned)g
-(array)g(points)h(to)g Fr(NULL)p FA(,)f(indicating)g(the)411
-3327 y(end)24 b(of)g(the)f(ar)n(guments.)-187 3680 y
-Fk(24.2)131 b(Error)41 b(Handling)p -187 3765 3413 5
-v 111 4027 a FA(All)29 b(of)g(the)g(popt)h(functions)e(that)h(can)g(r)n
-(eturn)e(err)n(ors)i(r)n(eturn)f(integers.)49 b(When)28
-b(an)111 4139 y(err)n(or)d(occurs,)i(a)e(negative)f(err)n(or)h(code)h
-(is)f(r)n(eturned.)38 b(T)-9 b(able)24 b(24.2)h(summarizes)g(the)111
-4251 y(err)n(or)f(codes)g(that)g(occur)-7 b(.)34 b(Her)n(e)24
-b(is)g(a)g(mor)n(e)g(detailed)f(discussion)i(of)f(each)f(err)n(or)-7
-b(.)p eop
-%%Page: 451 7
-451 474 bop 2329 -116 a Fv(24.2)82 b(Error)23 b(Handling)118
-b Ft(451)p 0 -76 3413 4 v 421 71 a FL(Table)27 b(24.2)84
-b Fv(popt)22 b(Errors)p 421 103 2870 4 v 421 120 4 17
-v 1399 120 V 3287 120 V 421 219 4 100 v 507 190 a Fs(Error)p
-1399 219 V 785 w(Description)p 3287 219 V 421 236 4 17
-v 1399 236 V 3287 236 V 421 239 2870 4 v 421 246 4 7
-v 1399 246 V 3287 246 V 421 249 2870 4 v 421 266 4 17
-v 1399 266 V 3287 266 V 421 365 4 100 v 507 336 a Fq(POPT_ERROR_NOARG)p
-1399 365 V 386 w Fw(An)f(ar)o(gument)f(is)h(missing)h(for)f(an)g
-(option.)p 3287 365 V 421 465 V 507 436 a Fq(POPT_ERROR_BADOPT)p
-1399 465 V 349 w Fw(An)g(option's)h(ar)o(gument)e(could)h(not)h(be)e
-(parsed.)p 3287 465 V 421 565 V 507 535 a Fq(POPT_ERROR_OPTSTOODEEP)p
-1399 565 V 164 w Fw(Option)i(aliasing)f(is)g(nested)g(too)g(deeply)-9
-b(.)p 3287 565 V 421 664 V 507 635 a Fq(POPT_ERROR_BADQUOTE)p
-1399 664 V 275 w Fw(Quotations)22 b(do)f(not)h(match.)p
-3287 664 V 421 764 V 507 735 a Fq(POPT_ERROR_BADNUMBER)p
-1399 764 V 238 w Fw(An)f(option)h(could)f(not)g(be)g(converted)f(to)h
-(a)f(number)-6 b(.)p 3287 764 V 421 863 V 507 834 a Fq
-(POPT_ERROR_OVERFLOW)p 1399 863 V 275 w Fw(A)21 b(given)g(number)g(was)
-f(too)i(big)f(or)g(too)g(small.)p 3287 863 V 421 880
-4 17 v 1399 880 V 3287 880 V 421 883 2870 4 v 299 1132
-a Fr(POPT_ERROR_NOARG)599 1244 y FA(An)c(option)h(that)f(r)n(equir)n
-(es)h(an)f(ar)n(gument)f(was)i(speci\002ed)g(on)f(the)g(command)599
-1357 y(line,)40 b(but)d(no)g(ar)n(gument)g(was)g(given.)75
-b(This)37 b(can)h(be)f(r)n(eturned)f(only)h(by)599 1469
-y Fr(poptGetNextOpt\(\))p FA(.)299 1680 y Fr(POPT_ERROR_BADOPT)599
-1792 y FA(An)26 b(option)g(was)h(speci\002ed)f(in)g Fr(argv)g
-FA(but)g(is)g(not)g(in)g(the)g(option)g(table.)41 b(This)599
-1905 y(err)n(or)23 b(can)h(be)f(r)n(eturned)g(only)g(fr)n(om)h
-Fr(poptGetNextOpt\(\))p FA(.)299 2116 y Fr(POPT_ERROR_OPTSTOODEEP)599
-2228 y FA(A)f(set)h(of)f(option)g(aliases)g(is)h(nested)f(too)h(deeply)
--11 b(.)34 b(Curr)n(ently)-11 b(,)22 b(popt)i(follows)599
-2340 y(options)30 b(only)f(10)g(levels)g(to)h(pr)n(event)f(in\002nite)f
-(r)n(ecursion.)50 b(Only)29 b Fr(poptGet-)599 2452 y(NextOpt\(\))23
-b FA(can)g(r)n(eturn)g(this)h(err)n(or)-7 b(.)299 2664
-y Fr(POPT_ERROR_BADQUOTE)599 2776 y FA(A)15 b(parsed)g(string)g(has)g
-(a)g(quotation)g(mismatch)g(\(such)g(as)g(a)g(single)g(quotation)599
-2888 y(mark\).)62 b Fr(poptParseArgvString\(\))p FA(,)33
-b Fr(poptReadConfigFile\(\))p FA(,)g(or)g Fr(poptReadDe-)599
-3000 y(faultConfig\(\))22 b FA(can)i(r)n(eturn)e(this)i(err)n(or)-7
-b(.)299 3212 y Fr(POPT_ERROR_BADNUMBER)599 3324 y FA(A)38
-b(conversion)g(fr)n(om)g(a)g(string)g(to)h(a)f(number)f(\()p
-Fr(int)h FA(or)g Fr(long)p FA(\))f(failed)h(due)599 3436
-y(to)28 b(the)g(string)g(containing)f(nonnumeric)f(characters.)47
-b(This)28 b(occurs)h(when)599 3548 y Fr(poptGetNextOpt\(\))c
-FA(is)j(pr)n(ocessing)g(an)f(ar)n(gument)f(of)h(type)g
-Fr(POPT_ARG_INT)f FA(or)599 3660 y Fr(POPT_ARG_LONG)p
-FA(.)299 3872 y Fr(POPT_ERROR_OVERFLOW)599 3984 y FA(A)g
-(string\255to\255number)f(conversion)g(failed)g(because)h(the)f(number)
-g(was)h(too)599 4096 y(lar)n(ge)41 b(or)h(too)g(small.)88
-b(Like)42 b Fr(POPT_ERROR_BADNUMBER)p FA(,)d(this)j(err)n(or)f(can)h
-(oc\255)599 4208 y(cur)28 b(only)h(when)e Fr(poptGetNextOpt\(\))g
-FA(is)i(pr)n(ocessing)h(an)e(ar)n(gument)g(of)h(type)599
-4320 y Fr(POPT_ARG_INT)22 b FA(or)i Fr(POPT_ARG_LONG)p
-FA(.)p eop
-%%Page: 452 8
-452 475 bop -187 -116 a Ft(452)118 b FL(Chapter)29 b(24)83
-b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413
-4 v 111 83 a Fr(POPT_ERROR_ERRNO)411 195 y FA(A)36 b(system)g(call)f(r)
-n(eturned)f(with)h(an)f(err)n(or)-7 b(,)37 b(and)e Fr(errno)g
-FA(still)g(contains)g(the)411 307 y(err)n(or)23 b(fr)n(om)h(the)f
-(system)i(call.)34 b(Both)24 b Fr(poptReadConfigFile\(\))d
-FA(and)j Fr(poptRead-)411 419 y(DefaultConfig\(\))f FA(can)g(r)n(eturn)
-g(this)h(err)n(or)-7 b(.)111 656 y(T)e(wo)38 b(functions)f(ar)n(e)h
-(available)e(to)i(make)g(it)f(easy)h(for)g(applications)g(to)g(pr)n
-(ovide)111 768 y(good)25 b(err)n(or)e(messages.)111 1042
-y Fr(const)43 b(char)f(*)h(poptStrerror\(const)e(int)h(error\);)411
-1154 y FA(This)18 b(function)g(takes)h(a)f(popt)h(err)n(or)f(code)h
-(and)g(r)n(eturns)e(a)i(string)f(describing)411 1266
-y(the)24 b(err)n(or)-7 b(,)23 b(just)h(as)g(with)f(the)g(standar)n(d)i
-Fr(strerror\(\))d FA(function.)111 1478 y Fr(char)43
-b(*)g(poptBadOption\(poptContext)d(con,)i(int)h(flags\);)411
-1590 y FA(If)32 b(an)e(err)n(or)g(occurr)n(ed)i(during)e
-Fr(poptGetNextOpt\(\))p FA(,)h(this)g(function)g(r)n(eturns)411
-1702 y(the)38 b(option)g(that)g(caused)h(the)e(err)n(or)-7
-b(.)77 b(If)38 b(the)f Fr(flags)h FA(ar)n(gument)f(is)i(set)f(to)411
-1814 y Fr(POPT_BADOPTION_NOALIAS)p FA(,)e(the)i(outermost)h(option)f
-(is)h(r)n(eturned.)76 b(Other)n(\255)411 1926 y(wise,)31
-b Fr(flags)e FA(should)h(be)f(0,)i(and)e(the)g(option)h(that)f(is)h(r)n
-(eturned)f(may)h(have)411 2038 y(been)23 b(speci\002ed)i(thr)n(ough)d
-(an)i(alias.)111 2275 y(These)16 b(two)h(functions)f(make)h(popt)g(err)
-n(or)f(handling)g(trivial)f(for)i(most)h(applications.)111
-2387 y(When)26 b(an)f(err)n(or)g(is)h(detected)g(fr)n(om)g(most)h(of)f
-(the)f(functions,)h(an)f(err)n(or)g(message)h(is)111
-2499 y(printed)35 b(along)g(with)g(the)g(err)n(or)f(string)i(fr)n(om)f
-Fr(poptStrerror\(\))p FA(.)68 b(When)35 b(an)f(err)n(or)111
-2611 y(occurs)26 b(during)e(ar)n(gument)h(parsing,)g(code)g(similiar)g
-(to)g(the)g(following)f(displays)i(a)111 2723 y(useful)d(err)n(or)g
-(message.)111 2929 y Fq(fprintf\(stderr,)34 b("\045s:)h(\045s\\n",)405
-3037 y(poptBadOption\(optCon,)d(POPT_BADOPTION_NOALIAS\),)405
-3144 y(poptStrerror\(rc\)\);)-187 3475 y Fk(24.3)131
-b(Option)42 b(Aliasing)p -187 3560 3413 5 v 111 3822
-a FA(One)21 b(of)h(the)f(primary)g(bene\002ts)f(of)i(using)f(popt)h
-(over)f Fr(getopt\(\))g FA(is)h(the)f(ability)f(to)i(use)111
-3934 y(option)30 b(aliasing.)49 b(This)29 b(lets)h(the)e(user)h
-(specify)h(options)g(that)f(popt)h(expands)g(into)111
-4046 y(other)22 b(options)g(when)f(they)h(ar)n(e)f(speci\002ed.)35
-b(If)22 b(the)f(standar)n(d)i(gr)n(ep)f(pr)n(ogram)h(made)111
-4158 y(use)j(of)g(popt,)h(users)f(could)h(add)f(a)g Fr(--text)f
-FA(option)h(that)g(expanded)g(to)g Fr(-i)45 b(-n)g(-E)g(-2)111
-4270 y FA(to)25 b(let)e(them)h(mor)n(e)g(easily)f(\002nd)h(information)
-e(in)h(text)h(\002les.)p eop
-%%Page: 453 9
-453 476 bop 2298 -116 a Fv(24.3)81 b(Option)22 b(Aliasing)118
-b Ft(453)p 0 -76 3413 4 v 299 85 a Fu(24.3.1)58 b(Specifying)40
-b(Aliases)299 297 y FA(Aliases)18 b(ar)n(e)e(normally)h(speci\002ed)h
-(in)f(two)g(places:)32 b(/etc/popt)18 b(and)f(the)g(.popt)h(\002le)f
-(in)299 409 y(the)25 b(user)7 b('s)25 b(home)h(dir)n(ectory)f(\(found)g
-(thr)n(ough)g(the)g Fr(HOME)g FA(envir)n(onment)f(variable\).)299
-521 y(Both)33 b(\002les)h(have)e(the)h(same)h(format,)h(an)e(arbitrary)
-f(number)g(of)h(lines)g(formatted)299 633 y(like)23 b(this:)299
-845 y Fj(appname)42 b Fr(alias)g Fj(newoption)g(expansion)299
-1057 y FA(The)24 b Fj(appname)h FA(is)h(the)f(name)g(of)h(the)f
-(application,)h(which)e(must)j(be)e(the)g(same)h(as)g(the)299
-1169 y Fr(name)e FA(parameter)g(passed)i(to)f Fr(poptGetContext\(\))p
-FA(.)36 b(This)24 b(allows)g(each)g(\002le)g(to)i(specify)299
-1281 y(aliases)e(for)h(multiple)f(pr)n(ograms.)37 b(The)24
-b Fr(alias)g FA(keywor)n(d)g(speci\002es)i(that)e(an)g(alias)g(is)299
-1393 y(being)h(de\002ned;)i(curr)n(ently)f(popt)h(con\002guration)e
-(\002les)i(support)g(only)f(aliases,)h(but)299 1505 y(other)i
-(abilities)h(may)g(be)g(added)g(in)g(the)g(futur)n(e.)52
-b(The)29 b(next)h(option)g(is)g(the)g(option)299 1617
-y(that)d(should)h(be)g(aliased,)g(and)g(it)g(may)g(be)f(either)g(a)h
-(short)g(or)f(a)h(long)g(option.)46 b(The)299 1729 y(r)n(est)29
-b(of)h(the)e(line)h(speci\002es)h(the)e(expansion)h(for)g(the)g(alias.)
-50 b(It)30 b(is)f(parsed)h(similarly)299 1841 y(to)f(a)g(shell)f
-(command,)j(which)d(allows)h Fr(\\)p FA(,)h Fr(")p FA(,)g(and)f
-Fr(')g FA(to)g(be)g(used)g(for)g(quoting.)49 b(If)29
-b(a)299 1953 y(backslash)22 b(is)g(the)g(\002nal)f(character)g(on)g(a)h
-(line,)f(the)h(next)f(line)g(in)h(the)f(\002le)g(is)i(assumed)299
-2066 y(to)28 b(be)f(a)g(logical)g(continuation)f(of)i(the)f(line)f
-(containing)h(the)g(backslash,)h(just)g(as)g(in)299 2178
-y(shell.)299 2389 y(The)i(following)g(entry)h(would)f(add)i(a)f
-Fr(--text)g FA(option)g(to)h(the)e Fr(grep)h FA(command,)j(as)299
-2501 y(suggested)24 b(at)g(the)f(beginning)f(of)i(this)g(section.)299
-2713 y Fr(grep)42 b(alias)h(--text)f(-i)h(-n)f(-E)h(-2)299
-3068 y Fu(24.3.2)58 b(Enabling)39 b(Aliases)299 3279
-y FA(An)21 b(application)f(must)i(enable)d(alias)h(expansion)h(for)g(a)
-f Fr(poptContext)g FA(befor)n(e)g(calling)299 3391 y
-Fr(poptGetNextArg\(\))33 b FA(for)i(the)g(\002rst)g(time.)68
-b(Ther)n(e)34 b(ar)n(e)g(thr)n(ee)h(functions)f(that)h(de\002ne)299
-3503 y(aliases)23 b(for)h(a)g(context.)299 3777 y Fr(int)42
-b(poptReadDefaultConfig\(poptContext)e(con,)i(int)h(flags\);)599
-3889 y FA(This)d(function)f(r)n(eads)h(aliases)g(fr)n(om)h(/etc/popt)g
-(and)f(the)g(.popt)h(\002le)f(in)599 4002 y(the)29 b(user)7
-b('s)29 b(home)g(dir)n(ectory)-11 b(.)53 b(Curr)n(ently)-11
-b(,)29 b Fr(flags)g FA(should)h(be)f Fr(NULL)p FA(,)g(as)g(it)h(is)599
-4114 y(pr)n(ovided)24 b(only)g(for)f(futur)n(e)g(expansion.)p
-eop
-%%Page: 454 10
-454 477 bop -187 -116 a Ft(454)118 b FL(Chapter)29 b(24)83
-b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413
-4 v 111 83 a Fr(int)43 b(poptReadConfigFile\(poptContext)c(con,)k(char)
-f(*)h(fn\);)411 195 y FA(The)17 b(\002le)h(speci\002ed)h(by)f
-Fr(fn)g FA(is)g(opened)g(and)g(parsed)h(as)f(a)g(popt)h
-(con\002guration)411 307 y(\002le.)68 b(This)35 b(allows)f(pr)n(ograms)
-i(to)g(use)f(pr)n(ogram\255speci\002c)h(con\002guration)411
-419 y(\002les.)111 631 y Fr(int)43 b(poptAddAlias\(poptContext)d(con,)j
-(struct)f(poptAlias)g(alias,)g(int)g(flags\);)411 743
-y FA(Occasionally)-11 b(,)37 b(pr)n(ocesses)f(want)d(to)h(specify)g
-(aliases)g(without)f(having)f(to)411 855 y(r)n(ead)24
-b(them)f(fr)n(om)h(a)f(con\002guration)f(\002le.)34 b(This)23
-b(function)f(adds)i(a)g(new)e(alias)411 967 y(to)39 b(a)f(context.)77
-b(The)38 b Fr(flags)f FA(ar)n(gument)h(should)g(be)f(0,)42
-b(as)c(it)g(is)h(curr)n(ently)411 1079 y(r)n(eserved)21
-b(for)g(futur)n(e)e(expansion.)33 b(The)20 b(new)g(alias)h(is)g
-(speci\002ed)g(as)h(a)e Fr(struct)411 1191 y(poptAlias)p
-FA(,)j(which)g(is)h(de\002ned)f(as:)411 1388 y Fq(struct)36
-b(poptAlias)e({)558 1496 y(char)i(*)h(longName;)439 b(/*)36
-b(may)g(be)g(NULL)g(*/)558 1604 y(char)g(shortName;)476
-b(/*)36 b(may)g(be)g('\\0')g(*/)558 1712 y(int)g(argc;)558
-1820 y(char)g(**)h(argv;)550 b(/*)36 b(must)g(be)g(free\(\)able)f(*/)
-411 1927 y(};)411 2139 y FA(The)d(\002rst)h(two)g(elements,)i
-Fr(longName)d FA(and)g Fr(shortName)p FA(,)j(specify)e(the)g(option)411
-2251 y(that)23 b(is)g(aliased.)33 b(The)22 b(\002nal)g(two,)h
-Fr(argc)f FA(and)g Fr(argv)p FA(,)h(de\002ne)f(the)g(expansion)g(to)411
-2363 y(use)i(when)e(the)i(aliases)f(option)h(is)g(encounter)n(ed.)-187
-2716 y Fk(24.4)131 b(Parsing)41 b(Argument)f(Strings)p
--187 2801 3413 5 v 111 3063 a FA(Although)21 b(popt)i(is)g(usually)e
-(used)h(for)f(parsing)h(ar)n(guments)g(alr)n(eady)f(divided)h(into)111
-3175 y(an)e Fr(argv)p FA(\255style)f(array)-11 b(,)20
-b(some)h(pr)n(ograms)g(need)e(to)h(parse)g(strings)h(that)e(ar)n(e)h
-(formatted)111 3287 y(identically)30 b(to)g(command)h(lines.)52
-b(T)-9 b(o)30 b(facilitate)f(this,)j(popt)f(pr)n(ovides)g(a)f(function)
-111 3399 y(that)f(parses)h(a)g(string)f(into)g(an)g(array)f(of)h
-(string,)i(using)e(r)o(ules)g(similiar)g(to)g(normal)111
-3512 y(shell)24 b(parsing.)111 3717 y Fq(#include)35
-b(<popt.h>)111 3933 y(int)h(poptParseArgvString\(char)31
-b(*)37 b(s,)f(int)g(*)h(argcPtr,)e(char)h(***)g(argvPtr\);)111
-4145 y FA(The)19 b(string)h Fr(s)g FA(is)g(parsed)h(into)f(an)f
-Fr(argv)p FA(\255style)h(array)-11 b(.)32 b(The)19 b(integer)g(pointed)
-h(to)g(by)g(the)111 4257 y(second)33 b(parameter)-7 b(,)32
-b Fr(argcPtr)p FA(,)h(contains)e(the)g(number)g(of)g(elements)g
-(parsed,)j(and)111 4369 y(the)c(pointer)h(pointed)f(to)h(by)g(the)f
-(\002nal)f(parameter)h(is)h(set)g(to)g(point)g(to)g(the)f(newly)p
-eop
-%%Page: 455 11
-455 478 bop 2154 -116 a Fv(24.6)82 b(Sample)23 b(Application)115
-b Ft(455)p 0 -76 3413 4 v 299 83 a FA(cr)n(eated)28 b(array)-11
-b(.)45 b(The)27 b(array)g(is)h(dynamically)g(allocated)f(and)h(should)f
-(be)h Fr(free\(\))p FA(ed)299 195 y(when)22 b(the)i(application)f(is)h
-(\002nished)f(with)g(it.)299 407 y(The)i Fr(argvPtr)h
-FA(cr)n(eated)h(by)f Fr(poptParseArgvString\(\))e FA(is)j(suitable)f
-(to)h(pass)g(dir)n(ectly)g(to)299 519 y Fr(poptGetContext\(\))p
-FA(.)0 838 y Fk(24.5)132 b(Handling)41 b(Extra)f(Arguments)p
-0 923 3413 5 v 299 1185 a FA(Some)33 b(applications)f(implement)h(the)f
-(equivalent)e(of)j(option)f(aliasing)g(but)g(need)299
-1297 y(to)39 b(do)h(so)g(thr)n(ough)e(special)i(logic.)80
-b(The)38 b Fr(poptStuffArgs\(\))g FA(function)g(allows)h(an)299
-1409 y(application)24 b(to)g(insert)f(new)g(ar)n(guments)g(into)h(the)f
-(curr)n(ent)g Fr(poptContext)p FA(.)299 1615 y Fq(#include)35
-b(<popt.h>)299 1831 y(int)h(poptStuffArgs\(poptContext)31
-b(con,)36 b(char)f(**)i(argv\);)299 2042 y FA(The)k(passed)j
-Fr(argv)e FA(must)h(have)f(a)h Fr(NULL)f FA(pointer)g(as)h(its)g
-(\002nal)e(element.)90 b(When)299 2154 y Fr(poptGetNextOpt\(\))39
-b FA(is)j(next)f(called,)k(the)c(\223stuf)n(fed\224)f(ar)n(guments)h
-(ar)n(e)g(the)g(\002rst)g(to)299 2266 y(be)g(parsed.)87
-b(popt)43 b(r)n(eturns)e(to)g(the)g(normal)g(ar)n(guments)g(once)g(all)
-g(the)g(stuf)n(fed)299 2378 y(ar)n(guments)23 b(have)g(been)g
-(exhausted.)0 2707 y Fk(24.6)132 b(Sample)41 b(Application)p
-0 2792 V 299 3054 a FA(Robin,)28 b(the)g(sample)g(application)g(on)g
-(pages)h(274\226281)d(of)i(Chapter)f(15,)i(uses)f(popt)299
-3166 y(for)36 b(its)i(ar)n(gument)e(parsing.)73 b(It)37
-b(pr)n(ovides)h(a)e(good)i(example)f(of)g(how)f(the)g(popt)299
-3278 y(library)22 b(is)i(generally)f(used.)299 3489 y(RPM,)31
-b(a)g(popular)f(Linux)h(package)g(management)f(pr)n(ogram,)k(makes)d
-(heavy)f(use)299 3602 y(of)23 b(popt's)g(featur)n(es.)33
-b(Many)23 b(of)g(its)g(command\255line)f(ar)n(guments)g(ar)n(e)g
-(implemented)299 3714 y(thr)n(ough)30 b(popt)i(aliases,)g(which)e
-(makes)h(RPM)g(an)f(excellent)g(example)h(of)g(how)f(to)299
-3826 y(take)36 b(advantage)g(of)h(the)f(popt)i(library)-11
-b(.)73 b(For)37 b(mor)n(e)g(information)e(on)i(RPM,)f(see)299
-3938 y(http:/)-14 b(/www)-9 b(.rpm.or)n(g)p eop
-%%Trailer
-end
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/popt/poptconfig.c b/popt/poptconfig.c
deleted file mode 100644
index e5cba4542..000000000
--- a/popt/poptconfig.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/** \ingroup popt
- * \file popt/poptconfig.c
- */
-
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#include "system.h"
-#include "poptint.h"
-/*@access poptContext @*/
-
-/*@-compmempass@*/ /* FIX: item->option.longName kept, not dependent. */
-static void configLine(poptContext con, char * line)
- /*@modifies con @*/
-{
- size_t nameLength;
- const char * entryType;
- const char * opt;
- poptItem item = alloca(sizeof(*item));
- int i, j;
-
- if (con->appName == NULL)
- return;
- nameLength = strlen(con->appName);
-
-/*@-boundswrite@*/
- memset(item, 0, sizeof(*item));
-
- if (strncmp(line, con->appName, nameLength)) return;
-
- line += nameLength;
- if (*line == '\0' || !isspace(*line)) return;
-
- while (*line != '\0' && isspace(*line)) line++;
- entryType = line;
- while (*line == '\0' || !isspace(*line)) line++;
- *line++ = '\0';
-
- while (*line != '\0' && isspace(*line)) line++;
- if (*line == '\0') return;
- opt = line;
- while (*line == '\0' || !isspace(*line)) line++;
- *line++ = '\0';
-
- while (*line != '\0' && isspace(*line)) line++;
- if (*line == '\0') return;
-
- /*@-temptrans@*/ /* FIX: line alias is saved */
- if (opt[0] == '-' && opt[1] == '-')
- item->option.longName = opt + 2;
- else if (opt[0] == '-' && opt[2] == '\0')
- item->option.shortName = opt[1];
- /*@=temptrans@*/
-
- if (poptParseArgvString(line, &item->argc, &item->argv)) return;
-
- /*@-modobserver@*/
- item->option.argInfo = POPT_ARGFLAG_DOC_HIDDEN;
- for (i = 0, j = 0; i < item->argc; i++, j++) {
- const char * f;
- if (!strncmp(item->argv[i], "--POPTdesc=", sizeof("--POPTdesc=")-1)) {
- f = item->argv[i] + sizeof("--POPTdesc=");
- if (f[0] == '$' && f[1] == '"') f++;
- item->option.descrip = f;
- item->option.argInfo &= ~POPT_ARGFLAG_DOC_HIDDEN;
- j--;
- } else
- if (!strncmp(item->argv[i], "--POPTargs=", sizeof("--POPTargs=")-1)) {
- f = item->argv[i] + sizeof("--POPTargs=");
- if (f[0] == '$' && f[1] == '"') f++;
- item->option.argDescrip = f;
- item->option.argInfo &= ~POPT_ARGFLAG_DOC_HIDDEN;
- item->option.argInfo |= POPT_ARG_STRING;
- j--;
- } else
- if (j != i)
- item->argv[j] = item->argv[i];
- }
- if (j != i) {
- item->argv[j] = NULL;
- item->argc = j;
- }
- /*@=modobserver@*/
-/*@=boundswrite@*/
-
- /*@-nullstate@*/ /* FIX: item->argv[] may be NULL */
- if (!strcmp(entryType, "alias"))
- (void) poptAddItem(con, item, 0);
- else if (!strcmp(entryType, "exec"))
- (void) poptAddItem(con, item, 1);
- /*@=nullstate@*/
-}
-/*@=compmempass@*/
-
-int poptReadConfigFile(poptContext con, const char * fn)
-{
- const char * file, * chptr, * end;
- char * buf;
-/*@dependent@*/ char * dst;
- int fd, rc;
- off_t fileLength;
-
- fd = open(fn, O_RDONLY);
- if (fd < 0)
- return (errno == ENOENT ? 0 : POPT_ERROR_ERRNO);
-
- fileLength = lseek(fd, 0, SEEK_END);
- if (fileLength == -1 || lseek(fd, 0, 0) == -1) {
- rc = errno;
- (void) close(fd);
- errno = rc;
- return POPT_ERROR_ERRNO;
- }
-
- file = alloca(fileLength + 1);
- if (read(fd, (char *)file, fileLength) != fileLength) {
- rc = errno;
- (void) close(fd);
- errno = rc;
- return POPT_ERROR_ERRNO;
- }
- if (close(fd) == -1)
- return POPT_ERROR_ERRNO;
-
-/*@-boundswrite@*/
- dst = buf = alloca(fileLength + 1);
-
- chptr = file;
- end = (file + fileLength);
- /*@-infloops@*/ /* LCL: can't detect chptr++ */
- while (chptr < end) {
- switch (*chptr) {
- case '\n':
- *dst = '\0';
- dst = buf;
- while (*dst && isspace(*dst)) dst++;
- if (*dst && *dst != '#')
- configLine(con, dst);
- chptr++;
- /*@switchbreak@*/ break;
- case '\\':
- *dst++ = *chptr++;
- if (chptr < end) {
- if (*chptr == '\n')
- dst--, chptr++;
- /* \ at the end of a line does not insert a \n */
- else
- *dst++ = *chptr++;
- }
- /*@switchbreak@*/ break;
- default:
- *dst++ = *chptr++;
- /*@switchbreak@*/ break;
- }
- }
- /*@=infloops@*/
-/*@=boundswrite@*/
-
- return 0;
-}
-
-int poptReadDefaultConfig(poptContext con, /*@unused@*/ int useEnv)
-{
- char * fn, * home;
- int rc;
-
- if (con->appName == NULL) return 0;
-
- rc = poptReadConfigFile(con, "/etc/popt");
- if (rc) return rc;
-
- if ((home = getenv("HOME"))) {
- fn = alloca(strlen(home) + 20);
- strcpy(fn, home);
- strcat(fn, "/.popt");
- rc = poptReadConfigFile(con, fn);
- if (rc) return rc;
- }
-
- return 0;
-}
diff --git a/popt/popthelp.c b/popt/popthelp.c
deleted file mode 100644
index 5f10a5f05..000000000
--- a/popt/popthelp.c
+++ /dev/null
@@ -1,819 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-
-/** \ingroup popt
- * \file popt/popthelp.c
- */
-
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#include "system.h"
-
-#define POPT_WCHAR_HACK
-#ifdef POPT_WCHAR_HACK
-#include <wchar.h> /* for mbsrtowcs */
-/*@access mbstate_t @*/
-#endif
-#include "poptint.h"
-
-/*@access poptContext@*/
-
-/**
- * Display arguments.
- * @param con context
- * @param foo (unused)
- * @param key option(s)
- * @param arg (unused)
- * @param data (unused)
- */
-static void displayArgs(poptContext con,
- /*@unused@*/ enum poptCallbackReason foo,
- struct poptOption * key,
- /*@unused@*/ const char * arg, /*@unused@*/ void * data)
- /*@globals fileSystem@*/
- /*@modifies fileSystem@*/
-{
- if (key->shortName == '?')
- poptPrintHelp(con, stdout, 0);
- else
- poptPrintUsage(con, stdout, 0);
- exit(0);
-}
-
-#ifdef NOTYET
-/*@unchecked@*/
-static int show_option_defaults = 0;
-#endif
-
-/**
- * Empty table marker to enable displaying popt alias/exec options.
- */
-/*@observer@*/ /*@unchecked@*/
-struct poptOption poptAliasOptions[] = {
- POPT_TABLEEND
-};
-
-/**
- * Auto help table options.
- */
-/*@-castfcnptr@*/
-/*@observer@*/ /*@unchecked@*/
-struct poptOption poptHelpOptions[] = {
- { NULL, '\0', POPT_ARG_CALLBACK, (void *)&displayArgs, '\0', NULL, NULL },
- { "help", '?', 0, NULL, '?', N_("Show this help message"), NULL },
- { "usage", '\0', 0, NULL, 'u', N_("Display brief usage message"), NULL },
- POPT_TABLEEND
-} ;
-
-/*@observer@*/ /*@unchecked@*/
-static struct poptOption poptHelpOptions2[] = {
-/*@-readonlytrans@*/
- { NULL, '\0', POPT_ARG_INTL_DOMAIN, PACKAGE, 0, NULL, NULL},
-/*@=readonlytrans@*/
- { NULL, '\0', POPT_ARG_CALLBACK, (void *)&displayArgs, '\0', NULL, NULL },
- { "help", '?', 0, NULL, '?', N_("Show this help message"), NULL },
- { "usage", '\0', 0, NULL, 'u', N_("Display brief usage message"), NULL },
-#ifdef NOTYET
- { "defaults", '\0', POPT_ARG_NONE, &show_option_defaults, 0,
- N_("Display option defaults in message"), NULL },
-#endif
- POPT_TABLEEND
-} ;
-
-/*@observer@*/ /*@unchecked@*/
-struct poptOption * poptHelpOptionsI18N = poptHelpOptions2;
-/*@=castfcnptr@*/
-
-/**
- * @param table option(s)
- */
-/*@observer@*/ /*@null@*/ static const char *const
-getTableTranslationDomain(/*@null@*/ const struct poptOption *table)
- /*@*/
-{
- const struct poptOption *opt;
-
- if (table != NULL)
- for (opt = table; opt->longName || opt->shortName || opt->arg; opt++) {
- if (opt->argInfo == POPT_ARG_INTL_DOMAIN)
- return opt->arg;
- }
- return NULL;
-}
-
-/**
- * @param opt option(s)
- * @param translation_domain translation domain
- */
-/*@observer@*/ /*@null@*/ static const char *const
-getArgDescrip(const struct poptOption * opt,
- /*@-paramuse@*/ /* FIX: i18n macros disabled with lclint */
- /*@null@*/ const char * translation_domain)
- /*@=paramuse@*/
- /*@*/
-{
- if (!(opt->argInfo & POPT_ARG_MASK)) return NULL;
-
- if (opt == (poptHelpOptions + 1) || opt == (poptHelpOptions + 2))
- if (opt->argDescrip) return POPT_(opt->argDescrip);
-
- if (opt->argDescrip) return D_(translation_domain, opt->argDescrip);
-
- switch (opt->argInfo & POPT_ARG_MASK) {
- case POPT_ARG_NONE: return POPT_("NONE");
-#ifdef DYING
- case POPT_ARG_VAL: return POPT_("VAL");
-#else
- case POPT_ARG_VAL: return NULL;
-#endif
- case POPT_ARG_INT: return POPT_("INT");
- case POPT_ARG_LONG: return POPT_("LONG");
- case POPT_ARG_STRING: return POPT_("STRING");
- case POPT_ARG_FLOAT: return POPT_("FLOAT");
- case POPT_ARG_DOUBLE: return POPT_("DOUBLE");
- default: return POPT_("ARG");
- }
-}
-
-/**
- * Display default value for an option.
- * @param lineLength display positions remaining
- * @param opt option(s)
- * @param translation_domain translation domain
- * @return
- */
-static /*@only@*/ /*@null@*/ char *
-singleOptionDefaultValue(size_t lineLength,
- const struct poptOption * opt,
- /*@-paramuse@*/ /* FIX: i18n macros disabled with lclint */
- /*@null@*/ const char * translation_domain)
- /*@=paramuse@*/
- /*@*/
-{
- const char * defstr = D_(translation_domain, "default");
- char * le = malloc(4*lineLength + 1);
- char * l = le;
-
- if (le == NULL) return NULL; /* XXX can't happen */
-/*@-boundswrite@*/
- *le = '\0';
- *le++ = '(';
- strcpy(le, defstr); le += strlen(le);
- *le++ = ':';
- *le++ = ' ';
- if (opt->arg) /* XXX programmer error */
- switch (opt->argInfo & POPT_ARG_MASK) {
- case POPT_ARG_VAL:
- case POPT_ARG_INT:
- { long aLong = *((int *)opt->arg);
- le += sprintf(le, "%ld", aLong);
- } break;
- case POPT_ARG_LONG:
- { long aLong = *((long *)opt->arg);
- le += sprintf(le, "%ld", aLong);
- } break;
- case POPT_ARG_FLOAT:
- { double aDouble = *((float *)opt->arg);
- le += sprintf(le, "%g", aDouble);
- } break;
- case POPT_ARG_DOUBLE:
- { double aDouble = *((double *)opt->arg);
- le += sprintf(le, "%g", aDouble);
- } break;
- case POPT_ARG_STRING:
- { const char * s = *(const char **)opt->arg;
- if (s == NULL) {
- strcpy(le, "null"); le += strlen(le);
- } else {
- size_t slen = 4*lineLength - (le - l) - sizeof("\"...\")");
- *le++ = '"';
- strncpy(le, s, slen); le[slen] = '\0'; le += strlen(le);
- if (slen < strlen(s)) {
- strcpy(le, "..."); le += strlen(le);
- }
- *le++ = '"';
- }
- } break;
- case POPT_ARG_NONE:
- default:
- l = _free(l);
- return NULL;
- /*@notreached@*/ break;
- }
- *le++ = ')';
- *le = '\0';
-/*@=boundswrite@*/
-
- return l;
-}
-
-/**
- * Display help text for an option.
- * @param fp output file handle
- * @param maxLeftCol largest argument display width
- * @param opt option(s)
- * @param translation_domain translation domain
- */
-static void singleOptionHelp(FILE * fp, size_t maxLeftCol,
- const struct poptOption * opt,
- /*@null@*/ const char * translation_domain)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- size_t indentLength = maxLeftCol + 5;
- size_t lineLength = 79 - indentLength;
- const char * help = D_(translation_domain, opt->descrip);
- const char * argDescrip = getArgDescrip(opt, translation_domain);
- size_t helpLength;
- char * defs = NULL;
- char * left;
- size_t nb = maxLeftCol + 1;
- int displaypad = 0;
-
- /* Make sure there's more than enough room in target buffer. */
- if (opt->longName) nb += strlen(opt->longName);
- if (argDescrip) nb += strlen(argDescrip);
-
-/*@-boundswrite@*/
- left = malloc(nb);
- if (left == NULL) return; /* XXX can't happen */
- left[0] = '\0';
- left[maxLeftCol] = '\0';
-
- if (opt->longName && opt->shortName)
- sprintf(left, "-%c, %s%s", opt->shortName,
- ((opt->argInfo & POPT_ARGFLAG_ONEDASH) ? "-" : "--"),
- opt->longName);
- else if (opt->shortName != '\0')
- sprintf(left, "-%c", opt->shortName);
- else if (opt->longName)
- sprintf(left, "%s%s",
- ((opt->argInfo & POPT_ARGFLAG_ONEDASH) ? "-" : "--"),
- opt->longName);
- if (!*left) goto out;
-
- if (argDescrip) {
- char * le = left + strlen(left);
-
- if (opt->argInfo & POPT_ARGFLAG_OPTIONAL)
- *le++ = '[';
-
- /* Choose type of output */
- /*@-branchstate@*/
- if (opt->argInfo & POPT_ARGFLAG_SHOW_DEFAULT) {
- defs = singleOptionDefaultValue(lineLength, opt, translation_domain);
- if (defs) {
- char * t = malloc((help ? strlen(help) : 0) +
- strlen(defs) + sizeof(" "));
- if (t) {
- char * te = t;
- *te = '\0';
- if (help) {
- strcpy(te, help); te += strlen(te);
- }
- *te++ = ' ';
- strcpy(te, defs);
- defs = _free(defs);
- }
- defs = t;
- }
- }
- /*@=branchstate@*/
-
- if (opt->argDescrip == NULL) {
- switch (opt->argInfo & POPT_ARG_MASK) {
- case POPT_ARG_NONE:
- break;
- case POPT_ARG_VAL:
-#ifdef NOTNOW /* XXX pug ugly nerdy output */
- { long aLong = opt->val;
- int ops = (opt->argInfo & POPT_ARGFLAG_LOGICALOPS);
- int negate = (opt->argInfo & POPT_ARGFLAG_NOT);
-
- /* Don't bother displaying typical values */
- if (!ops && (aLong == 0L || aLong == 1L || aLong == -1L))
- break;
- *le++ = '[';
- switch (ops) {
- case POPT_ARGFLAG_OR:
- *le++ = '|';
- /*@innerbreak@*/ break;
- case POPT_ARGFLAG_AND:
- *le++ = '&';
- /*@innerbreak@*/ break;
- case POPT_ARGFLAG_XOR:
- *le++ = '^';
- /*@innerbreak@*/ break;
- default:
- /*@innerbreak@*/ break;
- }
- *le++ = (opt->longName != NULL ? '=' : ' ');
- if (negate) *le++ = '~';
- /*@-formatconst@*/
- le += sprintf(le, (ops ? "0x%lx" : "%ld"), aLong);
- /*@=formatconst@*/
- *le++ = ']';
- }
-#endif
- break;
- case POPT_ARG_INT:
- case POPT_ARG_LONG:
- case POPT_ARG_FLOAT:
- case POPT_ARG_DOUBLE:
- case POPT_ARG_STRING:
- *le++ = (opt->longName != NULL ? '=' : ' ');
- strcpy(le, argDescrip); le += strlen(le);
- break;
- default:
- break;
- }
- } else {
- size_t lelen;
-
- *le++ = '=';
- strcpy(le, argDescrip);
- lelen = strlen(le);
- le += lelen;
-
-#ifdef POPT_WCHAR_HACK
- { const char * scopy = argDescrip;
- mbstate_t t;
- size_t n;
-
- memset ((void *)&t, '\0', sizeof (t)); /* In initial state. */
- /* Determine number of characters. */
- n = mbsrtowcs (NULL, &scopy, strlen(scopy), &t);
-
- displaypad = (int) (lelen-n);
- }
-#endif
- }
- if (opt->argInfo & POPT_ARGFLAG_OPTIONAL)
- *le++ = ']';
- *le = '\0';
- }
-/*@=boundswrite@*/
-
- if (help)
- fprintf(fp," %-*s ", maxLeftCol+displaypad, left);
- else {
- fprintf(fp," %s\n", left);
- goto out;
- }
-
- left = _free(left);
-/*@-branchstate@*/
- if (defs) {
- help = defs;
- defs = NULL;
- }
-/*@=branchstate@*/
-
- helpLength = strlen(help);
-/*@-boundsread@*/
- while (helpLength > lineLength) {
- const char * ch;
- char format[16];
-
- ch = help + lineLength - 1;
- while (ch > help && !isspace(*ch)) ch--;
- if (ch == help) break; /* give up */
- while (ch > (help + 1) && isspace(*ch)) ch--;
- ch++;
-
- sprintf(format, "%%.%ds\n%%%ds", (int) (ch - help), (int) indentLength);
- /*@-formatconst@*/
- fprintf(fp, format, help, " ");
- /*@=formatconst@*/
- help = ch;
- while (isspace(*help) && *help) help++;
- helpLength = strlen(help);
- }
-/*@=boundsread@*/
-
- if (helpLength) fprintf(fp, "%s\n", help);
-
-out:
- /*@-dependenttrans@*/
- defs = _free(defs);
- /*@=dependenttrans@*/
- left = _free(left);
-}
-
-/**
- * Find display width for longest argument string.
- * @param opt option(s)
- * @param translation_domain translation domain
- * @return display width
- */
-static size_t maxArgWidth(const struct poptOption * opt,
- /*@null@*/ const char * translation_domain)
- /*@*/
-{
- size_t max = 0;
- size_t len = 0;
- const char * s;
-
- if (opt != NULL)
- while (opt->longName || opt->shortName || opt->arg) {
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- if (opt->arg) /* XXX program error */
- len = maxArgWidth(opt->arg, translation_domain);
- if (len > max) max = len;
- } else if (!(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) {
- len = sizeof(" ")-1;
- if (opt->shortName != '\0') len += sizeof("-X")-1;
- if (opt->shortName != '\0' && opt->longName) len += sizeof(", ")-1;
- if (opt->longName) {
- len += ((opt->argInfo & POPT_ARGFLAG_ONEDASH)
- ? sizeof("-")-1 : sizeof("--")-1);
- len += strlen(opt->longName);
- }
-
- s = getArgDescrip(opt, translation_domain);
-
-#ifdef POPT_WCHAR_HACK
- /* XXX Calculate no. of display characters. */
- if (s) {
- const char * scopy = s;
- mbstate_t t;
- size_t n;
-
-/*@-boundswrite@*/
- memset ((void *)&t, '\0', sizeof (t)); /* In initial state. */
-/*@=boundswrite@*/
- /* Determine number of characters. */
- n = mbsrtowcs (NULL, &scopy, strlen(scopy), &t);
- len += sizeof("=")-1 + n;
- }
-#else
- if (s)
- len += sizeof("=")-1 + strlen(s);
-#endif
-
- if (opt->argInfo & POPT_ARGFLAG_OPTIONAL) len += sizeof("[]")-1;
- if (len > max) max = len;
- }
-
- opt++;
- }
-
- return max;
-}
-
-/**
- * Display popt alias and exec help.
- * @param fp output file handle
- * @param items alias/exec array
- * @param nitems no. of alias/exec entries
- * @param left largest argument display width
- * @param translation_domain translation domain
- */
-static void itemHelp(FILE * fp,
- /*@null@*/ poptItem items, int nitems, size_t left,
- /*@null@*/ const char * translation_domain)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- poptItem item;
- int i;
-
- if (items != NULL)
- for (i = 0, item = items; i < nitems; i++, item++) {
- const struct poptOption * opt;
- opt = &item->option;
- if ((opt->longName || opt->shortName) &&
- !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN))
- singleOptionHelp(fp, left, opt, translation_domain);
- }
-}
-
-/**
- * Display help text for a table of options.
- * @param con context
- * @param fp output file handle
- * @param table option(s)
- * @param left largest argument display width
- * @param translation_domain translation domain
- */
-static void singleTableHelp(poptContext con, FILE * fp,
- /*@null@*/ const struct poptOption * table, size_t left,
- /*@null@*/ const char * translation_domain)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- const struct poptOption * opt;
- const char *sub_transdom;
-
- if (table == poptAliasOptions) {
- itemHelp(fp, con->aliases, con->numAliases, left, NULL);
- itemHelp(fp, con->execs, con->numExecs, left, NULL);
- return;
- }
-
- if (table != NULL)
- for (opt = table; (opt->longName || opt->shortName || opt->arg); opt++) {
- if ((opt->longName || opt->shortName) &&
- !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN))
- singleOptionHelp(fp, left, opt, translation_domain);
- }
-
- if (table != NULL)
- for (opt = table; (opt->longName || opt->shortName || opt->arg); opt++) {
- if ((opt->argInfo & POPT_ARG_MASK) != POPT_ARG_INCLUDE_TABLE)
- continue;
- sub_transdom = getTableTranslationDomain(opt->arg);
- if (sub_transdom == NULL)
- sub_transdom = translation_domain;
-
- if (opt->descrip)
- fprintf(fp, "\n%s\n", D_(sub_transdom, opt->descrip));
-
- singleTableHelp(con, fp, opt->arg, left, sub_transdom);
- }
-}
-
-/**
- * @param con context
- * @param fp output file handle
- */
-static int showHelpIntro(poptContext con, FILE * fp)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- int len = 6;
- const char * fn;
-
- fprintf(fp, POPT_("Usage:"));
- if (!(con->flags & POPT_CONTEXT_KEEP_FIRST)) {
-/*@-boundsread@*/
- /*@-nullderef -type@*/ /* LCL: wazzup? */
- fn = con->optionStack->argv[0];
- /*@=nullderef =type@*/
-/*@=boundsread@*/
- if (fn == NULL) return len;
- if (strchr(fn, '/')) fn = strrchr(fn, '/') + 1;
- fprintf(fp, " %s", fn);
- len += strlen(fn) + 1;
- }
-
- return len;
-}
-
-void poptPrintHelp(poptContext con, FILE * fp, /*@unused@*/ int flags)
-{
- size_t leftColWidth;
-
- (void) showHelpIntro(con, fp);
- if (con->otherHelp)
- fprintf(fp, " %s\n", con->otherHelp);
- else
- fprintf(fp, " %s\n", POPT_("[OPTION...]"));
-
- leftColWidth = maxArgWidth(con->options, NULL);
- singleTableHelp(con, fp, con->options, leftColWidth, NULL);
-}
-
-/**
- * Display usage text for an option.
- * @param fp output file handle
- * @param cursor current display position
- * @param opt option(s)
- * @param translation_domain translation domain
- */
-static size_t singleOptionUsage(FILE * fp, size_t cursor,
- const struct poptOption * opt,
- /*@null@*/ const char *translation_domain)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- size_t len = 4;
- char shortStr[2] = { '\0', '\0' };
- const char * item = shortStr;
- const char * argDescrip = getArgDescrip(opt, translation_domain);
-
- if (opt->shortName != '\0' && opt->longName != NULL) {
- len += 2;
- if (!(opt->argInfo & POPT_ARGFLAG_ONEDASH)) len++;
- len += strlen(opt->longName);
- } else if (opt->shortName != '\0') {
- len++;
- shortStr[0] = opt->shortName;
- shortStr[1] = '\0';
- } else if (opt->longName) {
- len += strlen(opt->longName);
- if (!(opt->argInfo & POPT_ARGFLAG_ONEDASH)) len++;
- item = opt->longName;
- }
-
- if (len == 4) return cursor;
-
-#ifdef POPT_WCHAR_HACK
- /* XXX Calculate no. of display characters. */
- if (argDescrip) {
- const char * scopy = argDescrip;
- mbstate_t t;
- size_t n;
-
-/*@-boundswrite@*/
- memset ((void *)&t, '\0', sizeof (t)); /* In initial state. */
-/*@=boundswrite@*/
- /* Determine number of characters. */
- n = mbsrtowcs (NULL, &scopy, strlen(scopy), &t);
- len += sizeof("=")-1 + n;
- }
-#else
- if (argDescrip)
- len += sizeof("=")-1 + strlen(argDescrip);
-#endif
-
- if ((cursor + len) > 79) {
- fprintf(fp, "\n ");
- cursor = 7;
- }
-
- if (opt->longName && opt->shortName) {
- fprintf(fp, " [-%c|-%s%s%s%s]",
- opt->shortName, ((opt->argInfo & POPT_ARGFLAG_ONEDASH) ? "" : "-"),
- opt->longName,
- (argDescrip ? " " : ""),
- (argDescrip ? argDescrip : ""));
- } else {
- fprintf(fp, " [-%s%s%s%s]",
- ((opt->shortName || (opt->argInfo & POPT_ARGFLAG_ONEDASH)) ? "" : "-"),
- item,
- (argDescrip ? (opt->shortName != '\0' ? " " : "=") : ""),
- (argDescrip ? argDescrip : ""));
- }
-
- return cursor + len + 1;
-}
-
-/**
- * Display popt alias and exec usage.
- * @param fp output file handle
- * @param cursor current display position
- * @param item alias/exec array
- * @param nitems no. of ara/exec entries
- * @param translation_domain translation domain
- */
-static size_t itemUsage(FILE * fp, size_t cursor,
- /*@null@*/ poptItem item, int nitems,
- /*@null@*/ const char * translation_domain)
- /*@globals fileSystem @*/
- /*@modifies *fp, fileSystem @*/
-{
- int i;
-
- /*@-branchstate@*/ /* FIX: W2DO? */
- if (item != NULL)
- for (i = 0; i < nitems; i++, item++) {
- const struct poptOption * opt;
- opt = &item->option;
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INTL_DOMAIN) {
- translation_domain = (const char *)opt->arg;
- } else if ((opt->longName || opt->shortName) &&
- !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) {
- cursor = singleOptionUsage(fp, cursor, opt, translation_domain);
- }
- }
- /*@=branchstate@*/
-
- return cursor;
-}
-
-/**
- * Keep track of option tables already processed.
- */
-typedef struct poptDone_s {
- int nopts;
- int maxopts;
- const void ** opts;
-} * poptDone;
-
-/**
- * Display usage text for a table of options.
- * @param con context
- * @param fp output file handle
- * @param cursor current display position
- * @param opt option(s)
- * @param translation_domain translation domain
- * @param done tables already processed
- * @return
- */
-static size_t singleTableUsage(poptContext con, FILE * fp, size_t cursor,
- /*@null@*/ const struct poptOption * opt,
- /*@null@*/ const char * translation_domain,
- /*@null@*/ poptDone done)
- /*@globals fileSystem @*/
- /*@modifies *fp, done, fileSystem @*/
-{
- /*@-branchstate@*/ /* FIX: W2DO? */
- if (opt != NULL)
- for (; (opt->longName || opt->shortName || opt->arg) ; opt++) {
- if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INTL_DOMAIN) {
- translation_domain = (const char *)opt->arg;
- } else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE) {
- if (done) {
- int i = 0;
- for (i = 0; i < done->nopts; i++) {
-/*@-boundsread@*/
- const void * that = done->opts[i];
-/*@=boundsread@*/
- if (that == NULL || that != opt->arg)
- /*@innercontinue@*/ continue;
- /*@innerbreak@*/ break;
- }
- /* Skip if this table has already been processed. */
- if (opt->arg == NULL || i < done->nopts)
- continue;
-/*@-boundswrite@*/
- if (done->nopts < done->maxopts)
- done->opts[done->nopts++] = (const void *) opt->arg;
-/*@=boundswrite@*/
- }
- cursor = singleTableUsage(con, fp, cursor, opt->arg,
- translation_domain, done);
- } else if ((opt->longName || opt->shortName) &&
- !(opt->argInfo & POPT_ARGFLAG_DOC_HIDDEN)) {
- cursor = singleOptionUsage(fp, cursor, opt, translation_domain);
- }
- }
- /*@=branchstate@*/
-
- return cursor;
-}
-
-/**
- * Return concatenated short options for display.
- * @todo Sub-tables should be recursed.
- * @param opt option(s)
- * @param fp output file handle
- * @retval str concatenation of short options
- * @return length of display string
- */
-static int showShortOptions(const struct poptOption * opt, FILE * fp,
- /*@null@*/ char * str)
- /*@globals fileSystem @*/
- /*@modifies *str, *fp, fileSystem @*/
- /*@requires maxRead(str) >= 0 @*/
-{
- /* bufsize larger then the ascii set, lazy alloca on top level call. */
- char * s = (str != NULL ? str : memset(alloca(300), 0, 300));
- int len = 0;
-
-/*@-boundswrite@*/
- if (opt != NULL)
- for (; (opt->longName || opt->shortName || opt->arg); opt++) {
- if (opt->shortName && !(opt->argInfo & POPT_ARG_MASK))
- s[strlen(s)] = opt->shortName;
- else if ((opt->argInfo & POPT_ARG_MASK) == POPT_ARG_INCLUDE_TABLE)
- if (opt->arg) /* XXX program error */
- len = showShortOptions(opt->arg, fp, s);
- }
-/*@=boundswrite@*/
-
- /* On return to top level, print the short options, return print length. */
- if (s == str && *s != '\0') {
- fprintf(fp, " [-%s]", s);
- len = strlen(s) + sizeof(" [-]")-1;
- }
- return len;
-}
-
-void poptPrintUsage(poptContext con, FILE * fp, /*@unused@*/ int flags)
-{
- poptDone done = memset(alloca(sizeof(*done)), 0, sizeof(*done));
- size_t cursor;
-
- done->nopts = 0;
- done->maxopts = 64;
- cursor = done->maxopts * sizeof(*done->opts);
-/*@-boundswrite@*/
- done->opts = memset(alloca(cursor), 0, cursor);
- /*@-keeptrans@*/
- done->opts[done->nopts++] = (const void *) con->options;
- /*@=keeptrans@*/
-/*@=boundswrite@*/
-
- cursor = showHelpIntro(con, fp);
- cursor += showShortOptions(con->options, fp, NULL);
- cursor = singleTableUsage(con, fp, cursor, con->options, NULL, done);
- cursor = itemUsage(fp, cursor, con->aliases, con->numAliases, NULL);
- cursor = itemUsage(fp, cursor, con->execs, con->numExecs, NULL);
-
- if (con->otherHelp) {
- cursor += strlen(con->otherHelp) + 1;
- if (cursor > 79) fprintf(fp, "\n ");
- fprintf(fp, " %s", con->otherHelp);
- }
-
- fprintf(fp, "\n");
-}
-
-void poptSetOtherOptionHelp(poptContext con, const char * text)
-{
- con->otherHelp = _free(con->otherHelp);
- con->otherHelp = xstrdup(text);
-}
diff --git a/popt/poptint.h b/popt/poptint.h
deleted file mode 100644
index 5e75712c9..000000000
--- a/popt/poptint.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/** \ingroup popt
- * \file popt/poptint.h
- */
-
-/* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#ifndef H_POPTINT
-#define H_POPTINT
-
-/**
- * Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
- * @param p memory to free
- * @retval NULL always
- */
-/*@unused@*/ static inline /*@null@*/ void *
-_free(/*@only@*/ /*@null@*/ const void * p)
- /*@modifies p @*/
-{
- if (p != NULL) free((void *)p);
- return NULL;
-}
-
-/* Bit mask macros. */
-/*@-exporttype -redef @*/
-typedef unsigned int __pbm_bits;
-/*@=exporttype =redef @*/
-#define __PBM_NBITS (8 * sizeof (__pbm_bits))
-#define __PBM_IX(d) ((d) / __PBM_NBITS)
-#define __PBM_MASK(d) ((__pbm_bits) 1 << (((unsigned)(d)) % __PBM_NBITS))
-/*@-exporttype -redef @*/
-typedef struct {
- __pbm_bits bits[1];
-} pbm_set;
-/*@=exporttype =redef @*/
-#define __PBM_BITS(set) ((set)->bits)
-
-#define PBM_ALLOC(d) calloc(__PBM_IX (d) + 1, sizeof(__pbm_bits))
-#define PBM_FREE(s) _free(s);
-#define PBM_SET(d, s) (__PBM_BITS (s)[__PBM_IX (d)] |= __PBM_MASK (d))
-#define PBM_CLR(d, s) (__PBM_BITS (s)[__PBM_IX (d)] &= ~__PBM_MASK (d))
-#define PBM_ISSET(d, s) ((__PBM_BITS (s)[__PBM_IX (d)] & __PBM_MASK (d)) != 0)
-
-struct optionStackEntry {
- int argc;
-/*@only@*/ /*@null@*/
- const char ** argv;
-/*@only@*/ /*@null@*/
- pbm_set * argb;
- int next;
-/*@only@*/ /*@null@*/
- const char * nextArg;
-/*@observer@*/ /*@null@*/
- const char * nextCharArg;
-/*@dependent@*/ /*@null@*/
- poptItem currAlias;
- int stuffed;
-};
-
-struct poptContext_s {
- struct optionStackEntry optionStack[POPT_OPTION_DEPTH];
-/*@dependent@*/
- struct optionStackEntry * os;
-/*@owned@*/ /*@null@*/
- const char ** leftovers;
- int numLeftovers;
- int nextLeftover;
-/*@keep@*/
- const struct poptOption * options;
- int restLeftover;
-/*@only@*/ /*@null@*/
- const char * appName;
-/*@only@*/ /*@null@*/
- poptItem aliases;
- int numAliases;
- int flags;
-/*@owned@*/ /*@null@*/
- poptItem execs;
- int numExecs;
-/*@only@*/ /*@null@*/
- const char ** finalArgv;
- int finalArgvCount;
- int finalArgvAlloced;
-/*@dependent@*/ /*@null@*/
- poptItem doExec;
-/*@only@*/
- const char * execPath;
- int execAbsolute;
-/*@only@*/ /*@relnull@*/
- const char * otherHelp;
-/*@null@*/
- pbm_set * arg_strip;
-};
-
-#ifdef HAVE_LIBINTL_H
-#include <libintl.h>
-#endif
-
-#if defined(HAVE_GETTEXT) && !defined(__LCLINT__)
-#define _(foo) gettext(foo)
-#else
-#define _(foo) foo
-#endif
-
-#if defined(HAVE_DCGETTEXT) && !defined(__LCLINT__)
-#define D_(dom, str) dgettext(dom, str)
-#define POPT_(foo) D_("popt", foo)
-#else
-#define D_(dom, str) str
-#define POPT_(foo) foo
-#endif
-
-#define N_(foo) foo
-
-#endif
diff --git a/popt/poptparse.c b/popt/poptparse.c
deleted file mode 100644
index a0dea8004..000000000
--- a/popt/poptparse.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/** \ingroup popt
- * \file popt/poptparse.c
- */
-
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#include "system.h"
-
-#define POPT_ARGV_ARRAY_GROW_DELTA 5
-
-/*@-boundswrite@*/
-int poptDupArgv(int argc, const char **argv,
- int * argcPtr, const char *** argvPtr)
-{
- size_t nb = (argc + 1) * sizeof(*argv);
- const char ** argv2;
- char * dst;
- int i;
-
- if (argc <= 0 || argv == NULL) /* XXX can't happen */
- return POPT_ERROR_NOARG;
- for (i = 0; i < argc; i++) {
- if (argv[i] == NULL)
- return POPT_ERROR_NOARG;
- nb += strlen(argv[i]) + 1;
- }
-
- dst = malloc(nb);
- if (dst == NULL) /* XXX can't happen */
- return POPT_ERROR_MALLOC;
- argv2 = (void *) dst;
- dst += (argc + 1) * sizeof(*argv);
-
- /*@-branchstate@*/
- for (i = 0; i < argc; i++) {
- argv2[i] = dst;
- dst += strlen(strcpy(dst, argv[i])) + 1;
- }
- /*@=branchstate@*/
- argv2[argc] = NULL;
-
- if (argvPtr) {
- *argvPtr = argv2;
- } else {
- free(argv2);
- argv2 = NULL;
- }
- if (argcPtr)
- *argcPtr = argc;
- return 0;
-}
-/*@=boundswrite@*/
-
-/*@-bounds@*/
-int poptParseArgvString(const char * s, int * argcPtr, const char *** argvPtr)
-{
- const char * src;
- char quote = '\0';
- int argvAlloced = POPT_ARGV_ARRAY_GROW_DELTA;
- const char ** argv = malloc(sizeof(*argv) * argvAlloced);
- int argc = 0;
- int buflen = strlen(s) + 1;
- char * buf = memset(alloca(buflen), 0, buflen);
- int rc = POPT_ERROR_MALLOC;
-
- if (argv == NULL) return rc;
- argv[argc] = buf;
-
- for (src = s; *src != '\0'; src++) {
- if (quote == *src) {
- quote = '\0';
- } else if (quote != '\0') {
- if (*src == '\\') {
- src++;
- if (!*src) {
- rc = POPT_ERROR_BADQUOTE;
- goto exit;
- }
- if (*src != quote) *buf++ = '\\';
- }
- *buf++ = *src;
- } else if (isspace(*src)) {
- if (*argv[argc] != '\0') {
- buf++, argc++;
- if (argc == argvAlloced) {
- argvAlloced += POPT_ARGV_ARRAY_GROW_DELTA;
- argv = realloc(argv, sizeof(*argv) * argvAlloced);
- if (argv == NULL) goto exit;
- }
- argv[argc] = buf;
- }
- } else switch (*src) {
- case '"':
- case '\'':
- quote = *src;
- /*@switchbreak@*/ break;
- case '\\':
- src++;
- if (!*src) {
- rc = POPT_ERROR_BADQUOTE;
- goto exit;
- }
- /*@fallthrough@*/
- default:
- *buf++ = *src;
- /*@switchbreak@*/ break;
- }
- }
-
- if (strlen(argv[argc])) {
- argc++, buf++;
- }
-
- rc = poptDupArgv(argc, argv, argcPtr, argvPtr);
-
-exit:
- if (argv) free(argv);
- return rc;
-}
-/*@=bounds@*/
-
-/* still in the dev stage.
- * return values, perhaps 1== file erro
- * 2== line to long
- * 3== umm.... more?
- */
-int poptConfigFileToString(FILE *fp, char ** argstrp, /*@unused@*/ int flags)
-{
- char line[999];
- char * argstr;
- char * p;
- char * q;
- char * x;
- int t;
- int argvlen = 0;
- size_t maxlinelen = sizeof(line);
- size_t linelen;
- int maxargvlen = 480;
- int linenum = 0;
-
- *argstrp = NULL;
-
- /* | this_is = our_line
- * p q x
- */
-
- if (fp == NULL)
- return POPT_ERROR_NULLARG;
-
- argstr = calloc(maxargvlen, sizeof(*argstr));
- if (argstr == NULL) return POPT_ERROR_MALLOC;
-
- while (fgets(line, (int)maxlinelen, fp) != NULL) {
- linenum++;
- p = line;
-
- /* loop until first non-space char or EOL */
- while( *p != '\0' && isspace(*p) )
- p++;
-
- linelen = strlen(p);
- if (linelen >= maxlinelen-1)
- return POPT_ERROR_OVERFLOW; /* XXX line too long */
-
- if (*p == '\0' || *p == '\n') continue; /* line is empty */
- if (*p == '#') continue; /* comment line */
-
- q = p;
-
- while (*q != '\0' && (!isspace(*q)) && *q != '=')
- q++;
-
- if (isspace(*q)) {
- /* a space after the name, find next non space */
- *q++='\0';
- while( *q != '\0' && isspace((int)*q) ) q++;
- }
- if (*q == '\0') {
- /* single command line option (ie, no name=val, just name) */
- q[-1] = '\0'; /* kill off newline from fgets() call */
- argvlen += (t = q - p) + (sizeof(" --")-1);
- if (argvlen >= maxargvlen) {
- maxargvlen = (t > maxargvlen) ? t*2 : maxargvlen*2;
- argstr = realloc(argstr, maxargvlen);
- if (argstr == NULL) return POPT_ERROR_MALLOC;
- }
- strcat(argstr, " --");
- strcat(argstr, p);
- continue;
- }
- if (*q != '=')
- continue; /* XXX for now, silently ignore bogus line */
-
- /* *q is an equal sign. */
- *q++ = '\0';
-
- /* find next non-space letter of value */
- while (*q != '\0' && isspace(*q))
- q++;
- if (*q == '\0')
- continue; /* XXX silently ignore missing value */
-
- /* now, loop and strip all ending whitespace */
- x = p + linelen;
- while (isspace(*--x))
- *x = 0; /* null out last char if space (including fgets() NL) */
-
- /* rest of line accept */
- t = x - p;
- argvlen += t + (sizeof("' --='")-1);
- if (argvlen >= maxargvlen) {
- maxargvlen = (t > maxargvlen) ? t*2 : maxargvlen*2;
- argstr = realloc(argstr, maxargvlen);
- if (argstr == NULL) return POPT_ERROR_MALLOC;
- }
- strcat(argstr, " --");
- strcat(argstr, p);
- strcat(argstr, "=\"");
- strcat(argstr, q);
- strcat(argstr, "\"");
- }
-
- *argstrp = argstr;
- return 0;
-}
diff --git a/popt/system.h b/popt/system.h
deleted file mode 100644
index c3d46cba8..000000000
--- a/popt/system.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#if defined (__GLIBC__) && defined(__LCLINT__)
-/*@-declundef@*/
-/*@unchecked@*/
-extern __const __int32_t *__ctype_tolower;
-/*@unchecked@*/
-extern __const __int32_t *__ctype_toupper;
-/*@=declundef@*/
-#endif
-
-#include <ctype.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <limits.h>
-
-#if HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef __NeXT
-/* access macros are not declared in non posix mode in unistd.h -
- don't try to use posix on NeXTstep 3.3 ! */
-#include <libc.h>
-#endif
-
-#if defined(__LCLINT__)
-/*@-declundef -incondefs @*/ /* LCL: missing annotation */
-/*@only@*/ /*@out@*/
-void * alloca (size_t __size)
- /*@ensures MaxSet(result) == (__size - 1) @*/
- /*@*/;
-/*@=declundef =incondefs @*/
-#endif
-
-/* AIX requires this to be the first thing in the file. */
-#ifndef __GNUC__
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
-#pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#elif defined(__GNUC__) && defined(__STRICT_ANSI__)
-#define alloca __builtin_alloca
-#endif
-
-/*@-redecl -redef@*/
-/*@mayexit@*/ /*@only@*/ /*@unused@*/
-char * xstrdup (const char *str)
- /*@*/;
-/*@=redecl =redef@*/
-
-#if HAVE_MCHECK_H && defined(__GNUC__)
-#define vmefail() (fprintf(stderr, "virtual memory exhausted.\n"), exit(EXIT_FAILURE), NULL)
-#define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail()), (_str)))
-#else
-#define xstrdup(_str) strdup(_str)
-#endif /* HAVE_MCHECK_H && defined(__GNUC__) */
-
-#if HAVE___SECURE_GETENV && !defined(__LCLINT__)
-#define getenv(_s) __secure_getenv(_s)
-#endif
-
-#include "popt.h"
diff --git a/popt/test-poptrc b/popt/test-poptrc
deleted file mode 100644
index 509e0135d..000000000
--- a/popt/test-poptrc
+++ /dev/null
@@ -1,12 +0,0 @@
-test1 alias --simple --arg2
-test1 alias --two --arg1 --arg2 alias
-test1 alias --takerest --
-test1 alias -T --arg2
-test1 alias -O --arg1
-
-test1 alias --grab --arg2 "'foo !#:+'"
-test1 alias --grabbar --grab bar
-
-test1 exec --echo-args echo
-test1 alias -e --echo-args
-test1 exec -a /bin/echo
diff --git a/popt/test1.c b/popt/test1.c
deleted file mode 100644
index eeeb916ee..000000000
--- a/popt/test1.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING
- file accompanying popt source distributions, available from
- ftp://ftp.rpm.org/pub/rpm/dist. */
-
-#include "system.h"
-
-/*@unchecked@*/
-static int pass2 = 0;
-static void option_callback(/*@unused@*/ poptContext con,
- /*@unused@*/ enum poptCallbackReason reason,
- const struct poptOption * opt,
- char * arg, void * data)
- /*@globals fileSystem @*/
- /*@modifies fileSystem @*/
-{
- if (pass2)
- fprintf(stdout, "callback: %c %s %s ", opt->val, (char *) data, arg);
-}
-
-/*@unchecked@*/
-static int arg1 = 0;
-/*@unchecked@*/ /*@observer@*/
-static char * arg2 = "(none)";
-/*@unchecked@*/
-static int arg3 = 0;
-/*@unchecked@*/
-static int inc = 0;
-/*@unchecked@*/
-static int shortopt = 0;
-
-/*@unchecked@*/
-static int aVal = 141421;
-/*@unchecked@*/
-static int bVal = 141421;
-/*@unchecked@*/
-static int aFlag = 0;
-/*@unchecked@*/
-static int bFlag = 0;
-
-/*@unchecked@*/
-static int aInt = 271828;
-/*@unchecked@*/
-static int bInt = 271828;
-/*@unchecked@*/
-static long aLong = 738905609L;
-/*@unchecked@*/
-static long bLong = 738905609L;
-/*@unchecked@*/
-static float aFloat = 3.1415926535;
-/*@unchecked@*/
-static float bFloat = 3.1415926535;
-/*@unchecked@*/
-static double aDouble = 9.86960440108935861883;
-/*@unchecked@*/
-static double bDouble = 9.86960440108935861883;
-/*@unchecked@*/ /*@null@*/
-static char * oStr = (char *) -1;
-/*@unchecked@*/
-static int singleDash = 0;
-
-/*@unchecked@*/ /*@observer@*/
-static char * lStr =
-"This tests default strings and exceeds the ... limit. "
-"123456789+123456789+123456789+123456789+123456789+ "
-"123456789+123456789+123456789+123456789+123456789+ "
-"123456789+123456789+123456789+123456789+123456789+ "
-"123456789+123456789+123456789+123456789+123456789+ ";
-/*@unchecked@*/ /*@null@*/
-static char * nStr = NULL;
-
-/*@unchecked@*/
-static struct poptOption moreCallbackArgs[] = {
- { NULL, '\0', POPT_ARG_CALLBACK|POPT_CBFLAG_INC_DATA,
- (void *)option_callback, 0,
- NULL, NULL },
- { "cb2", 'c', POPT_ARG_STRING, NULL, 'c',
- "Test argument callbacks", NULL },
- POPT_TABLEEND
-};
-
-/*@unchecked@*/
-static struct poptOption callbackArgs[] = {
- { NULL, '\0', POPT_ARG_CALLBACK, (void *)option_callback, 0,
- "sampledata", NULL },
- { "cb", 'c', POPT_ARG_STRING, NULL, 'c',
- "Test argument callbacks", NULL },
- { "longopt", '\0', 0, NULL, 'l',
- "Unused option for help testing", NULL },
- POPT_TABLEEND
-};
-
-/*@unchecked@*/
-static struct poptOption moreArgs[] = {
- { "inc", 'I', 0, &inc, 0, "An included argument", NULL },
- POPT_TABLEEND
-};
-
-/*@unchecked@*/
-static struct poptOption options[] = {
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &moreCallbackArgs, 0,
- "arg for cb2", NULL },
- { "arg1", '\0', 0, &arg1, 0, "First argument with a really long"
- " description. After all, we have to test argument help"
- " wrapping somehow, right?", NULL },
- { "arg2", '2', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &arg2, 0,
- "Another argument", "ARG" },
- { "arg3", '3', POPT_ARG_INT, &arg3, 0,
- "A third argument", "ANARG" },
- { "onedash", '\0', POPT_ARGFLAG_ONEDASH, &shortopt, 0,
- "POPT_ARGFLAG_ONEDASH: Option takes a single -", NULL },
- { "hidden", '\0', POPT_ARG_STRING | POPT_ARGFLAG_DOC_HIDDEN, NULL, 0,
- "POPT_ARGFLAG_HIDDEN: A hidden option (--help shouldn't display)",
- NULL },
- { "optional", '\0', POPT_ARG_STRING | POPT_ARGFLAG_OPTIONAL, &oStr, 0,
- "POPT_ARGFLAG_OPTIONAL: Takes an optional string argument", NULL },
-
- { "val", '\0', POPT_ARG_VAL | POPT_ARGFLAG_SHOW_DEFAULT, &aVal, 125992,
- "POPT_ARG_VAL: 125992 141421", 0},
-
- { "int", 'i', POPT_ARG_INT | POPT_ARGFLAG_SHOW_DEFAULT, &aInt, 0,
- "POPT_ARG_INT: 271828", NULL },
- { "long", 'l', POPT_ARG_LONG | POPT_ARGFLAG_SHOW_DEFAULT, &aLong, 0,
- "POPT_ARG_LONG: 738905609", NULL },
- { "float", 'f', POPT_ARG_FLOAT | POPT_ARGFLAG_SHOW_DEFAULT, &aFloat, 0,
- "POPT_ARG_FLOAT: 3.14159", NULL },
- { "double", 'd', POPT_ARG_DOUBLE | POPT_ARGFLAG_SHOW_DEFAULT, &aDouble, 0,
- "POPT_ARG_DOUBLE: 9.8696", NULL },
-
- { "bitset", '\0', POPT_BIT_SET | POPT_ARGFLAG_SHOW_DEFAULT, &aFlag, 0x4321,
- "POPT_BIT_SET: |= 0x4321", 0},
- { "bitclr", '\0', POPT_BIT_CLR | POPT_ARGFLAG_SHOW_DEFAULT, &aFlag, 0x1234,
- "POPT_BIT_CLR: &= ~0x1234", 0},
-
- { "nstr", '\0', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &nStr, 0,
- "POPT_ARG_STRING: (null)", NULL},
- { "lstr", '\0', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &lStr, 0,
- "POPT_ARG_STRING: \"123456789...\"", NULL},
-
- { NULL, '-', POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN, &singleDash, 0,
- NULL, NULL },
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &moreArgs, 0,
- NULL, NULL },
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &callbackArgs, 0,
- "Callback arguments", NULL },
- POPT_AUTOHELP
- POPT_TABLEEND
-};
-
-static void resetVars(void)
- /*@globals arg1, arg2, arg3, inc, shortopt,
- aVal, aFlag, aInt, aLong, aFloat, aDouble,
- oStr, singleDash, pass2 @*/
- /*@modifies arg1, arg2, arg3, inc, shortopt,
- aVal, aFlag, aInt, aLong, aFloat, aDouble,
- oStr, singleDash, pass2 @*/
-{
- arg1 = 0;
- arg2 = "(none)";
- arg3 = 0;
- inc = 0;
- shortopt = 0;
-
- aVal = bVal;
- aFlag = bFlag;
-
- aInt = bInt;
- aLong = bLong;
- aFloat = bFloat;
- aDouble = bDouble;
-
- oStr = (char *) -1;
-
- singleDash = 0;
- pass2 = 0;
-}
-
-int main(int argc, const char ** argv)
- /*@globals pass2, fileSystem, internalState @*/
- /*@modifies pass2, fileSystem, internalState @*/
-{
- int rc;
- int ec = 0;
- poptContext optCon;
- const char ** rest;
- int help = 0;
- int usage = 0;
-
-#if HAVE_MCHECK_H && HAVE_MTRACE
- /*@-moduncon -noeffectuncon@*/
- mtrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */
- /*@=moduncon =noeffectuncon@*/
-#endif
-
-/*@-modobserver@*/
- resetVars();
-/*@=modobserver@*/
-/*@-temptrans@*/
- optCon = poptGetContext("test1", argc, argv, options, 0);
-/*@=temptrans@*/
- (void) poptReadConfigFile(optCon, "./test-poptrc");
-
-#if 1
- while ((rc = poptGetNextOpt(optCon)) > 0) /* Read all the options ... */
- {};
-
- poptResetContext(optCon); /* ... and then start over. */
-/*@-modobserver@*/
- resetVars();
-/*@=modobserver@*/
-#endif
-
- pass2 = 1;
- if ((rc = poptGetNextOpt(optCon)) < -1) {
- fprintf(stderr, "test1: bad argument %s: %s\n",
- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
- poptStrerror(rc));
- ec = 2;
- goto exit;
- }
-
- if (help) {
- poptPrintHelp(optCon, stdout, 0);
- goto exit;
- }
- if (usage) {
- poptPrintUsage(optCon, stdout, 0);
- goto exit;
- }
-
- fprintf(stdout, "arg1: %d arg2: %s", arg1, arg2);
-
- if (arg3)
- fprintf(stdout, " arg3: %d", arg3);
- if (inc)
- fprintf(stdout, " inc: %d", inc);
- if (shortopt)
- fprintf(stdout, " short: %d", shortopt);
- if (aVal != bVal)
- fprintf(stdout, " aVal: %d", aVal);
- if (aFlag != bFlag)
- fprintf(stdout, " aFlag: %d", aFlag);
- if (aInt != bInt)
- fprintf(stdout, " aInt: %d", aInt);
- if (aLong != bLong)
- fprintf(stdout, " aLong: %ld", aLong);
-/*@-realcompare@*/
- if (aFloat != bFloat)
- fprintf(stdout, " aFloat: %g", aFloat);
- if (aDouble != bDouble)
- fprintf(stdout, " aDouble: %g", aDouble);
-/*@=realcompare@*/
- if (oStr != (char *)-1)
- fprintf(stdout, " oStr: %s", (oStr ? oStr : "(none)"));
- if (singleDash)
- fprintf(stdout, " -");
-
-/*@-boundsread@*/
- rest = poptGetArgs(optCon);
- if (rest) {
- fprintf(stdout, " rest:");
- while (*rest) {
- fprintf(stdout, " %s", *rest);
- rest++;
- }
- }
-/*@=boundsread@*/
-
- fprintf(stdout, "\n");
-
-exit:
- optCon = poptFreeContext(optCon);
-#if HAVE_MCHECK_H && HAVE_MTRACE
- /*@-moduncon -noeffectuncon@*/
- muntrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */
- /*@=moduncon =noeffectuncon@*/
-#endif
- return ec;
-}
diff --git a/popt/test2.c b/popt/test2.c
deleted file mode 100644
index afac1c61e..000000000
--- a/popt/test2.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- Popt Library Test Program Number Too
-
- --> "a real world test of popt bugs" <--
-
- Copyright (C) 1999 US Interactive, Inc.
-
- This program can be used under the GPL or LGPL at your
- whim as long as this Copyright remains attached.
-*/
-
-#include "system.h"
-
-char *PathnameOfKeyFile = NULL;
-char *PathnameOfOfferFile = NULL;
-
-char *txHost = NULL;
-int txSslPort = 443;
-int txStoreId = 0;
-
-char *contentProtocol = NULL;
-char *contentHost = NULL;
-int contentPort = 80;
-char *contentPath = NULL;
-
-char *dbPassword = NULL;
-char *dbUserName = NULL;
-
-char *rcfile = "createuser-defaults";
-char *username=NULL;
-
-char *password = NULL;
-char *firstname = NULL;
-char *lastname = NULL;
-char *addr1 = NULL;
-char *addr2 = NULL;
-char *city = NULL;
-char *state = NULL;
-char *postal = NULL;
-char *country = NULL;
-
-char *email = NULL;
-
-char *dayphone = NULL;
-char *fax = NULL;
-
-
-int
-main(int argc, const char ** argv) {
-
- poptContext optCon; /* context for parsing command-line options */
- struct poptOption userOptionsTable[] = {
- { "first", 'f', POPT_ARG_STRING, &firstname, 0,
- "user's first name", "first" },
- { "last", 'l', POPT_ARG_STRING, &lastname, 0,
- "user's last name", "last" },
- { "username", 'u', POPT_ARG_STRING, &username, 0,
- "system user name", "user" },
- { "password", 'p', POPT_ARG_STRING, &password, 0,
- "system password name", "password" },
- { "addr1", '1', POPT_ARG_STRING, &addr1, 0,
- "line 1 of address", "addr1" },
- { "addr2", '2', POPT_ARG_STRING, &addr2, 0,
- "line 2 of address", "addr2" },
- { "city", 'c', POPT_ARG_STRING, &city, 0,
- "city", "city" },
- { "state", 's', POPT_ARG_STRING, &state, 0,
- "state or province", "state" },
- { "postal", 'P', POPT_ARG_STRING, &postal, 0,
- "postal or zip code", "postal" },
- { "zip", 'z', POPT_ARG_STRING, &postal, 0,
- "postal or zip code", "postal" },
- { "country", 'C', POPT_ARG_STRING, &country, 0,
- "two letter ISO country code", "country" },
- { "email", 'e', POPT_ARG_STRING, &email, 0,
- "user's email address", "email" },
- { "dayphone", 'd', POPT_ARG_STRING, &dayphone, 0,
- "day time phone number", "dayphone" },
- { "fax", 'F', POPT_ARG_STRING, &fax, 0,
- "fax number", "fax" },
- { NULL, 0, 0, NULL, 0, NULL, NULL }
- };
- struct poptOption transactOptionsTable[] = {
- { "keyfile", '\0', POPT_ARG_STRING, &PathnameOfKeyFile, 0,
- "transact offer key file (flat_O.kf)", "key-file" },
- { "offerfile", '\0', POPT_ARG_STRING, &PathnameOfOfferFile, 0,
- "offer template file (osl.ofr)", "offer-file" },
- { "storeid", '\0', POPT_ARG_INT, &txStoreId, 0,
- "store id", "store-id" },
- { "rcfile", '\0', POPT_ARG_STRING, &rcfile, 0,
- "default command line options (in popt format)", "rcfile" },
- { "txhost", '\0', POPT_ARG_STRING, &txHost, 0,
- "transact host", "transact-host" },
- { "txsslport", '\0', POPT_ARG_INT, &txSslPort, 0,
- "transact server ssl port ", "transact ssl port" },
- { "cnhost", '\0', POPT_ARG_STRING, &contentHost, 0,
- "content host", "content-host" },
- { "cnpath", '\0', POPT_ARG_STRING, &contentPath, 0,
- "content url path", "content-path" },
- { NULL, 0, 0, NULL, 0, NULL, NULL }
- };
-
- struct poptOption databaseOptionsTable[] = {
- { "dbpassword", '\0', POPT_ARG_STRING, &dbPassword, 0,
- "Database password", "DB password" },
- { "dbusername", '\0', POPT_ARG_STRING, &dbUserName, 0,
- "Database user name", "DB UserName" },
- { NULL, 0, 0, NULL, 0, NULL, NULL }
- };
-
- struct poptOption optionsTable[] = {
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0,
- "Transact Options (not all will apply)", NULL },
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0,
- "Transact Database Names", NULL },
- { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0,
- "User Fields", NULL },
- POPT_AUTOHELP
- { NULL, 0, 0, NULL, 0, NULL, NULL }
- };
-
- optionsTable[0].arg = transactOptionsTable;
- optionsTable[1].arg = databaseOptionsTable;
- optionsTable[2].arg = userOptionsTable;
-
-#if HAVE_MCHECK_H && HAVE_MTRACE
- mtrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */
-#endif
-
- optCon = poptGetContext("createuser", argc, argv, optionsTable, 0);
- poptReadConfigFile(optCon, rcfile );
-
- /* although there are no options to be parsed, check for --help */
- poptGetNextOpt(optCon);
-
- optCon = poptFreeContext(optCon);
-
- printf( "dbusername %s\tdbpassword %s\n"
- "txhost %s\ttxsslport %d\ttxstoreid %d\tpathofkeyfile %s\n"
- "username %s\tpassword %s\tfirstname %s\tlastname %s\n"
- "addr1 %s\taddr2 %s\tcity %s\tstate %s\tpostal %s\n"
- "country %s\temail %s\tdayphone %s\tfax %s\n",
- dbUserName, dbPassword,
- txHost, txSslPort, txStoreId, PathnameOfKeyFile,
- username, password, firstname, lastname,
- addr1,addr2, city, state, postal,
- country, email, dayphone, fax);
- return 0;
-}
diff --git a/popt/test3-data/01.answer b/popt/test3-data/01.answer
deleted file mode 100644
index bd95a3848..000000000
--- a/popt/test3-data/01.answer
+++ /dev/null
@@ -1,10 +0,0 @@
-single string: ' --aaa --bbb --ccc --bla="bla" --this_is="fdsafdas" --5555="55555" --test="with lots of spaces"'
-popt array: size=7
-'--aaa'
-'--bbb'
-'--ccc'
-'--bla=bla'
-'--this_is=fdsafdas'
-'--5555=55555'
-'--test=with lots of spaces'
-
diff --git a/popt/test3-data/01.input b/popt/test3-data/01.input
deleted file mode 100644
index 157ed0557..000000000
--- a/popt/test3-data/01.input
+++ /dev/null
@@ -1,13 +0,0 @@
-# this line is ignored
- # this one too
-aaa
- bbb
- ccc
-bla=bla
-
-this_is = fdsafdas
- bad_line=
- reall bad line
- reall bad line = again
-5555= 55555
- test = with lots of spaces
diff --git a/popt/test3-data/02.answer b/popt/test3-data/02.answer
deleted file mode 100644
index 309011ad8..000000000
--- a/popt/test3-data/02.answer
+++ /dev/null
@@ -1 +0,0 @@
-cannot parse test3-data/02.input. ret=-18
diff --git a/popt/test3-data/02.input b/popt/test3-data/02.input
deleted file mode 100644
index ed577440b..000000000
--- a/popt/test3-data/02.input
+++ /dev/null
@@ -1,2 +0,0 @@
-# this next line has 999 letters. this should cause an abort.
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/popt/test3-data/03.answer b/popt/test3-data/03.answer
deleted file mode 100644
index 085fe6a22..000000000
--- a/popt/test3-data/03.answer
+++ /dev/null
@@ -1,70 +0,0 @@
-single string: ' --confversion="1.0.0.0" --expires="19:57:56 03/16/01" --sessions="-1" --hostid="72738c36" --hostid="80b0cafb" --hostid="80c104e4" --hostid="80cf520f" --hostid="809fc805" --port="6666" --realservername="goya:554" --realserverip="127.0.0.1:554" --sdmux="0" --runtimeconf="1" --soc="1" --socaddr="127.0.0.1" --socconntimeout="3" --socqport="4110" --socuport="4111" --loadtest="0" --tunnelssmport="5541" --allowtcptransport="0" --realrevpkts="0" --asmrules="4;" --maxasmtime="10" --asmwaittime="4" --asmcalctime="4" --maxletswitchtime="20" --setbw="6;" --setbwblocktime="15" --asmsetbwtime="3" --setbwwaittime="1" --inputmaxsetbw="100" --encratemaxsetbw="100" --livesetbwdelta="2" --encrate="34000" --maxoutproberate="85" --maxoutencrate="140" --minoutencrate="108" --erprgamma="70" --utp="15" --nbalpha="77" --bbalpha="83" --tsfrequency="10" --recoveryrate="140" --maxbuffer="2000" --csmbuffer="12000" --probedelta="120" --numprobes="4" --probebuffpkts="5" --probeinterval="600000" --clientlog="2" --loglevel="2" --monitor="0" --testmode="0" --emulator="0" --emuaddr="127.0.0.1" --emuport="4200" --auxsvr="0" --mngsvrip="127.0.0.1" --mngsvrport="15550" --ssmip="127.0.0.1" --auxsvrport="14445" --auxsvrchkfreq="2" --auxsvrchkperiod="60;" --simulation="0" --netbuffer="5" --siminterval="3"'
-popt array: size=67
-'--confversion=1.0.0.0'
-'--expires=19:57:56 03/16/01'
-'--sessions=-1'
-'--hostid=72738c36'
-'--hostid=80b0cafb'
-'--hostid=80c104e4'
-'--hostid=80cf520f'
-'--hostid=809fc805'
-'--port=6666'
-'--realservername=goya:554'
-'--realserverip=127.0.0.1:554'
-'--sdmux=0'
-'--runtimeconf=1'
-'--soc=1'
-'--socaddr=127.0.0.1'
-'--socconntimeout=3'
-'--socqport=4110'
-'--socuport=4111'
-'--loadtest=0'
-'--tunnelssmport=5541'
-'--allowtcptransport=0'
-'--realrevpkts=0'
-'--asmrules=4;'
-'--maxasmtime=10'
-'--asmwaittime=4'
-'--asmcalctime=4'
-'--maxletswitchtime=20'
-'--setbw=6;'
-'--setbwblocktime=15'
-'--asmsetbwtime=3'
-'--setbwwaittime=1'
-'--inputmaxsetbw=100'
-'--encratemaxsetbw=100'
-'--livesetbwdelta=2'
-'--encrate=34000'
-'--maxoutproberate=85'
-'--maxoutencrate=140'
-'--minoutencrate=108'
-'--erprgamma=70'
-'--utp=15'
-'--nbalpha=77'
-'--bbalpha=83'
-'--tsfrequency=10'
-'--recoveryrate=140'
-'--maxbuffer=2000'
-'--csmbuffer=12000'
-'--probedelta=120'
-'--numprobes=4'
-'--probebuffpkts=5'
-'--probeinterval=600000'
-'--clientlog=2'
-'--loglevel=2'
-'--monitor=0'
-'--testmode=0'
-'--emulator=0'
-'--emuaddr=127.0.0.1'
-'--emuport=4200'
-'--auxsvr=0'
-'--mngsvrip=127.0.0.1'
-'--mngsvrport=15550'
-'--ssmip=127.0.0.1'
-'--auxsvrport=14445'
-'--auxsvrchkfreq=2'
-'--auxsvrchkperiod=60;'
-'--simulation=0'
-'--netbuffer=5'
-'--siminterval=3'
-
diff --git a/popt/test3-data/03.input b/popt/test3-data/03.input
deleted file mode 100644
index 34a73473a..000000000
--- a/popt/test3-data/03.input
+++ /dev/null
@@ -1,210 +0,0 @@
-#
-# WARNING: NO LINE IN THIS FILE SHOULD BE LONGER THAN 999 characters!
-#
-# a vague real world example
-#
-# the vers no of this file. useful for debug
-confversion=1.0.0.0
-
-# date and time of expiry of this license
-expires=19:57:56 03/16/01
-
-# max no of simultaneous sessions
-sessions=-1
-
-# hostid(s) of licensed host(s): matisse
-hostid=72738c36
-
-# degas (exodus)
-hostid=80b0cafb
-
-# max
-hostid=80c104e4
-
-# breton
-hostid=80cf520f
-
-# vaneyck
-hostid=809fc805
-
-# port at which SSM should listen (unless -p)
-port=6666
-
-# the name of the realserver that we proxy for
-realservername=goya:554
-
-# the ip addr of real server we proxy fo
-realserverip=127.0.0.1:554
-
-# are we using an SDMUX to receive rev STP pkts?
-sdmux=0
-
-# allow run time config through TCP connection
-runtimeconf=1
-
-# should we connect to SOC for delivinit/update etc?
-soc=1
-
-# address of the SOC
-socaddr=127.0.0.1
-
-# no of secs before we timeout SOC connection
-socconntimeout=3
-
-# SOC port for sending delivinit query
-socqport=4110
-
-# SOC port for sending delivery update
-socuport=4111
-
-# run in load test mode? (ignore player disconnect)
-loadtest=0
-
-# port of SSM to redirect to on probe bw < desc bw
-tunnelssmport=5541
-
-# allow TCP (RTSP interleaved) streaming?
-allowtcptransport=0
-
-# enable RDT rev packets?
-realrevpkts=0
-
-# allow asm switches? 0=no,1=yes,2=all within maxasmtime,3=1 within maxasmtime
-# 4=same as 2 but also whenever told by CSM after maxasmtime+tell CSM
-asmrules=4;
-# max time to which we will allow asm switches
-maxasmtime=10
-
-# time to wait after switch before starting below
-asmwaittime=4
-
-# time over which to calc post asm switch input rate
-asmcalctime=4
-
-# time after LETSWITCH within which to permit switch
-maxletswitchtime=20
-
-# change setbw? 0=no,1=block,2=sub w/1st,3=sub w/curr,4=tell CSM,5=allow w/asm
-# 6=sub w/cur enc rate & tell CSM & generate setbw on switch
-setbw=6;
-# minimum time between setbw requests from player
-setbwblocktime=15
-
-# max time within which we allow post asm setbw
-asmsetbwtime=3
-
-# post switch wait time (secs) before we send setbw
-setbwwaittime=1
-
-# max setbw as % of [init/post switch] input rate
-inputmaxsetbw=100
-
-# max setbw as % of current encoding rate
-encratemaxsetbw=100
-
-# % increase in encratemaxsetbw for live streams
-livesetbwdelta=2
-
-# temporarily here. encoding rate bits/sec
-encrate=34000
-
-# max output rate = maxoutproberate % probe rate
-maxoutproberate=85
-
-# max output rate = maxoutencrate % curr enc rate
-maxoutencrate=140
-
-# worst case outrate. should be > encratemaxsetbw
-minoutencrate=108
-
-# max out rate = er+erprgamma%(maxoutpr%pr-er)
-erprgamma=70
-
-# the CSM UTP: % loss above which CSM will enter CC
-utp=15
-
-# CSM alpha for narrowband
-nbalpha=77
-
-# CSM alpha for broadband
-bbalpha=83
-
-# periodic sendTS? 0 = sendTS only at SR_COMPUTE
-tsfrequency=10
-
-# SReoc as a % of the encoding rate
-recoveryrate=140
-
-# maximum server side buffer (in packets)
-maxbuffer=2000
-
-# client side buffer (in milliseconds)
-csmbuffer=12000
-
-# probe bw > probedelta % describe bw for us to work
-probedelta=120
-
-# the number of probes to do at the beginning
-numprobes=4
-
-# number of packets to burst during each probe
-probebuffpkts=5
-
-# time (in microsecs) interval between probes
-probeinterval=600000
-
-# client logs to none(0),disk(1),soc(2),both(3)
-clientlog=2
-
-# 0=none,1=brief,2=detailed,3=extensive
-loglevel=2
-
-# connected to monitor?
-monitor=0
-
-# 0=none, 1=test
-testmode=0
-
-# are we using the emulator?
-emulator=0
-
-# emulator IP address
-emuaddr=127.0.0.1
-
-# emulator TCP control port to connect to
-emuport=4200
-
-#
-# aux serv config
-#
-# start aux server? 0=no, 1=yes
-auxsvr=0
-
-# IP address of mgmt server
-mngsvrip=127.0.0.1
-
-# port where mgmt server listens
-mngsvrport=15550
-
-# IP address of SSM that we are monitoring
-ssmip=127.0.0.1
-
-# port where aux server should listen
-auxsvrport=14445
-
-# frequency of aux server checks
-auxsvrchkfreq=2
-
-auxsvrchkperiod=60;
-#
-# congestion simulation info
-#
-# congestion simulation?
-simulation=0
-
-# size of the network buffer
-netbuffer=5
-
-# time (in secs) between drop rate recalculation
-siminterval=3
-
diff --git a/popt/test3.c b/popt/test3.c
deleted file mode 100644
index 8eacd3c13..000000000
--- a/popt/test3.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* vim:ts=8:sts=4 */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <popt.h>
-
-int main (int argc, char **argv) {
- char *out;
- int newargc, j, f, ret;
- char **newargv;
- FILE *fp;
-
- if (argc == 1) {
- printf ("usage: test-popt file_1 file_2 ...\n");
- printf ("you may specify many files\n");
- exit (1);
- }
-
- for (f = 1; f < argc; f++) {
- fp = fopen (argv[f], "r");
- if (fp == NULL) {
- printf ("cannot read file %s. errno=%s\n", argv[f],
- strerror(errno));
- continue;
- }
-
- ret = poptConfigFileToString (fp, &out, 0);
- if (ret != 0) {
- printf ("cannot parse %s. ret=%d\n", argv[f], ret);
- continue;
- }
-
- printf ("single string: '%s'\n", out);
-
- poptParseArgvString (out, &newargc, &newargv);
-
- printf ("popt array: size=%d\n", newargc);
- for (j = 0; j < newargc; j++)
- printf ("'%s'\n", newargv[j]);
-
- printf ("\n");
- free(out);
- fclose (fp);
- }
- return 0;
-}
diff --git a/popt/testit.sh b/popt/testit.sh
deleted file mode 100755
index b19f0d207..000000000
--- a/popt/testit.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-run() {
- prog=$1; shift
- name=$1; shift
- answer=$1; shift
-
- echo Running test $name.
-
- result=`$builddir/$prog $*`
- if [ "$answer" != "$result" ]; then
- echo "Test \"$*\" failed with: \"$result\" != \"$answer\" "
- exit 2
- fi
-}
-
-run_diff() {
- prog=$1; shift
- name=$1; shift
- in_file=$1; shift
- answer_file=$1; shift
-
- out=$builddir/tmp.out
- diff_file=$builddir/tmp.diff
-
- echo Running test $name.
-
- $builddir/$prog $in_file > $out
- ret=$?
- diff $out $answer_file > $diff_file
- diff_ret=$?
-
- if [ "$diff_ret" != "0" ]; then
- echo "Test \"$name\" failed output is in $out, diff is:"
- cat $diff_file
- exit 2
- fi
- rm $out $diff_file
-}
-
-builddir=`pwd`
-[ -z "$srcdir" ] && srcdir=$builddir
-cd ${srcdir}
-test1=${builddir}/test1
-echo "Running tests in `pwd`"
-
-#make -q testcases
-
-run test1 "test1 - 1" "arg1: 1 arg2: (none)" --arg1
-run test1 "test1 - 2" "arg1: 0 arg2: foo" --arg2 foo
-run test1 "test1 - 3" "arg1: 1 arg2: something" --arg1 --arg2 something
-run test1 "test1 - 4" "arg1: 0 arg2: another" --simple another
-run test1 "test1 - 5" "arg1: 1 arg2: alias" --two
-run test1 "test1 - 6" "arg1: 1 arg2: (none) rest: --arg2" --arg1 -- --arg2
-run test1 "test1 - 7" "arg1: 0 arg2: abcd rest: --arg1" --simple abcd -- --arg1
-run test1 "test1 - 8" "arg1: 1 arg2: (none) rest: --arg2" --arg1 --takerest --arg2
-run test1 "test1 - 9" "arg1: 0 arg2: foo" -2 foo
-run test1 "test1 - 10" "arg1: 0 arg2: (none) arg3: 50" -3 50
-run test1 "test1 - 11" "arg1: 0 arg2: bar" -T bar
-run test1 "test1 - 12" "arg1: 1 arg2: (none)" -O
-run test1 "test1 - 13" "arg1: 1 arg2: foo" -OT foo
-run test1 "test1 - 14" "arg1: 0 arg2: (none) inc: 1" --inc
-run test1 "test1 - 15" "arg1: 0 arg2: foo inc: 1" -I --arg2 foo
-POSIX_ME_HARDER=1 ; export POSIX_ME_HARDER
-run test1 "test1 - 16" "arg1: 1 arg2: (none) rest: foo --arg2 something" --arg1 foo --arg2 something
-unset POSIX_ME_HARDER
-POSIXLY_CORRECT=1 ; export POSIXLY_CORRECT
-run test1 "test1 - 17" "arg1: 1 arg2: (none) rest: foo --arg2 something" --arg1 foo --arg2 something
-unset POSIXLY_CORRECT
-run test1 "test1 - 18" "callback: c sampledata bar arg1: 1 arg2: (none)" --arg1 --cb bar
-run test1 "test1 - 19" "" --echo-args
-run test1 "test1 - 20" "--arg1" --echo-args --arg1
-run test1 "test1 - 21" "--arg2 something" -T something -e
-run test1 "test1 - 22" "--arg2 something more args" -T something -a more args
-run test1 "test1 - 23" "--echo-args -a" --echo-args -e -a
-run test1 "test1 - 24" "arg1: 0 arg2: (none) short: 1" -onedash
-run test1 "test1 - 25" "arg1: 0 arg2: (none) short: 1" --onedash
-run test1 "test1 - 26" "callback: c arg for cb2 foo arg1: 0 arg2: (none)" --cb2 foo
-run test1 "test1 - 27" "arg1: 0 arg2: (none) -" -
-run test1 "test1 - 28" "arg1: 0 arg2: foo -" - -2 foo
-run test1 "test1 - 29" "arg1: 0 arg2: bbbb" --arg2=aaaa -2 bbbb
-run test1 "test1 - 30" "arg1: 0 arg2: 'foo bingo' rest: boggle" --grab bingo boggle
-run test1 "test1 - 31" "arg1: 0 arg2: 'foo bar' rest: boggle" --grabbar boggle
-
-run test1 "test1 - 32" "arg1: 0 arg2: (none) aFloat: 10.1" -f 10.1
-run test1 "test1 - 33" "arg1: 0 arg2: (none) aFloat: 10.1" --float 10.1
-run test1 "test1 - 34" "arg1: 0 arg2: (none) aDouble: 10.1" -d 10.1
-run test1 "test1 - 35" "arg1: 0 arg2: (none) aDouble: 10.1" --double 10.1
-run test1 "test1 - 36" "arg1: 0 arg2: (none) oStr: (none)" --optional
-run test1 "test1 - 37" "arg1: 0 arg2: (none) oStr: yadda" --optional=yadda
-run test1 "test1 - 38" "arg1: 0 arg2: (none) oStr: yadda" --optional yadda
-run test1 "test1 - 39" "arg1: 0 arg2: (none) oStr: ping rest: pong" --optional=ping pong
-run test1 "test1 - 40" "arg1: 0 arg2: (none) oStr: ping rest: pong" --optional ping pong
-
-run_diff test3 "test3 - 41" test3-data/01.input test3-data/01.answer
-run_diff test3 "test3 - 42" test3-data/02.input test3-data/02.answer
-run_diff test3 "test3 - 43" test3-data/03.input test3-data/03.answer
-
-echo ""
-echo "Passed."