From 850e5bce2491dec8dd4bb50ccae9edebcf8a1f7f Mon Sep 17 00:00:00 2001
From: Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
Date: Sun, 17 Jul 2016 09:40:02 +0530
Subject: [PATCH] hspec tests for single/multi torrent, bencode etc

---
 COPYING                       | 676 ++++++++++++++++++++++++++++++++++
 README.md                     |   5 +
 Setup.hs                      |   2 +
 data/test1.torrent            | Bin 0 -> 26174 bytes
 data/test2.torrent            | Bin 0 -> 44718 bytes
 data/test3.torrent            | Bin 0 -> 45617 bytes
 data/test4.torrent            | Bin 0 -> 32209 bytes
 functorrent.cabal             |  55 +++
 src/FuncTorrent/Bencode.hs    |  97 +++++
 src/FuncTorrent/Filesystem.hs |  30 ++
 src/FuncTorrent/Metainfo.hs   | 145 ++++++++
 src/main/Main.hs              |   8 +
 stack.yaml                    |  66 ++++
 test/BencodeSpec.hs           |  53 +++
 test/MetainfoSpec.hs          |  46 +++
 test/Spec.hs                  |   1 +
 16 files changed, 1184 insertions(+)
 create mode 100644 COPYING
 create mode 100644 README.md
 create mode 100644 Setup.hs
 create mode 100644 data/test1.torrent
 create mode 100644 data/test2.torrent
 create mode 100644 data/test3.torrent
 create mode 100644 data/test4.torrent
 create mode 100644 functorrent.cabal
 create mode 100644 src/FuncTorrent/Bencode.hs
 create mode 100644 src/FuncTorrent/Filesystem.hs
 create mode 100644 src/FuncTorrent/Metainfo.hs
 create mode 100644 src/main/Main.hs
 create mode 100644 stack.yaml
 create mode 100644 test/BencodeSpec.hs
 create mode 100644 test/MetainfoSpec.hs
 create mode 100644 test/Spec.hs

diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..b018460
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,676 @@
+Copyright Ramakrishnan Muthukrishnan (c) 2016
+
+              GNU GENERAL PUBLIC LICENSE
+                Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                     Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+              END OF TERMS AND CONDITIONS
+
+     How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1396289
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+# functorrent
+
+[![Build Status](https://travis-ci.org/vu3rdd/functorrent.png)](https://travis-ci.org/vu3rdd/functorrent)
+
+TODO Description.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
index 0000000..9a994af
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/data/test1.torrent b/data/test1.torrent
new file mode 100644
index 0000000000000000000000000000000000000000..7a3c0a0f10dac306211efbaa7978bb6face73fff
GIT binary patch
literal 26174
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
awobdI;GHNt*3t66O;ZNN@Dm0}F=b``h|Zk=

literal 0
HcmV?d00001

diff --git a/data/test2.torrent b/data/test2.torrent
new file mode 100644
index 0000000000000000000000000000000000000000..d38a2f6dfa85605d13adb856860385830bc11f3e
GIT binary patch
literal 44718
zcma&NLy#y8ux44dZQHhO+qP}H>XvQWwr$(C&Hkfb_r&aGw#k!`tBfzwgoDe_&d%P|
z&e)Whlgq-z#es{S-o@U@$<)q;&eh1(&c&6^*xr_ljgyU&{{KcYGXFnGv^JK`E;cs*
z|8q@kSXlmVA4>-}HoE_>W~Qd>T>lZ+{s+Xw$))<gkqCrE2%Jo9Obwk)o&R5y|8W^R
znHsuS+S?JB7`m8RGO{qTFt9T)GO?Jla9P@!*_*I&*_hgyyI5E<GO{soGP5x=G5qJU
zGqg2jX5jjtd1)D0=olGjO-!AwUF;ob4Q)->Sm-RB?HQT494t+ZO$q)_1y&{&CJqi$
zw*Rp@v#>C8FmN%|oD@oYxf!5F&XWpjdHP=paAl*!lpZ3YiX;^4iEwJDK|+1$&IB6Y
zVGPd?gn)mz3~ha2*Nc$m6?NUW0dj~UA?K3K-60^0#spTta1}OnT#l8r#Y?btUodaL
z9@joec4_(7M$|7JB#bn;U%`!X3iAi3;zCFpLPp{aWd-{!fyuaud-`Aws3>vOZ&7ek
z3F!l_;n@(N#R<(YT}mfVVlQ=5S)g8GmXr8m_*Dzp4!HBltLJUNJEcJ3-k28NXGQYF
zw~UrK{(BD`x<k&0dC*jrwNHyg)Jk=SfDSlOugU%ne%I-KcN~VZ_652veQTFVSDI&m
zA9f(F#VVUrG&d?(wlu%Tau61p-*Tni?RqiiEk51|Lu0fr2>nykh0S-~0Z1_4Q5aVn
zA5|(+Mv0$2|8;k|Os^40tLxMVFoX;YHfdB$i1%fIl$C7EqUMQauSc6U(1JDUbtV80
zr=pc<H2enAKY{=OSmNJ-#2ov^jqw!fB1Z?^46fc7Oe7AfQSTV+ogKGyT_`k8E6&D<
z8>%br7qFLNXAwe}<^0i<%~ght`kIpHQtJJ+0-}FLzl#7M8ne7niUt{LcuhfpV5#a)
z^VW>OYBjeSn2*fYJ}^Air?3;XR2Q0i54#D~EBN;q+b}SAmm*D>TV3}2LFr*MI=7cl
zovkN$NDMB_C}}Btyc^~1xW`d0JJqBU7G1s*OFgCNs%k@Ad3N2?_xSkSjp_Y3H6xVb
zK?$aZp&L%Y-^itZ2odBHsCstTedQGg#QPyjpiO_Cff&OI*1DvA`a0?OSYR$x_UDCa
zBkwTd3@BTk8#Fh+)#0}AcG;kUyl-v-%2xCb;5&JMI#8S(yO1WnZ*_13n-eX{c)&$+
zFkJUHBpUWghJ#vrC5Kf~II__}u*SCEbPrnxU7@y;s<K74kHAA<M2)g_!W4^7`6YKh
zvU`arLyz-b;ht19<=K;&M^ZES7h9r`cg!V=iNjWjj0^lTioZ<SAD}(qG~QA5-co`F
z07OI3b18(9TR1QPDc;vu&>0bU1A%CTqdd+Muj3TMyDQ$N0KEBGsOxX}BzTwQOdm|?
zjVaaKH{f+h3dDu}EB~+2Rmv0HQ>?`^Ffg~w{wMhA_&NW?w|{y4-RI^tp`F0nq^gp>
zwd&~%Yb8-xnXH%72m0CNpB#YFC?=mkAO4qx_9E396y-FK#baq|#Sx7*Es0=>bzjKV
zR-&^YVc<bGoPUrx$CGPJp6%biR#Y1&+=u;24S@L!WF}2_^Ei?T?I}7&nbp+-M+&L}
zTv+2ZkFHB^La-Q)9N;~IQ|f}|j4O_S!tsKzp~&viSV~qKXmT*oBSflkZ=}oNr@!x7
z)>~y2msIA&^^bc<^R0*$iOZQAE0k6oTbyPsDkLMCxW~ztrricC+~BwRAL{iVI!RoI
znNj<~tfO!yLYGgjB+t#R$X?KyxCWaq4S}3BrYGyPj=b}W@QS_+4?=3b>VF1|R~5B;
zWH#C?9a~7VIxA^sID-wEqyN^{A5B@O-ky_3Tm>1V4P@Jyj9oHyf|zE#Z82J+c3<Pf
zVIf%Hl<(&H3j*hw2d7WQ<9IpH72x0=7)zu1hqA(2K>H`gKQ6BtZ$!yGLxmO$UIg)N
zSM>^R&{9KBr6Umn1LU&web~;s*es*#l4nd>LN|E`?<ZVHivbUI-1}>JdHjgbcoX)T
zyQ)69Mj!;4RbPB`?9*ot?Z7$Dpf<NrzP)>b|1yYsgHzvFrUKeJ;}`IMBh_AI{vdae
zpR*l3WuM3vZG&j0H%NB1o;6?`xnzmvJyQ$GbH?0qd)us5WApoLf_hb>CJbiJG$8=@
zutT_w+3{X`DoIat<eUjm?2@Ehh0KjdU?gLI%xnQca{bTU0X5Ozo>SVx*yiz1#sc!N
zv@)`4_M9Ipp_;d(G*~1Q;H)ir!0yKtUlb9TK*tc?t32QUo$$0rNL;29wr{85XZ&<H
znIDcXi>}1|7onxqZ^c+=X$(7)9;92o3xa?%W7Yd>bNN*?Gr*_aXq_NZTbNY@eZ~Lf
z;`c<jm9RQ5yU>?n5tBm)VwWuW%UixXw_ia{bQzyNyG^KKlJXm6-AXajAU%Wys@tg&
zbhSygg=O1e2c0~{&q;vzcOEs60nD+;A?qE3IKTDlViiH4e<qYd<(sp%eD;+qydk~D
zMJ(p{s9EvW=M;)XySdHj^QqlS_^|BaTfNGmUeQ?M1%wljWD4G+Z?Gb%L)stM6v4bU
z$8U}g1;7K$WB|WoG^X{Rgu~oC%XXCA3F@n9suQ6SUSBYFs+yQstqR}F!a+$KAdeh?
z#u(F)CeK<1u+oZIo!nsIKrL`vm+W<!X9O+Y_Ve({!x2*mS4F-#$uzGvC&xtEQK1JC
z3mn>cQW9Y8L^s;4(^T-Ouy-MiUN-awZcJ)yJcW?0<>lnP0<g78i!f437L>lxnMm?4
zWa&;zSSk+&-lNn7ZaIwFOxFiS=h8p7T({kN@_j=>$J}kEFb<U}KzglX9GR!vZm+5K
ztYNp5PN|HxSkiB!O$en>B@+X%+#{&8OrXU5u^*h3(|33(wZtESJE|b6Cj0_L?;5Y4
zv@R>dwcnh**n}Ml+ccjQAT#e#v}xa~%nllG`~jB9%Fkr+>6JIyFO}G$XHH?ayxHXi
zzUe5fc4EhKRRo}Y=`8N#WpN6!?WD9s*4w?69bZtjfmiHdGeH!xx$n`c;%GYOEe89F
zUw*icx@<`}##L04%JpMHu13a=azedEO1+<l49-2!gd~tU9|`s!GqpXsU4jo&w}si+
z^0sm|UTO#tOUZd3A4YbirpOi?EVr!ZkMJ-bRDdc*EQqQHqwh6&GVe)p5<k$v@34}V
zK-BjlRWIV7uI=KWp;uOs#*AnseZr)7HTpy91AIc+XzFrqc5tpQg}Wex4`aA|qsxA7
zXVpS4k?YXAK8^9f)(EV|o7<Ot!tpUObiaTs$jAf~Nf*B;bZUACgAYs69@ipJ6_IEA
z@7*Q~POnud!iXomVbjZpORbK8&GYwov!&;1B-8CXNLqB^vC)S;AC|&9Hl(lCQHqHv
zP72fJ2?ixb-Z<-5K#L6M5U?}=t9Q)7-0LfU)I|EVVn=bG(_w0yri9B)yP`C4DK&s1
zTYk%IQ9=o3y*K#{m7B`BCJ8Y==B5bDnnN}xqL9ffZYIR8GB!f|aa>jRhW2(_XVY29
zJcf98lCqwX3PI3w6x-tE4$80}0m3p(QcOU3I(1|O42J`NY}x@Q;j6pz$JGr8)9%4o
zyXaVVo350^)IGR<JN40ITM|oZB|sAzN%Udrw&^&k=G)FJ5A;`MmX+yMZp``rbD}Kx
zgl#i{{aQ>o-1DM<miY8@z<cul8MQYOqQiAMH=(u4*CDLcyWr-nFl2WsW|?pe;V8P$
zFm|QU!qwmR!Bdol@XC@jcWq#|B|}<?VX0Pi82r8u8)-ockK7c9#b`T!SOz2RnMFZA
zH^G*d?dB4)JdlMNWI@I>pu*o8=k5G0zy&@RYiE6K(W;(?pJhu3|L15AJxxi&@F<!y
zr;J?9_{uzOy95@DnFljhz>kTP&^T?ww#m)#dE1eS1)%eUG<_fZj-0mmvJ+dp$d^dN
z<Be6v9j;BIs>t?U4_Z^f)Q-?AMhD=8#_?#K;U*2xyl(+P4@y`XY2L=UPkpZ=MmvSF
z-&$kSf;xj~N(wonWEZ59BRzEYJ23qbYt{cKC#iMq@{|23L9$|xtB*n-77v*f>b6T`
zY2WDUi17`cCx@&+7>)mlO_izMLpAqJk!<+v#0Z&lLG-h6&_l^h5;QY7sIwc@;2G$n
zxA<MdT{}#-be1l5P>xfGCZE4Iy?M#IT<IkEiiNk>=3gWpX(FpNZ=NXxuQh7CD#=Jm
z2}$bO9`uOq!zh72FdcguONhAF91w@T>5cP=*hO|4#>iak9dFV~abXP#klsU{;3I7c
zL^%<>Y0GtzEwix|0mEb=)S?uo${1#Wb(fjePL#myjICVJlzGt*rZM{mcZ7fx@I8Pi
zIoa=iVK%HH^|qcbH2{<-PA^aMX<#-~?BuMk>w%?p6UQy)aaB*=lg{LL0&)J=9vw{S
z?5BxPOIulWh^Qgv_-Odm0Hp<;1(Z9G+%+TY8Dzu^>ps}56iry_d=KEQ){g3-Yx%`X
z?h$+1jU6omnqFaOr;=?fJW9v=Ac|Xa11leJ<rZ%KU20`6Z)l36t!WR4<ZEMU`c~@8
zv1os-?!?bJhDcA%oczfS=6V3=On@aWV&N}WoAF)0O!bbpec#Vqn*{dZ`54EZv_&r`
zk)p;T?)!s=y^72%Ikq7x+~NHupRjUTIMj?Xf<q@cC4|zZCS+5IF+tHh0kt>?=xp~M
z&ehG{4Y}i`h9lgy{hOE#!rsf>0bj9MASPU(tWkb=rq<8aQmhcdN`lPCi*$?_ZTL52
zXdkV(*(-5Llvtm$O_}X0MyX{Vo_;zJ&t8(d?0Vb=Ap;tltcJ`z<R6aF(L5==O5Zj!
zYrw>2%=^i9KW<Oy2g7*Xm=j8uBIPWjvyqlUI22pCMKT(N#h|YBc2gQw@9(F;LANPy
zL)SRg7ND}XgE}PS)!^r)Vrj_mb7E#X4_`P{vb$xG=Vefl1Rq1$TmVkB#zhroge;On
zDd$czKY%OE^Bti-m%A*);cQdq$GA$ZJ){V0AE|N0?f0q8z&*W}Dkky9{?v02bYobc
zN4#~LVuuazCQfLPCYa6F*$OtDgG~Dx_N6JI<(gd8eNm?9?LCp5Hnn##2?=Ee#sgt+
z*W7MxM`%{JU9RuoHb^x`gb;1&2a#GRySw#s90{*D!3GRmeO4^(nAlpx)7WaXc?{hs
zZ*#R){aSjUKI*fha`uz;0X=m<L@3JCnQHIe0x2&*^bzVlNQyhftrv#2zyGl<L7CeE
z>Y>igJ>JoNVo`#<V*c}SO`l{VS3q}F`E<9Vi2SMmV-s@6M9DCFOII@0r=^MM<H#=;
z?syF*P@Uv>njOgTbZZ4s&CQvV<s=-66KFSMnTF1wa}bOqgby+;CdgR61N^CbaHB<s
zVQMV)UB*dpu0?E3I^tx#1bCPBC*}XH_Qc8(Cj%swi=uI5qSAXulVlz5fX?u4Ph=(E
zE=lSx9CcmoO<*{qb8FEE#xMODke3F9lH5IPmZ-}L79)0Fwkbbtopw?%TXEYfRz;5e
zl0z{HVN~aRSerL){NzO70GH6FU2=l@YU6^=xj6X84q1w{yuLCFUCVJYet8aeN7j>|
zPK5(4Ym<6tA&>>w&<1C+zWag#%AXGWtvJb=XlT<(TuKS9dM(-&fNNI!8G5^Yjv}xA
zwXpb<-)RC?)MCz$v|GOHu?m(u%<(Ek>w}Lm7YI$jHmhNpXyFpq8|`Go-oX&_O&LTA
zo4_g1Pt7a`K>1JIO_yS@Gs*KUMnx6GIhV*?r5&hNx(?=16l4mJk`U?I=wWTLUc=ON
zMYB~<3;+af*ghxYkmk610Q_7l^*F)^RDWHw&w<?~{?@Qo*Y|nCVc;{{+3tW!q8TX(
zUSf#I3^I_u<UAD?b=6Dx9d0|NsFBZM_%G#5l6M@>z`d8LK6WIz1R_Vgddn|IM_98!
zX_WM_)JozSNo_Ch&+9?|r7qh{qAzeM-xGRJwk*^1D^07V=DGe{U6D8iGm!oS&^~x*
zF!A>3qV39W(r@>xr)yGN7GaNc+~T!S@}hFqKa*`R{?Z>qS$0LFU`yK4(~xM50WD#w
zA0d;dR80YlH`aDN$OtK9IQ!j&u=QkICen7CIB^B=O$9Jt!L9aesKw}z!ps+q^zK-l
z-Cuxq(JF=ztVF=7pnnDw$*<tzWzpmdFb+4Esl&?N+l3&Lnz|tKzy>TyA~=CX%?;<c
zc>v0oy9;qjvxlg+g&s7s>fj+}Y_W=9qQZioX$#A1vW4a+uw+smNImADlxuh))^%>V
z6(WrDSvp+PvnK?DgE4KxiNsyveAa8@hE!p$zE94vu*Nx|3Z1WhLG|?V)kxQH_Sh0`
zx>O3D3*Un7hn)soy;~JTQ7`b?8f?0W1HK~PFyHIqO|2B~ReUM8|LXL^7$DcMT`ZdI
zR;4|3`*m(?EfF2**1lq=Oa153j4k6ZNBb^a90E>J3XT3-61G$~3>Rs|c>HEJQV?2}
zUtN<IRmSvjHO1VESCQC*_Q^<ouAvObFq_MJI}-wbQ}UfLi8?1T?1{@|2@+Hl-Xf+6
z8Kg^2JaO@f;2nT`UmAZ>Z&YrdpXkL{H%fjKku5+*u<m9W;nLOLhYbL1FmqtZ%8S?K
zE}Cx^r}EFz!)q4pRr!U^=MF*K4Sb3%2*%x5Fs<MwfM(?9ll;PT{zdK<=!a5gHp93K
z@`FN+VBU5d-9Tzn6(uA9T<F85p8{0F8|TP_RR(@m-q69?g@+KkPqP%sjj;d(hP(sE
z(?{3FB#Zrcx0Y-ABm;|NSo_R%ULCJ7eEI`zPMf8sPb*yqg}-UY<lKL!_#$8sMt(pl
z3DYa|$59`>tC74hY9XDI&H31H(}(oPv9IHdT%;3lNR0T;uU(sJCtb29l~kuf3_@&F
z1+%m^C$6l?mrAo?ROllg$Cm4+(EH$ShYtADNsHVXx|#epWAFlY0Wqo@s9LF?wI4fs
z)cx=A83gT!#GnxK(l(*@3Tw~M=)zDyhT^-NEw15SxSzh1$wImjkN0jc+3SM(dxMvG
zj-5>fj}Br>1(gALdinB|T>4!YXeaelhKp5(;JNL~K4~7ou~s5$n+ZTD{p-(Y;tv#=
zB&egHaNF6wNeeAf)M3iP2?5VSt=Gbj)!pKuaET!eJRR@P^A~K*!ZH1^W!mGY337wu
zdOrDD%&;<`3!+>oiHAILFfUSl66|@cCiXo@Rsr3Dk4}-iCp-iZ(B^VGMZ4+y_AU&+
za#ZQbxaU`MrLKlc$fh6t_2Soj?zTE+RAefNAuh%aDbIDQb=Y(-q)gq@4G0N8+0t~%
zDQ9_k0L)v&?9qO=%tyzRJ~#*jR-ZzXH@AxY!$MAzNb;VjhmM`rzWNyz(^u4Wv{Z~d
zi!3aCGaFi#1@LhsnJMQHot`l8f`=8|Dl?3#$xjQ(+xJQq7=>uwpEoW$?X+XYEB6Je
zI~)^GP|b8lyz#lIObR#m&U|$Et@Ed%x{xbXYZc*SWW#V$SW}T<dlqJNE0dQmo92Mx
z<dBcBTo)CvO58m5R1or}kI!B9cH`YL^U>j*PW7a{J5OiK+`^r7)nfj_07+`-^EXI;
z;JiP;iT3VVRk{T%-lz}2cak2Nyj5KAd~9iSIn7la^Fde55GhZnL%oj|2c<HjVY)!f
zGe3b0a~a~eKl%=969;v|*<GW=gW0G1M>#|7JlG;Du*tIyyzk^z*lAKbu3F4Q9g(#$
zWfyreDx;wFWdwu$Tnu8?4+|4bN-wPPrGCV!hC1g{u57J{2JEn4kSnim#;Rk{w}s~u
zQ%1BC#88)Y%%2ie$1Dh*5evl#XS=BxcH+o;g;uA;h(|mqR%;6}dNN3W#G#qVi_u6O
zdPHcVUzc|gATYP;(bpDVX@2uBNcx-p4-skE%lfQr%9TzYt%w;mcq466lLAkoB7A~f
z0bqbcdCW&HxE-w~zh*so9H9%;Y)9(_;z#530qSpIuvZht5ic0P$YWrdd^SmdoC@5(
zh>DF}y2f%ONw!7N8eVFa>_9-pJiuma|4o28GMr*zb;;(||0M2noxDzlo*pejMSEE9
z*?`H~+BLPL8ZJI?Vo*fM5BZ~ru0wmooYk@2TdT)xx2suBg7_{MkismR(Kms1g3`j0
zxDuIZvAyn1DQ$KkvQVz6G}FiHsKKL{p6L5A&Qn9SVKP@@ELe0!EFqkI(1rlHChCgk
z=Sf*WnR%qXJK21uNY*CJGu!%#Fm>z{ArZ|717b;>%AcNh#B`XA!*R?X5!4FdYPl{G
z?jx7^p>HgVg41wcVuF*Pxo2#Sr(gar81Si#h!DoN)52|xI^0Ri?|`entptqnvdYWO
z!w)<=3x((=ngrd0iJL#0g>U4U&f+*#BCjEF#mOVN?j(p}woac>I5<jh&rN-$I7Vk5
zI7f3(UbOme9sffC1Ckn+h)IW8it#A>LrA`)x?Px=)D2(?DpVkUsfCDw46YSml8|T$
zWRnh3*XQ$ki8vAM)9;IoFFDxRU?`nIiIdzNPI(8`?4GnJ`!(J~@Ua)?ipQVyAs1#Z
zEkwSv4`)N)KvU^^6;ZqJlCIFSyAa;e2}yzO30==%wy4TUd&LjfAQeexV_7+34>p<<
ziU_^~=C){FH;^X{Q_^kw(1KymlH#ja>`C(4qMY&gk?B?*oZMDf5Hq?6m1^!UReKSt
zkrgYF*>N}GZks_I!I9xn(OEiz-#n=xPmA=R1a6!sk0~1>k?Ip{4qoMuQZdKH-4zs!
zZt1?#kL4U#o?Rg;neb*Jzl9m22kx4!*LBIfm({A-Q4ji&voSp3;25M$KdKPe1uY5A
zgE^5h#S6U+pkL)+{JBbu?t+Gxq=m`Ng9QY)U0wRGw7j>HR&L%puIr*8xg!<BiB&ZY
zrG4rjVV!A*6z}g8H7_nqDJi93&FDm#3xvL5AiY}GdA-7pp?W2Y%&GOx;B2`@LbTZo
z+&sBLBA@<hrUvL<ouHj)Czm7o?^H0`ir&Lp#x)H8$RW^V9TFP?HQ|~hfeXPF{*KdO
z@56QMN<D<qRDyGf`9RbsGTDY+vcl#$&A#hc9^Q-S#^LuLG{RMi!<W=&Tnp|`4;kko
z8`N+7mg6a($Ot^EKMRYwud1pgr0Zmhn7VJegwd+fQ~I$(WPqzWPvil~cyc_*JZGMJ
zxE+Tn2%C&FsuQ+RqcehBi<C5emZTv(<vA#Kx@bZhYKuRTjw1wEYAi0_3Ub(nBk=fA
zL~Dy=@zAamns<?$1DlzBrn(b>-JSVh2fcf*Mg6g|(mzqKC<G0IE**Wna6obx%XC3I
zf=p<3NeTUclWr$l`+vSX4-<4~Ic)OTR3w1?(_J*M$N}TTtsL`#I?;$nwA7@%W?o|X
z)*)%1th4U_swKz}FWcz&sAe29EbC}zCCWmxc&gZp&rKSZ3s92C3x2kg6oBzU6Vio+
zN%7jEF7O4)JZ?}uY@GuXIX9iD2Dfz)!@la9;?|9QJSV`LCwe+kVmm9#Y;AZRZ@KYv
zKjR#^g%WGHWwhPy*?ULU_kZw~(UeF-m@8E)Z=DitPIvK6pe&+=<5Su?=9a|0$^-bq
z{M0BukHzQ?5p7_SMYkd#HfS1CwFW{Ds@b8ljL~z7(kFmcNFGBsGTZDMYUl>M%<XF|
z`A1VPu>}e5RD#N#rlS}^{F)lZDWkVweI44pHfY4(P5u<`2vtTHTBXqXd{TM9gl6g6
zh%t3hdZeXCjN9!JJACm-_MdHnK|y5y<Qm#TfV@Jy{c5>z?;cFVIT_SswnM#=LcwB>
zY2>EOjg^vLVdY7U<O@w?u$ZYqd=`LDNL&o;mjfvTR6y>A3Yq4{;LNDF`DG}VJXb9n
zWZd&cST5(<R!!K4x<Ne%fq;@F?5Tphjz+5?pS(c)X=fGN2qW9*&W%}UsP>&*WV$6n
zo8_HT`5F0SP**jk3e^OvvQJrk-utp+83=00hCf$Y^wrMJx1dY9g8blyf2Xi?mhr;6
z!#C0QA|MenO}Y3p=dE+TOb#;Ess<GbJigOgS)DwXSmG~M?zq%NUb7fYAd<rj-4=FR
zRz$<C>t!GDoYz)v+j!KQfn9RZ>s(@2zY@hq`aN2(wFJ#$WYN;D`Q=FFVEH$*uFOrk
z0the}=(a?I;<LH+ItT`Fzb_4?bxqLw+dZqiZ~-5qE{(9dC=ukALmq%0QF+X$?ho~U
zxR8kMPU{veY63|x5(dVf?4Ee{fUv@%t91yzRYR$p`ty0N3jS53Oe#q!Z(H}lSM|VJ
zXOIf5{gd)Wj~xwM0Iy|XzO9xY#Cc(QYu!HyCFq}}l803p9`*7!U`!CXw}}40zI)b~
zR;x}&sAa?Ol`r$}&fIHkvNAT9Bo+?fy7hCvq2mQd&!*n>HqsqweH}(gI#O#4TXCN~
zW9qyGCb57CX*m#BHvhfA73(!|SMGLJqOLqr7fO&`)D2dW6FyvRn)!$^Zn)_QL__cM
zH(WJrv_!=kNIFev;VO>Qn@CY|VYVef>t92j9!LpNBT@qDEAfEvcj@9azt>h-e%O!Z
zK3Ka(I_=abzYe+)T-5>0a;COMhx3xNfFITtgzHI~eT|VP5I{|d_+@GQlcy;4E#aqS
zsu^G=njWFXrP2A0-tygceu)<@O{YzOw%JQyY-&d>;8A5BdpC{~W>7zjg{?p|OQB*%
z;Z`)Yzc}->i9P53O}4m7mkTOGSSB}bav47&nT4)AfG~k0;M$Pao3}ido8Y}s+78#8
zN7-`Q#j32Apr-PV&YmuG?a<?1cZ64BNblXsdR}3Xe9a;|5Pdy5<!fC1DX!{HT=pax
zCn5FXI8Ww|+wDfhB=!c4Lhq9@YP5@DSl32ZZZH0F*LKSHEx{lV7hAUgvP0Ub6&(~c
z+uo&^=XG_F4%)AmtQ$$`niz=Fzh?#^c$+m_kHl6BRcIE;yo$<*O`49&`CzlrKr|cw
za2f-uzBJ6yoVDI0&(@2XRfRTnPgK%OK5}cyOMxwm1a7lDX%@)Jz0D|kWSdfENQHx|
z$IP6Nv#pf5<;w*?jTp8M1{RJ{Ol{ibpxgcOE_eu9=@s!4sZUZK-YDAorPl1F3`^}8
znwlc=W3<2HPNUj*bBS@TS-?SK6M!wB?>{Pt%DY90W4;#zU-ueLnXg1G`ASrX%JD^r
z2xC{Z3SsR)lje}^(znfHXPvri(|Q8Umm(v3GjU{gLo=T=8_PyR#k8odoCxfLLET=3
z5MLcIQ+xXo={r0Aq3=?dIZPgd6Gk-EQ@|kin>_7>mgl#i)q~$y*30-YcI%=l3*ft!
z`DVz}qfIZN^53gT=XpHY5-XDnG4j5X5aFUQeTWX@+xk>3{Qlz)wz_X%Oi`!CQbzpB
z^bt4O5&RNkD1{sW5ZAihL1+|0_aj!buw)hAehcOQI@p)N>0G+6Bi#Gt>gCllX#%mc
z{<NH;JKP2j3#=4=TG>>m&}$W|25By0l7T)nBF5NiM5!O1Q2T>qnbUG3?o#T=1GIuA
zrDc@4qfvujxq$8sqXYV;cQWI|1iFsb+9Vn}Xs6B~N!Xfpqpvhb{Ske<iq$jj;i+ZK
zO_{<u$n42y$t3aa@80|)34L(f$!;yvxq4cNXe7@Zc>sOuHNK_%Mb?oWyS<SabYf`1
z6CI>J%>u+3D^J>uj%J>J+An(Z0P{alZWCAd4woP0W4>;9N<TLUE^Bw26LaeNPg7?+
zK<~@Vf4c_iYqPDM^3qfs88Y%PgRB^Ba+RX}=Txx|4YCqHKa9sCi_!dfN~aUxg?CuZ
zF79o(frKBz&c8#g#!dZp8ca@C&X;wnodhnqOBW&qfkOo;N<b3#`}<QS`(Uw7(pj{1
z#vf1T!;MSh?}5Yjrzj1Ch#;{i59~~a-Y9Zv=Y!uPVgAjlEE_%%0E|aD5I==|k;(Gm
zX)|T5*$BA`nqL7zEO?xN8?Ycn$?CA;xG5dAd<Evpvzxy$g4%eofmk~10LJW@a^q4_
zkv^rwJfp4^Pp4-xU&Y4=w}`G5*@M?QVL_MptYf?;P3F72ocz+u8my@)P{tiKe&jt;
zjIN|g2zV>IaiIda#O9SePuDT@Bkn>vbxHV~71{)_fG#1kcMqLr@JK^mHoT?d9Z$_x
zE?Dwh%t@Z0ZVr>_)!a{nyw&2D#w+d$jwbeJDDKCpfH5Zqsn-YQ-&RrOVGbNL26<0p
zR?>r=&GJ)F*gr%+k_Q)V_{F)CLh-Xx5Q%Z&I?+UyTB$PTPM8RAE#7dHm7wK`YN2vT
zJ%?-r%Z@;ajST+!%KqylTc?cb_;p&;CZ6y(4qmd%JFTQX>l1TdO0sUUtpxR{wYJGl
zu2viMSfkp=9UIG{%F@_RyPBp_`&VCJlJ8f*+ALs<JsOTOLu;2J(Eo5b6Zq}9W>;1p
z>WmuCdpnLSOHw7Yv6v@4RhKW<?~ryYF)tj34+#o-4yQU2_CA;Lf#7o9X(<ieq?y50
zs9t;^JWX2*?^`*1MhZ%5fY<v`X{uv5Ja%>{I9A{$>^CE{o-Dpx6mu;3!LoD}C)!!0
za_*D0b|M+VV}@F>t?yb_zF~$xpW2i|QH~shsK&V;z1aTzQ`DZsy<`d2zfCdP^2EG-
zccD?n1(f}<AyAn*^H=#phHrANksdx)cSAuNF*EcL{syL%x6aB3n_}Ht1$CO*2i%EY
z4fuxZZC2c_Koz?w*;Xe087Qlb&|s0{YgA$K;k}%Xo&V!&Q1m-&wc16YggbN+!iXb@
zM6n&6TJFK*yVHPbj4M37C7kNgr=@#0H^=|NGk=^pbCQJ+vZ5}p)b)0?05JDd+3y9c
z+il7`#<gcL-^j7XfuLryCx@-r&+?iq(Q|5N8@JFLAGM>jcdzCci!%v-)6_lk@oKY|
zkFZRjqwQ=~<J<Xo)6iBfG`76pj$l+56tg2@eQcffo7&l7S}<@?)_mi~Y*M9Wm4?@n
z*pSpM**xeuNdKZ?|NSol=%Yn*s}%(Vs498PLDO5Go8Qw@21E&1#yh{tABqf1jUoAV
zm`Y`B;WqJ~&;m&Vbt9l@V`(gK@~>RoA&{zG5kwJ04WeDc(A9;p+x8}|jW3!}SPGFY
z=xk}R1Z5MoFZwVI6Fw8<^uj&s3dd`ahVUoJ)b*G^qUX7ZrhOr&-bfACEQI2dmZMX%
zkSmBlI~DI&r_$-XvRqR;BAVz+5_Fg7BNwzp9Ogu2(wXoD))8*YLKDg6y$7KHCU8M7
zk(fdRN>LQ$-^352zBnqcRxp*&>2et13%u{48D`TAwPBCHW+q&(g2E|RJ>R3@sijVe
zodo>_iCg=Ngs+he><24TBH}6*4g+By=!|e?;{Z8!&Bj=y8WD4pRrut%qp^Ydmhg4@
zLBLo>AHfN2G-jK%zv^O83r-wO+U|A2WF`!aIBET#CRM6|BR1_+cU`%>I8SZgfhK>A
z5IjPitl+L+2C-!NiuXfH+RY>K)5bBd2--9)QRvUS#wU+s1dU>bYHA-vIX#-VWi0)p
zt^%v76_*82Jwbbiiz^g=0&c#1SNPO+G+6?;4_g^K8t<>J9Z+U**qhpAk<*vTJrP%y
zzZA-T3!Y9*V5I4_zLkoM$M_ckcxuql2?y<V8Q!f(4CrG2qG#HssaA;^)4f4;e{Fkz
z`S}(6Y@?3VNLJ<(<w;FEb8l!uu1Ve#2H-(p9Z)HOoWO|1S@pGYMl4+xn(lEE3*O65
zP%Z2b!3f^dVWJupdRqqe%x|gd$y7QIcEw0yO+Cv=F1BBMB~zrcfBpt|c#&kkuW97*
z@>ZiXDc`8iiW?j#x6zkbBtgK!Eo&zq;}X$P_>e+fLZKd60F`?xHZR&x4W9tfab-K@
zj*xK<9195W0Gh6cemFSK=?E3=70k)G5uBDqOU&c;V9-8;2?2x7Cs+h!DRazp)m(;n
z$_V;0L9(<J$~+-6FYkAa3waK&x`;nC4S!NJIP8$X8(O1CT=y#|QJusZn9$!^^u}Ak
z(CdO9ON;dST1z?p7meZDw-2CH756De#Tx1a&r#OtKqBkrRJ7)!9|x?xSN(m7U>zD0
zYC(3H%%*7$k%<+sxep9GgGNT+^XvJ)9QkraP?hd{cCFPrj^%Jy9tVq<=L)q-@t^9B
zH?}jI9Yq5eqfWNDIOXM|Gv_u-;lPq%s><a)Jw_%N=_WAW=jYTuWn`i!w;!;j*#Gpg
zv8nSgZ}DF?u3~EL_Nbj>NM<6M7jX{yrZ4>ubK)+Bn!Wlh_!GJIkDATpE-coTL1}a>
z_}_|m+VNgZg2aRjMbNK|tPK6$Jx{Msy;`}1e?H<raj<<uk`*jw#+X(7-%?pK7Pbo^
zAapZS>8;5Dnp!lt4Pjlm)6J%4fKejs5KQ*|cc0|HVicYX^JDNOmWcmtz>P#XoadT3
zmXLu5#{DydY?3IR4E=EQ`%Y-QY7|2ZrrU6hiBZCw;TQd%J^D4m+*lhOi1E{C96&(G
zJ6S;PwA`yUtS4RbdC*U=#{M<WEro;6VdUalUzk?L_|zS*Wt?l)hZwQg+9}9;o!@Vr
zb($MPLBk)QaPr*0u)x1mSh;G98GrJs=cVT)!H-g6UHM$WiN8Fj5GJaA$4;r+_5|sE
z2&42hR_ho%;z<b<!Jpm5m3?Qo@Tths8S2fe(*hrgLCA@;XT`^lV@!aS2!$F1Q~V?2
zAHCL+%XJGVS$R<B10=jzzDA$-c5-cvtkgGcr?dyJY`>j9*fSl>VKo?3#+#^x)_fZx
z!8^4{9QwTH)EoBhPcpCu6Z0U!WIaJ@1Bji*>hgWaSnmMQu?QMU(Wvs1sY+9o;8Qk8
zLSqB?px=FhZha}1bBAtrOrW7YD1IFKMG7p@Z9ED7-_bzkPjRAFi?3O+K5#r5u>>54
zD;)hudC1pF8cb$DJj@wf;9+~(Hm?0b6sa~w`4Yjw`>;Sw=C@+0TFXZZ>-~^LCFAf@
z9aC4)-C1xS4(bwLfWH395(uHE1MB+(J1&4>UPv1C4-EI&qkK(&i6Io>!jGvQJD8tP
zFtgq=jAa*Wtj(1KFuysmY#>skJKiHKPD+>t2O1~C;2U?WK>CfQq<So`bJ{8k`h_3V
zqJ(16{W#9Hix<dGI}=V-WTW%rnj_3X?Si$h*L8_4=K?VQ&*&XozE`W!U)l$qj3FT0
zFVg^b%z~(WZJ5TV!6N}J{@+Zr`#mBi%U{XVoC|=Y@AY>c?q8+ZETqv6OR45}U$}?3
zJ|9?*8P@AJjXcdJ#~G2Il0u@lc>c*kGItglU#9@kn5eIR422C2#VTrA38U>RLeb-x
z?LD%3FDj~<4RC0r-?;VR6XgMP(d}-upXaA1s|;*5GE<0cDqAxk7css)lg^J@g21!K
z>5fWn;mPg2H<lh-f?!4a-r@^-#y6paQDE170KZxKYG5j|>X~B7Z7MfHdtIH_gL+3b
zsHd(Pg(Q06+$@gvPv)PGE;<WGf0d82;!*VT2FUr%14k)p`bDWe`p8S~4ro*ALasri
zzOOX^%O6_hEj>t1(LjIR7nXOOi1nbW9T}Bs(^J2Ni}J{gUDd+xld-b(F{(ZP&g5@s
zG>1M0F|#!oinkawe=N=@dgFs~vN<~Y7|u4vg43>*w<wwhK_?AIQ#zuxjLm!6S`$4(
zlmHlZuIg6B8VX_rgKrBRG!SJduw}r$Zre<~&195oCUm2SO;m%$KGnnngvC;KC@hsr
z%_LA|QiX8P8=@68L1OCN{2>g{Sk&occptZEWKH+F3gAn{kV(MvaQg&Ba5L*6-{FC=
z_8MujYeyD?H2MKsEm{_lMb?;z9c7j|=`QDL&Tye<G4s@<OPo>d&aDvaih>S&k!?yd
zXc$4qs-B4H=W}c0iiY1-^Y(R^ZUWO+ODpEhy+5>~s9L}*57lQ}Q}p|m1leGzizC~(
zq;-2vd^oj@YGat&6H-niuJM*hxLPRZ5NE3e@D02EoRSgKBBE2S!+euBbj^0=L+D)f
zFCWPZw>R>IfAa*-=u$cmU6)vJ>&=uDl)siFOF&i}(;g6vohbIe`7R|p;7J=1d(;mD
zv{bEmMzS_X5&lyLDMxS!i@YPA0k>e*f&4w5rNVM^I3tjLFYWl(h0<iqs!z1F=O+7P
z$Hg>9FpFM8u%%YMXbQ&-*A-OwIZAcQb`daVZ4L$R@*9&YSlNP{v6gHwaQ+SUZ^`*1
z#3SBO`YX}DdyL|Y3DqA;d_F*eaKH>qMvft2rWLzaX#Mk8!*2Y!fadrkk=aEcf-oJn
z-N<xQ@g0gW2X|V2+JlXklmNrN*?`>n*_f>9L^Pr^CXANoOoUeXWYiMh#Zw|NFQ}oX
zpE8N`2Q*w_--kzi3mvB40dy0uwatd-`{!8&NtT8pKI{t1=Nfn=jT_kyUVGT%Qi_Zm
z*cfYy7%`Zi5Ln`HSa}lb{>V(Zju&*x2#iWznnX7UkslL><VVNkVKLc<+hNlPm0cXl
zBdNyqN4E$6QTD<}JO)sT6<e<hnJlVN(gNoO#bz@ew~unYEa*6rE0f!)$}WeNkA9UE
z%R%sKb!k)RtkizgaMT{Gr<>UK;YL86uHeDyF`e|w4KVaCaSI@Z+#oVqN~fc@X74^1
zdbZWnl`+~{uw}0T)R3GGu1FU$8%?Tb0LK>T6gww7=;HfG>WUBo#aPkB&bGNSACM7U
zz*kwzZJpnO7oCDFFjjJntRfMVDt!MLX;A@@JY8%*0B<HEsaRU|xA`eWZ8PjL`;fUR
z!$2MdqPUbcgg?mTS>xD{jQg7Ixvgb+wcx?n9Y2{dm~7b&9<9=Zli5(MreV(&ed^n<
zc_M+sq4vapDpy9&{#=&2rK)ZywH>M567(;nX#g<~bjz?_qX#?mB~*TFxmTGhM~RaF
zZUd+<{~v9E$*7-f#qt*6Po=Br(wMdKvGLSGw7(ZIDL}M;Z4O@yBkWwe!YSD{wRE4G
ztUE9b3*CU}Z{{{pNz%;ii^e!mvAsw)5y2gVlch-MsBwHF0@Ka_4ko_uO3JRODHEoA
zj|w~i-rZ)DPj{G94@Mfxi3q3gzA4JKKgHM`IQQ#d?c-0~p6k?=ks25$e~>V2Ja$8L
zV)^<%S28c!hHPlI1!|4D*$jYGRzfkQvAoaSDPvB)no7!{qpUAaz|mH8&Z$a66YL)t
zW`zDV7Si4oi8*gM+WCjfIOA11kh^>yMghFeR=f^00kMgv42^TmIeIQGx}a;B;(}`H
z2mJM47QWZ0Tc-v$4Lmck)h(Xch~hqEshp?0SC5a3IjgX6AKh@j)GjtFVLm-RY0oY4
zt<aHTdL?4jk?h%rzR}_#C2~%xIUGJdmztL#-?rO^<2Y)p$|C~Yav1$03b8W~$5+_v
zfUVO)q&w6WLr73ugN6wWU+JX-MFlCrW2pGiI?uWrRsbKkH*m*Mqn*Zy*K5#&#D8tV
zm7INPXg5VLV-6|ZkDBCNkZg;_zB8!pac$FG4;haH595r%#MJuSW837+$pzKg-yb1y
zcS7Q}Bjvf6zdYcX!7$(Di{zL8)XSMP0n_cEI8L`ZOA}lr@$ScJI@rXsX6VYS2D}Pb
z;hTbRE#e!E8Qs4uHJbH}zOJvriZ>p54N+6f0L0?$MQCi{gc&pge2%Nui>IOu<wNrk
zi<%!A3@mucg(_ymv2JFqHT%cqUTAs`**AafEpc?g$t}<ZjY^%YsE1<D<uBsGT&;LT
z<qU+XL?UW?TmotkN2Ak0TqB+u+>lB+3$t2p3(A>u9rO{WrsNn1&UwDo&CU|_3?_0|
z-PMhV*^@`9O}+$c0S~UEZU~?2a=UN3#s+J+T@Ca;I4-$#pqS4Ku@1|0nNs~nsRa%N
zO#F8QFviwhteNx`br6Kz;4^k=;k=l&m+#1uskKI_^iSgB{4x}*)smIK<F3Z{y_7nf
z>Q3VYT;4&s`dZc5CG<-|Fg+-L7N1X_@`AkK*!ybiwmHIXVKj2Nd<_sCL!)E`tmiM6
z<Nh@~%4nPS?f@f6gV*NS3vy}^02T<%GcxCsxH^so0}@4i43j>7^$dmwzL~o48E^>{
zR#;YS7KgySC3B4#=l7M)ks5JNH3hbx#+oRjim!y<>WvYq_5rxYMEur+a?5FSFCg9|
zD5X<OW&`B(iRX%v9Rr2p^N?Xk0;&OBQri4?PZQ7f&GLhy`DCF7J<8H%0c?@ChU^{j
zlXhOwf@DE;<nqL+f=H;u87UlISGu9+>n-m!f)l#)2N~l$*nxVJWo#br^kiulNywFf
zF40!oT>25yFc3+ist{afv18SC=JOdB|FTn7wL=7iG}{wKpQvh2vz4I{S{0Xd1)vg`
zf6nA+vi}hUOo#=lEI61k4S(k!YV60I?vq20CK9FS5Q$#!-Hi)>Yd_~qwS<Is)8Wf6
zaDcr3<F4D?62K>f#dU!-@Aq!YUmw7B+Q8BOR`cZHRvVbYZWuGDMc2o{%y$fFrU#(i
zbqlPFZ!Y=3GRuSQJWyR}d_MzQ#DBg0eYJ44-^AvFi|*k%{^>5W%e;b4#@~D-5apm|
zS3sO>%!b8Dq|~Ow;5t3~wUB&Q)4EfbcY@A(UIsd4C7?meB2&@}=cx|$V}ez%O?cPz
zagj7pQ6;8o#bSyaq@SF;E-hNHOiR)t8P1Yk0=NBZcEqQ~4<&!%u9EfiG($P-$z0k+
z)P6X4N&<ru`Vc(7I(U}^&8?ZhD>H7&2Wf&7_Ah0I#i=*zCh|^JrMlYkz$Gp*^1XE)
zotBMFS`%~7d{sc9H!fz#(1N4$ibTE0!;FCb;75w@%Q*sP<5NON8Xtv2Aes8I79W?e
zAAY|smw~lcmFsr9Y)O&M%43j3KM?BKN>q;=XA1dyL3FwxViBxjJti(&aY<iSmmSX8
zBKxX!7bM=tvmS&BFHj~3i!ILe4S@emOb<e5`)A7FYnl6@S~bw$&&w*Sb=CC_uK(=e
zrPRdl?1O=xE&U#Sa~H}&!(v~R>8()y$Bb5BZa4v(G?La}9ue+dx^sysJ+D`1S)dLB
zqE@-NAS$+;<>R%Lk<0UYnGMbR`@1m0)-B;G;%|8V(wlHT(!qCg>56P)*BZxUaD-3a
zAuBOTXbCeItoO5)PBcMgPUL}F@&L;Yu@9SjimXh!$R|mZD4gWNpZ-FEQ(Lyz7@$FH
z4wX@jhj6i05QU=&WqY@%x8@9a?j07s)sZ_iH(-nw%<7EtM)*61iDyDf=PB3H4{NNf
zz7Mr{IC9ucVe%HP7cZk%YuY54#0}WzJU8p3sM;2z0G0)zqKPHik9o@MMH~JZlwYXZ
zw~<qD?so#@J5$U3`BPXDgE!A|`!>KC$c^;+w`01Vd%eh}!rGOpI`0v?^Zt&J`TbP6
z8f!j>9yLH;gD!kOcn=Df44wwOGkG<R%#c)fz+ZE2-K#c2K9tvH^a;83kDBnFvAMs$
za2=D$p%M@@CBz)%Wh<?6yKa|^>$4=jCAHJto;Pn{05f@Vm`gNWSg2GgwFo=iNhwg=
z<pAIUKmQ9N&8^>SfreL9y`W*&lXXze0cL~(CW|3zM`qTkf4?TF(h9i_wPM}U(?)T&
zhBt$>sIqounI|vtEb}TpZMx5~Cj4tHUuj*Ow2_N1k$maAi7o3m8(xr~$nh1TU~KGV
z=C`78pJ!eZ0%D9Lxa7Sx5Ht{03eo|(^h%%V3t>9oH$L^BJ*HthQbmb4PO^p3zvJRU
zdC?+t9a5&BgY$q%SvMSgoU4VFm_E2Cgf8WUrg+<6*s|A9k`aSEdoeRU)uG;fr{Lza
zhF9)5MQ+gvP@?|QTh=u*ad-ZsQVkAB2Fsb_yE&EHS_MornevHP%BLoSz(E=j_674H
zl|V<G9N++3OGC)NN;g_N_I|_AQwiVqy!5XVnQ^^=u1|YgP$O`vriwokOt=#@VD3m#
z_tnYNqlgS<i`ch$y(V*yu$%2v1&JbjMpS)DejJ5M1Xe4D>{-de0myud6vc%RIh0Dh
zyKBxj9Pj(TAh=qqEZr%MNq)PHN<8j~%w{*Y3B)o#H>rtWOP*z0UOga4qwYPysHiDh
z50U1^oLYHF`V68E6@&4$$BcLQ%yL$ND|ZdKAfcToT~+&o#yvH0KD5<$LFug)jgvui
zq}5xpU7w=r@`QQ^#gZiolw0jd6fw^Fp|T|V7H>TDiM{*Z_Je*7J*EOYK8GW7ZGGG3
zc*KzwUksdNPgXDd&_!WfgTX;F1Zo$uSO0@QG}bjS+3oRJAH0FAHWO-c=`Iq-*-+VJ
zZR}3~EZ@9kZfS?r%VYB<(;-4ox)b2n#|AVzkYHKGE0&94613^B{+Zy{)J9PyQ713C
z0|X50+I{_=-88h7h^hEgvCx9@+qi~r2sFE@zp|#WA7T*LJ3F=c8l*}oKs2d!2l9i~
zQ&9><W|3MVa<AnyC%>d)C5{f*0MMmxBzoH1ROl%sn8wfJ!@!o5;bCa`y6E<^8{$=7
z<9AdBiYHhI7uK%`^vxS67;v7mhT$uoph1t>d~V^C@=zb|W1Uo>M&$$@%DpzR=Ck30
zG&CIyC3L`u<dP=^W|@_9a(<aJ>r96G@C9I-o*L$}J>^JFNjb-Uy<+BYtLlHri#iI|
zpgDOI@{}M54o@*x;BTe$wnU#bo^Uia&fSgK-=wK7R1PoKjY$F=mJ)XKNwBAW>tLTa
zdufLeHc(5ENaK%*fsph#NgnCv!pbxBLpR+!*4M!r8jaB2xdKK1i3NJSdI?$&rl6LJ
zO2tK9*1CousZ=WWv#X9=EfF?<A2hon3Vx7Lfz;-Gi};K&-*PXB)vd{Or4!(s^9NEq
z+*9uN#&uD$$hDp)2Ri1RB~pP+3W~B@At2ywp6Lc#HU`o2tWL(LB$5RY938Q2Y;@pJ
zOmICf-(8aGlQ7~r{`c2Ug&r#B+p_q7Iv|X>wdI{x9KGs`v;6X&WZNu-pG3<pS6EPf
zI(K=(LgGjw+jOxwQ+kT^RA<@eYr?~sm4;%i16mEv)On{gws_hlP-Lr8MFJJ)o$3Y5
zZb~A;w}nRDOWEZGQmYVz3G^~$*6IVF@El9$GK7~@I-yG3G*kYLA0}UcHDoIO`=!Y=
zAsunti&w8v+Bfd3I9{*-O#Ej7T<+l$h~ck^X-#fYg(_E80kQ~;seG_(Vu-QUCM4e}
zk~V^M;Dja^8*ho@2ZvYNZt?q<vP;WF9{f$<WawJun-ga2IHE60R}aBr6eK1)^B<O9
zv&1yO&(FSDL-32#7!gogVtAAXT%mGIdp@k)(O)qw79xMl+69d!OW_kVzx^D#8aT1L
z{(l`NgYN7*QR<F$y?g6B*a=X8ZL@pX;schv31}kiTTp6@bVXaR_uSzIGy2h%e}X=g
zzUkuB3Iy8ex|E|5%Qp!TDGighI!=QGBEhu6|Gls7-A~ONzL`h0PGX~kkq0eMBLw~?
z%2%Aex4wSLLG<KKvQk_2LBs-_{fmcCZpRt1;xK$+cF(TTn>OtaxK_GsaqR)d<{Ei}
z1s0!cQ$~?iK_-e}1QZ-ZDWApc_xQ_``7}$nQ}{^Gt*vgBCn|aYHlj@m+I+bQEsRzo
z%(_s8#+M=g8%i#s#}F}_fWuSXt^kO&9N4V>e*7|Qo*ogxwX9cu2NDyskY9NMLQzeK
zL^n|=sV+3zWZY{STg1)gNO#bnkCqZS811btNth4DC9l2}(Ly<}O_fTzZTn}I|559O
zvaspn-kI5sNe&mZe^*a5Hd`4aBZuu^7`n)p^16Qv5C=_o^}hfsK-9mo-#HSWn3@J4
zDMNlfWpT39f-kI|He&2ZW{x2GY7ipLOOvo`xr6|=dzZ9{R<%fxt8irI8o#Yb&p)iB
zQ&f-}{2%EH$rZDKq#Ch+ICOQ1sDk4d#@O0xOk-!oInlmQm(l{{BXrhsg@v%7Uv1AD
zrk%A;0`pF0bV06yI>gY(b|m3@)DHw+8rk?!IW;lqtQ8a)n;ZM?E*X&`4aDzNPo`CO
z!39c6XE5d)!oPzZ4m;w?mC&=jXf0^>=<=9*h><|4Ynx$~XeHJ!Q55C_5B<MfE%U3s
zLvQi@vcL`bpoEqkwqud(0mG(=6ngsaYe;O$8MC-f1isAH6S81)PZ0%%_A5?2c`=Cw
zSLycuFD*szjnY)INPZD1P+3PO!0rWAj8^-vjD<IgX@#Y@R^_1uUtn^o=%Uhbw!t8P
zD$FiUQ;MTSvI`3b<=k-5v$$zf<@hGKonP;(IT3WEzICY!<Dv42`H{yDv6dDVOiAk|
zJ#t+bID3*u*W0({aLeYGesZazL!kE>wJgo?g<*Xh-d_r1eE$X@dG5+iMDG_?DcCfX
zj=U#K>ZXGTT-3}U&4z?vyi+7@j2{ci;I9dOVbHLc&ctI9+BZ?vjCN)2DKC>u$qjZB
zKhw<cT5NueIcTdc6nsV7MiL0c_$3;V;pUQ=0c{kv3cdJ;p9*tuRJUzg#0~NExMehD
zIBgrYc2QQ0e>L0KiR3NXNIX7yRH^9QK62_yXmQBvIKG|vZWs`0D+<@A0qYh8N4@E0
z!4Prmlp=Unu~UOYpBULuLhjX3Bm+(ocCe$Dr7YFd;jR|}nl^`R-Dl00L4-<x9a!}V
zru7WKI3|C7_5%|4oIzXbwp_GEVMLrbMODCJX%!c&rVyE73L_MzP!?GkRs@0qNw?bQ
zU1Pg1eJ}h&#%5{@mmG2+4Xc%ga&UK8?t`29Du`$!6wC9xZ;CV&Oue_*>}w_mdAl~o
zq5ZvDBE<ARCUul!pMPC#iJVLF7l_ce4OLe&Xr!wmY%*Y7w7W^`FsFmFQ!C2~wFb6S
zhWktpbrx9gHI6<k&KyPJM%AR1_8E#Q3~9~Hy;VAU10V}^pB&oi$nE27`VQhAH!O{Q
zybKj59Zj>5Gd3H)pV?F>%98a+cIo-g25*t@-W4C{wM3Zi2*#lco0`$n7!`ghpync~
zc@s_T>sdjRsKnnhuVY^XKv*aj0LQm=UvsSjYglf6996-9`Y_n&%Dcr2MG~q$@|bu>
zs!ew(_pur?@vh2usXZq6++ZVm+W7ZhZrUl>Jx>Z3r~awQfNh5EFzR$mG?ZI=Mtpin
z-csD|cKrSIW3#%9PWnKkyHd9H!LOt%*HWublOxGKK!yeJlrFRu(BheI+^|PmAcmG$
zCbEdq3jUdbsVg={{QguCu+TH`Erd8gD#5#_s1S2!e!`=s`UQLzHX^UAB|=I5lsA&#
zK3!uW5d^@U@NB~f^#3r%kd#`&aNXLxCC3OE0+`SbNW_LdN?4?NS<$AFlG&;da3c^w
zt0WQ0vo<{>;~8i{q`_!(kgEfJ!od*k(feX<J2R?-Wcs?@KLEX4&{~H5*iq;n0caX8
zT<M}qVHLjZ|9g_&rs@??Fk<tQ^@si=yL!6Es)yk4da&_BG~>JI$3SL}PcV~m0}JEv
z8odVYnh9-#1qAb!NHm&@#Us6llzJj9wJR@Lz<e)AqRE(j#}^f)pqiI*E<<|}acXXf
zdxPsC%fwVrD6TQB!&G6Lv2QogS=v`}y3xTcSrJQF;(T!2VE6^$uQ`l72Z(a-4IYWa
z<krDse)72nbm-!zjrn$iUR#%E((v6GaQvE)uK1>+Is{HBbhc8Fa2@Aj^`|5&_EKEg
zpO5nBCevR}C1(cTV#Hz6l=ml${a#unM3NKQ`i<ZY(o{XM1KJM-Mo*(xc55IB7xXS!
zHv@D*fE(S>M@9HtFH9ybW<}6W%Tf6%6FAHG&6bH-m#lU&2lz|A>Ky!vmG{Oz>(*(R
zOfre2J5KBqxpZBv_68ryZqY<00K_MtSk^e06C4;eWDzX>@;&;A+RnZHKHWBRHz)lF
zD|-ftCSA8430ZeHr*DzW8vsqVmHe+x5LO2~tT}t=Ei~-tCDm1NCY3~RMmiNbAO!$L
z%a~z_XQ+C+d-ZlauWi6<_O-jRe5mR(m&w)lW3#F~bZqMaXs=|wa{%c~cgrGMKSBwz
zz=kXI?~is*#sZl18t*Q)D3^^8G3!^jS6Hv42Z`Qg5;r0J=w6X1hMhsjvchnx(VJX{
z$0D6Wg+j5^J6!!f3S&^P3`Gbs8;foi+8JP#VmYtdBMKQ%v}$!UxT`Y7kr1reMhA-q
zUMCY5m!Ez;@HkbKxATuW4JUtfZ$*GRb<@>COp4TSrsv90;zY9TP>3QAQ+D*nkO|Hd
zk!DWeyp>Ba;xHh*B!$vJhZE73fHF$JWI5Arp;)-R{r3Y0-g~E0glqmd`#%EDBLU8D
zHA#O(S|Y8~tyEKs7?E1KveouOT3E?wbsk2>VkF<(szdh_MGCmYvhkC_)f36Yg^jeN
zRG>7WD(%JPA_u*iX+Nt{M4q{QBJ{)5!k=V+qe8-+V?^*xEDRid6@?-j%HPBP2zoR`
zZ5!2Q0|8*Xm78?;K<PZl4hCno_@@HXR?dE9j)u63FKJQZ?@9|;n+eD&!I<Lt%p#-5
z&se>g4%j;_k@t<*c2lMs4D4RSsnJPb<Ev#mRNYE0)bZA&y>Rn%;Du*ap)dQU0Kx9V
z*&MN7YN?{P50e+GH>5L8I$)8~`17%1htB-0#agLC{Oa_zv9-HIAt)oC7Kqs2lkqO2
z3%3aa2{@p-opwGHW*7^{U0`mB(OXkwahtw7HTk%V2EdEF!PX<=Gl(DI){5PuuIVUm
zvr7}FVZC+P#B|o@X5;h4i%SBOfPt9u-g?h;Pem>_jNVKOzwRIqmh80@L03{kQ7IH=
z(&<(}*{oZIztrUS=cL`pli^oE1t`(NwosQCoZR;dsq<P`$|A;x%W*X^MxtZyEK=Eo
zidR1S>JfzA-?7Y|@d{Wk9f&kp>zUW`v=JrVHp0I`N_>^D7r4p*Ut7Jdjl01XbBuv>
z$nN$<S4JvkD<IaLGx*7^SsA^iF{{lzAK0S%FqZ)+eQ8$N)!%WW4Oz$++KK$5w1^gH
zTdzh5HhcAXjyEbO_+s1C{N!>cU;*L(Kre)Ymri%IcMiadEtli{AGJ1Ry|cA@{&3iZ
z>Pmwe72z#6LO=_25L3`$gHv-WFYwrvhCSblCUnEx7bnf+J<H&CRO#(cTlBv(C6JnQ
z*p*YC*JA6M1}4ac3nWGT$(sJYX<%*%J&iIUC^FLY%?xq6@!qHk)xnMX+c#_Xwh0Zj
zl8w>1AFB%UNhrHOlfXmuDcH%TwEjSP6KrBR79=!$zJh5O`y8}yqnnBT|He$%Sek4f
zz2op?_DSzHS;u;Bm9g#=onx$^!`}*jVA0!QJ)4*ICacbU!H=_Q8gZ?-RroNp=kD8n
zOGD)Q8aV%}ueq}_aEZ|$STjV_7Av&T+bheCEb;%E>T`Igba1R|rcOo<@ylkVvk&b`
zm!+(V1J0=)(VoqRrrtHyKyO`2zB}m93EBMrTB741;1^fwDh!8<A@N9<B0ztNMUDt(
zV*z7{${|ctsHNarK@UkWN77mJ16ZKP;3Pw&(rl-xdw!@RrctQ?aL}g(x(bsVBq_dy
zQLeb)DJi?i4?Y?+3>$32!J)tA8iK(rf3OwA-@;`rez8S>l_I=o;7;aj<6<=ez8qUq
zE<BlgsZp4{{Q5|l5vck>D-u_T(MLIfh&qBdF+m($ghOh`N1qIRYKRgP5YONh8S`t>
zbs}dv7s<-k-`<49rOXbBh>uYdjtxJcI{g0l03gESemR*p&#vsS+8q{4ux)F_)z7xu
zNrw50n}*n=#G(BKlYUA)*C6E!Q;|}B42gOB<IWISz8=Y7y8d4FX4mXN5r5=O$ZPn+
zJ;4MB(c^%l<KYWeMI^z$bu7jA*>LBWiW~H68?tfH-f-ZB+5ObRFc_G7(J|B)D~k?w
zvyH6*Yl&eN`&o5=&<2sxYoaf!t$f^IRdL#%wQ(36l*H34oF8m0FVoXZJ+l~-Pk)4S
zx1=;N;$MCaK%zfGS74Uj-t9suskMY$PFr6xJ_$24kaTY<a9Nv=CU8u38R0BBDw(7K
zT!n-G#P5Jz>fkWZYzD=jA@&~O>@Ah%kTXt@41kC5ScmEm5|(g*6@c&-D*G{85co9?
zmj+7)wEa9~B7FMKL(#5qG4ME?wYMni`B9OT;%2O8@w5z6#MmL(<V{{tqy;IAdf~jO
z3NskPH|-zdpgOul*0EcTP&jzqWiV`XA6CQy8if$DOrf>;x7(IdSzw4VWX6-fsOBk$
zW$V_^-PZ!lC;F;rjP}QRisjA7#q`KRFXHYYYJ3p1x8X35cbMV@qBc*hzlMY_Coiuq
zy5tr+C~v^q17D^se8TH{F?CyKY2pB?u&waq#DZ)pjh*tMj+1cClP568I<6^OlF<2K
zYzp0DN#Yj>Ytly`>d>PQ<uIjqn3Nr4=M${gX%HunL79dw<!|A`8oYQwc<EKG-kh4I
z%;tb6a;0FA5H9(zp0PHkq4B&ipox-q0mxTGP`y~2r$NZv9jb1Y2H*Q_z*WdAY8_D{
zVbSZY-_+nmOex~)^{B6-Ui1BrsA}*n7<vPGs><p+4FhIuw&i7!m+%qN6f^qt_Kn^L
zBoUs!ucFr?$@X%0-AV_JEkUA*R|AI`E)i@UJJmzZh|g%WlK@GGJNAFCV*EVWz#cyM
zv@F&NIXHudqP(XMmNjV(3~P@?Bv$;UPEolhg1sfGLD2=zFD5G~l~Ry3JMJ`AJ7)o6
z&%6GlMQJwVQ#b0Z_?)QXTDsVS4}qzRiovIGN{EJcIC$E=5mvkfg4_#D%E6b~WtvUq
z7hqX1S3gB7&_-0wj&gkoP9Jd|8*kK?M+oZH#OcoS2@s`kzd+?L*JemOh65DUaYUzn
zzOmz|3p?;I!SSe-XvLmLyZM$MM1gu~Z<{uq;;8@Y0y5Kd$07M27>WFTo^G=$^i76&
z7^ZGY#+0=){J`A*z40tVLz*!2y)Zhw%ufO?f$Z(N-Jg7lZ9Oze7%B?(=lsEq<<4i7
z8Vpr<VOB|~$Gy6(xQskF!}u<LhcFUJ=@9t<CVl?7t&V%ch&wOx`cWy+>p@+3^bUJw
zHN0$fll<c!m_DSQ4Wom=;aw!=B%cS19^!4ACn{=`d_UJd#8dPuOA0m(^kOv0s4>+u
zOm<LmvBKQqDyaB)DCBr@AvXnBtN`Nrnt%tH8XsIZe*h`stHG2U@N`gKkX$k167!mu
zNctsKQWQP6l$0u$f^m8;I1dA#N<yWYw@Fu8kP22voNP#q1Em(avffflHf;<Kxeefc
zW>6pl<!F#E4FyV*wxc7u5!tKpTY;pk872T5d6L#d&1wA;PA^%voQwJgy)KFBSSwgc
z3=Z2uQv8s0U>0H`bHNPoAI(X!$Y7KvI3iS5>9`x#gGMv|)e%QpBo!%&s{D|UP?GL;
zTn;L@QXjMQWgSw#z}zQ_FQgG+yg#5A|GJyGJC#grzVM3zrS9P~6oynZRP}T+k>9aQ
z7wGtBR~PO1?iH2-WS)NrSVQk<iKDI@G<t@jfcX*GL=HX%{(QvX6eBB>lHR0ME%mb8
zh|6jgGd7$GKns3ZL1oD$uTX0;LtNXt)MdWsMPCLs$<?;WGx4qx+b*d3_P25Lkc-VM
zjBx`6Riat$-qoCp!iMAJ)iiitFdZuCT*z*o_0?Vajf47e1(rH~zaRB=<SL-EzSG0v
zc{+qEFW-x;iyMKi@lOY`8Wb)UHJqmH>Dq>cD(i6FzT%C)G)LoDUW6jd3#sZ;3;%@5
z)g}hMKc5n!g(+(u+QhkH?gQYz6oe)8u$1PTB4v*J+5ws3qL;ZUs-vc#rUs*IS$@I`
z^B%O-iPlkAuC@rdc;d`fM@#q_Nga8dKGhenC#z6e48ah9(sat1*mFOp{|IF_^IxTz
z^BC8iFA#Dkh1?n;O5LS%h{Z(Sp#UuYHP^{M0dBWA*$~?WgnvICixPe`@qaS$Hylpl
zHIVGq@#(aiLv-mq<Sd4ekNwfY=H;U03?)oSvaiw<HVzwLZ31`?6?d@*#BLH48nlm&
z#wZiMiXL|wexJxjWW2r=3DE^%^)}CK_mA?WG2ye9<Zh>)vnnbKQrm7Lp^#Fx5E|26
zLb-_>!|Osc28u&<)U~uc%#e`<y;-CPhb(GhtXcJpxC@Ad3e<)_VHTidI#Re?PQ+7?
zL|ZDnBps#duSeq$L4?em=8i^QAdlp#%t1S?Fu115Nj`>;XllQp)kEY3AAOd^gHv~l
zR`PxxLfoP$m%kv_`|k~l7h=Sl8bFLx&`0&GDomDHIQs!KtamenV^Dp2-T@K;N~KPD
zd9^lWp*|PE^|>ER6!1!1-^X|j@&tFYVA9QYHE#M^)`eV=WjI;`3dgnhQ{2+jYud#M
z%VglrB}c41P-h<nC+P-FNltb_5^7cYY}(}&(`G>CvJR#U@WzzI$I|>HqWmI&Z*z_B
z>$x<P%NnD@gs{+A%Q^g|o7vlQN4~0ohO@n5Yt8|u8!QE>Uks?y4@&sk{nS&PS^~7T
zt0!N2Mi8E3WxCdK2*lH<MJOCTd!&${6Rn`=l=We~VyJN9#HB^rF<`!x?zNQgRQ<l1
zR+IYt$p4`|*pz4DN!g9cHgf3%6ZC1C(<@zHKva7nuY^++yMagk6OMzmSmmNs?`@(F
zlp5qi&L0p{oJ+giN8b48YFSncPGMWiXXjatQ#z17ZCaU}D1Y)-?j@Wv8z`}8>u#4{
z>{W)?<YU>3#NIwQg7lHF3kKwi-J!GWB<5|N9#N%$jOINP5E+E&6tgan6D<la&~$6`
z1%tq+2O@q!XNp4Q8{R=ZA>)5U@rCnaN%6v>A-8Xl)s-wv7O7_m;6$C9;q<LFJws`5
zGyTwz;D+>7$eimnX)A#47fO!A-t;W$UMnRKB6qkfd{|xLH^6tS>o<+3jsJ2NPQU=)
zp13}`+_xhKTD@V^>tR0qb~e{CJ9A-70w66Oa}V}?bv_@*!&pQPStEqZ@T+MFjvQ1w
z9)}ULFIc4@_YHovnq?-A`#Xfkph$W~D6Tn{EMED(CF|#MfGXAS($Vc1Gu0a=Q^Va^
z+=kC<wY<I%2M7+V6Ll@URar#l{-@0^LTc%M@$}kE7CK4W8_vI`G!qig)f=A1hM)2K
zS1nB_`F1y1F*qzbMtOD*L|$OmSHoLkgPF)4{Y9?4c`jF|6J%K7#>LEVH*v;>Vx&Mg
z-rwm>SNGL|oV<>tP8S4Vmx2ew_Yg$5OwlOu8|^BpDB^1Lu<`qPIdF&J#3cX-71wwT
zPs3FaHGOV?^&Y$t(y+W(D-+N{O)QO6tsLX~n%rX}zSMvk=yq7=K<eDCiG!++`CZrT
zJyX0R1-nfG<QH+Lil{0rQZA5kwQ~0K^l_*-FZu%hnv3l;+Wz1Mgq=<eY6}P&)5Wez
zC1>_rtXXpG0bE1YnGhwo1)y4qs**zl-u(h4*}<4i|C6C%`#ZyYdh+8AC?Q~qIBBD$
zjSGc9=T#v|Ck4BS@UB8t7`7Nni34$WQteaPh>|d3R)=};i?Q9NgjPAn(Ff~A;LN>X
zwi1;7j?j{pmyGr|*O<(21h3x^Hkrm*uXl!xUL%e<IYy9%%j0t&8o)Yy=;13Oc(vPE
z-*++jTQ&)ZGhx!9pAM9vg{nv5T)(`hrN-qjD{kOgC=F61J45nYKPMe}Ul`SBm<(_?
z+JTMgx+Nt9JarXUP`N)t&F^ADtdxaM&%1Ti%!<4mK+^%~5)_64y-WY_mwzzs6Mp{o
zPzPhg_+J;3=TO)4x0ThdwOu!+UY6~$V}#V<ck>A9$ry_M770n@EVtFWI&~UR1XOm(
zfHk?NO!qC549`_*Uh0&)>>qaDP!QPuPw_rVyJJEH%dMkhLfSY}-b|5CT<+RSoH3RW
zP~@IY%i)6p%Fs;;ODEuFM=3Zxns1Re`civ^5c^j&zV~4u5Hy+b$b<TN(C3dI?9fgb
zO~*LqyIi*rz3|%oc_<=*vbJHJ+jNf`6>2)Y8(7<bP7M;fyjdfnj2oRD2r1v?iiwbZ
zUs7FI1=!w+1t0&ng};+Y9;dhP8`DkrOEPFE3Y16#kc*nNBP0+|!ypt<wc#?L!r3jt
z%>J^Z!d@cs1>T@zY5IB{LLZw~Mfp`Ad3w4(aT<#pups^kf4B&2lGXPpF(D!0$m-D#
z%L9i?c}n#ctw-*+Fp+JtNg<=!c-g%XjixuYYb~(-pKV)Y6uyE>|LUL1PHAo2O;O3g
z6^|GdzQC&e6fF|WpcBPe3Qk(a$<@{3jg_&&bc%$c#?~Bz)8dO<8*oE$_&K41G%x(C
zgS(_HESO!p+6%WINqtG;+CGN7dHE(hWv3p|NWL?Pv!W+sqeBypWe-xV{ZxE(e3F3g
z+y2RF-Dfo#uNZR3yQ*E{cI`OAC=`CRo@nLs5WtAo!1T9D`K*TVq$WgVM0o&x3YY(e
z7fg5P=hzH0ZMnzm+vjLhn9I-vnkCazn4b#)M-}3U)^wZ3{>jU~-N9Xd`FY3M5)))J
z4#xJwJoY`DzAEQMhrbRs<3o`E)m`&g>Wr;`b#<Y$I1UfJRgF-{Dk>_yMlqDuz>$wq
z9f#m7`>q}xrDh3~ZbB`sfy-Mm3Wz+nC;bffnSb|hsgNU+3&Q;My0@rXzD0gqU~~EE
ze2v*!mAf$lY#AmJ?~)0eW{=LE$NC!=eDy0jHToxNAp=Fhc32!1P*n`_MtP`&HRsa_
zeG1lEs*Z-%28)Sh>_j9p;#vcq7JPIhq6u(Ay;m`UZbi=2Nh8btg+7l@RWZti7y(7|
zk>i**&+brw1nLouG=)LB7yilU=`ha<Z=!t>_m^_#NQ!-+Es|E%^9bM`UN&oiXBq$}
zabL{&q+IwUw^F0f{~-4-QM%sybKobP=UG&#X{;PfuaQHK6L;fE!#kHH(w59(epl-h
z-RN4;KW|qfZh={s-sdbf!c`{+iRc4ay^D}dsfw^lwi{My>%8y*F)Vm{KV;0lD0NDa
z8NnGV^x<SNh{!&p+<a;b0ikshAd5`)R{XDil1&vxjPzqFC!3pOVU=Vkvu*fQfF6%s
zr$jrevz@2;R8C+P7?cMu*`d{;UXR~Hc)N||&w{fDsNPJQ(F(@z0tC$H1-ZrNr<0V0
z9+7i%u01=RmJSLAOS)0<4V3AHlS8^$DDN*O-FunmSZiCl<fo0Gl^se9<lqNsw-bE@
zsARCA7x9{FhVmWAE+>n?Be<iUA*q>5+%tmSI#B!TxjPmFxgx8hHKa=UAb|DQU2q71
zhTsIqh*a5~%B`RhZ0dJ`v_5Ev!$DGoB^R=yX%dYpZQqz~7YDa{Y?9&WwI)5(GHG?&
zeO3#)GP#6<I!K#r|D|C-u7?1*J3wV?85k<FJ~fMqZo>mLE7$7lz=(Nd2JhA-K@*Be
zokdNbsjbwP?t>T&+RQik;$qR|p$P^|J2T}zq*?8<xf~}R|D||x<%gKszl$zx);Bxo
z8HIW>8B^w6>ece=AA1osIAplsnU5s}7`xF0vE7<Jf><)ZL9FG3n67m}0)z8Do>ORR
zS=!HU{wJkMB$u8)%3j>G<QJJSsZ4@4HIsBa%3V@%FC>vdJYT+}fvmM2Q<Yo;obmh1
zMyc#CJ(GFc7BWbCQBO(iU@Rm7tFV06%aALtjI~g$GZBA1vKV}w5ips5{GPF7SVpgy
z%;}`dd#YOM)TkE@g*e-WJi$gkcYA3|>2&rPQWjCACBil2o#8Uqfb@bjnR(lFz5{s4
zxx#tYS4Wjmlkb;ovUD;Zsvw(oa*H>%p=L!q?ccOnb)(U1zqpNx>d+~76iuj0e{7N8
z=Rn<u9CeW#4ic#E;V#If5KQ#97>`iCjGzEhLR0JDnJs2hC*T8reY!Hl-j?Mo_a=vh
z3eiPz5t)wZGLurOq|vtf&1u>D=$DNf;(6Q@^mDbzT~JWf84G2gKD+yjBkLby`1)M~
z=d7hbokLxQt_2+d8>k#p=J^c93g0N)<y}AT?h8kS6`d?bm2q5vnLUNH!Wh~^{ZS9)
zc(&-n9k>SJDJvjlR_e`1CoRj;v&UTI11{HMY|~4BDFt@RPEe|E7GbdL;kZNL74yhW
zWk>TfXz7|)oS=8z{`Lc~#m*Ni)+nv&kAI2O#_J({kjqpn=xE7o#%RNd$P5;529XS|
zWhcI(;gI4mt=j151r_TzanHLs453RS>k@s}g0H{TpBO46m8&@`o8G?wj7r9cB0Ivo
zsR`tzLx=aJo~ee;x;kD#nvuU5L8+00@8*(^vqQS^RPyXC{Rl(6M)O3i%-Sv3@O<DY
z;qPs9Un~o0Y7cnxzfy2n(^w7Vu|~73NT1sAff8$WO$eMN1t@M)C1|0iVGP_RWlWcc
zJSZD1cwKuwhSai^e6^@{3xq^P1c(3IBYIDCi5YXs07XhlN~b@#%u@g&Vmq@xZ)ne)
zjW25^j#q#l&YRBIJBt?#O6Ep`ddJ+$;RQbs3dci8cLt%4IOLP$G{2Bd`69G$w=qOv
zvGxz2jac61yIy-mPaYpP{wDOSTf{lU{BS=?!gopcz;7-Qx`koEHCEBalO!Bb+x~0A
zf38I{X12`U5#-<bY~I6ElLhe~|B~XDq;CW`+FtdxSyM9$0g%JxbMisH;?DQA@7l3m
zET-4aJ9GZRx4JMUEO<2m*l@g@4ea|H4tJj&!=T(T1y*Iu;dm58rG5@ZcS)~B-O6lB
zULFz*rU-zedlOs|w`J*aEocrUJ27=qmxYyTH$i`Lvjso7={((<YZxhyTAdzVdd{Sc
z)xrZeG0i-N$NYytxEfeDVeaQ+*~flACl$cdOtOB9SBo}BZ^_)n6(c-c87wA(DQ9{c
zHjM7_7Q{f$OWD-$3BLDbs`r+K-qfJ+cbwBiHd_`+FBHP+gYq!AF7s}S600<s`{L=+
zBRT+$=fz<$-)N~33n&NhRW#zsL(R0ZlxHn~{h^usz>8}bmnw&6FcdmE#xX~HmwF%+
zNfbIgIs1WY90q6&%OnrxCMuv3%uj;G&3*T!+(Y|QYTwQstXHu)%^{CLRv4iE(%^KI
zJ|zq60OBLh|8lC=VT83h)GQL$bhFj7u%i(SS4iW4_^Oy81z{v|N5NOCJ@hIS(G1Co
zR-0StIlp10Eg9L=5k;U)yOEDCI%600Hbk>)oP=!Mc8uuHL?jnLerFJ;yI2F_BQ-F$
zdz6n2xntl8d*;`)qdivB+5xY|v^WjY!5`9St&N53L)jA(88X7@hZswuZvGu|ras@@
zbZgeIOPM23Ejxw@{dY<%V}N03xlg#m^LsXt&{nc-SF|3p`i=euxRSxGLvF2`lc6D-
zl4OvUK?FnB2d8dX!e(vCelQ{UThGqhCk2~S-GEC`9|kq}l(`c|CNV+f%Aik^ZtoQg
zK^oasHy!xuy?xN6))=&{?r<|R<M%D9W6Sr|Bq7{O)R)R)Fg6FsMxNKl7cQ4b<@GAq
z!+b*yEFlyaRv4^NoL{d^Ni8BD9?#>wzlH)pwh*kEf6q}hUg_9;c5tdPAL(Q6Gv76W
zB#SVZp_ylmTJxi-oXp~Xo&n9Ff6y(+OL^)OT)9M}vf2_bhhYSUWLsQLv@S%{l83ON
zpbUNZO2X{Kg)sK8K22dglnIcUl|_YY&|#=>6UeWLGGvA(?`QV)YXLS-!I2}{Jz5a-
z^C5a9xbwQVE&>2{QPhc}E$B#;%W8BX?Cm}H0ua@I;vuh)2UpYM9z4y>$|!IaW?N+u
z-5O$K5{<^Ft;|OjsU26F&9r>}VlCHL3TYqk5H|E(z{)K-`3lvlk$gkgMwfJzLWja(
z{|Ba?hjO;!B7|!En;oC^%&?I@Yu8CdiI&gEQLz;OpikXAr<?14!vTJO+ku*XtKitR
zAw;bzPy<^0z31{&pJzac_)>4H7HEe&fY><SO$2pamC;23ZqtJ>NL?&22Zq}ud$v5&
zjJgT#EHM0ws7adFgy0sx!m2&QQr~FepgujCz1c6z{p7D)qYS0rxA04Mo~PYZgY|su
z{bw55N+B%x+tBT(?&Gu`m@^?Iw}2g2Gp5A*fz<?Sy#UTzUgf{a+$p)LT~i^>3Db^@
zND{z>Uh=6OwQeC^1}2<x?%y<DKH=v{U0`#)aHe?rIQj*Qa$QlU{f<oCU2%TIe=mvb
zsc({cH6o}UH<v@*G7;9@>W)%=^8H_aUZ={a@1x%#j<Ynx8YwcNl|L*n&DN7Wqz?TI
z*#VRKDw34<Z|*4;(i~yBw=Xv6d@uv{PU~>guqYyRJzyL;LxOw~VdzGFR(_SHZ5|07
z(+v{ehhEq#mxw*tpWfPUoo0!4u|=D=w{5Ndl$jtT+j~;XeNN!vNM2}TyZ`(}RMXo@
zBbfG4Q{0ZkL>^yk?&@{xwPfy5^{T?o)4fttr1r?%ID{N}n5&e8SmLZnq&R76KYL!g
z`stBu=>jmY<!Q&Jf8TLZ=L30Fe3@p06vS(3wxg4b>FJqd^NvJV)!W51&^zNekHB!J
z)l|A2!pE+C&)I$dja+jzItkq<Q!^pN%|T`{0RO8<XeprL0@oNu<bwEMT%k$m>igT&
zO0IH6%-(nJvd7{idZeh(u{Q;K{Yyc*Ew@o;9`<0Z^W#$}jGQI&1#)c^6aav7-hQ{)
zJe?K`p*kW+9lLdvI*U5{uHdM=QQI-_%!wovqMbd_Y;U-VC7(W8I1(9M$Z4FAx22;G
zYECeUPUw~^;)gwz&gCmE74yFi7wc$Z!BNjIX*0SFM;{gP+nl$@jV{AJg?`qsuwW=O
znaZOcD|q^IR~N$m9r|QKLzGfN&_Ws2`wvT2d+Xg9m~x_e=&WMpqT;4nY(|5m+55Uh
zh^}dO>77a@+_uLYv?*bC@)F*!Ol~g^(hrM<)YFS73pjDO0@ezK^j`PgQuBcexu!d*
zzlNAwgNRRM0V^K6qWT-$NeHvKf$PB9=Yp_97sS7ok#ZyTor{+WZ_s+T+;QO8*)~S9
z`o48H%2stN(?z?-?h&p!X5T6$S7yJl#D@mbfAe&>+J!@N%ti)D(Dta^JDYyF;2T@t
zPLg{I+JRdGsK=t7gT>2xS><)f6(U`?F%s+of1?fb=xqmBS+Ps1RpDD&+dg5Z4*?gp
zf}d9!!*E%+frd=4KhO2H9`2I$d81mSQIq%^C#NJ}-mcLjwRax?ne)Kv-z7eH+2n#e
z!Kk?3w=VlgN2^F!>K&sBcEipeK}mG3FE3K?y5UCeWfg>z*$&`<t3!Mn5xg-^*WN&m
zhOO$jyBa8A&AK{5lc@G8nt+B;c1229)zVpKOg(B`{7(uJ0WVIG^3fhl-f-v4BDzfg
zF={MG7%-6b%Zsg;+z1dq3wruAfMCVuCM#2DCl^EpzET@>kRp(U?#TSZ4>N}muiAlW
zpEDU`X@68?I3ZT~x}~}m={Xlu{#;^A9KZEVe&8JOd5N<*0&!49jy9rdd&ue;y6MM#
z8(h`$MZG(_1MwCX2B2>SD>=%Jm*jIB+_^pb=Gdn8ZRK_>Jy;U82V;Z0_5-(~WW)Ti
zy!Hg7rbl+NhH}i1Ozo3)Zz`F76?}LdsP5IVVfY8NKH#uqrj-0jMJDS$TWrH?G^}Mc
z0a`4Zf3^H9>+RRjL(Ac)Mo!+yeLBc<0vj0A{^N`_?~iW$4fGp;o@JsHe6hNIgk~Z2
zs##3!sjw)nhOy5wt8Q&)<I)vnUBQhUgyc}ja;~9(<fU0RL!q<XBEH2F-EB%VSf)Zc
zaG|4xt|rs_Z7T={Svvo8sRDJJ&oHuClDEdyeFueFDXuiAR{FiOe;vVew>THw4lo^D
zP)yBJPZytm^b9JKE|*Ez|BX?#HPl2Iw5A38J+z#Z88T*%K`WAic+So61NoiZQ4@Yq
z{jc(k-eXtXD~J9inv!(d3|%p_P-5It<^@vVROJ*nhCE5%06fgbO;-AtRUd>gIvuj|
z+u&<qOCPH3sT7PD0>!Ah^<7|tLqi=!ZKo}fCVXDIOGr?U*?zopv3U`b_YKQB0$@53
z%7jxGV+-<>p*QWr)DP{qXcI@varqHgp2bvfmGbfo-Lp3uE@5smJROmBie3b_M?IP$
z7b1dGg7^tm3B>ydi}$tknb8d=CGXA;?SFoc3`ISaL^9tQv}Ighli`!NHQi<2d30eX
z1gjxpM7|6eaBG^b%+jAo0r=KV#0w7R1`c5t@#fd|r2KoP_t$s-g70)byoI>y|39k%
zN;>6W7GLyLDJ8Daw0P4?MtQ&YS6hFUDgi+26s{E{XT5?JQw}Q1U!p6`=CcpN|C8qd
z`BcbJ^zu%~ve*86Rs?KVKe~N|UKbk(X1T8UmQlokM=LLx*!TX~D^_aaCeOf`I-C<*
zw?lqcFym$8dFgJp+-`MtEu=XI^QHVnq?=*e3+zb(k`}Q=>LNvlP|h38i*HVO5n8J{
z_q(&&9z>&1OI87c`0TM4&!28vhQnEtDVpfXXHC-O&o)2+3i_}gEUIa{K%6M8fq-Ax
z%<(goxe(SY**?g59gNIPc=f2k5Jc+7E8OBXpT6PC=O0G(&^99hmL(uB$Hv;?4Foe}
z`h%>rcnm*vC0NBQL>;f{Do9q}V1!#Z&dpVNRQG2I!{p^p7hch<huZ#x8I_7y2Z{*>
z>;U;G@<SUfTlS3X{@YZDO<4JT#!#ym?elSh)-{V?0F+C6ZshczedC>jHxbMkz^JuR
zkm{(Tmu%>HhB$21LY_4|)w_%r-mAE*chDvW(Pzg32pXf;Wl~n;XunGKS%zs*o5tj6
zW<OE8=iryG?Nl^9BS7gg3oLY2hS>4^2~te9k-}&l@Mnl>=-CnG0Ivk<CDNd7Sww9b
zUq@umwmtHVh+QE_QCa5>U!X}O*g&@ndw6ckuMBv}dA{4Xj%8@(r;u8hsEl+VS}6Cu
zffgD&A)MFpmo+yW0Gw#6vhBXkBm&w@hnjG;wqUDsF~}ANz_XqnDV57pL<>{@2q7qa
zkyLj~*W98cM_hKM{zu`)qS2{08qsv89a)RVDKx}X@JWUeN!*Tt=|6`|Sus}kypUC;
zx&i);my5v<oz^?W<6&y(Ljah7sB(vJ1b66+sfsL1++`Wu^xKem$=NwzNk=L>$oI-D
z36s1%hD**|9VLoh+dhV|Yw+ROzb57jp?|93v{6Y?;5t)j6rA^s=&c;Lrz&DkS7!y$
zVQd$(wpHfhm(?MiyG{ZsT&#VxCYY9ziQ!c5onpDy<_kYxlYIaV$4lpOJ#PIwV#$lr
zrf$=n9+WuJc*S&}T?pRoge>y@hh>Wk?)Go$TkT~jboCAKfelG-XkfvJbzzvc@pha8
zd1z+PH0fq<36!3#w3z@!aA%>(i}88DK6{*Rv+l+-&K<O>)T}|W09}hle3%M+F(VuL
zGYP-z<=T@zoK$ql+=Ff*^(pb>7qkYLtcJ1(ajFp|<`MkZUgs%jxo979iD8w-&8qU=
zcxGA9;Sb25QxTp?MqbR7{#VRCMH+l+?!>B#ag7_4(gOH{wU2rm15w{b3J6EAbm0Nj
zJFu?<%}eOB*<}J_f}izW0H8DW)Q|#s^+iHuxPxx#P%6HK$(udxo#W#6O37YE;-9zA
zu4ZOu@H@mc`r$G+!F+`NBl?AReJ6I?fnKt?TJ#~5l&DF^Da`IC!^g{(MO+_EUq>uK
zBj!SsgHkHN(SID>l!x+IZ+f=jjq0zVQrGGom&~ukT7{awr5^4lSc}8prL51+JlF@&
z^-Z{XB%PP5gqFEOSquI_FzCD-!elDqkm@O&P%IAJd%i*7*>CWoYc|HNt~5X>T-c8*
zV<UC2(9;SbD<PI}5t(2>6&(0p0bdUgh#jJiu@;Nha@%{NYyR?eji?tgXnfv9`hi%q
z{<P_tcc~@`f-~A^Ij2TY+Sx9Qv4R6u;zj*bNKsO?(~S0(4R^NMa%`<Mmb_jh1s2g)
zgz6($zYIMp9s6h(NRil=A8pW!9-K@in-r{DL1U(WapIn$jnMCq)^mWWUiM$NZhfW6
z0odorBx$ar*tLlHyG~9P)72GA7RVimr#47I9m8YRIyylZwJ?0hf$@XuqctqcSDASB
zNh0OvyTLQ^%B4DG2+*v=#VZqL5mm6bYYC-2omk@wF~+etDr{)ya(Y>KQBL4rqd5t&
zz(XQygihJ3DQFVFz|6jgroZ;5EKF%Tm$F__BL0C2o$l+o<D@1%;KSv$kDEJW9G428
z^dI#8Lkz_Z-a79E6k2)*pGB;_3KV0uAFAcvu@N|+0esxR<vTn^RHeh={ZPu5Q1U}_
ziY{CEqS^d}`g(cU$3~lrAKqj}8G;)gVqIcC9^wqh+UG`038nfhg1as&C@mjr3K^p5
zGrNy7_Sb%7f9Pn+mpZYGyCo%#K~&o|jDki5gLQ%~lVo4qpcoTm9toW7rgQ|ZVY88^
z30abeMu-o(2n}dSG{m$=o9IP}V7GAYyC(CAK^1|^KmRM4JAI_?r;jgO{uT=bpLc50
z?MuEZ&YYjAZ4ZS~Mwe1v;LVMuP*VsB7GG#6kG$eNQ2cr{LtR<84ExQY+EjD=hUEi+
z<j4M18ffn0ay(~0VW>KXmDtQ>vxNW4WE@gYpI+>isB6Gg4*tR{d@WdNa`j02xaW$=
z!5dRrO?no@%LYd#$#2!7qK{qU_1ySe$w>wHGUz@U2Ymz9>uZ2HV>R;_|E%cN*?r|M
z85s{4WbYMd7a^?(^P1421P6zH8RbqTo;xt=I;Dv?+$Q7{&|HoV4W*a@u+L$y4R}B0
zY0FKpn!;QksO9wjC8plPNU%)OA>C`@K!5z(#JJb&AXMFloJD{IJNAIIKoidIn+Yi-
z@&cT|&~!|yeLAGom=_IjEOjM0s_IG-Q0oKJG&Gq5mDlYf_g?5uqY5^T%Lyfx_GP}}
z>)K=q5G2i8LPcDWk&0f2W02w^-Ya+^L&2K6f`FQB2Mc>YgL4K&ji?KnACwG-c)|P;
z@`t6ew+vF1@#<{y#mmW}f*#Ta3&~>ercG^Qn`O5rEAr<Qk(J9yq%IjwHH0(4sMIJ)
z3lD8RbSD;6OB}o*xoHM|y%l^vUNt}Gm`zYf=VZ{U<}39MO_}pi%`4K_w**H_Ck?BQ
zJ(`<rllB5R?v6599tH$s62;VK9V}`O$o?=o((I!2knZjI%*FS|kUfo$JsQh~@kDHG
z%{`y^%a9#dFAXxU=Wyp0U~nRsh<l|ZaB(U-xosC_P`}JtliePR!MkYbk$H-oOaB-}
z8qx4fw-q764lyr#Mvg@+hSMO+gL9u2?%O_!{9~caZ2&G4_rr|U`fLGe+_-K+mv#pm
zW@-q3j^Nin=L!WTwh`T9hwuoxSxtF*kxgh?<wlF0o5b`{*l8`rhh>aLiBaH-{Zf<w
zfv|xDoaSm$kjjuZ6s7@fAAi1lSLNBI6MDWVT|?y|0TIu&it>dY1u^WrwcncHDe9#k
z8v)<}g1Di{+Llbak?K8~3RUE)jKPxzhuJoLNSr~pyx6ma&RBp;i^46@(?*_oQy*^u
z=+HP0kTd%i9YG4|E>z6zCSFWD?>_yW^{%(6_kCw#m7M91karq>umaaOYD0Qg(e673
z^Sx`)&%a>OD*E$DqYjp4q56tw^V%4!)<woWyMY9=9V|IkZxKnzYDs+WcZ_?*21Azi
z|46D)2JUu?jW3)+%35Rs%hw3&VRv;Wz22?;WlxHBDPb)GqXv6GbVNdH2`sg$@jj%U
z8wxfH3mh%1bO&&}S(`O+&oC^kieE#O7|UZKX}J$RLYi;g+^nlF)&6G`PU9##Y1y)K
zkJ!Qy>@esNMQZU{W%mMCEXp-4dlJCH#h72U2adR(O>}zQvEER%B<@;3xa#Fm17_7S
ziTBO27nvCF7v&qb=<UUWxmT759#K^Gm7}byd(MM8<NKuHkYiti89ne5qiltor9}@?
zg1KrP#})sS<++dK&P!j%)}>J&j%#F~AL6{zP#W~T8{_m%<kUc2LX4Q*`X?d3g2$cQ
zY0s$sA+6Z7O1<*6955p1oFfjq;k|`6&M5f3T3(kodU=aLe2eU-sX{D-;?e3mHLb7?
zUJQdrhxjq}d0|Q1--d%GmQUw8xwDuM1i!CnQk0SGhtWLV^rukNBO{a{-dQF2M}w_E
zNFnxK*Y~mh_M^Mp3k*S)NQ)w+?8~F$3sdw-O1hLg@K12zBRWD6On@;n0043CL~Y7@
zc6exei$%318uEx5<&b)0*KULDFflBhoya>`eL?L}Afec44It||SJt>`%&-^75*i-(
z$apd@)wVvOiJ8|1s$+d$t?<zSVi6zZl4p7ypV+akP!X)<>rZWHMNv(b&4}wenic0*
zB6BQ#MP;Cf`GzFW`;t_CY0mo}chy<gSSU&i%v1t!Y@|VGy{P3s&@GIJOCF6*`_v(X
zea&x4x1~G-(kwtqRF%I%@n_E$jk7=Ri=M%WxmX#6-AxF6$(K=IEq62_hFJ{HFCm#U
zVn8F;#hYTwHo}p4G?)pqM;OnhkV|9xdCY52JyjZnEL<zkbH+48cIhl7DY)W8F9*mA
zkhH9p67iv%(%=Hi@?#ouD*Ci=1^7|*7qHA%WLYdhj8y&4`f6jnVANo@uF2Oe=q>(P
z2A|r#bhQpwMi$`!)0l(`M?9QmKM_GdHiiK`N^M0BxqNtFWF>l^lX{4?hvS{}KYfp>
zf$ZK@&MHS)Yu{?Vs%*3Dco9(|>{_ZT1};*yBR6RlWG!hL80Y8{p~S|8b02c31a0P^
z!hng6#}-@l{md@{ztbiVS2r0V6p5y<6&3<m0tJA#`-N*o#Hr&nM&LC>!tw+wOoGwm
zp><q;<zM6kQG{V>ub`YlVyn%mp6AOw9P^<YeSpwm_&X5{FNCM0vRS^3OTt-}RxBqI
z??wre)}14VC&!oQ>Nfu}<4Yrr#7n8*?ln9bE%EPZ0qX5FgsLg0BwlxyahVLj4|<RX
zG$0o#bB^nx&`S?oDrZ+!1T*4AC;+ida%=>Og?P@&(l1&G#OH0hoz44lM+)DGbg+Pk
zZCeUz8xF^EVdznT3MSYxjD$<Y8^6ofMw~;J0f8<*p$dIVMtVg$3cYrke98+!g<jdg
zJkA<Na!2?x1Z`#rgt9pr0V4PJsC9=J3SpQ{8@2aK!cI;Of)WUI(pYI;DCDN;JHI0q
zrvNvfZ88$LEDCYGReZcU^tRezS>UtpHe*&G+3s<D4AKcfzu@2|j_$vg&+aDp8LcOD
zKZ#-jdx+;%-|T;C057G^v(RFRpO+Z2X)kb7iZOdyzbXP?iL*t7G_>b^nh95E{U_tN
z#DnR9La=<36ZvQDMDN6~7Ie1wQmYfY3*2{OXyvZ??mrwcIw=>?GdaR~EH;fDROL;}
z&XM{)PLtdZ-XF_h7uxU&nrZn$mOH0fsozWq2f`iX?`SIXzWHs53rcBZX=ra($F>K*
z*?CmG0z;^<o>+H{wD@ww5(hYa@{TkJh7YJo&Xo49wi^%ce`4qDO$DmnToa*CHDCJK
zvLpFZC@t-F{Nx|hQi)=??SFmHAxuu@X|wM5kY_j(OtWLKkK?R3C&%EJ4q=ENqe-^u
zvVI%f@J>TD66GIiagra0sk`SCgO|nJI)RDpx@(MId`qki<r0hfnEousue)WzLC`TU
zO6Dcx27f3MKJ+%-!kqSzEz&zqkDV^@GKH_!+OZ+IZb&(T$HEsaEAn|8hz;4UM^*ni
z;50FGEwyGJGT9)90^>f2H++DTIpT)sEwDnb;YQqgcH1<tk<<LP@XK^QX=({(Yu%GV
zoRMB2W8-&}QEYrp$uCii@x?<LDH3|bKt1)?vw%Jdy&vzVj5t`7(|5Fob`!*Orey3&
zP;fxeFj|D?5Iwh*1?19v@T%`y*+LWD<u(_HOo@M2C!)h#tn7NI+^2Rr6Q@9Lk!W{y
z!Rc!_It_3>xJmqlVEKYCCIVn@NT2DLZl;8G(JLR=q>52YzqDG+V?8@akT;`FxxMeU
zE86pMF^1`mpgRpmX?-71#I_jcPV;G`3`9uNo@{m+_I0tnPf}aiUcn&d7mu=(yOlkp
zZ7jvoymW1y$p?ojkLWrJF}0}Bx4nHFVs8%?`4R&rmCv9V{%HOS(Knt3?E(fXwc1C%
zvBN4-Jtb-N%Dx@$=mNLL?hCBQR?Izu<&|n*3($FZ2DS?u$m^k)wyG6t2PUk8<0vBx
zg_N7He4qkDEQS(yP>^G4HNf;)$ElTv-g3}GpM0#S39GI?NN>~}>lv3<|K)y37DX}F
zw7HKiRSAyn%$%)@^KkdE4Q{dh=`fzYo}f6^B9Ab<2X3^xgTrD^?q`bYby4S^&9VvP
zwg_P`hD_mIP(io-#w>eVAP9YBZSJiR2WHl&eT<10`UV>{aHcKOIV(Nj6)f)NMLv4|
z^8B|}Hv5u$jQHaubU5W@;dFt%%twKdJG2e--!_q5)Eb2gOFIAwMVfs~Nzf4=?RopT
zL)=^oOx@~nr<Q$QYYjClXTrkA<>i`x;B(3la>lae-|{$GIn(%%!h2req$<-`dY*mg
zy84N?%P|dK5j|R?jYA5n#+*iM{DN=LY#Ee3kkpqOcr5~k?A$MwHf=>5M7jm3{wCmx
z`V23(nqpz|>f`0VX;yfKSu0L=CL4?2P?%j3whpc6zS`4o>V>E=A8JVRnea_8SYgi@
zSjn?l4~u_;itx1e+Sp3WeyApp!`p8N;1@|hmGafkh613R`5%S}Nz;9Oh$oODfB@c8
z&F<eMGQSQcp)qhzf@t#j8ji{nh33p`G4_1W7~x{K%wNz<ER<YBy^8xD=l<0&5F5R;
zVov1PcTU}5$0kYZqZ{_QkHctLmi6)e*W^LqKlQMFfap~h?T|OxjFQ#h;*E;bO`*Rp
z1mi5~DA!{jYS+Y+Prm*C@w7CVNogs%9q@^q*hZmZZr)PAdYu-~caydqGezp-bNO+H
znuL$TQg@Dpid!FNVBBLuD}4Th3R_-llV`XASgC~W<Y9W2fJuYJ8xG2U4o4`L`i~#=
zrT)ChaHmqg`31MCQJS)YR5vGF0#6mNl4+*T7EU0?SJGjwiZkrce1((fex}r&zXs8?
z+gQ4gia5Y?zAOAAtqTu>;o(b{+2(PRH79s+2^sJa$8HP<>F}o?Df2}3GN^7nBNgu;
z6w`M!W>C$(0G=h@s>|hsUs@z}^1m>*g^S@vuvM=g1~flTxPycXgdJcI7!|6~X<IgM
zc@&UjA6_a;OUzpH(bQVHQ0Yk4XL^Icl}~8(VUzBfN*DIO_J8t{axxXo8~y8KRsz_L
zvtkReSdKGpN~ad4ABDxeFmn<1*67w2ujl(^2q@eC8=X9JL8W@U6Qc9`?$bR%g_=J*
z{qE1S_AaUy4oR=w7{h;sf77t{nQ&Q4TRv@H@;vi$AS>VNcJg#HC|37yvP#!&#+u%M
z74vYWK;=yn5JA(AP(JUYxQc+H)#35>NpmFT7b!st5M@!qMGM8^h%J8bKVKh;{G^-d
zWn(OvY&A9R8Tf<wg?mLqzW-emhIO@-4|iw4XE(fue$uwcAZ`KjEe+BPCJ!MUR4y_t
zl%|_!a>t{`f!zf&CLCia&1W~=Jq3&y<Q=()l-S3FI4K0w$rHGUSvyRqV@Q~?h*3!c
zU}=$)9;mnK$P*qbi)jD`fZL`;Oc4YZ&p2TtkZD3KCMiVzqb1|onB+CA-0rp26>#g(
zNb7}M4FTO;urxV0{HBtVT4^(@qB_@sf`aNoL4#oaYCHX+omvrMVcMqGtx`OrAvL|a
zOtpBZ!`{I%Q~MZ5E}qJq4<K;PCg5N=mYNtW8j9kwg`-;&x@j-hX~|Tf)L^rJ-{d!~
zF~j;N?$)t&Pk%DItQW;a_qyh<=9ltMSFuXzqYQ;q5F-cCpL0f6`*;%8Z>ICa?7XON
z#hzBbTR$$aXT;@vcK6z|C+xP^?nZ=o{|}w+OSpw~qb6>BW`Wtm$ScuV%Or_;+$Sf|
zYxHs{e!b##B+2lv?jVS;JUS7NbSXg7S^e*zKL2GuMIc5X<F*HoS)4n5*2$R0@|-qM
zg{HJwqJB#>E^fSK=%Hv-C+oegLTnGkE4n9*2XqUoPqVtc+G-J|ODXn{+uDNVMn9le
zLplg+A%KQ6dfij1uM6Y}BX8PkzpYKJ%bItqP;id$*~sFGvux<#Y&1zpTW^;`oI|e+
znockA|0WlhE*!c{8F~=iSm#f7P{$deJfMc}Jalvi{-ID<1AWlkL`TWupz!YBy~DFC
z1=pgEEQ^!sP7Jx_%;lp%mP{lR|8_uKcvbh=xY}ja-=j{k2sEIIZ6XvLo;<&o%3SSN
zi2@qmoIs=p<sy?h=IXC*Uqbl`5W)on<bJV!P*Y0B%$094%jPe`Z+^gD|B+0CAQNa#
zcu+3G2^%6E4lL8Ybgwb0&3GR5cbVqkVLjfF3KL5IHGVQQut2~S1l}KhcJ*{W9TRe|
zI1tHNNWIF>FWu+p!|wHIsJ0{Qa!1e140<v5#IFX|Qet165i3$rqN~&!-R8CyiI{SW
zb^Qr|n*z*Tl@L^Lj1kZ9DLg+pN-ecP;&yENXRr;pSz(B-qKqm5?5Oh?3p#tfX>zzc
z<$xFqlI+8aelX=4Nqli#wlnLCVKZ{GL(Akt9PJglm^FMKMf9GfRnQ6LK}m6~Co(H@
z4AEL|zmXx<R}y837+C9pYe@DQFLg2~cJc$b>;vXPeY^I4$G^#<lEag|&`x6bx}rw>
z#*r$F%G{>q*Xb!myL5DI#<(ONOzb2l+165q;2v$={zPq~gadc1m8M>UqVf%+7wFz%
zLM(oc1<`GyiY%M`8~m_+h*)H63f_V4eYHCy0YF({{9nYl+1FGXdy9kZ!k4*VuH#YM
ztu-Gm*5CqiK6<y~;IQXDRy`W{76*GtstC7-3fcVfPa)em1)5+lt)LwH1<oZVT8F8O
zy~3FWDf=j$vjVc{C+ejM1F>@{Up4qdas#ev7?Em-#x@wdok<aNz*pOt8@zj2;je8L
z8l}v+b#psr4hgv7c*n^}7UIOsYvw7rG?0VCCxN7qx&&b5X@zPy*BYd@90*9}Yl#KK
z7X?JxC*PIyQJEwV@x@Rx>@o>xqVtE*bo)qi>yvm6I!VN%kG48?*DHHP=Z~Z@%!eH(
z4R%Phfl8U~b&71|%^&DIDnuCXt+}cu4KqjkyAm}n-AoBb5j0?ocFySKxfQq5(N+uW
z)u!SJr!_n9Zgp`72eqQ$g}?Ao>0w+@qkN@9-HQNjC((jKd__oA<?(AGXn%H|{%S$p
z@)*EhMoe%Zf28NwXc0;1D|BTDWS>vo5JL!dDu>``&xym}epPm-*is?f{ESIuR}HOv
zZ08$pKwrJciIWR%_FCN#>k!crQnWW}NJTj_LK6_gq-mfc^CuICaBTlI8B5}O^?jdM
zL?Y1(+px!T+Jl^=EGbMhcY99%UmGIVS7=0-9<q<i(s#YsFLP)HzC6WfbcO~%BDBoy
zYJXN1hkIjLi@Z67^k2A|P(6}vX87Y~pNu`<ri52M@C0fTTAZgD?-kcHNYqi-3Q1L(
zln=Oc0>W<g3&evr(EKEtLfO<pE+LMFjyo)?$s~Jq;|!dV6?h#aCM5W#A_C7d+w4(A
zWze?t9D_fj=WtggI~rjX%Kye7uGo%8eFMCRY1>FTF~*CG#7t$Hy+!_4Q9I6Oy9Qsr
zs95GqnP2xtLHxYL)SZ!ueVF0It!}iWYk(7`uSIEL$c<SuCDqjowC_xXf8@o*N2mFF
zR%w0S0N<C>LdWawSaec70^AJm&vwS5PdrjPc9>Wb3Y}c1`ms32(L^J7-l-xT4s36x
zEE++0MmUGH^nQ4Xpg!-1)ivU)XJ==vZ_LU`R1;@adv*zKe7OV^&1oPfjb%)zNko17
z9%<Nn*F<~3F7jsc$geR?M`s@w?(0$s-M~>fd?S=a@2sE^@PUM&)LV8<r}`51!@0Q_
z*<d8H9AY3Vnjkdhjd8rST<dXm3VR0cgXexs%A5Mu&d||evIashCXL-A)#9O8pW;Gh
zY2ZmfVKGmb1?m2_QH!y$M_bL6@B_3e%eO6g3DL*_2A6(%RWeJ03r7b#EpCTyg{K}?
zN;%TAHw7ue?CGGic76657TJw5nsZsCw!;GlCKIYTr)qUUG%Z@s<$}C&)pg21nd`e)
znb_oN;t^<b1OCM4-L<ss0OGkz>M!Y1`_ldWcC2tq17F1hz?vX$N?ScScR&#a^KJOU
z@!hT5AYl`NIn$xaN7#DR+ZE>Bc%8o=b76}}#7a8E;uY>}gZx*mD?fcofkPLvijy?^
z6D=fxuYV~Tc*A)P+z68NdX_N){QnWn<yZ(29r^I<fhv2&6y{BAI<F#BoV)UnLOFOk
zCGQC5CUCyx5W+Etw-8O?OEa_bKlt(TdAEH6o&h^ez!do&e{js00<!IZHP)$2+!m(z
zqAs3vOdc(RZ5T+xYy{Qp7ODuuuT&lMO*lpOnrnMLw9vpM6ud1K%yMnUEeZl;wmy$i
z&$$3~N`Q-~)(yT|n`;#4g!a6`LTeil<?><o5>L7@*^ssJ`74rbl{+JlZ7=8bMCQMR
zMGhdCz+QRV<YbG{g1k=g`RMMojYeYf+js=7WDLb8aX~__@W#&tq^N9%gQ<BYqibfe
zgLLR*#~_BQ$f*$5)-HfIBRXaZgrI`BqGMX=_3zfPSijUq+*d1lHx;DG#*PTOEuc@N
z4rk_L<fW|^B#utP)7Mc^nkP-M8`wT+G|FDD1!ZieH;b6-l&lFy5MfyJkWz=r@&4fN
z{_cX&!oP%V{qX2{euT5<u8nW*tj`vISjqG}^0yIJ1r*nihrZa1GZ(r$+l9HJ9rTL;
z&XY8rs|OScFIUDeZNWm!Q>l`{+X&=6<4i2woXg1I!EpYjX%;mzk|V;;fzE0nRO))*
zo9Wn4Q1xn*j0o)eK)t|a*M`1={j}scS-HtX3_kX!uADO8=WMYjNC$^hJPp|4HLTtN
zI~_{fpVe!`G19DV>W{hr4m4y-39<+mgcYdq6>|?Br_d0Y$L!j<SP!#r+<|XvXz((<
z8x6FHV&n)9J})w3dn6wnNc~Ly9+1)W>oo<noe~lycDG^jh7>N>c;cGWGfAs@4;Y&$
z+;R3<1tFbid&U+{It^RWYB!!L+@!At2pVA5bzUD&<&^wk)@4q5I8uU?fcicE1G&`r
zfq#CZOU_w2*HI*w4&v0vH^tOOf9U*Z2767NDg$u&JUOJi!qei_|0MKP-y@K-#ZE})
z_GrN+PEp5(uPO&yko>q*3t4n^<^!Y!$<e@^(PT~rq1gm$F3pfmB|r3e5kNG5HNbH&
z_Bww(j-rZYI;1!_t7r2uK)TZMK`PZ6mbUQC!m=Oq$B@|H9R$5Uv43vV50om79ND#?
zRGp*L^flGkJq#JCAjap7nOV7vq6=#uuJ+YyJ9YjZkiUiOuGRe<hfZ;07l)AD9o2wk
z;9{A3=2Bmu&wXdEzmUkMX{|CXuX92TX+F&zu=}frOv3aK!b#mGe7gWBD}%Qu?e$0&
z6CkaEBDRGe%#Oyx4EpNKtcS2m8EVT%)TqGs)(CXQUKy(48NIR|jPZ57Oo%hO(Fr{N
zOOgPrtxwtGw|GL0l-3z0)Fu4_v;C>An&`c)=m@CUZ8|&yJ<tgDnc6&4FFOlS`uA&V
zVJe!`z^9QQ3nnSP``M?rfQ^&HXrHw&BdquG&Jsv)Ek9gLCB&If&aXqg5ztn%Ogx@S
z-q?>sVgA_V|1n=Rg2}q5;Mu#bg%KGrVv8SbbbHTmH&1O&Lj6>ocnMoof1@6BHZ4*z
zjhO<0t`B*SkKzq{PkQm`QmgbX$9WbAUt@mm_O=4aEo$NwX0hIZ{B!?me|0K$py6F@
zw&*h**%hP`nxRKtEGGzuafe5E;tZq(nL{3%ua2qo1mGw~qX?S42@4IuP<q}92^iTO
zgq!ty6Drpoz>BDHa%YUDiYeq-8-c)vBg2prBHVKw*9KuwniU4D827*Jhfn2PGpQ&N
z0-7WqsP@%Qg@s%4G<4{XzOAy|qV;5q9m}uRwqzaE*s7>euO1~$)&P%f#un}N_~yel
z^PbDuMg%}%Z$~>~b)3Cz-9AJ1SH>{N^%gXD6GQ=Mx#i%e0!%hjJ4dI~nS<(rF2!Wp
zovWLj-Tl#I!=+YGQGb?qkF*(2R-26Zq59|v(A*{Iuq^w%0G!ZKbFwuT*yRS6Hzxo~
zPbb#QP-#)63v>=z99+*zz2BmV89dAtv3_ly<>$Vo{<mLhJ{Df1QTf6EN<6cjck)TH
zYvw`%2FtB3{41K{!h*}X9o0d~tHtSgNXKU1&7t;<hG}iX<Z3#R&&r4UjU!lI?O}#p
zMp8w3KInEWnK1Ln_WTtAldoxJyeNF78FhEB7cZJ%6jgl|uy8WFnPZH05x^?U^!NS|
zEj`bA7zuJ`!CrL!vr{gda3fLH%{uMC+t*C}LKMnfT}}-;ky4qr6|_aM%mljhm#oXD
z<-%K4IA6(dc*37;8kTrSuwlPA)zE~iCwonR7}US~qZmQtn~^u>KH&Kg{$HG8rBLA6
z8W*Q~bggR`g=~i*FeL&0b_hL_6*=%;&N!MaH5~$vWGHiDh6Ys58VPvaM;=TYm>89v
zM0y2m#A%u@BGV`;c$|GHej$?-qn-&cT<Ao_B<!S2sRDrP%(2{&polM!gz|Ac&6SlI
z*t!3bkHS&6Pna&Fb?GQSud4@2J~n51J(;epo#EoM`275}<=BBj4A}L-*J5t?;9{V^
zREr|!A^buVORhl$`TUs+xS6SxN4mGE6oS;Q6kOqQmoSpf^A(RcQ|L|=JjqivaiY-7
zucG#MNb~aL%104-WcBLrdbyhFgnaN%@}80WR|>T5TjB@d$Roh$15>Ygo`VvV!*es@
z^SSZ|0IvGi^!hwmMLiD;vNWi45)MR!Nr8$!S4cCRJ>%EN8KxRvd#pXyVii#$-<YKB
zeUu=!`lxiS-O7f5SW|~T!EA?dx+eo#ccWse&}$h<Q#6Q#q<n*4d4Lz8pHFVNwEtqV
z3h1Q4Q*Mkn!xczNOc}Rh+=w{;;5Kn!q4hZ(`7!GHP(ivKG>Vq5wTag?kx!VeROk;9
zfx!5bUn5SI8s@BOX4+iO<;&~Tia=s}N}H!i5MbqR-C@*aRw~8)7Ej6<pIg3$1Z+kp
zL`c#)B>;>mD-IKeEVhTe=xpm>yb!ki!l+A^7-}hL>>tcytzRiiuh8Cmic%A>8=YE9
zh(gT1C*{W3nyI7ofAq4lnHFa6D}ZI_CTy1WC8yH?4Mh!fAJjZs1S&m=YiGF9fn;bC
z!3d$c@7Zm6E@nzH4BwwP>`genVm%y*oC$Q-A_~8*)w}p|02J0;BF_9y|8rr=Er5pi
z(@C1T$0CcKFnXeW`!T^JO4(l|naln2wL@iPYJ{_+smtnS(_nOx*Wh(Cm<Ws2)h=o*
zcD2`X2oGhL$b4$t6AR9xU=iJ?3w9(>&aj>~^T=&Xz9ovVEA0eIsBF%DI-UUWeUp{K
z(TJAGA1KsxIh9#<IMK7eQ(TfQ@1M&Y5Q<Tr1?eIA6xBUPQtHEa-AN-wce4A#u<ma*
z6rLhRuXv&sPCxd;?k}eSc3xBC!q1-wVYO(e&IyK}h=&<qkd+m#w`wFhIro}Z++MQj
z>uM!-c#=@5S9gOYl~=vSk7E_<@Jn1v=zMfhWej$Rirh%B7PnGui~vhX`#3!9uJ;gx
zmPd<}emkC!6V@R_-tIsYDo^eY(C6jvEk{kHUe#2d>|yfDpEUqS<@i|id-xPq`s%To
z$d@v^mMtJ9Oe+$J-VqVEB>0i8157x2)`v+~<hwh~yfPsps$f^WUJsb5mG#S~TLRJR
zy&<*bg|VO|*cwaX`Ykv<p0m$c0GZyG`%=YSgitdJqb!e>x_QW<g{e(L!7b4%oLUzF
ziGICeLxd2(3L*b@#!A_kC0pweC{%>l)!@{T@HBAA*R!7Ly88Ciidl5v@l9<hQZNlB
z5)(O5gE#(xsqMvg@`vS^@3J&_afU<l{MIrFONxquBJx$M>{D9nZDKm-MXnJcJJ2f9
zLOP)$?PExY{|#QZaE4l{J75uH&JUwdqC+|yVzT@Fe_*v^F93ofQ5r6zMeNkPUP7}h
zuR0l&%wL8U&*@p&i1DEFv*?U&>{q|K9HXk1JWW6fycwcIAohQqBrLD6i2hZkup9kY
zz#wDuSY}(l|CWls^KX!$4=ElOulte}P)%64s-)s}>Q2wjc})eew21!Vi5LSs)FTP$
z`f7q1Nsce$Bi0EgP`G2ar8-$SC$@>f(Dvx@!b*>7U8cQwo%v}`NnTaY!N#*C&WSm2
z#yOL^k=VG!|MbnHOLxP;#kAv<|KSLOXj^vcZ%P{Ike-AwQkb-z1!2h5KASJ1FQ#I`
zN|Q#eC0nvkT)(89?ZlHm3Iy30r305%Jy79!%7!H&9j9i+rwhLw6X6jZgq$|uom=*B
z%ar6^7*Y2Y&fCHJ>`5-Qmo>EW4)~RmANA)tk|}hhascT6BsPbsdALuUxN^W=NFWNO
zhb#o|%Z~!s(8xtQK+Hv8M(5>$Jk@MV1L!2d34;w;9))h9`yJxyL?t2jZ8p&{A7s0L
z$7B(1$bS*B4K1f3ent-&6OaFSLs*D&9PxOlG<fsj`x;tQ@;ufOYVY6II5pJkc`0nR
zjtb7zu{@`x1Z9xd%Is=Nk)^n!1n@2?N`%myn+}7T6`PMlHc5$At{LLjdg4>C^#ay#
z$(zsh5664!2}3P(sR`$A|FU+)b6XhiE3kA<4&3mAz$XhYO~Zw_g_NXaBG0{?zKaZ^
zWV<sWgxoqwsp__t)QQt^bLEle%CU&{|4KL7qm%xj9&KW`Hr2f+Yfr-Z2-v(*>?bD2
zxf17`*+p};Zk<OR^8jI}3VlVSlVX;rg)xCrC(Lqs%BkA9IB4LJq4#n<&l?goYJb5H
z!<+MfJJF-K$X^wb4fMpzhD}YcHRALt<%lN7FF=M^-s4Ki77ivsndco|IUd49AbfH+
zAZrc`Jum8BXd?%X)G6n(RLw|!J@;~m;QL|j0SS$m9K807YBgmRZZ4ZH{ZQb8X>OJB
zIF=m9-JoY?7JixP+Q*zo_E*C=(|NKKz67pN10dn9xf=(w5wOC=(MD<_Bu8h872O;h
z<xij>b!7ZVzB{yqfuH>kv+%LDM(J9Dx3RwD!5$Q@-Qc*xmk-x^1oqFL8eWPymNvJb
zuGI4~w(1`1l2l|%+5~d8i*|u+j>=lQrc8UW+;eZBi_R;AyZp|ularUNjp3cGA+hM;
z>lLBWFuklQbJP-<93Y$3=MmCpKaKeaB7bF9s~|;DSiPwP@qOxO7Z(6~?C+65VCXXE
zO~Cp{062F9!Vmq7W+>jeGH0E16C6q)P|aqIH;sl18ZX_+dt<g+A$Y#pOPz&ZN6RZ>
z5>XTEnng0LlcMHIyqyVrvqktKL!J<2BQ0-H$>-EI#yNNI`yCQEE1aHTgt*_%q)q0e
zL&bXRi_ExgLvB_|rMA=|I3iru$k`!Lz)T;!n2GXPwOQZ68xxFy0wfJG^sZY=sJII#
zNxhw0ky*sJXP+^Gm}I|&tl^v>CSH-gBKPcM+ic#0hD(8P@V*>6q^edcXe9ZT9~QtG
z3e+09;z4I&nUs<Xz)iDP+2b<)ns`&VDe5z~lK#vh6-9x?tod0{SOZ&5bSEq^&Jq`q
z*f{HMNL9*KSO7cX<!7zs`oE`RJnXhk@1)G{5_5tUhzjz{03GHoB;P);f$>}MryUxW
zKo6IyH{te39r5RZ5Q0v@c^J)dz-U~|ODYkBr=c)ngP%e;-^}`LYWq=9OADrhKKZn?
zCje1hS)oJmKx)vFRPHz^WJ01mHvlNxVUKnqwO9{)rBD)cn|U{<Yxh>@CXjn0oQgEj
zY1&i^0Ws7j3U3+0{O*A6iY)JMm?CRYOzY;8Hfw0=8m%GQ`M{tTan=6K0$l$e{jncH
zVQBIOQD(#~EP|E#9CtVuyGJHcmR_P|U1)?*EfWDCgIMvSKq#oN=6fM4Ru!IC1;rnS
zcbmw3B;o&>ivTg-syVineBV#(1m8ErKf$Lto14!mNcCv(R!Adx6R<}(*Fn*Dk03!i
zNb>NSx0OvpVd^6l$f56mS?LtZf<uqp*aYHY^z(=`dHVxGxUT_SIh*GX2VkYnOKS2n
z*V#uf9^Ih(N|HDp;IdWtvSQD$d<5p>^_u)&S&*Cn?JDynf6%<a!Z%GGjK~%s09#ay
z48AX*;8JvSWICV#w8h~}be*ZvD$y}-OeatI;{_A<GO*a!ojM6C_lXr$z=kIk1NJnJ
zYE?JEvZAtmDX=xsx^~4yD*@TJd%r;}9!72}S_wC1i%Z*O0;-wTPY(3f!*uKi?v#2a
zVe3d+l0XvNTW<yFW<j~Ru@Wf|^WlFho^l4B&o52Qplu@;g*bL9vOfKF>O*-*`}MX3
zllwKNL2*Hp?Bjr}p*Afa@7Q#4bWgy;$6E$=D2&M2$354tj|ceOI=6cHfv~2u`h*<Y
z)i11||JDBMb$)OE!uR}2eVc4Us)$Iw$dF4qH^z2>1@Q!^<BJ-YZ!%h(&bp;R`p#d4
z56=4^w?bs;iW#COm*j`sUELo#&u*VJw_XIPinM-!3jCfKf^kvF>r*G}N^!ne9T0Qv
z5!0@vmc}`4Yx_NJ)nLgV*3k78?Jo6rkYt4h7oB?4=2G+Kq|TAx&}eMESAKDXd7zw=
zWDa)tw?NL6V!A)@h8Q|N%WHC=FlYDjH7dcP(x|0LB9`kbse_+$MP-;iE3<QQ<`i$S
zYqIbDh9w==`E026kaCzShpvN4^T4VSKr!X}DCul_3!_JuF-iaxcUv@ZCsBd2d-HWY
zAnnderNd|^`xikCn{z4KLReOvJH~2klv7gMLm$Url(N*y6CtwQV(e!+Q6ST35xt|)
zLM2sVtSi^V-o*kTcBFV{F+WAiXQr5)7L48m5zjteMQY(Dpc^pO(c@5H0=f9`s7L}K
zICZ1wS6YbL(p^I^s%^I9uelN@F`GqLA-i@%WYB&Ruh|QdPz_MuewU;5y<C5i_|^h?
zGF%ZX;=!ImkK#-85y0@z2V$z(U=L=gf;l)MeCn4h+n@?Tqw-f_9p7N*38<eH9ndBu
z$>~qNG#xKUxMr${1Wy9Xf&@{2fh@8^&RGQJIBZF%CQNPjCV2S++n2;P<X|^2l{<D(
zKRRHM1r@24&2S}nO_bdeqn#1*ylFWw)$lH<5FK!@cV|w;K46D2fHuMNT>i~`&LQdt
zcO!i1JPJW-Tg5xe^8h_Gq85o<y1{pCE1SH)pYs2bX;J#(i0@Gzk}Q*e*ja!PeT_OF
zXb!?{%AdqwXyMC80scjkT4u+eQ(g_F9mR7@`TVnI0JJK`7nttW8!0DRZ#&<#@tb#G
zh=J!$%A1?`iyqhEikQ!Yo-AKMG%gLmtrPrj;B&H7SjQ)4Ugdl8!gq-TBsBJlp%Q(W
z`fV<h?Z-I^oQSD5NgSOk>G~R%m*Aw@M2x6aNB8stu3+{c^8ksB`~zF3gi%0g?(L#;
z?imSd2ToM93L=xOEqtH<hL!I?(P6&>Q+;VEqndPK9K)|kgRQS|S63)T=tTDsmuh1?
zw%2r4*Yv5yvTpPYJ?D(Fb?&?N2hI)8U|V()v;*e#V`RNvk}<!fjsW1E1-$HZMkU}E
z2xG;d`ZZ7btkimx3Yb>BI&DhX&1l_gKcJ&AGG<%r43~hUqtuakv-HIFAZ8J#9*epR
z;*~@dk7}v<TLTPyKwqenc-40rTgV+F7Mi)foz{}N5csJa5*<+=4}41vd(w=!A^Af*
zfW(D0vj#G2K3UTPPxZ;l>+f5nN=-ssL4FZyYO!7+*7tRk=4xJtXj0`^%+_llb4@a#
z5*tBRLcBh{chNR<ITZM-^<QT?|E3&j$g7q@O4zf`Q5md^r54twl1@ah`D5i_vs$<u
zF)>wNRY;;~*?JB1&6m4X%JDhTr+u82yu*B-TLV<PPWsDW|BMrlG&i?onDQcV&HhR*
za=#7)HF-P1_s$v+k1hfc0~DpMKRi!%CWs8WA}##!W>x*nnnM<8_m%=vh4>xUg$2n#
zZdMBOg~gpIP;gczL=9mj7{eAs6*8%>x#tS<J&X!K_fHi7Gz3XL2HzSY3L!y~+$`kY
zEmzt6=)8*?o6-Mkp)mm=kv@ftQA8H3AKkM5y_q&~#Ss5fX5nThK7+)?ZPKI5hoJdz
zk5c{bO(g_{t-g(Os7)p>Ey`(&GA9u)Y6X+0%FOsx$`2;MLz)XRl$N5FM`yRAbCR6W
z-258lDV*t6wV5jq)sCVSxZ!wtR+bT11lIrDaf1agiv$609q`1(^gc+MiC%o%kV>JG
z0+lflV9+EDWyzc|^z$cGq2G|W6N-ars7)ZxkmJuY5ZoR8LM%=|sFtdT;Sb0J_ThDn
zl#*G2(GhV2RBw#~A&PF5(nJ<r)?Cb{8Lzj<UATN>Bw2Bs*mSaaYyGQ(2{6YzIYvSq
zIEJz^(XIG$=>mPEl)d0H95ONeR@Fy=a`iSp8lzg}$x>p^^0s8bT+c|qlCx)gUGy#{
z56eLE?J5nk$i2979^)H(19a>_&EkpP40~UWc)6$fI;=tBy~RKHXWKF}Wt;)x=`1Yh
z;)RJ{6C#C^4%T<tW>x36Bq;Tje6p_lrZQgM;NcK-z4t=DVwbi0XWS$1-6;hCp)!>}
zhmhS^{{D_(6a8=3{)PSJ<`kQ+{bB7wm%D??Jj#*~f<&ENZ&nw`711hGAo4LZS-d}u
zp=NpOgjPM9fhvb^W(P+~|K8PRfo=t6yjp)isin}zKBS2uv=$KnLo4UL@*Q?X#dM#x
zx|HA}x(CA++s<J+q0&=qI#|ysFGb@#Sg@|u;y@G3>c&>&1SmKMC<9r&P;0&2e1Ui~
zrB_Ro2ok*Kjm-XO5k*m1i&KrgR`Rf1+8%C3f8ESLOP}hwihmvZ=l%2*9<MqEva&Gl
zN%Un)zswm3`r?iaUZ8|}-pLJI%H>V2*(^3r_7)}Hltd$<M^)^ceS52f8ryw(2rZkb
zz<bH24N?xIaORU|DRElRcxps&vVArnssu@VlB4!!V?hPlN9cCoR|N$56DimD-Ys;h
z^byWvRKqyO=g5EiijZ<fDSBA(D?pHl7@m>ge4TyqmyD22L*2th?@D(S%7wzK+h@iA
zzloMSQfSNvz%KG6q}I4exw4AAw$i>v%rKahX17>Kcn2qE3^B=eY?{scC{JAS@5;2!
zSFMzdLJk;CGZO4lh0-zWyUr-@4mB(LeX0E^mx@XuP9nP3fT`gglGb)KhL2-1=dQ^{
zyf$D+mnEV>8ZQH+d9s~8VZXPCDR?&<k?zxTQ_Qmk!iBV60u3^OGu}@iQBPB#rM6@O
zhqi=qK=2U{GOAOp>?iUS6E}FZKv9|#AuhjC6&_AG{Q@FD(N=0`2VU9yaHG~z(wi4w
zC(UP_x=Ub=74x&Tclq=c1nDbN%My|gHOB--vE50}IS@ZTF2*r#ZZpW0K_dP??gN?H
zWO#EV<>;i~Bdl1fmZM`c6l=nsE?1n{ZGGpRYUzD9=3!Jw4+D=wNVPQSoA%bl@u?$&
z-+7e#dTkwk<sV4EBEjvUTztmIK(_uSnUjn>L#}5gP6-W*@2~yo#(ak<k_@i_uloG{
z)_(28X<{X=hk-XdBU)(-VSq>nDMT~~IRG%~O#!OE?V6s53VWiDk=?L8F8B`bSxxoS
zeL&Gi0tm2cElJ~ijH=h%TSimZ+A1P9EvGI8!CZW=ZkUkg==ZSrtqOa)5sp#1`lRB&
za`EqpZBh8N<$=vbc=W@T(8{5o0i6$29z#pqJ~nZf)X0?z_qpE-wKSs}evCu6n{<{o
z+6dpc*Z^byhuorY!Xjd@Ak;7gk{Wv9Xj81%yC`X(aGQ&*22k$a^mBMiQxbFsq%%?%
za>cCaL$8fVXmckTW$X=~0z}2+VvqG*UJwLv;3uD@9P}G&QNG2t>CHUJI!(eYS!YNr
z%XTct)Iw@db;6&M2sdA??YjG3Skd1*hU{_!dhtWZuHK$n5C*sq9MDO7>xSwPEzV)8
z$`{I{R~w#>lXTuRx6SLQBT)sc`cChQHxIe$B$`A>h@7-5*N+D((icG3%#j#f)$<Ln
z;0m$uv@<#)IX`JLS5oMpDwTyYCbWKj?3RvcRgyVbE720<RTeTu&{d*YEFMrTebV4B
zB?D~_U++}+8qe&@O~KvzvGK3AURrnvT(B>(B2EZtv){KWv+S-(;3%ev`$7B~%(_|4
z_&x{Q*cT!UXG*vDk6k%v<?1*vwqR<>WT3*{{&sZ6PqI`&LihL(|0x4|fcEuJG@4S|
z)SR)viB}%6K0HXCpvY5gVf^@|`!f*7tC)s`>;~sBBRre0qdu%VefVo!Wi|Z!l5P3&
zUa8zO5nBkH%~nr_n4G0|v@A*=wOiI=yyV#H2<TlkpF!9)Q+v^$>4V*cVm0Y^O#C&6
zhozh6->bNsC_r<=#^dj*oigO{^J+xHmI{QtP9L2WL6x=-S~J5vJh4fp?iGct!*Saz
z(s_?J<hQj>rv%i2q6zo){_Cr!GHqnf4dI|7*>Q@cMh##HOOXH}9NAn*H_6&7W8EaM
zXg&}5NK*bgCDa!rf<%eIRBSfY7FDH5#y1LFR2(XiZPhcI`?H6@VLD#1zvXM}2P&Ed
zxY!}?O1UUSf64I*yY|ec>8!<#&TGyoVTtCmT-<r|saZ?=)GnzcN^Nv^__rFZz(K*M
zQQ0!sLT&6lKndIE&-d;EUcY<W6uW|j40+G}5iMhx(uUO3cX_&=#Ty3s)@=K$FG@oO
z`I^lcZsnAu&YnIh4RNZl-KE2;z-E9c8lB3PCcWnp!*|2fv54O`9Y}3bk>l627v0+z
z+9tJE-LH~x60uFuwGBQ9?c&gWLHXk}#Rsxd(IoB>tIvF-;R=D4)<>#lG=70y&z;A_
zYT-7Jo%X3kz$4rb<Ti~FhsQNx)w+6bhaiE~4$b;^dU4iXabIBbk~LCQ(Yuz&1L$aL
zf-;<gqMW#n!}KD;)_?K(E(D?A#a+mw>1NMgJ?T~?L)HVy3?G9(DI+9rifLq1SAoX@
zRFeOvH7DSe>kjnmW7@xvjD6MvD>Ze|4rn<t$h2|j%%{1H;s=aKN7wdwQi$?NxPD`S
z{UAwa8E8<RF-m0a;^|vOoHPF~GTh@>b8aLwds>+Zz@bynZ`(*yq^-D>ir<Dylo4O_
zV}dpHVE3971uFj!<Xh!G;LI94_4<Ck2b8_&9|S9;SkHw-;!!(~sv_cSbTek(+-!y$
zyg_>nB!qhATZCy;;>OJWxffblrE1!BVNmWE&M6N0n}dBv!js~T1vq~+lACn!Z<yQ%
z+0h#R29OSMY(pI5V@I*ugqZzp1Z8d}2D1rRgL#4uNo+lF|G8G<G;d2yhoMi6enX{;
z6w6{YNKO83=`iiH4(VpN5C$D!56qn7fUIkHTO4&~aCv!PL9IE0p%5b2=Az4ODEdRZ
zS4G%XNk3AJ6sHi0sy`#Lw*EUp+1quu(M;D-X$)Dfy@_A*qb1Mt#X4OSFsW?1KWdIp
z0ff3$j^pVcU@>fT87i^oO-9mn`+)*I%DJhsu|k0mVM*^NgxD2U37ct}njropTp42y
zLx{m+r~}|sm@Ct_^S=6DIijSBJMwZuYl4`gYE}Y`0hOCxRj%7Zh7pddG&w$)fX|g4
zT<HPgp*rz2D*B@;TK}5x5l^rf^@-0L!71VO?=NlQxtfqyEdf7>`uhF9j7-A%m|&Ad
zqFvOY*}w!B2W<||g_p`^e*g*DGvGlt;wSC(5<XZ+E9y^^%rrh;2tJ3#FU;#g<#rT<
zVj9#Nb<hn8)(}PmTn*tOu7uH!leqdry~(U{!TS$lt!0R358^cpLE<TZfL`TLEKbn{
z+{Y?l>icK!TKLT2UMBh`VUB0a4jk0fleg2(vaw1>!4mTf{Q$-*gU+l4H}KH-FEDVd
zrg1=c7NL8qs(}=-y)NV@O6(8M3Bg=*ds7b5h+ymKQ4EX1NET?tW3eTJQE*Q>VdB5Q
zjgaPfi7n{0U~}y3IMlHAg~*1XhmYAgtk(A1#E(`GeW)Bru>}J?Xgx}k&t}JC-YG#l
zpc0dxT0=cg#D)UH_BJ>def>lPQ=A|y=>Bd>T0>>P5<8X1b&3qNzgxd{G9Lf31Qt6$
z{Ai;xojk18mn8c4QSjK&R!aG5S@vv^@N?yp!}kR9FTiIPODD;1qk;}`K2t8A7$+}h
zQVPCXdgM{;$OT=hyGF1J-OL2}ff;$Sw+h7vxWnffB19^khbw-SR5dwUgahG+Dl`sm
z3di}pwZv(iFxOozO0hL&{eX{v?xnG)`(m@ANlFuo$*1B&Yu$;d`;WsAjtz3xsZ35H
zAj`;%n9sPQz_TTsZ>8bk=xqnYYd(UA6aCP;nd}_aN58di?co)A5Ro_uiNRE4e0Qt+
z&?3FxIFXnwOB07As>c)f8GjYQQ>agLYGP__f^c+A)tvgx;Nttc-h75nL_K2qXf9C2
zixY8BZ*)kg?1<zr!!U4^1@cg)PN{N`wiT_|Ab9*H=O;)9|AV0XX1WG2+44gFV_W*g
ztE4S>Uitn%5pY-2l{2N$Q}ba|CeAkkhLKWOOt7Jcr&*hfWKFEEa@2kGm;o$)e+wf$
zqSb&`Kb6opO#0{E94ZT$b~=Ss?32;Wenq2dya=Qv*~W5FJLvYDsr%S%xkfG>9s;ym
z1BgR}Qx*xXeKSP@8|ZN6=)G<Op;ThoyZYSQ#ha&aGmjxE1|pn-Z<ipYEm(;-J~nl&
zR_N+FOO{YpnCpCreHR=fJWn)4_!In-LEQI}1GIF6{CO5a$MkyzWf$hKRw7EtJ6cl7
zE;9TR7JQ`^uGS1#5@*$7im#((3^gR12)iv-JKH{%3bgCdG)tyr|I-(0QXU;DV=N}+
zJA=~9OAg-8!RCx=QXU;DV=N}+JA=~9OAg-8!RCx9D5@S9%)sh^QCOZj>2<s~FTR;&
EWvTO&ZvX%Q

literal 0
HcmV?d00001

diff --git a/data/test3.torrent b/data/test3.torrent
new file mode 100644
index 0000000000000000000000000000000000000000..7e453ce986c6730e4fb769e52a2abbcd49341c85
GIT binary patch
literal 45617
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
Up6ZMdEkMl#t9p%f#Q9-mWi)#T(EtDd

literal 0
HcmV?d00001

diff --git a/data/test4.torrent b/data/test4.torrent
new file mode 100644
index 0000000000000000000000000000000000000000..547b223f684670b48d7be8d32cc5a67f3a029cde
GIT binary patch
literal 32209
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

literal 0
HcmV?d00001

diff --git a/functorrent.cabal b/functorrent.cabal
new file mode 100644
index 0000000..63ce6d2
--- /dev/null
+++ b/functorrent.cabal
@@ -0,0 +1,55 @@
+name:                functorrent
+version:             0.1.0.0
+synopsis:            A BitTorrent client
+description:         Please see README
+homepage:            https://github.com/vu3rdd/functorrent
+license:             GPL-3
+license-file:        COPYING
+author:              Ramakrishnan Muthukrishnan
+maintainer:          ram@rkrishnan.org
+copyright:           Copyright: (c) 2016 Ramakrishnan Muthukrishnan
+category:            Network
+build-type:          Simple
+extra-source-files:  README
+cabal-version:       >=1.10
+tested-with:         GHC == 7.10.2
+
+library
+  default-language:    Haskell2010
+  ghc-options:         -Wall
+  hs-source-dirs:      src
+  exposed-modules:     FuncTorrent.Bencode
+                     , FuncTorrent.Metainfo
+  build-depends:       base >= 4.7 && < 5
+                     , bytestring
+                     , containers
+                     , cryptohash
+                     , parsec
+
+executable functorrent
+  default-language:    Haskell2010
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
+  hs-source-dirs:      src/main
+  main-is:             Main.hs
+  build-depends:       base
+                     , functorrent
+
+test-suite spec
+  default-language:    Haskell2010
+  ghc-options:         -Wall
+  type:                exitcode-stdio-1.0
+  other-modules:       BencodeSpec
+                     , MetainfoSpec
+  hs-source-dirs:      test
+  main-is:             Spec.hs
+  build-depends:       base
+                     , functorrent
+                     , hspec
+                     , bytestring
+                     , containers
+                     , QuickCheck
+
+
+source-repository head
+  type:     git
+  location: https://github.com/vu3rdd/functorrent
diff --git a/src/FuncTorrent/Bencode.hs b/src/FuncTorrent/Bencode.hs
new file mode 100644
index 0000000..294ad89
--- /dev/null
+++ b/src/FuncTorrent/Bencode.hs
@@ -0,0 +1,97 @@
+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - This file is part of FuncTorrent.
+ -
+ - FuncTorrent is free software; you can redistribute it and/or modify
+ - it under the terms of the GNU General Public License as published by
+ - the Free Software Foundation; either version 3 of the License, or
+ - (at your option) any later version.
+ -
+ - FuncTorrent is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - GNU General Public License for more details.
+ -
+ - You should have received a copy of the GNU General Public License
+ - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
+ -}
+
+{-# LANGUAGE OverloadedStrings #-}
+module FuncTorrent.Bencode
+    (BVal(..)
+    , bValToInteger
+    , bstrToString
+    , decode
+    , encode
+    ) where
+
+import Prelude hiding (length, concat)
+
+import Data.ByteString (ByteString, length, concat)
+import Data.ByteString.Char8 (unpack, pack)
+import Data.Map.Strict (Map, fromList, toList)
+import Text.ParserCombinators.Parsec
+import qualified Text.Parsec.ByteString as ParsecBS
+
+data BVal = Bint Integer
+          | Bstr ByteString
+          | Blist [BVal]
+          | Bdict (Map String BVal)
+            deriving (Ord, Eq, Show)
+
+-- getters
+bValToInteger :: BVal -> Maybe Integer
+bValToInteger (Bint x) = Just x
+bValToInteger _        = Nothing
+
+bstrToString :: BVal -> Maybe String
+bstrToString bval = unpack <$> bValToBytestr bval
+  where bValToBytestr :: BVal  -> Maybe ByteString
+        bValToBytestr (Bstr bs) = Just bs
+        bValToBytestr _         = Nothing
+
+bencStr :: ParsecBS.Parser ByteString
+bencStr = do ds <- many1 digit <* char ':'
+             s <- count (read ds) anyChar
+             return (pack s)
+
+bencInt :: ParsecBS.Parser Integer
+bencInt = do ds <- between (char 'i') (char 'e') numbers
+             return (read ds)
+               where numbers = do d' <- char '-' <|> digit
+                                  ds' <- many digit
+                                  parseNumber d' ds'
+                     parseNumber '0' []  = return "0"
+                     parseNumber '0' _ = unexpected "numbers cannot be left-padded with zeros"
+                     parseNumber '-' []  = unexpected "sign without any digits"
+                     parseNumber '-' (d'':_) | d'' == '0' = unexpected "numbers cannot be left-padded with zeros"
+                     parseNumber d'' ds'' = return (d'':ds'')
+
+bencList :: ParsecBS.Parser [BVal]
+bencList = between (char 'l') (char 'e') (many bencVal)
+
+bencDict :: ParsecBS.Parser (Map String BVal)
+bencDict = between (char 'd') (char 'e') $ fromList <$> many kvpair
+  where kvpair = do k <- bencStr
+                    v <- bencVal
+                    return (unpack k, v)
+
+bencVal :: ParsecBS.Parser BVal
+bencVal = Bstr <$> bencStr <|>
+          Bint <$> bencInt <|>
+          Blist <$> bencList <|>
+          Bdict <$> bencDict
+
+decode :: ByteString -> Either ParseError BVal
+decode = parse bencVal "BVal"
+
+encode :: BVal -> ByteString
+encode (Bstr bs) = pack $ show (length bs) ++ ":" ++ unpack bs
+encode (Bint i) = pack $ "i" ++ show i ++ "e"
+encode (Blist xs) = concat ["l", concat $ map encode xs, "e"]
+encode (Bdict d) = concat ["d", concat kvlist, "e"]
+    where
+      kvlist :: [ByteString]
+      kvlist = [encPair kv | kv <- toList d]
+      encPair (k, v) = concat [encode . Bstr . pack $ k, encode v]
diff --git a/src/FuncTorrent/Filesystem.hs b/src/FuncTorrent/Filesystem.hs
new file mode 100644
index 0000000..66468c4
--- /dev/null
+++ b/src/FuncTorrent/Filesystem.hs
@@ -0,0 +1,30 @@
+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - This file is part of FuncTorrent.
+ -
+ - FuncTorrent is free software; you can redistribute it and/or modify
+ - it under the terms of the GNU General Public License as published by
+ - the Free Software Foundation; either version 3 of the License, or
+ - (at your option) any later version.
+ -
+ - FuncTorrent is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - GNU General Public License for more details.
+ -
+ - You should have received a copy of the GNU General Public License
+ - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
+ -}
+
+module FuncTorrent.Filesystem
+       (new
+       , FilesystemState
+       , getBlock
+       , putBlock
+       , getStats
+       ) where
+
+data Filesystem = Filesystem { pieces :: [Piece]
+                             , stats :: Stats
+            
diff --git a/src/FuncTorrent/Metainfo.hs b/src/FuncTorrent/Metainfo.hs
new file mode 100644
index 0000000..596ad68
--- /dev/null
+++ b/src/FuncTorrent/Metainfo.hs
@@ -0,0 +1,145 @@
+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - This file is part of FuncTorrent.
+ -
+ - FuncTorrent is free software; you can redistribute it and/or modify
+ - it under the terms of the GNU General Public License as published by
+ - the Free Software Foundation; either version 3 of the License, or
+ - (at your option) any later version.
+ -
+ - FuncTorrent is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - GNU General Public License for more details.
+ -
+ - You should have received a copy of the GNU General Public License
+ - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
+ -}
+
+{-# LANGUAGE DuplicateRecordFields #-}
+
+module FuncTorrent.Metainfo
+    (Info(..)
+    , Metainfo(..)
+    , DynamicInfo(..)
+    , torrentToMetainfo
+    ) where
+
+import Prelude hiding (lookup)
+import Data.ByteString.Char8 (ByteString, unpack)
+import Data.Map as M ((!), lookup)
+import Crypto.Hash.SHA1 (hash)
+import Data.Maybe (maybeToList)
+
+import FuncTorrent.Bencode (BVal(..), encode, decode, bstrToString, bValToInteger)
+
+-- only single file mode supported for the time being.
+data Info = Info { pieceLength :: !Integer
+                 , pieces :: !ByteString
+                 , private :: !(Maybe Integer)
+                 , dyninfo :: !DynamicInfo
+                 } deriving (Eq, Show)
+
+data DynamicInfo = SingleFileInfo { name :: String
+                                  , lengthInBytes :: Integer
+                                  , md5sum :: Maybe String
+                                  }
+                 | MultiFileInfo { dname :: String
+                                 , files :: [FileInfo]
+                                 }
+                 deriving (Eq, Show)
+
+data FileInfo = FileInfo { lengthInBytes :: Integer
+                         , md5sum :: Maybe String
+                         , path :: String
+                         } deriving (Eq, Show)
+
+data Metainfo = Metainfo { info :: !Info
+                         , announceList :: ![String]
+                         , creationDate :: !(Maybe Integer)
+                         , comment :: !(Maybe String)
+                         , createdBy :: !(Maybe String)
+                         , encoding :: !(Maybe String)
+                         , infoHash :: !ByteString
+                         } deriving (Eq, Show)
+
+mkInfo :: BVal -> Maybe Info
+mkInfo (Bdict m) = let (Bint pieceLength') = m ! "piece length"
+                       (Bstr pieces') = m ! "pieces"
+                       private' = Nothing
+                       bdictfiles = lookup "files" m
+                   in
+                     case bdictfiles of
+                       Just fs -> let (Blist files') = fs
+                                      (Bstr name') = m ! "name"
+                                  in
+                                    Just Info { pieceLength = pieceLength'
+                                              , pieces = pieces'
+                                              , private = private'
+                                              , dyninfo = MultiFileInfo {
+                                                  dname = unpack name',
+                                                  files =
+                                                      map (\(Bdict f) ->
+                                                            let (Just len') = bValToInteger (f ! "length")
+                                                                (Bstr s') = f ! "path"
+                                                            in
+                                                              FileInfo { lengthInBytes = len',
+                                                                         md5sum = Nothing,
+                                                                         path = unpack s'
+                                                                     })
+                                                      files' }
+                                              }
+                       Nothing -> let (Bstr name') = m ! "name"
+                                      (Bint length') = m ! "length"
+                                      md5sum' = Nothing
+                                  in
+                                    Just Info { pieceLength = pieceLength'
+                                              , pieces = pieces'
+                                              , private = private'
+                                              , dyninfo = SingleFileInfo {
+                                                  name = unpack name',
+                                                  lengthInBytes = length',
+                                                  md5sum = md5sum'}
+                                              }
+
+mkInfo _ = Nothing
+
+mkMetaInfo :: BVal   -> Either String Metainfo
+mkMetaInfo (Bdict m)  =
+    let (Just info')  = mkInfo $ m ! "info"
+        announce'     = lookup "announce" m
+        announceList' = lookup "announce-list" m
+        creationDate' = lookup "creation date" m
+        comment'      = lookup "comment" m
+        createdBy'    = lookup "created by" m
+        encoding'     = lookup "encoding" m
+    in Right Metainfo {
+               info         = info'
+             , announceList = maybeToList (announce' >>= bstrToString)
+                              ++ getAnnounceList announceList'
+             , creationDate = bValToInteger =<< creationDate'
+             , comment      = bstrToString  =<< comment'
+             , createdBy    = bstrToString  =<< createdBy'
+             , encoding     = bstrToString  =<< encoding'
+             , infoHash     = hash . encode $ (m ! "info")
+             }
+mkMetaInfo _ = Left "mkMetaInfo: expect an input dict"
+
+getAnnounceList :: Maybe BVal -> [String]
+getAnnounceList Nothing          = []
+getAnnounceList (Just (Bint _))  = []
+getAnnounceList (Just (Bstr _))  = []
+getAnnounceList (Just (Blist l)) = map (\s -> case s of
+                                               (Bstr s') ->  unpack s'
+                                               (Blist s') -> case s' of
+                                                              [Bstr s''] -> unpack s''
+                                                              _ -> ""
+                                               _ -> "") l
+getAnnounceList (Just (Bdict _)) = []
+
+torrentToMetainfo :: ByteString -> Either String Metainfo
+torrentToMetainfo s =
+  case decode s of
+   Right d -> mkMetaInfo d
+   Left e -> Left $ show e
diff --git a/src/main/Main.hs b/src/main/Main.hs
new file mode 100644
index 0000000..1f79023
--- /dev/null
+++ b/src/main/Main.hs
@@ -0,0 +1,8 @@
+module Main where
+
+import FuncTorrent.Bencode
+
+import Text.Printf (printf)
+
+main :: IO ()
+main = printf "hello world"
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
index 0000000..3bd7fc6
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,66 @@
+# This file was automatically generated by 'stack init'
+# 
+# Some commonly used options have been documented as comments in this file.
+# For advanced use and comprehensive documentation of the format, please see:
+# http://docs.haskellstack.org/en/stable/yaml_configuration/
+
+# Resolver to choose a 'specific' stackage snapshot or a compiler version.
+# A snapshot resolver dictates the compiler version and the set of packages
+# to be used for project dependencies. For example:
+# 
+# resolver: lts-3.5
+# resolver: nightly-2015-09-21
+# resolver: ghc-7.10.2
+# resolver: ghcjs-0.1.0_ghc-7.10.2
+# resolver:
+#  name: custom-snapshot
+#  location: "./custom-snapshot.yaml"
+resolver: nightly-2016-07-10
+
+# User packages to be built.
+# Various formats can be used as shown in the example below.
+# 
+# packages:
+# - some-directory
+# - https://example.com/foo/bar/baz-0.0.2.tar.gz
+# - location:
+#    git: https://github.com/commercialhaskell/stack.git
+#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+#   extra-dep: true
+#  subdirs:
+#  - auto-update
+#  - wai
+# 
+# A package marked 'extra-dep: true' will only be built if demanded by a
+# non-dependency (i.e. a user package), and its test suites and benchmarks
+# will not be run. This is useful for tweaking upstream packages.
+packages:
+- '.'
+# Dependency packages to be pulled from upstream that are not in the resolver
+# (e.g., acme-missiles-0.3)
+extra-deps: []
+
+# Override default flag values for local packages and extra-deps
+flags: {}
+
+# Extra package databases containing global packages
+extra-package-dbs: []
+
+# Control whether we use the GHC we find on the path
+# system-ghc: true
+# 
+# Require a specific version of stack, using version ranges
+# require-stack-version: -any # Default
+# require-stack-version: ">=1.1"
+# 
+# Override the architecture used by stack, especially useful on Windows
+# arch: i386
+# arch: x86_64
+# 
+# Extra directories used by stack for building
+# extra-include-dirs: [/path/to/dir]
+# extra-lib-dirs: [/path/to/dir]
+# 
+# Allow a newer minor version of GHC than the snapshot specifies
+# compiler-check: newer-minor
\ No newline at end of file
diff --git a/test/BencodeSpec.hs b/test/BencodeSpec.hs
new file mode 100644
index 0000000..d6d2cb5
--- /dev/null
+++ b/test/BencodeSpec.hs
@@ -0,0 +1,53 @@
+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - This file is part of FuncTorrent.
+ -
+ - FuncTorrent is free software; you can redistribute it and/or modify
+ - it under the terms of the GNU General Public License as published by
+ - the Free Software Foundation; either version 3 of the License, or
+ - (at your option) any later version.
+ -
+ - FuncTorrent is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - GNU General Public License for more details.
+ -
+ - You should have received a copy of the GNU General Public License
+ - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
+ -}
+
+{-# LANGUAGE OverloadedStrings #-}
+
+module BencodeSpec where
+
+import Test.Hspec
+
+import Data.Map.Strict (fromList)
+import FuncTorrent.Bencode (encode, decode, BVal(..))
+
+spec :: Spec
+spec =
+  describe "Bencode" $ do
+    it "encode-strings" $ do
+      encode (Bstr "") `shouldBe` "0:"
+      encode (Bstr "spam") `shouldBe` "4:spam"
+    it "encode-ints" $ do
+      encode (Bint 0) `shouldBe` "i0e"
+      encode (Bint 42) `shouldBe` "i42e"
+    it "encode-lists" $ do
+      encode (Blist [(Bstr "spam"), (Bstr "eggs")]) `shouldBe` "l4:spam4:eggse"
+      encode (Blist []) `shouldBe` "le"
+    it "encode-dict" $ do
+      encode (Bdict (fromList [("spam", Bstr "eggs")])) `shouldBe` "d4:spam4:eggse"
+    it "decode-string" $ do
+      decode "4:spam" `shouldBe` Right (Bstr "spam")
+      decode "0:" `shouldBe` Right (Bstr "")
+    it "decode-ints" $ do
+      decode "i0e" `shouldBe` Right (Bint 0)
+      decode "i32e" `shouldBe` Right (Bint 32)
+    it "decode-lists" $ do
+      decode "l4:spam4:eggse" `shouldBe` Right (Blist [(Bstr "spam"), (Bstr "eggs")])
+      decode "le" `shouldBe` Right (Blist [])
+    it "decode-dicts" $ do
+      decode "d4:spam4:eggse" `shouldBe` Right (Bdict (fromList [("spam", Bstr "eggs")]))
diff --git a/test/MetainfoSpec.hs b/test/MetainfoSpec.hs
new file mode 100644
index 0000000..93bf9ab
--- /dev/null
+++ b/test/MetainfoSpec.hs
@@ -0,0 +1,46 @@
+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - This file is part of FuncTorrent.
+ -
+ - FuncTorrent is free software; you can redistribute it and/or modify
+ - it under the terms of the GNU General Public License as published by
+ - the Free Software Foundation; either version 3 of the License, or
+ - (at your option) any later version.
+ -
+ - FuncTorrent is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - GNU General Public License for more details.
+ -
+ - You should have received a copy of the GNU General Public License
+ - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
+ -}
+
+{-# LANGUAGE OverloadedStrings #-}
+
+module MetainfoSpec where
+
+import Test.Hspec
+
+import FuncTorrent.Metainfo (Info(..), Metainfo(..), DynamicInfo(..), torrentToMetainfo)
+import qualified Data.ByteString.Lazy.Char8 as BC (readFile, toStrict)
+import qualified Data.ByteString as B
+
+spec :: Spec
+spec =
+  describe "Bencode" $ do
+    it "torrent-file-1" $ do
+      c <- BC.readFile "data/test1.torrent"
+      let (Right m) = torrentToMetainfo (BC.toStrict c)
+      length (announceList m) `shouldBe` 1
+      pieceLength (info m) `shouldBe` 524288
+      pieces (info m) `shouldSatisfy` (\p -> B.length p `mod` 20 == 0)
+      let (SingleFileInfo name' _ _) = dyninfo $ info m
+      name' `shouldNotBe` ""
+    it "torrent-file-4" $ do
+      c <- BC.readFile "data/test4.torrent"
+      let (Right m) = torrentToMetainfo (BC.toStrict c)
+      length (announceList m) `shouldBe` 3
+      let (MultiFileInfo _ files') = dyninfo $ info m
+      length files' `shouldNotBe` 1
diff --git a/test/Spec.hs b/test/Spec.hs
new file mode 100644
index 0000000..a824f8c
--- /dev/null
+++ b/test/Spec.hs
@@ -0,0 +1 @@
+{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
-- 
2.45.2