From 27ae5c80585d36aa05768ea5d550d44392e867ee Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Sun, 19 Apr 2020 21:24:27 +0200 Subject: [PATCH] ELementum Come Client di Default --- core/videolibrarytools.py | 4 +- lib/btserver/__init__.py | 5 - lib/btserver/cache.py | 92 -- lib/btserver/client.py | 669 ----------- lib/btserver/cursor.py | 106 -- lib/btserver/dispatcher.py | 39 - lib/btserver/file.py | 39 - lib/btserver/handler.py | 135 --- lib/btserver/monitor.py | 44 - lib/btserver/resume_data.py | 15 - lib/btserver/server.py | 37 - lib/generictools.py | 822 ++++++------- lib/python_libtorrent/__init__.py | 24 - .../android_armv7/0.16.19/__init__.py | 24 - .../0.16.19/libtorrent.so.size.txt | 1 - .../android_armv7/1.0.6/__init__.py | 24 - .../1.0.6/libtorrent.so.size.txt | 1 - .../android_armv7/1.0.7/__init__.py | 24 - .../1.0.7/libtorrent.so.size.txt | 1 - .../android_armv7/1.0.8/__init__.py | 24 - .../1.0.8/libtorrent.so.size.txt | 1 - .../android_armv7/1.0.9/__init__.py | 24 - .../1.0.9/libtorrent.so.size.txt | 1 - .../android_armv7/1.1.0/__init__.py | 24 - .../1.1.0/libtorrent.so.size.txt | 1 - .../android_armv7/1.1.1/__init__.py | 24 - .../1.1.1/libtorrent.so.size.txt | 1 - .../android_armv7/__init__.py | 24 - .../android_x86/0.16.19/__init__.py | 24 - .../0.16.19/libtorrent.so.size.txt | 1 - .../android_x86/1.0.6/__init__.py | 24 - .../android_x86/1.0.6/libtorrent.so.size.txt | 1 - .../android_x86/1.0.7/__init__.py | 24 - .../android_x86/1.0.7/libtorrent.so.size.txt | 1 - .../android_x86/1.0.8/__init__.py | 24 - .../android_x86/1.0.8/libtorrent.so.size.txt | 1 - .../android_x86/1.0.9/__init__.py | 24 - .../android_x86/1.0.9/libtorrent.so.size.txt | 1 - .../android_x86/1.1.0/__init__.py | 24 - .../android_x86/1.1.0/libtorrent.so.size.txt | 1 - .../android_x86/1.1.1/__init__.py | 24 - .../android_x86/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/android_x86/__init__.py | 24 - .../darwin/0.16.19/__init__.py | 24 - .../darwin/0.16.19/libtorrent.so.size.txt | 1 - .../darwin/1.0.9/__init__.py | 24 - .../darwin/1.0.9/libtorrent.so.size.txt | 1 - .../darwin/1.1.0/__init__.py | 24 - .../darwin/1.1.0/libtorrent.so.size.txt | 1 - .../darwin/1.1.1/__init__.py | 24 - .../darwin/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/darwin/__init__.py | 24 - .../ios_arm/1.0.7/__init__.py | 24 - .../ios_arm/1.0.7/libtorrent.so.size.txt | 1 - .../ios_arm/1.0.8/__init__.py | 24 - .../ios_arm/1.0.8/libtorrent.so.size.txt | 1 - .../ios_arm/1.0.9/__init__.py | 24 - .../ios_arm/1.0.9/libtorrent.so.size.txt | 1 - .../ios_arm/1.1.1/__init__.py | 24 - .../ios_arm/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/ios_arm/__init__.py | 24 - .../linux_aarch64_ucs2/1.1.0/__init__.py | 24 - .../1.1.0/libtorrent.so.size.txt | 1 - .../linux_aarch64_ucs2/__init__.py | 24 - .../linux_aarch64_ucs4/1.1.0/__init__.py | 24 - .../1.1.0/libtorrent.so.size.txt | 1 - .../linux_aarch64_ucs4/1.1.1/__init__.py | 24 - .../1.1.1/libtorrent.so.size.txt | 1 - .../linux_aarch64_ucs4/__init__.py | 24 - .../linux_armv6/0.16.19/__init__.py | 24 - .../0.16.19/libtorrent.so.size.txt | 1 - .../linux_armv6/1.0.11/__init__.py | 24 - .../linux_armv6/1.0.11/libtorrent.so.size.txt | 1 - .../linux_armv6/1.0.6/__init__.py | 24 - .../linux_armv6/1.0.6/libtorrent.so.size.txt | 1 - .../linux_armv6/1.0.7/__init__.py | 24 - .../linux_armv6/1.0.7/libtorrent.so.size.txt | 1 - .../linux_armv6/1.0.9/__init__.py | 24 - .../linux_armv6/1.0.9/libtorrent.so.size.txt | 1 - .../linux_armv6/1.1.0/__init__.py | 24 - .../linux_armv6/1.1.0/libtorrent.so.size.txt | 1 - .../linux_armv6/1.1.1/__init__.py | 24 - .../linux_armv6/1.1.1/libtorrent.so.size.txt | 1 - .../linux_armv6/1.1.6/__init__.py | 24 - .../linux_armv6/1.1.6/libtorrent.so.size.txt | 1 - .../linux_armv6/1.1.7/__init__.py | 24 - .../linux_armv6/1.1.7/libtorrent.so.size.txt | 1 - lib/python_libtorrent/linux_armv6/__init__.py | 24 - .../linux_armv7/0.16.19/__init__.py | 24 - .../0.16.19/libtorrent.so.size.txt | 1 - .../linux_armv7/1.0.6/__init__.py | 24 - .../linux_armv7/1.0.6/libtorrent.so.size.txt | 1 - .../linux_armv7/1.0.7/__init__.py | 24 - .../linux_armv7/1.0.7/libtorrent.so.size.txt | 1 - .../linux_armv7/1.0.9/__init__.py | 24 - .../linux_armv7/1.0.9/libtorrent.so.size.txt | 1 - .../linux_armv7/1.1.0/__init__.py | 24 - .../linux_armv7/1.1.0/libtorrent.so.size.txt | 1 - .../linux_armv7/1.1.1/__init__.py | 24 - .../linux_armv7/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/linux_armv7/__init__.py | 24 - .../linux_mips/1.0.9/__init__.py | 24 - .../linux_mips/1.0.9/libtorrent.so.size.txt | 1 - lib/python_libtorrent/linux_mips/__init__.py | 24 - .../linux_mipsel_ucs2/1.0.9/__init__.py | 24 - .../1.0.9/libtorrent.so.size.txt | 1 - .../linux_mipsel_ucs2/1.1.0/__init__.py | 24 - .../1.1.0/libtorrent.so.size.txt | 1 - .../linux_mipsel_ucs2/__init__.py | 24 - .../linux_mipsel_ucs4/1.0.9/__init__.py | 24 - .../1.0.9/libtorrent.so.size.txt | 1 - .../linux_mipsel_ucs4/1.1.0/__init__.py | 24 - .../1.1.0/libtorrent.so.size.txt | 1 - .../linux_mipsel_ucs4/__init__.py | 24 - .../linux_x86/0.16.19/__init__.py | 24 - .../linux_x86/0.16.19/libtorrent.so.size.txt | 1 - .../linux_x86/1.0.6/__init__.py | 24 - .../linux_x86/1.0.6/libtorrent.so.size.txt | 1 - .../linux_x86/1.0.7/__init__.py | 24 - .../linux_x86/1.0.7/libtorrent.so.size.txt | 1 - .../linux_x86/1.0.9/__init__.py | 24 - .../linux_x86/1.0.9/libtorrent.so.size.txt | 1 - .../linux_x86/1.1.0/__init__.py | 24 - .../linux_x86/1.1.0/libtorrent.so.size.txt | 1 - .../linux_x86/1.1.1/__init__.py | 24 - .../linux_x86/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/linux_x86/__init__.py | 24 - .../linux_x86_64/0.16.19/__init__.py | 24 - .../0.16.19/libtorrent.so.size.txt | 1 - .../linux_x86_64/1.0.6/__init__.py | 24 - .../linux_x86_64/1.0.6/libtorrent.so.size.txt | 1 - .../linux_x86_64/1.0.7/__init__.py | 24 - .../linux_x86_64/1.0.7/libtorrent.so.size.txt | 1 - .../linux_x86_64/1.0.9/__init__.py | 24 - .../linux_x86_64/1.0.9/libtorrent.so.size.txt | 1 - .../linux_x86_64/1.1.0/__init__.py | 24 - .../linux_x86_64/1.1.0/libtorrent.so.size.txt | 1 - .../linux_x86_64/1.1.1/__init__.py | 24 - .../linux_x86_64/1.1.1/libtorrent.so.size.txt | 1 - lib/python_libtorrent/platform_pulsar.py | 198 ---- lib/python_libtorrent/public.py | 83 -- .../python_libtorrent/__init__.py | 243 ---- .../python_libtorrent/functions.py | 187 --- .../python_libtorrent/net.py | 332 ------ .../python_libtorrent/platform_pulsar.py | 208 ---- .../windows/0.16.19/__init__.py | 24 - .../windows/0.16.19/libtorrent.pyd.size.txt | 1 - .../windows/1.0.6/__init__.py | 24 - .../windows/1.0.6/libtorrent.pyd.size.txt | 1 - .../windows/1.0.8/__init__.py | 24 - .../windows/1.0.8/libtorrent.pyd.size.txt | 1 - .../windows/1.0.9/__init__.py | 24 - .../windows/1.0.9/libtorrent.pyd.size.txt | 1 - .../windows/1.1.1/__init__.py | 24 - .../windows/1.1.1/libtorrent.pyd.size.txt | 1 - .../windows/1.2.2/__init__.py | 24 - .../windows/1.2.2/libtorrent.pyd.size.txt | 1 - .../windows/1.2.3/__init__.py | 24 - .../windows/1.2.3/libtorrent.pyd.size.txt | 1 - lib/python_libtorrent/windows/__init__.py | 24 - .../windows_x64/1.2.2/__init__.py | 24 - .../windows_x64/1.2.2/libtorrent.pyd | Bin 4290048 -> 0 bytes .../windows_x64/1.2.2/libtorrent.pyd.size.txt | 1 - .../windows_x64/1.2.3/__init__.py | 24 - .../windows_x64/1.2.3/libtorrent.pyd.size.txt | 1 - lib/python_libtorrent/windows_x64/__init__.py | 24 - lib/quasar/daemon.py | 295 ----- lib/quasar/navigation.py | 260 ---- lib/quasar/osarch.py | 56 - lib/quasar/util.py | 72 -- platformcode/custom_code.py | 182 +-- platformcode/platformtools.py | 233 +--- resources/language/English/strings.po | 6 +- resources/language/Italian/strings.po | 12 +- resources/settings/elementum/settings.xml | 209 ++++ servers/torrent.py | 1046 ++++++++--------- ...asar_download.py => elementum_download.py} | 38 +- specials/setting.py | 218 ++-- 178 files changed, 1394 insertions(+), 6501 deletions(-) delete mode 100644 lib/btserver/__init__.py delete mode 100644 lib/btserver/cache.py delete mode 100644 lib/btserver/client.py delete mode 100644 lib/btserver/cursor.py delete mode 100644 lib/btserver/dispatcher.py delete mode 100644 lib/btserver/file.py delete mode 100644 lib/btserver/handler.py delete mode 100644 lib/btserver/monitor.py delete mode 100644 lib/btserver/resume_data.py delete mode 100644 lib/btserver/server.py delete mode 100644 lib/python_libtorrent/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.0.8/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.0.8/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/android_armv7/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_armv7/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.0.8/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.0.8/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/android_x86/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/android_x86/__init__.py delete mode 100644 lib/python_libtorrent/darwin/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/darwin/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/darwin/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/darwin/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/darwin/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/darwin/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/darwin/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/darwin/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/darwin/__init__.py delete mode 100644 lib/python_libtorrent/ios_arm/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/ios_arm/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/ios_arm/1.0.8/__init__.py delete mode 100644 lib/python_libtorrent/ios_arm/1.0.8/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/ios_arm/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/ios_arm/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/ios_arm/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/ios_arm/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/ios_arm/__init__.py delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs2/__init__.py delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_aarch64_ucs4/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.11/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.11/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.6/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.7/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv6/1.1.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv6/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/linux_armv7/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_armv7/__init__.py delete mode 100644 lib/python_libtorrent/linux_mips/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_mips/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_mips/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs2/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_mipsel_ucs4/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/0.16.19/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.6/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.7/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.7/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/1.0.9/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86_64/1.1.0/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/1.1.0/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/linux_x86_64/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/linux_x86_64/1.1.1/libtorrent.so.size.txt delete mode 100644 lib/python_libtorrent/platform_pulsar.py delete mode 100644 lib/python_libtorrent/public.py delete mode 100644 lib/python_libtorrent/python_libtorrent/__init__.py delete mode 100644 lib/python_libtorrent/python_libtorrent/functions.py delete mode 100644 lib/python_libtorrent/python_libtorrent/net.py delete mode 100644 lib/python_libtorrent/python_libtorrent/platform_pulsar.py delete mode 100644 lib/python_libtorrent/windows/0.16.19/__init__.py delete mode 100644 lib/python_libtorrent/windows/0.16.19/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.0.6/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.0.6/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.0.8/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.0.8/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.0.9/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.0.9/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.1.1/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.1.1/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.2.2/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.2.2/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/1.2.3/__init__.py delete mode 100644 lib/python_libtorrent/windows/1.2.3/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows/__init__.py delete mode 100644 lib/python_libtorrent/windows_x64/1.2.2/__init__.py delete mode 100644 lib/python_libtorrent/windows_x64/1.2.2/libtorrent.pyd delete mode 100644 lib/python_libtorrent/windows_x64/1.2.2/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows_x64/1.2.3/__init__.py delete mode 100644 lib/python_libtorrent/windows_x64/1.2.3/libtorrent.pyd.size.txt delete mode 100644 lib/python_libtorrent/windows_x64/__init__.py delete mode 100644 lib/quasar/daemon.py delete mode 100644 lib/quasar/navigation.py delete mode 100644 lib/quasar/osarch.py delete mode 100644 lib/quasar/util.py create mode 100644 resources/settings/elementum/settings.xml rename specials/{quasar_download.py => elementum_download.py} (69%) diff --git a/core/videolibrarytools.py b/core/videolibrarytools.py index f616bde4..22fd7140 100644 --- a/core/videolibrarytools.py +++ b/core/videolibrarytools.py @@ -1053,8 +1053,8 @@ def emergency_urls(item, channel=None, path=None, headers={}): for url in item_res.emergency_urls[0]: #Recorremos las urls de emergencia... torrents_path = re.sub(r'(?:\.\w+$)', '_%s.torrent' % str(i).zfill(2), path) path_real = '' - if magnet_caching_e or not url.startswith('magnet'): - path_real = torrent.caching_torrents(url, referer, post, torrents_path=torrents_path, headers=headers) #... para descargar los .torrents + # if magnet_caching_e or not url.startswith('magnet'): + # path_real = torrent.caching_torrents(url, referer, post, torrents_path=torrents_path, headers=headers) #... para descargar los .torrents if path_real: #Si ha tenido éxito... item_res.emergency_urls[0][i-1] = path_real.replace(videolibrary_path, '') #se guarda el "path" relativo i += 1 diff --git a/lib/btserver/__init__.py b/lib/btserver/__init__.py deleted file mode 100644 index d8828c0f..00000000 --- a/lib/btserver/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# -*- coding: utf-8 -*- - -from client import Client - -__all__ = ["Client"] diff --git a/lib/btserver/cache.py b/lib/btserver/cache.py deleted file mode 100644 index 81605bdb..00000000 --- a/lib/btserver/cache.py +++ /dev/null @@ -1,92 +0,0 @@ -# -*- coding: utf-8 -*- -# ------------------------------------------------------------ -# Gestiona el cache del servidor torrent: -# Guarda los .torrent generado -# Guarda los .resume de cada torrent -# ------------------------------------------------------------ -import base64 -import os.path -import re -import traceback - -try: - import xbmc, xbmcgui -except: - pass - -from platformcode import config -LIBTORRENT_PATH = config.get_setting("libtorrent_path", server="torrent", default='') - -from servers import torrent as torr -lt, e, e1, e2 = torr.import_libtorrent(LIBTORRENT_PATH) - - -class Cache(object): - CACHE_DIR = '.cache' - - def __init__(self, path): - - if not os.path.isdir(path): - os.makedirs(path) - self.path = os.path.join(path, Cache.CACHE_DIR) - if not os.path.isdir(self.path): - os.makedirs(self.path) - - def _tname(self, info_hash): - return os.path.join(self.path, info_hash.upper() + '.torrent') - - def _rname(self, info_hash): - return os.path.join(self.path, info_hash.upper() + '.resume') - - def save_resume(self, info_hash, data): - f = open(self._rname(info_hash), 'wb') - f.write(data) - f.close() - - def get_resume(self, url=None, info_hash=None): - if url: - info_hash = self._index.get(url) - if not info_hash: - return - rname = self._rname(info_hash) - if os.access(rname, os.R_OK): - f = open(rname, 'rb') - v = f.read() - f.close() - return v - - def file_complete(self, torrent): - info_hash = str(torrent.info_hash()) - nt = lt.create_torrent(torrent) - tname = self._tname(info_hash) - f = open(tname, 'wb') - f.write(lt.bencode(nt.generate())) - f.close() - - def get_torrent(self, url=None, info_hash=None): - if url: - info_hash = self._index.get(url) - if not info_hash: - return - tname = self._tname(info_hash) - if os.access(tname, os.R_OK): - return tname - - magnet_re = re.compile('xt=urn:btih:([0-9A-Za-z]+)') - hexa_chars = re.compile('^[0-9A-F]+$') - - @staticmethod - def hash_from_magnet(m): - res = Cache.magnet_re.search(m) - if res: - ih = res.group(1).upper() - if len(ih) == 40 and Cache.hexa_chars.match(ih): - return res.group(1).upper() - elif len(ih) == 32: - s = base64.b32decode(ih) - return "".join("{:02X}".format(ord(c)) for c in s) - else: - raise ValueError('Not BT magnet link') - - else: - raise ValueError('Not BT magnet link') diff --git a/lib/btserver/client.py b/lib/btserver/client.py deleted file mode 100644 index 3233dfaf..00000000 --- a/lib/btserver/client.py +++ /dev/null @@ -1,669 +0,0 @@ -# -*- coding: utf-8 -*- - -import os -import pickle -import random -import time -import urllib - -try: - import xbmc, xbmcgui -except: - pass - -from platformcode import config, logger -LIBTORRENT_PATH = config.get_setting("libtorrent_path", server="torrent", default='') - -from servers import torrent as torr -lt, e, e1, e2 = torr.import_libtorrent(LIBTORRENT_PATH) - -from cache import Cache -from dispatcher import Dispatcher -from file import File -from handler import Handler -from monitor import Monitor -from resume_data import ResumeData -from server import Server - -try: - BUFFER = int(config.get_setting("bt_buffer", server="torrent", default="50")) -except: - BUFFER = 50 - config.set_setting("bt_buffer", "50", server="torrent") -DOWNLOAD_PATH = config.get_setting("bt_download_path", server="torrent", default=config.get_setting("downloadpath")) -BACKGROUND = config.get_setting("mct_background_download", server="torrent", default=True) -RAR = config.get_setting("mct_rar_unpack", server="torrent", default=True) -msg_header = 'Client Torrent BT' - - -class Client(object): - INITIAL_TRACKERS = ['udp://tracker.openbittorrent.com:80', - 'udp://tracker.istole.it:80', - 'udp://open.demonii.com:80', - 'udp://tracker.coppersurfer.tk:80', - 'udp://tracker.leechers-paradise.org:6969', - 'udp://exodus.desync.com:6969', - 'udp://tracker.publicbt.com:80', - 'http://tracker.torrentbay.to:6969/announce', - 'http://tracker.pow7.com/announce', - 'udp://tracker.ccc.de:80/announce', - 'udp://open.demonii.com:1337', - 'http://9.rarbg.com:2710/announce', - 'http://bt.careland.com.cn:6969/announce', - 'http://explodie.org:6969/announce', - 'http://mgtracker.org:2710/announce', - 'http://tracker.best-torrents.net:6969/announce', - 'http://tracker.tfile.me/announce', - 'http://tracker1.wasabii.com.tw:6969/announce', - 'udp://9.rarbg.com:2710/announce', - 'udp://9.rarbg.me:2710/announce', - 'udp://coppersurfer.tk:6969/announce', - 'http://www.spanishtracker.com:2710/announce', - 'http://www.todotorrents.com:2710/announce' - ] ### Added some trackers from MCT - - VIDEO_EXTS = {'.avi': 'video/x-msvideo', '.mp4': 'video/mp4', '.mkv': 'video/x-matroska', - '.m4v': 'video/mp4', '.mov': 'video/quicktime', '.mpg': 'video/mpeg', '.ogv': 'video/ogg', - '.ogg': 'video/ogg', '.webm': 'video/webm', '.ts': 'video/mp2t', '.3gp': 'video/3gpp', - '.rar': 'video/unrar'} - - def __init__(self, url=None, port=None, ip=None, auto_shutdown=True, wait_time=20, timeout=5, auto_delete=True, - temp_path=None, is_playing_fnc=None, print_status=False): - - # server - if port: - self.port = port - else: - self.port = random.randint(8000, 8099) - if ip: - self.ip = ip - else: - self.ip = "127.0.0.1" - self.server = Server((self.ip, self.port), Handler, client=self) - - # Options - if temp_path: - self.temp_path = temp_path - else: - self.temp_path = DOWNLOAD_PATH - self.is_playing_fnc = is_playing_fnc - self.timeout = timeout - self.auto_delete = auto_delete - self.wait_time = wait_time - self.auto_shutdown = auto_shutdown - self.buffer_size = BUFFER - self.first_pieces_priorize = BUFFER - self.last_pieces_priorize = 5 - self.state_file = "state" - try: - self.torrent_paramss = {'save_path': self.temp_path, 'storage_mode': lt.storage_mode_t.storage_mode_allocate} - except Exception as e: - try: - do = xbmcgui.Dialog() - e = e1 or e2 - do.ok(config.get_localized_string(30035) + 'BT Libtorrent', config.get_localized_string(30036), config.get_localized_string(60015), str(e)) - except: - pass - return - - # State - self.has_meta = False - self.meta = None - self.start_time = None - self.last_connect = 0 - self.connected = False - self.closed = False - self.file = None - self.files = None - self._th = None - self.seleccion = 0 - self.index = 0 - - # Sesion - self._cache = Cache(self.temp_path) - self._ses = lt.session() - #self._ses.listen_on(0, 0) ### ALFA: it blocks repro of some .torrents - # Cargamos el archivo de estado (si existe) - """ ### ALFA: it blocks repro of some .torrents - if os.path.exists(os.path.join(self.temp_path, self.state_file)): - try: - f = open(os.path.join(self.temp_path, self.state_file), "rb") - state = pickle.load(f) - self._ses.load_state(state) - f.close() - except: - pass - """ - - self._start_services() - - # Monitor & Dispatcher - self._monitor = Monitor(self) - if print_status: - self._monitor.add_listener(self.print_status) - self._monitor.add_listener(self._check_meta) - self._monitor.add_listener(self.save_state) - self._monitor.add_listener(self.priorize_start_file) - self._monitor.add_listener(self.announce_torrent) - - if self.auto_shutdown: - self._monitor.add_listener(self._auto_shutdown) - - self._dispatcher = Dispatcher(self) - self._dispatcher.add_listener(self._update_ready_pieces) - - # Iniciamos la URL - if url: - self.start_url(url) - - def set_speed_limits(self, download=0, upload=0): - """ - Función encargada de poner límites a la velocidad de descarga o subida - """ - if isinstance(download, int) and download > 0: - self._th.set_download_limit(download * 1024) - if isinstance(upload, int) and download > 0: - self._th.set_upload_limit(upload * 1024) - - def get_play_list(self): - """ - Función encargada de generar el playlist - """ - # Esperamos a lo metadatos - while not self.has_meta: - time.sleep(1) - - # Comprobamos que haya archivos de video - if self.files: - if len(self.files) > 1: - return "http://" + self.ip + ":" + str(self.port) + "/playlist.pls" - else: - return "http://" + self.ip + ":" + str(self.port) + "/" + urllib.quote(self.files[0].path) - - def get_files(self): - """ - Función encargada de genera el listado de archivos - """ - # Esperamos a lo metadatos - while not self.has_meta: - time.sleep(1) - files = [] - - # Comprobamos que haya archivos de video - if self.files: - # Creamos el dict con los archivos - for file in self.files: - n = file.path - u = "http://" + self.ip + ":" + str(self.port) + "/" + urllib.quote(n) - s = file.size - files.append({"name": n, "url": u, "size": s}) - - return files - - def _find_files(self, files, search=None): - """ - Función encargada de buscar los archivos reproducibles del torrent - """ - self.total_size = 0 - # Obtenemos los archivos que la extension este en la lista - videos = filter(lambda f: self.VIDEO_EXTS.has_key(os.path.splitext(f.path)[1]), files) - - if not videos: - raise Exception('No video files in torrent') - for v in videos: - self.total_size += v.size ### ALFA - videos[videos.index(v)].index = files.index(v) - return videos - - def set_file(self, f): - """ - Función encargada de seleccionar el archivo que vamos a servir y por tanto, priorizar su descarga - """ - # Seleccionamos el archivo que vamos a servir - fmap = self.meta.map_file(f.index, 0, 1) - self.file = File(f.path, self.temp_path, f.index, f.size, fmap, self.meta.piece_length(), self) - if self.seleccion < 0: ### ALFA - self.file.first_piece = 0 ### ALFA - self.file.last_piece = self.meta.num_pieces() ### ALFA - self.file.size = self.total_size ### ALFA - self.prioritize_file() - - def prioritize_piece(self, pc, idx): - """ - Función encargada de priorizar una determinada pieza - """ - piece_duration = 1000 - min_deadline = 2000 - dl = idx * piece_duration + min_deadline - """ ### ALFA - try: - self._th.set_piece_deadline(pc, dl, lt.deadline_flags.alert_when_available) - except: - pass - """ - - if idx == 0: - tail_pieces = 9 - # Piezas anteriores a la primera se desactivan - if (self.file.last_piece - pc) > tail_pieces: - for i in xrange(self.file.first_piece, pc): - self._th.piece_priority(i, 0) - self._th.reset_piece_deadline(i) - - # Piezas siguientes a la primera se activan - for i in xrange(pc + 1, self.file.last_piece + 1): - #self._th.piece_priority(i, 0) - self._th.piece_priority(i, 1) - - def prioritize_file(self): - """ - Función encargada de priorizar las piezas correspondientes al archivo seleccionado en la funcion set_file() - """ - priorities = [] - for i in xrange(self.meta.num_pieces()): - if i >= self.file.first_piece and i <= self.file.last_piece: - priorities.append(1) - else: - if self.index < 0: - priorities.append(1) ### ALFA - else: - priorities.append(0) ### ALFA - - self._th.prioritize_pieces(priorities) - - x = 0 - for i, _set in enumerate(self._th.piece_priorities()): - if _set > 0: x += 1 - #logger.info("***** Nº Pieza: %s: %s" % (i, str(_set))) - logger.info("***** Piezas %s : Activas: %s" % (str(i+1), str(x))) - logger.info("***** first_piece %s : last_piece: %s" % (str(self.file.first_piece), str(self.file.last_piece))) - - def download_torrent(self, url): - """ - Función encargada de descargar un archivo .torrent - """ - from core import httptools - - data = httptools.downloadpage(url).data - return data - - def start_url(self, uri): - """ - Función encargada iniciar la descarga del torrent desde la url, permite: - - Url apuntando a un .torrent - - Url magnet - - Archivo .torrent local - """ - - if self._th: - raise Exception('Torrent is already started') - - if uri.startswith('http://') or uri.startswith('https://'): - torrent_data = self.download_torrent(uri) - info = lt.torrent_info(lt.bdecode(torrent_data)) - tp = {'ti': info} - resume_data = self._cache.get_resume(info_hash=str(info.info_hash())) - if resume_data: - tp['resume_data'] = resume_data - - elif uri.startswith('magnet:'): - tp = {'url': uri} - resume_data = self._cache.get_resume(info_hash=Cache.hash_from_magnet(uri)) - if resume_data: - tp['resume_data'] = resume_data - - elif os.path.isfile(uri): - if os.access(uri, os.R_OK): - info = lt.torrent_info(uri) - tp = {'ti': info} - resume_data = self._cache.get_resume(info_hash=str(info.info_hash())) - if resume_data: - tp['resume_data'] = resume_data - else: - raise ValueError('Invalid torrent path %s' % uri) - else: - raise ValueError("Invalid torrent %s" % uri) - - tp.update(self.torrent_paramss) - self._th = self._ses.add_torrent(tp) - - for tr in self.INITIAL_TRACKERS: - self._th.add_tracker({'url': tr}) - - self._th.set_sequential_download(True) - self._th.force_reannounce() - self._th.force_dht_announce() - - self._monitor.start() - self._dispatcher.do_start(self._th, self._ses) - self.server.run() - - def stop(self): - """ - Función encargada de de detener el torrent y salir - """ - self._dispatcher.stop() - self._dispatcher.join() - self._monitor.stop() - self.server.stop() - self._dispatcher.stop() - if self._ses: - self._ses.pause() - if self._th: - self.save_resume() - self.save_state() - self._stop_services() - self._ses.remove_torrent(self._th, self.auto_delete) - del self._ses - self.closed = True - - def pause(self): - """ - Función encargada de de pausar el torrent - """ - self._ses.pause() - - def _start_services(self): - """ - Función encargada de iniciar los servicios de libtorrent: dht, lsd, upnp, natpnp - """ - self._ses.add_dht_router("router.bittorrent.com", 6881) - self._ses.add_dht_router("router.bitcomet.com", 554) - self._ses.add_dht_router("router.utorrent.com", 6881) - self._ses.add_dht_router("dht.transmissionbt.com",6881) ### from MCT - self._ses.start_dht() - self._ses.start_lsd() - self._ses.start_upnp() - self._ses.start_natpmp() - - def _stop_services(self): - """ - Función encargada de detener los servicios de libtorrent: dht, lsd, upnp, natpnp - """ - self._ses.stop_natpmp() - self._ses.stop_upnp() - self._ses.stop_lsd() - self._ses.stop_dht() - - def save_resume(self): - """ - Función encargada guardar los metadatos para continuar una descarga mas rapidamente - """ - if self._th.need_save_resume_data() and self._th.is_valid() and self.meta: - r = ResumeData(self) - start = time.time() - while (time.time() - start) <= 5: - if r.data or r.failed: - break - time.sleep(0.1) - if r.data: - self._cache.save_resume(self.unique_file_id, lt.bencode(r.data)) - - @property - def status(self): - """ - Función encargada de devolver el estado del torrent - """ - if self._th: - s = self._th.status() - # Download Rate - s._download_rate = s.download_rate / 1024 - - # Progreso del archivo - if self.file: - pieces = s.pieces[self.file.first_piece:self.file.last_piece] ### ALFA - progress = float(sum(pieces)) / len(pieces) - s.pieces_len = len(pieces) ### ALFA - s.pieces_sum = sum(pieces) ### ALFA - #logger.info('***** Estado piezas: %s' % pieces) - else: - progress = 0 - s.pieces_len = 0 ### ALFA - s.pieces_sum = 0 ### ALFA - - s.progress_file = progress * 100 - - # Tamaño del archivo - s.file_name = '' ### ALFA - s.seleccion = '' ### ALFA - - if self.file: - s.seleccion = self.seleccion ### ALFA - s.file_name = self.file.path ### ALFA - s.file_size = self.file.size / 1048576.0 - else: - s.file_size = 0 - - # Estado del buffer - if self.file and self.file.cursor: # Con una conexion activa: Disponible vs Posicion del reproductor - percent = len(self.file.cursor.cache) - percent = percent * 100 / self.buffer_size - s.buffer = int(percent) - - elif self.file: # Sin una conexion activa: Pre-buffer antes de iniciar - # El Pre-buffer consta de dos partes_ - # 1. Buffer al inicio del archivo para que el reproductor empieze sin cortes - # 2. Buffer al final del archivo (en algunos archivos el reproductor mira el final del archivo antes de comenzar) - bp = [] - - # El tamaño del buffer de inicio es el tamaño del buffer menos el tamaño del buffer del final - first_pieces_priorize = self.buffer_size - self.last_pieces_priorize - - # Comprobamos qué partes del buffer del inicio estan disponibles - for x in range(first_pieces_priorize): - if self._th.have_piece(self.file.first_piece + x): - bp.append(True) - else: - bp.append(False) - - # Comprobamos qué partes del buffer del final estan disponibles - for x in range(self.last_pieces_priorize): - if self._th.have_piece(self.file.last_piece - x): - bp.append(True) - else: - bp.append(False) - - s.buffer = int(sum(bp) * 100 / self.buffer_size) - - else: # Si no hay ningun archivo seleccionado: No hay buffer - s.buffer = 0 - - # Tiempo restante para cerrar en caso de tener el timeout activo - if self.auto_shutdown: - if self.connected: - if self.timeout: - s.timeout = int(self.timeout - (time.time() - self.last_connect - 1)) - if self.file and self.file.cursor: - s.timeout = self.timeout - if s.timeout < 0: s.timeout = "Cerrando" - else: - s.timeout = "---" - else: - if self.start_time and self.wait_time: - s.timeout = int(self.wait_time - (time.time() - self.start_time - 1)) - if s.timeout < 0: s.timeout = "Cerrando" - else: - s.timeout = "---" - - else: - s.timeout = "Off" - - # Estado de la descarga - STATE_STR = ['Queued', 'Checking', 'Downloading Metadata', \ - 'Downloading', 'Finalized', 'Seeding', 'Allocating', 'Checking Fastresume'] - s.str_state = STATE_STR[s.state] - - # Estado DHT - if self._ses.dht_state() is not None: - s.dht_state = "On" - s.dht_nodes = self._ses.status().dht_nodes - else: - s.dht_state = "Off" - s.dht_nodes = 0 - - # Cantidad de Trackers - s.trackers = len(self._th.trackers()) - - # Origen de los peers - s.dht_peers = 0 - s.trk_peers = 0 - s.pex_peers = 0 - s.lsd_peers = 0 - - for peer in self._th.get_peer_info(): - if peer.source & 1: - s.trk_peers += 1 - if peer.source & 2: - s.dht_peers += 1 - if peer.source & 4: - s.pex_peers += 1 - if peer.source & 8: - s.lsd_peers += 1 - - return s - - """ - Servicios: - - Estas funciones se ejecutan de forma automatica cada x tiempo en otro Thread. - - Estas funciones son ejecutadas mientras el torrent esta activo algunas pueden desactivarse - segun la configuracion como por ejemplo la escritura en el log - """ - - def _auto_shutdown(self, *args, **kwargs): - """ - Servicio encargado de autoapagar el servidor - """ - if self.file and self.file.cursor: - self.last_connect = time.time() - self.connected = True - - if self.is_playing_fnc and self.is_playing_fnc(): - self.last_connect = time.time() - self.connected = True - - if self.auto_shutdown: - # shudown por haber cerrado el reproductor - if self.connected and self.is_playing_fnc and not self.is_playing_fnc(): - if time.time() - self.last_connect - 1 > self.timeout: - self.stop() - - # shutdown por no realizar ninguna conexion - if (not self.file or not self.file.cursor) and self.start_time and self.wait_time and not self.connected: - if time.time() - self.start_time - 1 > self.wait_time: - self.stop() - - # shutdown tras la ultima conexion - if (not self.file or not self.file.cursor) and self.timeout and self.connected and not self.is_playing_fnc: - if time.time() - self.last_connect - 1 > self.timeout: - self.stop() - - def announce_torrent(self): - """ - Servicio encargado de anunciar el torrent - """ - self._th.force_reannounce() - self._th.force_dht_announce() - - def save_state(self): - """ - Servicio encargado de guardar el estado - """ - state = self._ses.save_state() - f = open(os.path.join(self.temp_path, self.state_file), 'wb') - pickle.dump(state, f) - f.close() - - def _update_ready_pieces(self, alert_type, alert): - """ - Servicio encargado de informar que hay una pieza disponible - """ - if alert_type == 'read_piece_alert' and self.file: - self.file.update_piece(alert.piece, alert.buffer) - - def _check_meta(self): - """ - Servicio encargado de comprobar si los metadatos se han descargado - """ - if self.status.state >= 3 and self.status.state <= 5 and not self.has_meta: - - # Guardamos los metadatos - self.meta = self._th.get_torrent_info() - - # Obtenemos la lista de archivos del meta - fs = self.meta.files() - if isinstance(fs, list): - files = fs - else: - files = [fs.at(i) for i in xrange(fs.num_files())] - - # Guardamos la lista de archivos - self.files = self._find_files(files) - - # Si hay varios vídeos (no RAR), se selecciona el vídeo o "todos" - lista = [] - seleccion = 0 - for file in self.files: - if '.rar' in str(file.path): - seleccion = -9 - lista += [os.path.split(str(file.path))[1]] - if len(lista) > 1 and seleccion >= 0: - d = xbmcgui.Dialog() - seleccion = d.select(msg_header + config.get_localized_string(30034), lista) - - if seleccion < 0: - index = 0 - self.index = seleccion - else: - index = seleccion - self.index = self.files[index].index - self.seleccion = seleccion - - # Marcamos el primer archivo como activo - self.set_file(self.files[index]) - - # Damos por iniciada la descarga - self.start_time = time.time() - - # Guardamos el .torrent en el cache - self._cache.file_complete(self._th.get_torrent_info()) - - self.has_meta = True - - def priorize_start_file(self): - ''' - Servicio encargado de priorizar el principio y final de archivo cuando no hay conexion - ''' - if self.file and not self.file.cursor: - num_start_pieces = self.buffer_size - self.last_pieces_priorize # Cantidad de piezas a priorizar al inicio - num_end_pieces = self.last_pieces_priorize # Cantidad de piezas a priorizar al final - - pieces_count = 0 - # Priorizamos las ultimas piezas - for y in range(self.file.last_piece - num_end_pieces, self.file.last_piece + 1): - if not self._th.have_piece(y): - self.prioritize_piece(y, pieces_count) - pieces_count += 1 - - # Priorizamos las primeras piezas - for y in range(self.file.first_piece, self.file.last_piece + 1): - if not self._th.have_piece(y): - if pieces_count == self.buffer_size: - break - self.prioritize_piece(y, pieces_count) - pieces_count += 1 - - def print_status(self): - ''' - Servicio encargado de mostrar en el log el estado de la descarga - ''' - s = self.status ### ALFA - if self.seleccion >= 0: - archivo = self.seleccion + 1 - else: - archivo = self.seleccion - - logger.info( - '%.2f%% de %.1fMB %s | %.1f kB/s | #%s %d%% | AutoClose: %s | S: %d(%d) P: %d(%d)) | TRK: %d DHT: %d PEX: %d LSD %d | DHT:%s (%d) | Trakers: %d | Pieces: %d (%d)' % \ - (s.progress_file, s.file_size, s.str_state, s._download_rate, archivo, s.buffer, s.timeout, s.num_seeds, \ - s.num_complete, s.num_peers, s.num_incomplete, s.trk_peers, s.dht_peers, s.pex_peers, s.lsd_peers, - s.dht_state, s.dht_nodes, s.trackers, s.pieces_sum, s.pieces_len)) ### ALFA diff --git a/lib/btserver/cursor.py b/lib/btserver/cursor.py deleted file mode 100644 index 5ecccfda..00000000 --- a/lib/btserver/cursor.py +++ /dev/null @@ -1,106 +0,0 @@ -# -*- coding: utf-8 -*- - -from threading import Lock, Event - - -class Cursor(object): - def __init__(self, file): - self._file = file - self.pos = 0 - self.timeout = 30 - self.cache_size = self._file._client.buffer_size - self.cache = {} - self.lock = Lock() - self.event = Event() - self.cache_first = 0 - - def fill_cache(self, first): - self.cache_first = first - - with self.lock: - for p in sorted(self.cache): - if p < first: del self.cache[p] - - self.event.clear() - for i in xrange(first, first + self.cache_size): - if i <= self._file.last_piece: - self._file._client.prioritize_piece(i, i - first) - - def has_piece(self, n): - with self.lock: - return n in self.cache - - def _wait_piece(self, pc_no): - while not self.has_piece(pc_no): - self.fill_cache(pc_no) - self.event.wait(self.timeout) - - def _get_piece(self, n): - with self.lock: - if not n in self.cache: - raise ValueError('index of of scope of current cache') - return self.cache[n] - - def get_piece(self, n): - self._wait_piece(n) - return self._get_piece(n) - - def close(self): - self._file.cursor = None - - def read(self, size=None): - data = "" - max_size = self._file.size - self.pos - if not size: - size = max_size - else: - size = min(size, max_size) - - if size: - pc_no, ofs = self._file.map_piece(self.pos) - data = self.get_piece(pc_no)[ofs: ofs + size] - - if len(data) < size: - remains = size - len(data) - pc_no += 1 - self.fill_cache(pc_no) - while remains and self.has_piece(pc_no): - sz = min(remains, self._file.piece_size) - data += self.get_piece(pc_no)[:sz] - remains -= sz - if remains: - pc_no += 1 - self.fill_cache(pc_no) - - self.pos += len(data) - - return data - - def seek(self, n): - if n > self._file.size: - n = self._file.size - elif n < 0: - raise ValueError('Seeking negative') - self.pos = n - - def tell(self): - return self.pos - - def update_piece(self, n, data): - with self.lock: - pcs = sorted(self.cache) - if len(pcs) < self.cache_size: - if len(pcs): - new = max(pcs) + 1 - else: - new = self.cache_first - if n == new: - self.cache[n] = data - if n == self.cache_first: - self.event.set() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.close() diff --git a/lib/btserver/dispatcher.py b/lib/btserver/dispatcher.py deleted file mode 100644 index c0edfa01..00000000 --- a/lib/btserver/dispatcher.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- - -from monitor import Monitor - -import traceback - -try: - import xbmc, xbmcgui -except: - pass - -from platformcode import config -LIBTORRENT_PATH = config.get_setting("libtorrent_path", server="torrent", default='') - -from servers import torrent as torr -lt, e, e1, e2 = torr.import_libtorrent(LIBTORRENT_PATH) - - -class Dispatcher(Monitor): - def __init__(self, client): - super(Dispatcher, self).__init__(client) - - def do_start(self, th, ses): - self._th = th - self._ses = ses - self.start() - - def run(self): - if not self._ses: - raise Exception('Invalid state, session is not initialized') - - while self.running: - a = self._ses.wait_for_alert(1000) - if a: - alerts = self._ses.pop_alerts() - for alert in alerts: - with self.lock: - for cb in self.listeners: - cb(lt.alert.what(alert), alert) diff --git a/lib/btserver/file.py b/lib/btserver/file.py deleted file mode 100644 index 0d8d9742..00000000 --- a/lib/btserver/file.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- - -import os - -from cursor import Cursor - - -class File(object): - def __init__(self, path, base, index, size, fmap, piece_size, client): - self._client = client - self.path = path - self.base = base - self.index = index - self.size = size - - self.piece_size = piece_size - - self.full_path = os.path.join(base, path) - self.first_piece = fmap.piece - self.offset = fmap.start - self.last_piece = self.first_piece + max((size - 1 + fmap.start), 0) // piece_size - - self.cursor = None - - def create_cursor(self, offset=None): - self.cursor = Cursor(self) - if offset: - self.cursor.seek(offset) - return self.cursor - - def map_piece(self, ofs): - return self.first_piece + (ofs + self.offset) // self.piece_size, (ofs + self.offset) % self.piece_size - - def update_piece(self, n, data): - if self.cursor: - self.cursor.update_piece(n, data) - - def __str__(self): - return self.path diff --git a/lib/btserver/handler.py b/lib/btserver/handler.py deleted file mode 100644 index 7ddb9705..00000000 --- a/lib/btserver/handler.py +++ /dev/null @@ -1,135 +0,0 @@ -# -*- coding: utf-8 -*- - -import BaseHTTPServer -import os -import re -import time -import types -import urllib -import urlparse - -RANGE_RE = re.compile(r'bytes=(\d+)-') - - -def parse_range(range): # @ReservedAssignment - if range: - m = RANGE_RE.match(range) - if m: - try: - return int(m.group(1)) - except: - pass - return 0 - - -class Handler(BaseHTTPServer.BaseHTTPRequestHandler): - protocol_version = 'HTTP/1.1' - - def log_message(self, format, *args): - pass - - def do_GET(self): - if self.server.request: - self.server.request.wfile.close() - self.server.request = self - - if self.do_HEAD(): - f = self.server.file.create_cursor(self.offset) - while f == self.server.file.cursor: - buf = f.read(1024) - if buf: - try: - self.wfile.write(buf) - except: - break - else: - break - f.close() - - def send_pls(self, files): - playlist = "[playlist]\n\n" - for x, f in enumerate(files): - playlist += "File" + str(x + 1) + "=http://127.0.0.1:" + str(self.server._client.port) + "/" + urllib.quote( - f.path) + "\n" - playlist += "Title" + str(x + 1) + "=" + f.path + "\n" - playlist += "NumberOfEntries=" + str(len(files)) - playlist += "Version=2" - self.send_response(200, 'OK') - self.send_header("Content-Length", str(len(playlist))) - self.finish_header() - self.wfile.write(playlist) - - def do_HEAD(self): - url = urlparse.urlparse(self.path).path - - '''Whait to list of files ''' - while not self.server._client.files: - time.sleep(1) - - files = self.server._client.files - self.server.file = self.server._client.file - - '''Creates PLS playlist ''' - if url == "/playlist.pls": - self.send_pls(files) - return False - - '''Change File to download ''' - if not self.server.file or urllib.unquote(url) != '/' + self.server.file.path: - file = urllib.unquote(url) - client = self.server._client - for f in client.files: - if file == '/' + f.path: - client.set_file(f) - self.server.file = client.file - break - - while not self.server._client.has_meta: - time.sleep(1) - if self.server.file and urllib.unquote(url) == '/' + self.server.file.path: - self.offset = 0 - size, mime = self._file_info() - range = parse_range(self.headers.get('Range', None)) - if range: - self.offset = range - range = (range, size - 1, size) - - self.send_resp_header(mime, size, range) - return True - - else: - self.send_error(404, 'Not Found') - - def _file_info(self): - size = self.server.file.size - ext = os.path.splitext(self.server.file.path)[1] - mime = self.server._client.VIDEO_EXTS.get(ext) - if not mime: - mime = 'application/octet-stream' - return size, mime - - def send_resp_header(self, cont_type, cont_length, range=False): # @ReservedAssignment - if range: - self.send_response(206, 'Partial Content') - else: - self.send_response(200, 'OK') - - self.send_header('Content-Type', cont_type) - self.send_header('transferMode.dlna.org', 'Streaming') - self.send_header('contentFeatures.dlna.org', - 'DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000') - self.send_header('Accept-Ranges', 'bytes') - - if range: - if isinstance(range, (types.TupleType, types.ListType)) and len(range) == 3: - self.send_header('Content-Range', 'bytes %d-%d/%d' % range) - self.send_header('Content-Length', range[1] - range[0] + 1) - else: - raise ValueError('Invalid range value') - else: - self.send_header('Content-Length', cont_length) - self.finish_header() - - def finish_header(self): - self.send_header('Connection', 'close') - self.end_headers() diff --git a/lib/btserver/monitor.py b/lib/btserver/monitor.py deleted file mode 100644 index 9fd40c70..00000000 --- a/lib/btserver/monitor.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- - -from threading import Thread, Lock, Event - - -class Monitor(Thread): - def __init__(self, client): - Thread.__init__(self) - self.daemon = True - self.listeners = [] - self.lock = Lock() - self.wait_event = Event() - self.running = True - self.client = client - self.ses = None - self.client = client - - def stop(self): - self.running = False - self.wait_event.set() - - def add_listener(self, cb): - with self.lock: - if not cb in self.listeners: - self.listeners.append(cb) - - def remove_listener(self, cb): - with self.lock: - try: - self.listeners.remove(cb) - except ValueError: - pass - - def remove_all_listeners(self): - with self.lock: - self.listeners = [] - - def run(self): - while (self.running): - with self.lock: - for cb in self.listeners: - cb() - - self.wait_event.wait(1.0) diff --git a/lib/btserver/resume_data.py b/lib/btserver/resume_data.py deleted file mode 100644 index a0c9d3eb..00000000 --- a/lib/btserver/resume_data.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- - -class ResumeData(object): - def __init__(self, client): - self.data = None - self.failed = False - client._dispatcher.add_listener(self._process_alert) - client._th.save_resume_data() - - def _process_alert(self, t, alert): - if t == 'save_resume_data_failed_alert': - self.failed = True - - elif t == 'save_resume_data_alert': - self.data = alert.resume_data diff --git a/lib/btserver/server.py b/lib/btserver/server.py deleted file mode 100644 index 17afecd4..00000000 --- a/lib/btserver/server.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- - -import BaseHTTPServer -import traceback -from SocketServer import ThreadingMixIn -from threading import Thread - - -class Server(ThreadingMixIn, BaseHTTPServer.HTTPServer): - daemon_threads = True - timeout = 1 - - def __init__(self, address, handler, client): - BaseHTTPServer.HTTPServer.__init__(self, address, handler) - self._client = client - self.file = None - self.running = True - self.request = None - - def stop(self): - self.running = False - - def serve(self): - while self.running: - try: - self.handle_request() - except: - print traceback.format_exc() - - def run(self): - t = Thread(target=self.serve, name='HTTP Server') - t.daemon = True - t.start() - - def handle_error(self, request, client_address): - if not "socket.py" in traceback.format_exc(): - print traceback.format_exc() diff --git a/lib/generictools.py b/lib/generictools.py index bca3395e..cd16bac8 100644 --- a/lib/generictools.py +++ b/lib/generictools.py @@ -44,25 +44,25 @@ def update_title(item): """ Utilidad para desambiguar Títulos antes de añadirlos a la Videoteca. Puede ser llamado desde Videolibrarytools o desde Episodios en un Canal. Si se llama desde un canal, la llamada sería así (incluida en post_tmdb_episodios(item, itemlist)): - + #Permitimos la actualización de los títulos, bien para uso inmediato, o para añadir a la videoteca item.from_action = item.action #Salvamos la acción... item.from_title = item.title #... y el título itemlist.append(item.clone(title="** [COLOR limegreen]Actualizar Títulos - vista previa videoteca[/COLOR] **", action="actualizar_titulos", extra="episodios", tmdb_stat=False)) - + El canal deberá añadir un método para poder recibir la llamada desde Kodi/Alfa, y poder llamar a este método: - + def actualizar_titulos(item): logger.info() itemlist = [] from lib import generictools from platformcode import launcher - + item = generictools.update_title(item) #Llamamos al método que actualiza el título con tmdb.find_and_set_infoLabels - + #Volvemos a la siguiente acción en el canal return launcher.run(item) - + Para desambiguar títulos, se provoca que TMDB pregunte por el título realmente deseado, borrando los IDs existentes El usuario puede seleccionar el título entre los ofrecidos en la primera pantalla o puede cancelar e introducir un nuevo título en la segunda pantalla @@ -71,7 +71,7 @@ def update_title(item): Si se cancela la segunda pantalla, la variable "scraper_return" estará en False. El usuario no quiere seguir """ #logger.debug(item) - + #Restauramos y borramos las etiquetas intermedias (si se ha llamado desde el canal) if item.from_action: item.action = item.from_action @@ -98,9 +98,9 @@ def update_title(item): from_title_tmdb = item.contentTitle else: from_title_tmdb = item.contentSerieName - + #Sólo ejecutamos este código si no se ha hecho antes en el Canal. Por ejemplo, si se ha llamado desde Episodios o Findvideos, - #ya no se ejecutará al Añadia a Videoteca, aunque desde el canal se podrá llamar tantas veces como se quiera, + #ya no se ejecutará al Añadia a Videoteca, aunque desde el canal se podrá llamar tantas veces como se quiera, #o hasta que encuentre un título no ambiguo if item.tmdb_stat: if item.from_title_tmdb: del item.from_title_tmdb @@ -121,14 +121,14 @@ def update_title(item): if item.infoLabels['imdb_id'] or item.infoLabels['imdb_id'] == None: item.infoLabels['imdb_id'] = '' if item.infoLabels['season']: del item.infoLabels['season'] #Funciona mal con num. de Temporada. Luego lo restauramos item.infoLabels['year'] = '-' - + if item.from_title: if item.from_title_tmdb: if scrapertools.find_single_match(item.from_title_tmdb, '^(?:\[COLOR \w+\])?(.*?)(?:\[)'): from_title_tmdb = scrapertools.find_single_match(item.from_title_tmdb, '^(?:\[COLOR \w+\])?(.*?)(?:\[)').strip() item.title = item.title.replace(from_title_tmdb, item.from_title) item.infoLabels['title'] = item.from_title - + if item.from_title_tmdb: del item.from_title_tmdb if not item.from_update and item.from_title: del item.from_title @@ -137,7 +137,7 @@ def update_title(item): item.contentTitle = item.contentSerieName else: item.infoLabels['originaltitle'] = item.contentTitle - + scraper_return = scraper.find_and_set_infoLabels(item) if not scraper_return: #Si el usuario ha cancelado, restituimos los datos a la situación inicial y nos vamos @@ -194,12 +194,12 @@ def update_title(item): item.wanted = item.contentTitle if new_item.contentSeason: #Restauramos el núm. de Temporada después de TMDB item.contentSeason = new_item.contentSeason - + if item.from_update: #Si la llamda es desde el menú del canal... - item.from_update = True + item.from_update = True del item.from_update xlistitem = refresh_screen(item) #Refrescamos la pantallas con el nuevo Item - + #Para evitar el "efecto memoria" de TMDB, se le llama con un título ficticio para que resetee los buffers if item.contentSerieName: new_item.infoLabels['tmdb_id'] = '289' #una serie no ambigua @@ -209,21 +209,21 @@ def update_title(item): if new_item.contentSeason: del new_item.infoLabels['season'] #Funciona mal con num. de Temporada scraper_return = scraper.find_and_set_infoLabels(new_item) - + #logger.debug(item) - + return item - + def refresh_screen(item): logger.info() - + """ #### Compatibilidad con Kodi 18 #### - + Refresca la pantalla con el nuevo Item después que haber establecido un dialogo que ha causado el cambio de Item Crea un xlistitem para engañar a Kodi con la función xbmcplugin.setResolvedUrl FALSE - + Entrada: item: El Item actualizado Salida: xlistitem El xlistitem creado, por si resulta de alguna utilidad posterior """ @@ -231,7 +231,7 @@ def refresh_screen(item): try: import xbmcplugin import xbmcgui - + xlistitem = xbmcgui.ListItem(path=item.url) #Creamos xlistitem por compatibilidad con Kodi 18 if config.get_platform(True)['num_version'] >= 16.0: xlistitem.setArt({"thumb": item.contentThumbnail}) #Cargamos el thumb @@ -243,34 +243,34 @@ def refresh_screen(item): time.sleep(1) #Dejamos tiempo para que se ejecute except: logger.error(traceback.format_exc()) - + platformtools.itemlist_update(item) #refrescamos la pantalla con el nuevo Item - + return xlistitem - - + + def post_tmdb_listado(item, itemlist): logger.info() itemlist_fo = [] - + """ - + Pasada para maquillaje de los títulos obtenidos desde TMDB en Listado y Listado_Búsqueda. - + Toma de infoLabel todos los datos de interés y los va situando en diferentes variables, principalmente título para que sea compatible con Unify, y si no se tienen Títulos Inteligentes, para que el formato sea lo más parecido al de Unify. - + También restaura varios datos salvados desde el título antes de pasarlo por TMDB, ya que mantenerlos no habría encontrado el título (title_subs) - + La llamada al método desde Listado o Listado_Buscar, despues de pasar Itemlist pot TMDB, es: - + from lib import generictools item, itemlist = generictools.post_tmdb_listado(item, itemlist) - + """ #logger.debug(item) - + #Borramos valores si ha habido fail-over channel_alt = '' if item.channel_alt: @@ -288,7 +288,7 @@ def post_tmdb_listado(item, itemlist): #item_local.title = re.sub(r'online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title, flags=re.IGNORECASE).strip() title = item_local.title #logger.debug(item_local) - + item_local.last_page = 0 del item_local.last_page #Borramos restos de paginación @@ -306,11 +306,11 @@ def post_tmdb_listado(item, itemlist): del item_local.library_filter_show if item_local.channel_host: del item_local.channel_host - + #Ajustamos el nombre de la categoría if item_local.channel == channel_py: item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize() - + #Restauramos la info adicional guarda en la lista title_subs, y la borramos de Item title_add = ' ' if item_local.title_subs: @@ -339,13 +339,13 @@ def post_tmdb_listado(item, itemlist): except: logger.error(traceback.format_exc()) - __modo_grafico__ = config.get_setting('modo_grafico', item.channel) - + __modo_grafico__ = config.get_setting('modo_grafico', item.channel) + # Si TMDB no ha encontrado el vídeo limpiamos el año if item_local.infoLabels['year'] == "-": item_local.infoLabels['year'] = '' item_local.infoLabels['aired'] = '' - + #Si traía el TMDB-ID, pero no ha funcionado, lo reseteamos e intentamos de nuevo if item_local.infoLabels['tmdb_id'] and not item_local.infoLabels['originaltitle']: logger.error("*** TMDB-ID erroneo, reseteamos y reintentamos ***") @@ -356,7 +356,7 @@ def post_tmdb_listado(item, itemlist): except: logger.error(traceback.format_exc()) logger.error(item_local) - + # Si TMDB no ha encontrado nada y hemos usado el año de la web, lo intentamos sin año if not item_local.infoLabels['tmdb_id']: if item_local.infoLabels['year']: #lo intentamos de nuevo solo si había año, puede que erroneo @@ -383,16 +383,16 @@ def post_tmdb_listado(item, itemlist): item_local.title = item_local.from_title item_local.title = re.sub(r'(?i)online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title).strip() title = item_local.title - + #Limpiamos calidad de títulos originales que se hayan podido colar if item_local.infoLabels['originaltitle'].lower() in item_local.quality.lower(): item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality) #item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) - + # Preparamos el título para series, con los núm. de temporadas, si las hay if item_local.contentType in ['season', 'tvshow', 'episode']: if item_local.contentType == "episode": - + #Si no está el título del episodio, pero sí está en "title", lo rescatamos if not item_local.infoLabels['episodio_titulo'] and item_local.infoLabels['title'].lower() != item_local.infoLabels['tvshowtitle'].lower(): item_local.infoLabels['episodio_titulo'] = item_local.infoLabels['title'] @@ -404,16 +404,16 @@ def post_tmdb_listado(item, itemlist): title = title.replace("99", str(item_local.infoLabels['temporada_num_episodios'])) title = '%s %s' % (title, item_local.contentSerieName) item_local.infoLabels['episodio_titulo'] = '%s - %s [%s] [%s]' % (scrapertools.find_single_match(title, r'(al \d+)'), item_local.contentSerieName, item_local.infoLabels['year'], rating) - + elif item_local.infoLabels['episodio_titulo']: title = '%s %s, %s' % (title, item_local.infoLabels['episodio_titulo'], item_local.contentSerieName) item_local.infoLabels['episodio_titulo'] = '%s, %s [%s] [%s]' % (item_local.infoLabels['episodio_titulo'], item_local.contentSerieName, item_local.infoLabels['year'], rating) - + else: #Si no hay título de episodio, ponermos el nombre de la serie if item_local.contentSerieName not in title: title = '%s %s' % (title, item_local.contentSerieName) item_local.infoLabels['episodio_titulo'] = '%s [%s] [%s]' % (item_local.contentSerieName, item_local.infoLabels['year'], rating) - + if not item_local.contentSeason or not item_local.contentEpisodeNumber: if "Episodio" in title_add: item_local.contentSeason, item_local.contentEpisodeNumber = scrapertools.find_single_match(title_add, 'Episodio (\d+)x(\d+)') @@ -434,11 +434,11 @@ def post_tmdb_listado(item, itemlist): elif item.action == "search" or item.extra == "search": title += " -Serie-" - + if (item_local.extra == "varios" or item_local.extra == "documentales") and (item.action == "search" or item.extra == "search" or item.action == "listado_busqueda"): title += " -Varios-" item_local.contentTitle += " -Varios-" - + title += title_add #Se añaden etiquetas adicionales, si las hay #Ahora maquillamos un poco los titulos dependiendo de si se han seleccionado títulos inteleigentes o no @@ -447,14 +447,14 @@ def post_tmdb_listado(item, itemlist): else: #Si Titulos Inteligentes SÍ seleccionados: title = title.replace("[", "-").replace("]", "-").replace(".", ",").replace("GB", "G B").replace("Gb", "G b").replace("gb", "g b").replace("MB", "M B").replace("Mb", "M b").replace("mb", "m b") - + #Limpiamos las etiquetas vacías if item_local.infoLabels['episodio_titulo']: item_local.infoLabels['episodio_titulo'] = item_local.infoLabels['episodio_titulo'].replace(" []", "").strip() title = title.replace("--", "").replace(" []", "").replace("()", "").replace("(/)", "").replace("[/]", "").strip() title = re.sub(r'\s?\[COLOR \w+\]\[\[?\s?\]?\]\[\/COLOR\]', '', title).strip() title = re.sub(r'\s?\[COLOR \w+\]\s?\[\/COLOR\]', '', title).strip() - + if item.category_new == "newest": #Viene de Novedades. Marcamos el título con el nombre del canal if scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/'): title += ' -%s-' % scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize() @@ -470,64 +470,64 @@ def post_tmdb_listado(item, itemlist): item_local.contentSeason, item_local.contentEpisodeNumber = scrapertools.find_single_match(title_add, 'Episodio (\d+)x(\d+)') item_local.title = title - + #logger.debug("url: " + item_local.url + " / title: " + item_local.title + " / content title: " + item_local.contentTitle + "/" + item_local.contentSerieName + " / calidad: " + item_local.quality + "[" + str(item_local.language) + "]" + " / year: " + str(item_local.infoLabels['year'])) - + #logger.debug(item_local) - + #Si intervención judicial, alerto!!! if item.intervencion: for clone_inter, autoridad in item.intervencion: thumb_intervenido = get_thumb(autoridad) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + clone_inter.capitalize() + ': [/COLOR]' + intervenido_judicial + '. Reportar el problema en el foro', thumbnail=thumb_intervenido)) del item.intervencion - + #Si ha habido fail-over, lo comento if channel_alt and item.category_new != "newest": itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + item.category + '[/COLOR] [ALT ] en uso')) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + channel_alt.capitalize() + '[/COLOR] inaccesible')) - + if len(itemlist_fo) > 0: itemlist = itemlist_fo + itemlist - + del item.category_new - + return (item, itemlist) def post_tmdb_seasons(item, itemlist): logger.info() - + """ - + Pasada para gestión del menú de Temporadas de una Serie - + La clave de activación de este método es la variable item.season_colapse que pone el canal en el Item de Listado. Esta variable tendrá que desaparecer cuando se añada a la Videoteca para que se analicen los episodios de la forma tradicional - + Repasa todos los episodios producidos en itemlist por "episodios" del canal para extraer las temporadas. Pone un título para Todas la Temps. Crea un menú con las diferentes temporadas, así como con los títulos de Actualización de Título y de Añadir a Videoteca Si ha habido un Fail-over o una Intervención Judicial, también lo anuncia - + La llamada al método desde Episodios, antes de pasar Itemlist pot TMDB, es: - + from lib import generictools item, itemlist = generictools.post_tmdb_seasons(item, itemlist) - + Si solo hay una temporada, devuelte el itemlist original para que se pinten los episodios de la forma tradicional - + """ #logger.debug(item) - + season = 0 itemlist_temporadas = [] itemlist_fo = [] - + if config.get_setting("no_pile_on_seasons", 'videolibrary') == 2: #Si no se quiere mostrar por temporadas, nos vamos... if item.season_colapse: #Quitamos el indicador de listado por Temporadas del item.season_colapse return (item, itemlist) - + #Restauramos valores si ha habido fail-over channel_alt = '' if item.channel == channel_py: @@ -544,21 +544,21 @@ def post_tmdb_seasons(item, itemlist): if item.url_alt: item.url = item.url_alt del item.url_alt - + # Primero creamos un título para TODAS las Temporadas # Pasada por TMDB a Serie, para datos adicionales try: tmdb.set_infoLabels(item, True) #TMDB de cada Temp except: logger.error(traceback.format_exc()) - + item_season = item.clone() if item_season.season_colapse: #Quitamos el indicador de listado por Temporadas del item_season.season_colapse title = '** Todas las Temporadas' #Agregamos título de TODAS las Temporadas (modo tradicional) if item_season.infoLabels['number_of_episodes']: #Ponemos el núm de episodios de la Serie title += ' [%sx%s epi]' % (str(item_season.infoLabels['number_of_seasons']), str(item_season.infoLabels['number_of_episodes'])) - + rating = '' #Ponemos el rating, si es diferente del de la Serie if item_season.infoLabels['rating'] and item_season.infoLabels['rating'] != 0.0: try: @@ -568,16 +568,16 @@ def post_tmdb_seasons(item, itemlist): logger.error(traceback.format_exc()) if rating and rating == 0.0: rating = '' - + if not config.get_setting("unify"): #Si Titulos Inteligentes NO seleccionados: title = '%s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR]' % (title, str(item_season.infoLabels['year']), rating, item_season.quality, str(item_season.language)) else: #Lo arreglamos un poco para Unify title = title.replace('[', '-').replace(']', '-').replace('.', ',').strip() title = title.replace("--", "").replace("[]", "").replace("()", "").replace("(/)", "").replace("[/]", "").strip() - + if config.get_setting("show_all_seasons", 'videolibrary'): itemlist_temporadas.append(item_season.clone(title=title, from_title_season_colapse=item.title)) - + #Repasamos todos los episodios para detectar las diferentes temporadas for item_local in itemlist: if item_local.contentSeason != season: @@ -586,22 +586,22 @@ def post_tmdb_seasons(item, itemlist): item_season.contentSeason = item_local.contentSeason #Se pone el núm de Temporada para obtener mejores datos de TMDB item_season.title = 'Temporada %s' % item_season.contentSeason itemlist_temporadas.append(item_season.clone(from_title_season_colapse=item.title)) - + #Si hay más de una temporada se sigue, o se ha forzado a listar por temporadas, si no se devuelve el Itemlist original if len(itemlist_temporadas) > 2 or config.get_setting("no_pile_on_seasons", 'videolibrary') == 0: for item_local in itemlist_temporadas: if "** Todas las Temporadas" in item_local.title: #Si es el título de TODAS las Temporadas, lo ignoramos continue - + # Pasada por TMDB a las Temporada try: tmdb.set_infoLabels(item_local, True) #TMDB de cada Temp except: logger.error(traceback.format_exc()) - + if item_local.infoLabels['temporada_air_date']: #Fecha de emisión de la Temp item_local.title += ' [%s]' % str(scrapertools.find_single_match(str(item_local.infoLabels['temporada_air_date']), r'\/(\d{4})')) - + #rating = '' #Ponemos el rating, si es diferente del de la Serie #if item_local.infoLabels['rating'] and item_local.infoLabels['rating'] != 0.0: # try: @@ -611,26 +611,26 @@ def post_tmdb_seasons(item, itemlist): # logger.error(traceback.format_exc()) #if rating and rating > 0.0: # item_local.title += ' [%s]' % str(rating) - + if item_local.infoLabels['temporada_num_episodios']: #Núm. de episodios de la Temp item_local.title += ' [%s epi]' % str(item_local.infoLabels['temporada_num_episodios']) - + if not config.get_setting("unify"): #Si Titulos Inteligentes NO seleccionados: item_local.title = '%s [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR]' % (item_local.title, item_local.quality, str(item_local.language)) else: #Lo arreglamos un poco para Unify item_local.title = item_local.title.replace("[", "-").replace("]", "-").replace(".", ",").replace("GB", "G B").replace("Gb", "G b").replace("gb", "g b").replace("MB", "M B").replace("Mb", "M b").replace("mb", "m b") item_local.title = item_local.title.replace("--", "").replace("[]", "").replace("()", "").replace("(/)", "").replace("[/]", "").strip() - + #logger.debug(item_local) - + else: #Si hay más de una temporada se sigue, si no se devuelve el Itemlist original if item.season_colapse: del item.season_colapse return (item, itemlist) - + #Permitimos la actualización de los títulos, bien para uso inmediato, o para añadir a la videoteca itemlist_temporadas.append(item.clone(title="** [COLOR yelow]Actualizar Títulos - vista previa videoteca[/COLOR] **", action="actualizar_titulos", tmdb_stat=False, from_action=item.action, from_title_tmdb=item.title, from_update=True)) - + #Es un canal estándar, sólo una linea de Añadir a Videoteca title = '' if item.infoLabels['status'] and item.infoLabels['status'].lower() == "ended": @@ -643,40 +643,40 @@ def post_tmdb_seasons(item, itemlist): thumb_intervenido = get_thumb(autoridad) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + clone_inter.capitalize() + ': [/COLOR]' + intervenido_judicial + '. Reportar el problema en el foro', thumbnail=thumb_intervenido)) del item.intervencion - + #Si ha habido fail-over, lo comento if channel_alt: itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + channel_alt.capitalize() + '[/COLOR] [ALT ] en uso')) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + item.category.capitalize() + '[/COLOR] inaccesible')) - + if len(itemlist_fo) > 0: itemlist_temporadas = itemlist_fo + itemlist_temporadas - + return (item, itemlist_temporadas) - - + + def post_tmdb_episodios(item, itemlist): logger.info() itemlist_fo = [] - + """ - + Pasada para maquillaje de los títulos obtenidos desde TMDB en Episodios. - + Toma de infoLabel todos los datos de interés y los va situando en diferentes variables, principalmente título para que sea compatible con Unify, y si no se tienen Títulos Inteligentes, para que el formato sea lo más parecido al de Unify. Lleva un control del num. de episodios por temporada, tratando de arreglar los errores de la Web y de TMDB - + La llamada al método desde Episodios, despues de pasar Itemlist pot TMDB, es: - + from lib import generictools item, itemlist = generictools.post_tmdb_episodios(item, itemlist) - + """ #logger.debug(item) - + modo_serie_temp = '' if config.get_setting('seleccionar_serie_temporada', item.channel) >= 0: modo_serie_temp = config.get_setting('seleccionar_serie_temporada', item.channel) @@ -691,7 +691,7 @@ def post_tmdb_episodios(item, itemlist): num_temporada = 1 num_temporada_max = 99 num_episodios_flag = True - + #Restauramos el num de Temporada para hacer más flexible la elección de Videoteca contentSeason = item.contentSeason if item.contentSeason_save: @@ -702,7 +702,7 @@ def post_tmdb_episodios(item, itemlist): #Ajustamos el nombre de la categoría if item.channel == channel_py: item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize() - + #Restauramos valores si ha habido fail-over channel_alt = '' if item.channel == channel_py: @@ -733,7 +733,7 @@ def post_tmdb_episodios(item, itemlist): del item.library_filter_show if item.channel_host: del item.channel_host - + for item_local in itemlist: #Recorremos el Itemlist generado por el canal if item_local.add_videolibrary: del item_local.add_videolibrary @@ -784,13 +784,13 @@ def post_tmdb_episodios(item, itemlist): item_local.unify = 'xyz' del item_local.unify item_local.title = re.sub(r'(?i)online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title).strip() - + #logger.debug(item_local) - + #Ajustamos el nombre de la categoría si es un clone de NewPct1 if item_local.channel == channel_py: item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize() - + #Restauramos valores para cada Episodio si ha habido fail-over de un clone de NewPct1 if item_local.channel == channel_py: if item_local.channel_alt: @@ -805,11 +805,11 @@ def post_tmdb_episodios(item, itemlist): host_org = scrapertools.find_single_match(item_local.url_alt, ':\/\/(.*?)\/') item_local.url = item_local.url.replace(host_act, host_org) del item_local.url_alt - + #Si está actualizando videoteca de una serie NewPct1, restauramos el channel con el nombre del clone if item_local.channel == channel_py and (item.library_playcounts or item.add_videolibrary): item_local.channel = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/') - + #Si el título de la serie está verificado en TMDB, se intenta descubrir los eisodios fuera de rango, #que son probables errores de la Web if item.tmdb_stat: @@ -826,7 +826,7 @@ def post_tmdb_episodios(item, itemlist): logger.error("ERROR 07: EPISODIOS: Num. de Temporada fuera de rango " + " / TEMPORADA: " + str(item_local.contentSeason) + " / " + str(item_local.contentEpisodeNumber) + " / MAX_TEMPORADAS: " + str(num_temporada_max) + " / LISTA_TEMPORADAS: " + str(num_episodios_lista)) item_local.contentSeason = 0 itemlist = sorted(itemlist, key=lambda it: (int(it.contentSeason), int(it.contentEpisodeNumber))) - + #Salvamos en número de episodios de la temporada try: if num_temporada != item_local.contentSeason: @@ -837,7 +837,7 @@ def post_tmdb_episodios(item, itemlist): except: num_episodios = 0 logger.error(traceback.format_exc()) - + #Preparamos el Rating del vídeo rating = '' try: @@ -848,7 +848,7 @@ def post_tmdb_episodios(item, itemlist): rating = '' except: logger.error(traceback.format_exc()) - + # Si TMDB no ha encontrado el vídeo limpiamos el año if item_local.infoLabels['year'] == "-": item_local.infoLabels['year'] = '' @@ -861,12 +861,12 @@ def post_tmdb_episodios(item, itemlist): if item_local.infoLabels['originaltitle'].lower() in item_local.quality.lower(): item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality) #item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) - + #Si no está el título del episodio, pero sí está en "title", lo rescatamos if not item_local.infoLabels['episodio_titulo'] and item_local.infoLabels['title'].lower() != item_local.infoLabels['tvshowtitle'].lower(): item_local.infoLabels['episodio_titulo'] = item_local.infoLabels['title'] item_local.infoLabels['episodio_titulo'] = item_local.infoLabels['episodio_titulo'].replace('GB', 'G B').replace('MB', 'M B') - + #Preparamos el título para que sea compatible con Añadir Serie a Videoteca if "Temporada" in item_local.title: #Compatibilizamos "Temporada" con Unify item_local.title = '%sx%s al 99 -' % (str(item_local.contentSeason), str(item_local.contentEpisodeNumber)) @@ -875,20 +875,20 @@ def post_tmdb_episodios(item, itemlist): item_local.title = item_local.title.replace("99", str(num_episodios)) item_local.title = '%s %s' % (item_local.title, item_local.contentSerieName) item_local.infoLabels['episodio_titulo'] = '%s - %s [%s] [%s]' % (scrapertools.find_single_match(item_local.title, r'(al \d+)'), item_local.contentSerieName, item_local.infoLabels['year'], rating) - + elif item_local.infoLabels['episodio_titulo']: - item_local.title = '%s %s' % (item_local.title, item_local.infoLabels['episodio_titulo']) + item_local.title = '%s %s' % (item_local.title, item_local.infoLabels['episodio_titulo']) item_local.infoLabels['episodio_titulo'] = '%s [%s] [%s]' % (item_local.infoLabels['episodio_titulo'], item_local.infoLabels['year'], rating) - + else: #Si no hay título de episodio, ponermos el nombre de la serie item_local.title = '%s %s' % (item_local.title, item_local.contentSerieName) item_local.infoLabels['episodio_titulo'] = '%s [%s] [%s]' % (item_local.contentSerieName, item_local.infoLabels['year'], rating) - + #Componemos el título final, aunque con Unify usará infoLabels['episodio_titulo'] item_local.infoLabels['title'] = item_local.infoLabels['episodio_titulo'] item_local.title = item_local.title.replace("[", "-").replace("]", "-") item_local.title = '%s [%s] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR]' % (item_local.title, item_local.infoLabels['year'], rating, item_local.quality, str(item_local.language)) - + #Quitamos campos vacíos item_local.infoLabels['episodio_titulo'] = item_local.infoLabels['episodio_titulo'].replace("[]", "").strip() item_local.infoLabels['title'] = item_local.infoLabels['title'].replace("[]", "").strip() @@ -896,7 +896,7 @@ def post_tmdb_episodios(item, itemlist): item_local.title = re.sub(r'\s?\[COLOR \w+\]\[\[?-?\s?\]?\]\[\/COLOR\]', '', item_local.title).strip() item_local.title = re.sub(r'\s?\[COLOR \w+\]-?\s?\[\/COLOR\]', '', item_local.title).strip() item_local.title = item_local.title.replace(".", ",").replace("GB", "G B").replace("Gb", "G b").replace("gb", "g b").replace("MB", "M B").replace("Mb", "M b").replace("mb", "m b") - + #Si la información de num. total de episodios de TMDB no es correcta, tratamos de calcularla if num_episodios < item_local.contentEpisodeNumber: num_episodios = item_local.contentEpisodeNumber @@ -913,11 +913,11 @@ def post_tmdb_episodios(item, itemlist): #logger.debug("title: " + item_local.title + " / url: " + item_local.url + " / calidad: " + item_local.quality + " / Season: " + str(item_local.contentSeason) + " / EpisodeNumber: " + str(item_local.contentEpisodeNumber) + " / num_episodios_lista: " + str(num_episodios_lista) + str(num_episodios_flag)) #logger.debug(item_local) - + #Si está actualizando videoteca de una serie NewPct1, restauramos el channel con el nombre del clone if item.channel == channel_py and (item.library_playcounts or item.add_videolibrary): item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/') - + #Terminado el repaso de cada episodio, cerramos con el pié de página #En primer lugar actualizamos todos los episodios con su núm máximo de episodios por temporada try: @@ -927,10 +927,10 @@ def post_tmdb_episodios(item, itemlist): except: logger.error("ERROR 07: EPISODIOS: Num de Temporada fuera de rango " + " / TEMPORADA: " + str(item_local.contentSeason) + " / " + str(item_local.contentEpisodeNumber) + " / MAX_TEMPORADAS: " + str(num_temporada_max) + " / LISTA_TEMPORADAS: " + str(num_episodios_lista)) logger.error(traceback.format_exc()) - + #Permitimos la actualización de los títulos, bien para uso inmediato, o para añadir a la videoteca itemlist.append(item.clone(title="** [COLOR yelow]Actualizar Títulos - vista previa videoteca[/COLOR] **", action="actualizar_titulos", tmdb_stat=False, from_action=item.action, from_title_tmdb=item.title, from_update=True)) - + #Borro num. Temporada si no viene de menú de Añadir a Videoteca y no está actualizando la Videoteca if not item.library_playcounts: #si no está actualizando la Videoteca if modo_serie_temp != '': #y puede cambiara a serie-temporada @@ -941,16 +941,16 @@ def post_tmdb_episodios(item, itemlist): if config.get_videolibrary_support() and len(itemlist) > 1: item_local = itemlist[-2] title = '' - + if item_local.infoLabels['temporada_num_episodios']: title += ' [Temp. de %s ep.]' % item_local.infoLabels['temporada_num_episodios'] - + if item_local.infoLabels['status'] and item_local.infoLabels['status'].lower() == "ended": title += ' [TERMINADA]' - + if item_local.quality: #La Videoteca no toma la calidad del episodio, sino de la serie. Pongo del episodio item.quality = item_local.quality - + if modo_serie_temp != '': #Estamos en un canal que puede seleccionar entre gestionar Series completas o por Temporadas #Tendrá una línea para Añadir la Serie completa y otra para Añadir sólo la Temporada actual @@ -967,7 +967,7 @@ def post_tmdb_episodios(item, itemlist): logger.error("ERROR 08: EPISODIOS: No se ha podido actualizar la URL a la nueva Temporada") logger.error(traceback.format_exc()) itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca-[/COLOR]" + title, action="add_serie_to_library")) - + elif modo_serie_temp == 1: #si es Serie damos la opción de guardar la última temporada o la serie completa itemlist.append(item.clone(title="[COLOR yellow]Añadir última Temp. a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="season", contentSeason=contentSeason, url=item_local.url, add_menu=True)) itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="tvshow", add_menu=True)) @@ -980,51 +980,51 @@ def post_tmdb_episodios(item, itemlist): else: #Es un canal estándar, sólo una linea de Añadir a Videoteca itemlist.append(item.clone(title="[COLOR yellow]Añadir esta serie a videoteca-[/COLOR]" + title, action="add_serie_to_library", extra="episodios", add_menu=True)) - + #Si intervención judicial, alerto!!! if item.intervencion: for clone_inter, autoridad in item.intervencion: thumb_intervenido = get_thumb(autoridad) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + clone_inter.capitalize() + ': [/COLOR]' + intervenido_judicial + '. Reportar el problema en el foro', thumbnail=thumb_intervenido)) del item.intervencion - + #Si ha habido fail-over, lo comento if channel_alt: itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + channel_alt.capitalize() + '[/COLOR] [ALT ] en uso')) itemlist_fo.append(item.clone(action='', title="[COLOR yellow]" + item.category.capitalize() + '[/COLOR] inaccesible')) - + if len(itemlist_fo) > 0: itemlist = itemlist_fo + itemlist if item.add_videolibrary: #Estamos Añadiendo a la Videoteca. del item.add_videolibrary #Borramos ya el indicador - if item.add_menu: #Opción que avisa si se ha añadido a la Videoteca - del item.add_menu #desde la página de Episodios o desde Menú Contextual + if item.add_menu: #Opción que avisa si se ha añadido a la Videoteca + del item.add_menu #desde la página de Episodios o desde Menú Contextual #logger.debug(item) - + return (item, itemlist) - - + + def post_tmdb_findvideos(item, itemlist): logger.info() - + """ - + Llamada para crear un pseudo título con todos los datos relevantes del vídeo. - + Toma de infoLabel todos los datos de interés y los va situando en diferentes variables, principalmente título. Lleva un control del num. de episodios por temporada - + La llamada al método desde Findvideos, al principio, es: - + from lib import generictools item, itemlist = generictools.post_tmdb_findvideos(item, itemlist) - + En Itemlist devuelve un Item con el pseudotítulo. Ahí el canal irá agregando el resto. - + """ #logger.debug(item) - + # Saber si estamos en una ventana emergente lanzada desde una viñeta del menú principal, # con la función "play_from_library" item.unify = False @@ -1037,11 +1037,11 @@ def post_tmdb_findvideos(item, itemlist): except: item.unify = config.get_setting("unify") logger.error(traceback.format_exc()) - + if item.contentSeason_save: #Restauramos el num. de Temporada item.contentSeason = item.contentSeason_save del item.contentSeason_save - + if item.library_filter_show: del item.library_filter_show @@ -1074,15 +1074,15 @@ def post_tmdb_findvideos(item, itemlist): category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize() if category: item.category = category - + if item.armagedon: #Es una situación catastrófica? itemlist.append(item.clone(action='', title=item.category + ': [COLOR hotpink]Usando enlaces de emergencia[/COLOR]')) - + #Quitamos el la categoría o nombre del título, si lo tiene if item.contentTitle: item.contentTitle = re.sub(r' -%s-' % item.category, '', item.contentTitle) item.title = re.sub(r' -%s-' % item.category, '', item.title) - + #Limpiamos de año y rating de episodios if item.infoLabels['episodio_titulo']: item.infoLabels['episodio_titulo'] = re.sub(r'\s?\[.*?\]', '', item.infoLabels['episodio_titulo']) @@ -1117,7 +1117,7 @@ def post_tmdb_findvideos(item, itemlist): except: tiempo = item.infoLabels['duration'] logger.error(traceback.format_exc()) - + elif item.contentChannel == 'videolibrary': #No hay, viene de la Videoteca? buscamos en la DB #Leo de la BD de Kodi la duración de la película o episodio. En "from_fields" se pueden poner las columnas que se quiera nun_records = 0 @@ -1130,7 +1130,7 @@ def post_tmdb_findvideos(item, itemlist): logger.error(traceback.format_exc()) if nun_records > 0: #Hay registros? #Es un array, busco el campo del registro: añadir en el FOR un fieldX por nueva columna - for strFileName, field1 in records: + for strFileName, field1 in records: tiempo = field1 try: #calculamos el timepo en hh:mm @@ -1144,11 +1144,11 @@ def post_tmdb_findvideos(item, itemlist): item.quality += ' [/COLOR][COLOR white][%s:%s h]' % (str(horas).zfill(2), str(resto).zfill(2)) #Lo agrego a Calidad del Servidor except: logger.error(traceback.format_exc()) - + #Ajustamos el nombre de la categoría if item.channel != channel_py: item.category = item.channel.capitalize() - + #Formateamos de forma especial el título para un episodio title = '' title_gen = '' @@ -1156,14 +1156,14 @@ def post_tmdb_findvideos(item, itemlist): title = '%sx%s' % (str(item.contentSeason), str(item.contentEpisodeNumber).zfill(2)) #Temporada y Episodio if item.infoLabels['temporada_num_episodios']: title = '%s (de %s)' % (title, str(item.infoLabels['temporada_num_episodios'])) #Total Episodios - - #Si son episodios múltiples, y viene de Videoteca, ponemos nombre de serie - if (" al " in item.title or " Al " in item.title) and not "al " in item.infoLabels['episodio_titulo']: + + #Si son episodios múltiples, y viene de Videoteca, ponemos nombre de serie + if (" al " in item.title or " Al " in item.title) and not "al " in item.infoLabels['episodio_titulo']: title = '%s al %s - ' % (title, scrapertools.find_single_match(item.title, '[al|Al] (\d+)')) else: title = '%s %s' % (title, item.infoLabels['episodio_titulo']) #Título Episodio title_gen = '%s, ' % title - + if item.contentType == "episode" or item.contentType == "season": #Series o Temporadas title_gen += '%s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR] [%s]' % (item.contentSerieName, item.infoLabels['year'], rating, item.quality, str(item.language), scrapertools.find_single_match(item.title, '\s\[(\d+,?\d*?\s\w[b|B])\]')) #Rating, Calidad, Idioma, Tamaño if item.infoLabels['status'] and item.infoLabels['status'].lower() == "ended": @@ -1183,7 +1183,7 @@ def post_tmdb_findvideos(item, itemlist): if not item.unify: #Si Titulos Inteligentes NO seleccionados: title_gen = '**- [COLOR gold]Enlaces Ver: [/COLOR]%s[COLOR gold] -**[/COLOR]' % (title_gen) else: #Si Titulos Inteligentes SÍ seleccionados: - title_gen = '[COLOR gold]Enlaces Ver: [/COLOR]%s' % (title_gen) + title_gen = '[COLOR gold]Enlaces Ver: [/COLOR]%s' % (title_gen) if item.channel_alt: title_gen = '[COLOR yellow]%s [/COLOR][ALT]: %s' % (item.category.capitalize(), title_gen) @@ -1197,10 +1197,10 @@ def post_tmdb_findvideos(item, itemlist): thumb_intervenido = get_thumb(autoridad) itemlist.append(item.clone(action='', title="[COLOR yellow]" + clone_inter.capitalize() + ': [/COLOR]' + intervenido_judicial + '. Reportar el problema en el foro', thumbnail=thumb_intervenido)) del item.intervencion - + #Pintamos el pseudo-título con toda la información disponible del vídeo itemlist.append(item.clone(action="", server = "", title=title_gen)) #Título con todos los datos del vídeo - + if item.action == 'show_result': #Viene de una búsqueda global channel = item.channel.capitalize() if item.from_channel == channel_py or item.channel == channel_py: @@ -1208,221 +1208,221 @@ def post_tmdb_findvideos(item, itemlist): elif item.from_channel: channel = item.from_channel.capitalize() item.quality = '[COLOR yellow][%s][/COLOR] %s' % (channel, item.quality) - + #agregamos la opción de Añadir a Videoteca para péliculas (no series) if (item.contentType == 'movie' or item.contentType == 'season') and item.contentChannel != "videolibrary": #Permitimos la actualización de los títulos, bien para uso inmediato, o para añadir a la videoteca itemlist.append(item.clone(title="** [COLOR yelow]Actualizar Títulos - vista previa videoteca[/COLOR] **", action="actualizar_titulos", extra="peliculas", tmdb_stat=False, from_action=item.action, from_title_tmdb=item.title, from_update=True)) - + if item.contentType == 'movie' and item.contentChannel != "videolibrary": itemlist.append(item.clone(title="**-[COLOR yellow] Añadir a la videoteca [/COLOR]-**", action="add_pelicula_to_library", extra="peliculas", from_action=item.action, from_title_tmdb=item.title)) - + #Añadimos la opción de ver trailers if item.contentChannel != "videolibrary": itemlist.append(item.clone(channel="trailertools", title="**-[COLOR magenta] Buscar Trailer [/COLOR]-**", action="buscartrailer", context="")) - + #logger.debug(item) - + return (item, itemlist) - - -def get_torrent_size(url, referer=None, post=None, torrents_path=None, data_torrent=False, \ - timeout=5, file_list=False, lookup=True, local_torr=None, headers={}, short_pad=False): - logger.info() - from servers import torrent - - """ - - Módulo extraido del antiguo canal ZenTorrent - - Calcula el tamaño de los archivos que contienen un .torrent. Descarga el archivo .torrent en una carpeta, - lo lee y descodifica. Si contiene múltiples archivos, suma el tamaño de todos ellos - - Llamada: generictools.get_torrent_size(url, data_torrent=False) - Entrada: url: url del archivo .torrent - Entrada: referer: url de referer en caso de llamada con post - Entrada: post: contenido del post en caso de llamada con post - Entrada: data_torrent: Flag por si se quiere el contenido del .torretn de vuelta - Salida: size: str con el tamaño y tipo de medida ( MB, GB, etc) - Salida: torrent_f: dict() con el contenido del .torrent (opcional) - Salida: files: dict() con los nombres de los archivos del torrent y su tamaño (opcional) - - """ - - def convert_size(size): - import math - if (size == 0): - return '0B' - size_name = ("B", "KB", "M·B", "G·B", "TB", "PB", "EB", "ZB", "YB") - i = int(math.floor(math.log(size, 1024))) - p = math.pow(1024, i) - #s = round(size / p, 2) - s = round(old_div(size, p), 2) - return '%s %s' % (s, size_name[i]) - - def decode(text): - try: - src = tokenize(text) - if not PY3: - data = decode_item(src.next, src.next()) #Py2 - else: - data = decode_item(src.__next__, next(src)) #Py3 - for token in src: # look for more tokens - raise SyntaxError("trailing junk") - except (AttributeError, ValueError, StopIteration): - try: - data = data - except: - data = src - return data - - def tokenize(text, match=re.compile("([idel])|(\d+):|(-?\d+)").match): - i = 0 - while i < len(text): - m = match(text, i) - s = m.group(m.lastindex) - i = m.end() - if m.lastindex == 2: - yield "s" - yield text[i:i + int(s)] - i = i + int(s) - else: - yield s - def decode_item(next, token): - if token == "i": - # integer: "i" value "e" - data = int(next()) - if next() != "e": - raise ValueError - elif token == "s": - # string: "s" value (virtual tokens) - data = next() - elif token == "l" or token == "d": - # container: "l" (or "d") values "e" - data = [] - tok = next() - while tok != "e": - data.append(decode_item(next, tok)) - tok = next() - if token == "d": - #data = dict(zip(data[0::2], data[1::2])) - data = dict(list(zip(data[0::2], data[1::2]))) - else: - raise ValueError - return data - - - #Móludo principal - size = '' - torrent_f = '' - torrent_file = '' - files = {} - try: - #torrents_path = config.get_videolibrary_path() + '/torrents' #path para dejar el .torrent +# def get_torrent_size(url, referer=None, post=None, torrents_path=None, data_torrent=False, \ +# timeout=5, file_list=False, lookup=True, local_torr=None, headers={}, short_pad=False): +# logger.info() +# from servers import torrent - #if not os.path.exists(torrents_path): - # os.mkdir(torrents_path) #si no está la carpeta la creamos - - #urllib.URLopener.version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0' - #urllib.urlretrieve(url, torrents_path + "/generictools.torrent") #desacargamos el .torrent a la carpeta - #torrent_file = open(torrents_path + "/generictools.torrent", "rb").read() #leemos el .torrent +# """ - if ((url and not local_torr) or url.startswith('magnet')): - torrents_path, torrent_file = torrent.caching_torrents(url, \ - referer=referer, post=post, torrents_path=torrents_path, \ - timeout=timeout, lookup=lookup, data_torrent=True, headers=headers) - elif local_torr: - torrent_file = filetools.read(local_torr) - if not torrent_file: - if not lookup: - return (size, torrents_path, torrent_f, files) - elif file_list and data_torrent: - return (size, torrent_f, files) - elif file_list: - return (size, files) - elif data_torrent: - return (size, torrent_f) - return size #Si hay un error, devolvemos el "size" y "torrent" vacíos +# Módulo extraido del antiguo canal ZenTorrent - torrent_f = decode(torrent_file) #decodificamos el .torrent +# Calcula el tamaño de los archivos que contienen un .torrent. Descarga el archivo .torrent en una carpeta, +# lo lee y descodifica. Si contiene múltiples archivos, suma el tamaño de todos ellos - #si sólo tiene un archivo, tomamos la longitud y la convertimos a una unidad legible, si no dará error - try: - sizet = torrent_f["info"]['length'] - size = convert_size(sizet) - - files = torrent_f["info"].copy() - if 'path' not in files: files.update({'path': ['']}) - if 'piece length' in files: del files['piece length'] - if 'pieces' in files: del files['pieces'] - if 'name' in files: del files['name'] - files = [files] - files.append({"__name": torrent_f["info"]["name"], 'length': 0}) - except: - pass - - #si tiene múltiples archivos sumamos la longitud de todos - if not size: - try: - check_video = scrapertools.find_multiple_matches(str(torrent_f["info"]["files"]), "'length': (\d+).*?}") - sizet = sum([int(i) for i in check_video]) - size = convert_size(sizet) - - files = torrent_f["info"]["files"][:] - files.append({"__name": torrent_f["info"]["name"], 'length': 0}) - - except: - size = 'ERROR' +# Llamada: generictools.get_torrent_size(url, data_torrent=False) +# Entrada: url: url del archivo .torrent +# Entrada: referer: url de referer en caso de llamada con post +# Entrada: post: contenido del post en caso de llamada con post +# Entrada: data_torrent: Flag por si se quiere el contenido del .torretn de vuelta +# Salida: size: str con el tamaño y tipo de medida ( MB, GB, etc) +# Salida: torrent_f: dict() con el contenido del .torrent (opcional) +# Salida: files: dict() con los nombres de los archivos del torrent y su tamaño (opcional) - except: - size = 'ERROR' - logger.error('ERROR al buscar el tamaño de un .Torrent: ' + str(url)) - logger.error(traceback.format_exc()) - - #try: - # os.remove(torrents_path + "/generictools.torrent") #borramos el .torrent - #except: - # pass +# """ + +# def convert_size(size): +# import math +# if (size == 0): +# return '0B' +# size_name = ("B", "KB", "M·B", "G·B", "TB", "PB", "EB", "ZB", "YB") +# i = int(math.floor(math.log(size, 1024))) +# p = math.pow(1024, i) +# #s = round(size / p, 2) +# s = round(old_div(size, p), 2) +# return '%s %s' % (s, size_name[i]) + +# def decode(text): +# try: +# src = tokenize(text) +# if not PY3: +# data = decode_item(src.next, src.next()) #Py2 +# else: +# data = decode_item(src.__next__, next(src)) #Py3 +# for token in src: # look for more tokens +# raise SyntaxError("trailing junk") +# except (AttributeError, ValueError, StopIteration): +# try: +# data = data +# except: +# data = src + +# return data + +# def tokenize(text, match=re.compile("([idel])|(\d+):|(-?\d+)").match): +# i = 0 +# while i < len(text): +# m = match(text, i) +# s = m.group(m.lastindex) +# i = m.end() +# if m.lastindex == 2: +# yield "s" +# yield text[i:i + int(s)] +# i = i + int(s) +# else: +# yield s + +# def decode_item(next, token): +# if token == "i": +# # integer: "i" value "e" +# data = int(next()) +# if next() != "e": +# raise ValueError +# elif token == "s": +# # string: "s" value (virtual tokens) +# data = next() +# elif token == "l" or token == "d": +# # container: "l" (or "d") values "e" +# data = [] +# tok = next() +# while tok != "e": +# data.append(decode_item(next, tok)) +# tok = next() +# if token == "d": +# #data = dict(zip(data[0::2], data[1::2])) +# data = dict(list(zip(data[0::2], data[1::2]))) +# else: +# raise ValueError +# return data + + +# #Móludo principal +# size = '' +# torrent_f = '' +# torrent_file = '' +# files = {} +# try: +# #torrents_path = config.get_videolibrary_path() + '/torrents' #path para dejar el .torrent + +# #if not os.path.exists(torrents_path): +# # os.mkdir(torrents_path) #si no está la carpeta la creamos + +# #urllib.URLopener.version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0' +# #urllib.urlretrieve(url, torrents_path + "/generictools.torrent") #desacargamos el .torrent a la carpeta +# #torrent_file = open(torrents_path + "/generictools.torrent", "rb").read() #leemos el .torrent + +# # if ((url and not local_torr) or url.startswith('magnet')): +# # torrents_path, torrent_file = torrent.caching_torrents(url, \ +# # referer=referer, post=post, torrents_path=torrents_path, \ +# # timeout=timeout, lookup=lookup, data_torrent=True, headers=headers) +# if local_torr: +# torrent_file = filetools.read(local_torr) +# if not torrent_file: +# if not lookup: +# return (size, torrents_path, torrent_f, files) +# elif file_list and data_torrent: +# return (size, torrent_f, files) +# elif file_list: +# return (size, files) +# elif data_torrent: +# return (size, torrent_f) +# return size #Si hay un error, devolvemos el "size" y "torrent" vacíos + +# torrent_f = decode(torrent_file) #decodificamos el .torrent + +# #si sólo tiene un archivo, tomamos la longitud y la convertimos a una unidad legible, si no dará error +# try: +# sizet = torrent_f["info"]['length'] +# size = convert_size(sizet) + +# files = torrent_f["info"].copy() +# if 'path' not in files: files.update({'path': ['']}) +# if 'piece length' in files: del files['piece length'] +# if 'pieces' in files: del files['pieces'] +# if 'name' in files: del files['name'] +# files = [files] +# files.append({"__name": torrent_f["info"]["name"], 'length': 0}) +# except: +# pass + +# #si tiene múltiples archivos sumamos la longitud de todos +# if not size: +# try: +# check_video = scrapertools.find_multiple_matches(str(torrent_f["info"]["files"]), "'length': (\d+).*?}") +# sizet = sum([int(i) for i in check_video]) +# size = convert_size(sizet) + +# files = torrent_f["info"]["files"][:] +# files.append({"__name": torrent_f["info"]["name"], 'length': 0}) + +# except: +# size = 'ERROR' + +# except: +# size = 'ERROR' +# logger.error('ERROR al buscar el tamaño de un .Torrent: ' + str(url)) +# logger.error(traceback.format_exc()) + +# #try: +# # os.remove(torrents_path + "/generictools.torrent") #borramos el .torrent +# #except: +# # pass + +# if '.rar' in str(files): +# size = '[COLOR magenta][B]RAR-[/B][/COLOR]%s' % size + +# #logger.debug(str(url)) +# logger.info(str(size)) + +# if not lookup: +# return (size, torrents_path, torrent_f, files) +# elif file_list and data_torrent: +# return (size, torrent_f, files) +# elif file_list: +# return (size, files) +# elif data_torrent: +# return (size, torrent_f) +# return size - if '.rar' in str(files): - size = '[COLOR magenta][B]RAR-[/B][/COLOR]%s' % size - - #logger.debug(str(url)) - logger.info(str(size)) - - if not lookup: - return (size, torrents_path, torrent_f, files) - elif file_list and data_torrent: - return (size, torrent_f, files) - elif file_list: - return (size, files) - elif data_torrent: - return (size, torrent_f) - return size - def get_field_from_kodi_DB(item, from_fields='*', files='file'): logger.info() """ - + Llamada para leer de la DB de Kodi los campos que se reciben de entrada (from_fields, por defecto "*") del vídeo señalado en Item Obviamente esto solo funciona con Kodi y si la película o serie está catalogada en las Videotecas de Alfa y Kodi Se puede pedir que la búdqueda se haga por archivos (defecto), o por carpeta (series) - + La llamada es: nun_records, records = generictools.get_field_from_kodi_DB(item, from_fields='cXX[, cYY,...]'[, files = 'file|folder']) - + Devuelve el num de registros encontrados y los registros. Es importante que el llamador verifique que "nun_records > 0" antes de tratar "records" - + """ FOLDER_MOVIES = config.get_setting("folder_movies") FOLDER_TVSHOWS = config.get_setting("folder_tvshows") VIDEOLIBRARY_PATH = config.get_videolibrary_config_path() VIDEOLIBRARY_REAL_PATH = config.get_videolibrary_path() - + if item.contentType == 'movie': #Agrego la carpeta correspondiente al path de la Videoteca path = filetools.join(VIDEOLIBRARY_REAL_PATH, FOLDER_MOVIES) path2 = filetools.join(VIDEOLIBRARY_PATH, FOLDER_MOVIES) @@ -1441,7 +1441,7 @@ def get_field_from_kodi_DB(item, from_fields='*', files='file'): elif item.contentType in ['tvshow', 'season', 'episode'] and (item.contentSerieName.lower() in carpeta or item.contentSerieName in carpeta): #Series? path = carpeta #Almacenamos la carpeta en el path break - + path2 += '/%s/' % scrapertools.find_single_match(path, '%s.(.*?\s\[.*?\])' % folder) #Agregamos la carpeta de la Serie o Películas, formato Android file_search = '%' #Por defecto busca todos los archivos de la carpeta if files == 'file': #Si se ha pedido son un archivo (defecto), se busca @@ -1477,45 +1477,45 @@ def get_field_from_kodi_DB(item, from_fields='*', files='file'): logger.error("Error en la SQL: " + sql + ": 0 registros") #No estará catalogada o hay un error en el SQL except: logger.error(traceback.format_exc()) - + return (nun_records, records) - - + + def fail_over_newpct1(item, patron, patron2=None, timeout=None): logger.info() import ast - + """ - + Llamada para encontrar una web alternativa a un canal caído, clone de NewPct1 - + Creamos una array con los datos de los canales alternativos. Los datos de la tupla son: - + - active = 0,1 Indica si el canal no está activo o sí lo está - channel nombre del canal alternativo - channel_host host del canal alternativo, utilizado para el reemplazo de parte de la url - contentType indica que tipo de contenido que soporta el nuevo canal en fail-overs - action_excluded lista las acciones que está excluidas para ese canal - + La llamada al método desde el principio de Submenu, Listado_Búsqueda, Episodios y Findvideos, es: - + from lib import generictools item, data = generictools.fail_over_newpct1(item, patron[, patron2=][, timeout=]) - + - Entrada: patron: con este patron permite verificar si los datos de la nueva web son buenos - Entrada (opcional): patron2: segundo patron opcional - Entrada (opcional): timeout: valor de espera máximo en download de página. Por defecto 3 - Entrada (opcional): patron=True: pide que sólo verifique si el canal en uso está activo, si no, ofrece otro - Salida: data: devuelve los datos del la nueva web. Si vuelve vacía es que no se ha encontrado alternativa - + """ #logger.debug(item) - + if timeout == None: timeout = config.get_setting('clonenewpct1_timeout_downloadpage', channel_py) #Timeout downloadpage if timeout == 0: timeout = None if item.action == "search" or item.action == "listado_busqueda": timeout = timeout * 2 #Mas tiempo para búsquedas - + data = '' channel_failed = '' url_alt = [] @@ -1531,7 +1531,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): patron = patron1 except: logger.error(traceback.format_exc()) - + #Array con los datos de los canales alternativos #Cargamos en .json del canal para ver las listas de valores en settings fail_over = channeltools.get_channel_json(channel_py) @@ -1556,14 +1556,14 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): channel_host_failed = channel_host #salvamos el nombre del host channel_url_failed = item.url #salvamos la url #logger.debug(channel_failed + ' / ' + channel_host_failed) - + if patron == True and active == '1': #solo nos han pedido verificar el clone return (item, data) #nos vamos, con el mismo clone, si está activo if (item.action == 'episodios' or item.action == "update_tvshow" or item.action == "get_seasons" or item.action == 'findvideos') and item.contentType not in contentType: #soporta el fail_over de este contenido? logger.error("ERROR 99: " + item.action.upper() + ": Acción no soportada para Fail-Over en canal: " + item.url) return (item, data) #no soporta el fail_over de este contenido, no podemos hacer nada break - + if not channel_failed: logger.error('Patrón: ' + str(patron) + ' / fail_over_list: ' + str(fail_over_list)) logger.error(item) @@ -1576,7 +1576,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): continue if (item.action == 'episodios' or item.action == "update_tvshow" or item.action == "get_seasons" or item.action == 'findvideos') and item.contentType not in contentType: #soporta el contenido? continue - + #Hacemos el cambio de nombre de canal y url, conservando las anteriores como ALT item.channel_alt = channel_failed if item.channel != channel_py: @@ -1587,16 +1587,16 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): channel_host_bis = re.sub(r'(?i)http.*://', '', channel_host) channel_host_failed_bis = re.sub(r'(?i)http.*://', '', channel_host_failed) item.url = item.url.replace(channel_host_failed_bis, channel_host_bis) - + url_alt += [item.url] #salvamos la url para el bucle item.channel_host = channel_host #logger.debug(str(url_alt)) - + #quitamos el código de series, porque puede variar entre webs if item.action == "episodios" or item.action == "get_seasons" or item.action == "update_tvshow": item.url = re.sub(r'\/\d+\/?$', '', item.url) #parece que con el título solo ecuentra la serie, normalmente... url_alt = [item.url] #salvamos la url para el bucle, pero de momento ignoramos la inicial con código de serie - + #si es un episodio, generalizamos la url para que se pueda encontrar en otro clone. Quitamos la calidad del final de la url elif item.action == "findvideos" and item.contentType == "episode": try: @@ -1605,7 +1605,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): inter2 = re.sub(r'^0', '', inter2) if inter1 + inter2 + inter3 not in url_alt: url_alt += [inter1 + inter2 + inter3] - + #en este formato solo quitamos la calidad del final de la url if scrapertools.find_single_match(item.url, 'http.*?\/temporada-\d+.*?\/capitulo.?-\d+.*?\/') not in url_alt: url_alt += [scrapertools.find_single_match(item.url, 'http.*?\/temporada-\d+.*?\/capitulo.?-\d+.*?\/')] @@ -1616,7 +1616,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): if patron == True: #solo nos han pedido verificar el clone return (item, data) #nos vamos, con un nuevo clone - + #Leemos la nueva url.. Puede haber varias alternativas a la url original for url in url_alt: try: @@ -1631,7 +1631,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): if not data: #no ha habido suerte, probamos con la siguiente url logger.error("ERROR 01: " + item.action + ": La Web no responde o la URL es erronea: " + url) continue - + #Hemos logrado leer la web, validamos si encontramos un línk válido en esta estructura #Evitar páginas engañosas que puede meter al canal en un loop infinito if (not ".com/images/no_imagen.jpg" in data and not ".com/images/imagen-no-disponible.jpg" in data) or item.action != "episodios": @@ -1668,13 +1668,13 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): web_intervenida(item, data) data = '' continue - + if not data: #no ha habido suerte, probamos con el siguiente clone url_alt = [] continue else: break - + del item.extra2 #Borramos acción temporal excluyente if not data: #Si no ha logrado encontrar nada, salimos limpiando variables if item.channel == channel_py: @@ -1685,16 +1685,16 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None): if item.channel_alt: item.channel = item.channel_alt del item.channel_alt - if item.url_alt: + if item.url_alt: item.url = item.url_alt del item.url_alt item.channel_host = channel_host_failed - + #logger.debug(item) - + return (item, data) - + def verify_channel(channel): return channel #Lista con los datos de los canales alternativos @@ -1707,27 +1707,27 @@ def verify_channel(channel): # if channel_alt in clones: #Si es un clon se pone como canal newpct1, si no se deja # channel = channel_py # return channel - - + + def web_intervenida(item, data, desactivar=True): logger.info() - + """ - + Llamada para verificar si la caída de un clone de Newpct1 es debido a una intervención judicial - + La llamada al método desde es: - + from lib import generictools item = generictools.web_intervenida(item, data[, desactivar=True]) - + - Entrada: data: resultado de la descarga. Nos permite analizar si se trata de una intervención - Entrada: desactivar=True: indica que desactiva el canal o clone en caso de intervención judicial - Salida: item.intervencion: devuele un array con el nombre del clone intervenido y el thumb de la autoridad que interviene. El canal puede anunciarlo. - Salida: Si es un clone de Newpct1, se desactiva el clone en el .json del Canal. Si es otro canal, se desactiva el canal en su .json. - + """ - + intervencion = () judicial = '' @@ -1746,17 +1746,17 @@ def web_intervenida(item, data, desactivar=True): if not item.intervencion: item.intervencion = [] #Si no existe el array, lo creamos item.intervencion += [intervencion] #Añadimos esta intervención al array - + logger.error("ERROR 99: " + category + ": " + judicial + ": " + item.url + ": DESACTIVADO=" + str(desactivar) + " / DATA: " + data) - + if desactivar == False: #Si no queremos desactivar el canal, nos vamos return item - + #Cargamos en .json del canal para ver las listas de valores en settings. Carga las claves desordenadas !!! from core import filetools import json json_data = channeltools.get_channel_json(item.channel) - + if item.channel == channel_py: #Si es un clone de Newpct1, lo desactivamos for settings in json_data['settings']: #Se recorren todos los settings if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting @@ -1766,7 +1766,7 @@ def web_intervenida(item, data, desactivar=True): action_excluded += ', %s' % judicial #Agregamos el thumb de la autoridad judicial else: action_excluded = '%s' % judicial - + #Reemplazamos el estado a desactivado y agregamos el thumb de la autoridad judicial settings['default'] = re.sub(r"\('\d', '%s', ('[^']+', '[^']*'), '[^']*'\)" % item.category.lower(), r"('0', '%s', \1, '%s')" % (item.category.lower(), action_excluded), settings['default']) @@ -1788,10 +1788,10 @@ def web_intervenida(item, data, desactivar=True): logger.error(traceback.format_exc()) #logger.debug(item) - + return item - + def redirect_clone_newpct1(item, head_nfo=None, it=None, path=False, overwrite=False, lookup=False): # logger.info() # @@ -2271,20 +2271,20 @@ def redirect_clone_newpct1(item, head_nfo=None, it=None, path=False, overwrite=F # # return (item, it, overwrite) return item, item, False - + def verify_cached_torrents(): logger.info() import json - + """ Verifica que todos los archivos .torrent estén descomprimidos. Si no lo están, los descomprime y regraba - + Método para uso temporal y controlado - + Deja el archivo verify_cached_torrents.json como marca de que se ha ejecutado para esa versión de Alfa """ - + try: #Localiza los paths donde dejar el archivo .json de control, y de la Videoteca json_path = filetools.exists(filetools.join(config.get_runtime_path(), 'verify_cached_torrents.json')) @@ -2294,13 +2294,13 @@ def verify_cached_torrents(): json_path = filetools.join(config.get_runtime_path(), 'verify_cached_torrents.json') json_error_path = filetools.join(config.get_runtime_path(), 'error_cached_torrents.json') json_error_path_BK = filetools.join(config.get_runtime_path(), 'error_cached_torrents_BK.json') - + videolibrary_path = config.get_videolibrary_path() #Calculamos el path absoluto a partir de la Videoteca movies = config.get_setting("folder_movies") series = config.get_setting("folder_tvshows") torrents_movies = filetools.join(videolibrary_path, config.get_setting("folder_movies")) #path de CINE torrents_series = filetools.join(videolibrary_path, config.get_setting("folder_tvshows")) #path de SERIES - + #Inicializa variables torren_list = [] torren_list.append(torrents_movies) @@ -2311,7 +2311,7 @@ def verify_cached_torrents(): descomprimidos = [] errores = [] json_data = dict() - + #Recorre las carpetas de CINE y SERIES de la Videoteca, leyendo, descomprimiendo y regrabando los archivos .torrent for contentType in torren_list: for root, folders, files in filetools.walk(contentType): @@ -2340,7 +2340,7 @@ def verify_cached_torrents(): filetools.remove(torrent_json) filetools.remove(torrent_path) continue - + if not scrapertools.find_single_match(torrent_file_deco, '^d\d+:\w+\d+:'): logger.error('Error de DESCOMPRESIÓN: ' + str(torrent_path)) k += 1 @@ -2360,7 +2360,7 @@ def verify_cached_torrents(): except: logger.error('Error en el proceso de VERIFICACIÓN de los .torrents') logger.error(traceback.format_exc()) - + logger.error(str(i) + ' archivos .torrent revisados. / ' + str(j) + ' descomporimidos / ' + str(k) + ' errores') if descomprimidos: logger.error('Lista de .torrents DESCOMPRIMIDOS: ' + str(descomprimidos)) @@ -2372,14 +2372,14 @@ def regenerate_clones(): logger.info() import json from core import videolibrarytools - + """ Regenera los archivos .json que ha sido machacado con la migración. También borrar los archivos tvshow.nfo en películas. - + Método para uso temporal y controlado """ - + try: #Localiza los paths donde dejar el archivo .json de control, y de la Videoteca json_path = filetools.exists(filetools.join(config.get_runtime_path(), 'verify_cached_torrents.json')) @@ -2390,19 +2390,19 @@ def regenerate_clones(): filetools.write(json_path, json.dumps({"CINE_verify": True})) #Evita que se lance otro proceso simultaneo json_error_path = filetools.join(config.get_runtime_path(), 'error_cached_torrents.json') json_error_path_BK = filetools.join(config.get_runtime_path(), 'error_cached_torrents_BK.json') - + videolibrary_path = config.get_videolibrary_path() #Calculamos el path absoluto a partir de la Videoteca movies = config.get_setting("folder_movies") series = config.get_setting("folder_tvshows") torrents_movies = filetools.join(videolibrary_path, config.get_setting("folder_movies")) #path de CINE torrents_series = filetools.join(videolibrary_path, config.get_setting("folder_tvshows")) #path de SERIES - + #Cargamos en .json de Newpct1 para ver las listas de valores en settings fail_over_list = channeltools.get_channel_json(channel_py) for settings in fail_over_list['settings']: #Se recorren todos los settings if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting fail_over_list = settings['default'] #Carga lista de clones - + #Inicializa variables torren_list = [] torren_list.append(torrents_movies) @@ -2413,7 +2413,7 @@ def regenerate_clones(): descomprimidos = [] errores = [] json_data = dict() - + #Recorre las carpetas de CINE y SERIES de la Videoteca, leyendo, descomprimiendo y regrabando los archivos .torrent for contentType in torren_list: for root, folders, files in filetools.walk(contentType): @@ -2421,7 +2421,7 @@ def regenerate_clones(): newpct1 = False file_list = str(files) logger.error(file_list) - + #Borra los archivos Tvshow.nfo y verifica si el .nfo tiene más de un canal y uno es clone Newpct1 for file in files: #logger.info('file - nfos: ' + file) @@ -2429,7 +2429,7 @@ def regenerate_clones(): file_path = filetools.join(root, 'tvshow.nfo') filetools.remove(file_path) continue - + if '.nfo' in file: peli_name = file.replace('.nfo', '') nfo = '' @@ -2448,7 +2448,7 @@ def regenerate_clones(): except: logger.error('** NFO: error de escritura en: ' + file) break - + if '.torrent' not in file_list and nfo.emergency_urls: del nfo.emergency_urls #Si tiene emergency_urls, lo reseteamos try: @@ -2457,7 +2457,7 @@ def regenerate_clones(): logger.error('** NFO: error de escritura en: ' + file) break newpct1 = True #marcamos par a resetar los .jsons - + if len(nfo.library_urls) > 1: #Tiene más de un canal? for canal, url in nfo.library_urls.items(): canal_json = "[%s].json" % canal @@ -2472,7 +2472,7 @@ def regenerate_clones(): logger.error('** NFO: error de escritura en: ' + file) break newpct1 = True #marcamos par a resetar los .jsons - + canal_nwepct1 = "'%s'" % canal if canal_nwepct1 in fail_over_list: #Algún canal es clone de Newpct1 newpct1 = True #Si es que sí, lo marcamos @@ -2518,24 +2518,24 @@ def regenerate_clones(): errores += [file] if '.torrent' in file: filetools.remove(file_path) #borramos los .torrent salvados - - + + logger.error('** Lista de peliculas reparadas: ' + str(errores)) filetools.write(json_error_path, json.dumps(json_data)) filetools.write(json_error_path_BK, json.dumps(json_data)) - filetools.write(json_path, json.dumps({"CINE_verify": True})) + filetools.write(json_path, json.dumps({"CINE_verify": True})) except: filetools.remove(json_path) #borramos el bloqueo para que se pueda lanzar de nuevo logger.error('Error en el proceso de REPARACIÓN de Videoteca de CINE') logger.error(traceback.format_exc()) - + return True - + def dejuice(data): logger.info() # Metodo para desobfuscar datos de JuicyCodes - + import base64 from lib import jsunpack diff --git a/lib/python_libtorrent/__init__.py b/lib/python_libtorrent/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/0.16.19/__init__.py b/lib/python_libtorrent/android_armv7/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index 84e6fea8..00000000 --- a/lib/python_libtorrent/android_armv7/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6804840 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.0.6/__init__.py b/lib/python_libtorrent/android_armv7/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index 6de27f94..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6545732 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.0.7/__init__.py b/lib/python_libtorrent/android_armv7/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index 2f7afd24..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6519704 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.0.8/__init__.py b/lib/python_libtorrent/android_armv7/1.0.8/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.8/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.0.8/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.0.8/libtorrent.so.size.txt deleted file mode 100644 index fce8b958..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.8/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6513752 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.0.9/__init__.py b/lib/python_libtorrent/android_armv7/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 36119234..00000000 --- a/lib/python_libtorrent/android_armv7/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6518156 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.1.0/__init__.py b/lib/python_libtorrent/android_armv7/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 5610ac18..00000000 --- a/lib/python_libtorrent/android_armv7/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4608320 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/1.1.1/__init__.py b/lib/python_libtorrent/android_armv7/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_armv7/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/android_armv7/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index cc84d962..00000000 --- a/lib/python_libtorrent/android_armv7/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4628960 \ No newline at end of file diff --git a/lib/python_libtorrent/android_armv7/__init__.py b/lib/python_libtorrent/android_armv7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_armv7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/0.16.19/__init__.py b/lib/python_libtorrent/android_x86/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index 559db63b..00000000 --- a/lib/python_libtorrent/android_x86/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -7145572 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.0.6/__init__.py b/lib/python_libtorrent/android_x86/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index 4f5d95fc..00000000 --- a/lib/python_libtorrent/android_x86/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6921524 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.0.7/__init__.py b/lib/python_libtorrent/android_x86/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index 623c5ec5..00000000 --- a/lib/python_libtorrent/android_x86/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6890380 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.0.8/__init__.py b/lib/python_libtorrent/android_x86/1.0.8/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.0.8/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.0.8/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.0.8/libtorrent.so.size.txt deleted file mode 100644 index 4ae02ffd..00000000 --- a/lib/python_libtorrent/android_x86/1.0.8/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6889512 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.0.9/__init__.py b/lib/python_libtorrent/android_x86/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index ebea3968..00000000 --- a/lib/python_libtorrent/android_x86/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6889548 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.1.0/__init__.py b/lib/python_libtorrent/android_x86/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index e29817fc..00000000 --- a/lib/python_libtorrent/android_x86/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5369280 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/1.1.1/__init__.py b/lib/python_libtorrent/android_x86/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/android_x86/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/android_x86/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index 87c887ad..00000000 --- a/lib/python_libtorrent/android_x86/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5393984 \ No newline at end of file diff --git a/lib/python_libtorrent/android_x86/__init__.py b/lib/python_libtorrent/android_x86/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/android_x86/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/darwin/0.16.19/__init__.py b/lib/python_libtorrent/darwin/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/darwin/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/darwin/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/darwin/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index f36331b7..00000000 --- a/lib/python_libtorrent/darwin/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -10425648 \ No newline at end of file diff --git a/lib/python_libtorrent/darwin/1.0.9/__init__.py b/lib/python_libtorrent/darwin/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/darwin/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/darwin/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/darwin/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 39bbc11f..00000000 --- a/lib/python_libtorrent/darwin/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3578388 \ No newline at end of file diff --git a/lib/python_libtorrent/darwin/1.1.0/__init__.py b/lib/python_libtorrent/darwin/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/darwin/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/darwin/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/darwin/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index ffcb02f5..00000000 --- a/lib/python_libtorrent/darwin/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5292640 \ No newline at end of file diff --git a/lib/python_libtorrent/darwin/1.1.1/__init__.py b/lib/python_libtorrent/darwin/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/darwin/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/darwin/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/darwin/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index 8b51a1f3..00000000 --- a/lib/python_libtorrent/darwin/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5331516 \ No newline at end of file diff --git a/lib/python_libtorrent/darwin/__init__.py b/lib/python_libtorrent/darwin/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/darwin/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/ios_arm/1.0.7/__init__.py b/lib/python_libtorrent/ios_arm/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/ios_arm/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/ios_arm/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index 7ab22f29..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -8834480 \ No newline at end of file diff --git a/lib/python_libtorrent/ios_arm/1.0.8/__init__.py b/lib/python_libtorrent/ios_arm/1.0.8/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.8/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/ios_arm/1.0.8/libtorrent.so.size.txt b/lib/python_libtorrent/ios_arm/1.0.8/libtorrent.so.size.txt deleted file mode 100644 index 7fc5097b..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.8/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -8779608 \ No newline at end of file diff --git a/lib/python_libtorrent/ios_arm/1.0.9/__init__.py b/lib/python_libtorrent/ios_arm/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/ios_arm/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/ios_arm/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 3fdc1bf1..00000000 --- a/lib/python_libtorrent/ios_arm/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -8831856 \ No newline at end of file diff --git a/lib/python_libtorrent/ios_arm/1.1.1/__init__.py b/lib/python_libtorrent/ios_arm/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/ios_arm/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/ios_arm/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/ios_arm/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index bee1908e..00000000 --- a/lib/python_libtorrent/ios_arm/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3439420 \ No newline at end of file diff --git a/lib/python_libtorrent/ios_arm/__init__.py b/lib/python_libtorrent/ios_arm/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/ios_arm/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/__init__.py b/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 8bf018bb..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs2/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5191944 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_aarch64_ucs2/__init__.py b/lib/python_libtorrent/linux_aarch64_ucs2/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs2/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/__init__.py b/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 8bf018bb..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -5191944 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/__init__.py b/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index ef8c5644..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs4/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2884768 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_aarch64_ucs4/__init__.py b/lib/python_libtorrent/linux_aarch64_ucs4/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_aarch64_ucs4/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/0.16.19/__init__.py b/lib/python_libtorrent/linux_armv6/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index 9d285b23..00000000 --- a/lib/python_libtorrent/linux_armv6/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2133072 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.0.11/__init__.py b/lib/python_libtorrent/linux_armv6/1.0.11/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.11/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.0.11/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.0.11/libtorrent.so.size.txt deleted file mode 100644 index 9a1d6002..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.11/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2286476 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.0.6/__init__.py b/lib/python_libtorrent/linux_armv6/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index 62a4af3f..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -1979232 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.0.7/__init__.py b/lib/python_libtorrent/linux_armv6/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index 5ff46c86..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2286424 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.0.9/__init__.py b/lib/python_libtorrent/linux_armv6/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 5ff46c86..00000000 --- a/lib/python_libtorrent/linux_armv6/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2286424 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.1.0/__init__.py b/lib/python_libtorrent/linux_armv6/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 56d0afee..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2388664 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.1.1/__init__.py b/lib/python_libtorrent/linux_armv6/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index e97c6282..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2577640 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.1.6/__init__.py b/lib/python_libtorrent/linux_armv6/1.1.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.1.6/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.1.6/libtorrent.so.size.txt deleted file mode 100644 index 8df81141..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3630144 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/1.1.7/__init__.py b/lib/python_libtorrent/linux_armv6/1.1.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv6/1.1.7/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv6/1.1.7/libtorrent.so.size.txt deleted file mode 100644 index 0e905c96..00000000 --- a/lib/python_libtorrent/linux_armv6/1.1.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3634324 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv6/__init__.py b/lib/python_libtorrent/linux_armv6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/0.16.19/__init__.py b/lib/python_libtorrent/linux_armv7/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index 375fc94c..00000000 --- a/lib/python_libtorrent/linux_armv7/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -1892840 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/1.0.6/__init__.py b/lib/python_libtorrent/linux_armv7/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index 98acdd6d..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2048268 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/1.0.7/__init__.py b/lib/python_libtorrent/linux_armv7/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index 7cdb4776..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2093128 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/1.0.9/__init__.py b/lib/python_libtorrent/linux_armv7/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index bb85f14f..00000000 --- a/lib/python_libtorrent/linux_armv7/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2043172 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/1.1.0/__init__.py b/lib/python_libtorrent/linux_armv7/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 0866378e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2662156 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/1.1.1/__init__.py b/lib/python_libtorrent/linux_armv7/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_armv7/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/linux_armv7/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index 4a58671f..00000000 --- a/lib/python_libtorrent/linux_armv7/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -2674612 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_armv7/__init__.py b/lib/python_libtorrent/linux_armv7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_armv7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mips/1.0.9/__init__.py b/lib/python_libtorrent/linux_mips/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mips/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mips/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_mips/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 476b9bff..00000000 --- a/lib/python_libtorrent/linux_mips/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4598636 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_mips/__init__.py b/lib/python_libtorrent/linux_mips/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mips/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 314f7bd9..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs2/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4596396 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index faeab6c5..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs2/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6325240 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_mipsel_ucs2/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs2/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs2/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 476b9bff..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs4/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4598636 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index faeab6c5..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs4/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6325240 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_mipsel_ucs4/__init__.py b/lib/python_libtorrent/linux_mipsel_ucs4/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_mipsel_ucs4/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/0.16.19/__init__.py b/lib/python_libtorrent/linux_x86/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index a346659a..00000000 --- a/lib/python_libtorrent/linux_x86/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6257605 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/1.0.6/__init__.py b/lib/python_libtorrent/linux_x86/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index 3e74d111..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3517944 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/1.0.7/__init__.py b/lib/python_libtorrent/linux_x86/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index c7e345be..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3544068 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/1.0.9/__init__.py b/lib/python_libtorrent/linux_x86/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 5b7c9ab3..00000000 --- a/lib/python_libtorrent/linux_x86/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3239792 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/1.1.0/__init__.py b/lib/python_libtorrent/linux_x86/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index 18303722..00000000 --- a/lib/python_libtorrent/linux_x86/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4601280 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/1.1.1/__init__.py b/lib/python_libtorrent/linux_x86/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index 9f9b66e9..00000000 --- a/lib/python_libtorrent/linux_x86/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6652780 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86/__init__.py b/lib/python_libtorrent/linux_x86/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/0.16.19/__init__.py b/lib/python_libtorrent/linux_x86_64/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/0.16.19/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/0.16.19/libtorrent.so.size.txt deleted file mode 100644 index 4b476b5b..00000000 --- a/lib/python_libtorrent/linux_x86_64/0.16.19/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -6620181 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86_64/1.0.6/__init__.py b/lib/python_libtorrent/linux_x86_64/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/1.0.6/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/1.0.6/libtorrent.so.size.txt deleted file mode 100644 index bd538ff2..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.6/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3514688 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86_64/1.0.7/__init__.py b/lib/python_libtorrent/linux_x86_64/1.0.7/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.7/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/1.0.7/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/1.0.7/libtorrent.so.size.txt deleted file mode 100644 index bea17883..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.7/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3576128 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86_64/1.0.9/__init__.py b/lib/python_libtorrent/linux_x86_64/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/1.0.9/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/1.0.9/libtorrent.so.size.txt deleted file mode 100644 index 24691028..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.0.9/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -3290600 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86_64/1.1.0/__init__.py b/lib/python_libtorrent/linux_x86_64/1.1.0/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.1.0/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/1.1.0/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/1.1.0/libtorrent.so.size.txt deleted file mode 100644 index c66f5c33..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.1.0/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4246184 \ No newline at end of file diff --git a/lib/python_libtorrent/linux_x86_64/1.1.1/__init__.py b/lib/python_libtorrent/linux_x86_64/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/linux_x86_64/1.1.1/libtorrent.so.size.txt b/lib/python_libtorrent/linux_x86_64/1.1.1/libtorrent.so.size.txt deleted file mode 100644 index 53ec69f8..00000000 --- a/lib/python_libtorrent/linux_x86_64/1.1.1/libtorrent.so.size.txt +++ /dev/null @@ -1 +0,0 @@ -4263000 \ No newline at end of file diff --git a/lib/python_libtorrent/platform_pulsar.py b/lib/python_libtorrent/platform_pulsar.py deleted file mode 100644 index db827cac..00000000 --- a/lib/python_libtorrent/platform_pulsar.py +++ /dev/null @@ -1,198 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' - -import sys -import os -try: - import xbmc, xbmcaddon - #__settings__ = xbmcaddon.Addon(id='script.module.libtorrent') ### Alfa - #__version__ = __settings__.getAddonInfo('version') ### Alfa - #__plugin__ = __settings__.getAddonInfo('name') + " v." + __version__ ### Alfa - __settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa - __version__ = '1.1.17' ### Alfa - __plugin__ = "python-libtorrent v.1.1.7" ### Alfa -except: - __plugin__ = "python-libtorrent v.1.1.7" ### Alfa - pass - -def log(msg): - try: - xbmc.log("### [%s]: %s" % (__plugin__,msg,), level=xbmc.LOGNOTICE ) - except UnicodeEncodeError: - xbmc.log("### [%s]: %s" % (__plugin__,msg.encode("utf-8", "ignore"),), level=xbmc.LOGNOTICE ) - except: - try: - xbmc.log("### [%s]: %s" % (__plugin__,'ERROR LOG',), level=xbmc.LOGNOTICE ) - except: - print msg - -def get_libname(platform): - libname=[] - if platform['system'] in ['darwin', 'linux_x86', 'linux_arm', 'linux_armv6', - 'linux_armv7', 'linux_x86_64', 'ios_arm', - 'linux_mipsel_ucs2', 'linux_mipsel_ucs4', 'linux_aarch64_ucs2', 'linux_aarch64_ucs4']: - libname=['libtorrent.so'] - elif platform['system'] == 'windows': - libname=['libtorrent.pyd'] - elif platform['system'] in ['android_armv7', 'android_x86']: - libname=['libtorrent.so', 'liblibtorrent.so'] - return libname - -def get_platform(): - #__settings__ = xbmcaddon.Addon(id='script.module.libtorrent') - #__version__ = __settings__.getAddonInfo('version') - #__plugin__ = __settings__.getAddonInfo('name') + " v." + __version__ - __language__ = __settings__.getLocalizedString - - if __settings__.getSetting('custom_system').lower() == "true": - system = int(__settings__.getSetting('set_system')) - log('USE CUSTOM SYSTEM: '+__language__(1100+system)) - - ret={} - - if system==0: - ret["os"] = "windows" - ret["arch"] = "x86" - elif system==1: - ret["os"] = "linux" - ret["arch"] = "x86" - elif system==2: - ret["os"] = "linux" - ret["arch"] = "x64" - elif system==3: - ret["os"] = "linux" - ret["arch"] = "armv7" - elif system==4: - ret["os"] = "linux" - ret["arch"] = "armv6" - elif system==5: - ret["os"] = "android" - ret["arch"] = "arm" - elif system==6: - ret["os"] = "android" - ret["arch"] = "x86" - elif system==7: - ret["os"] = "darwin" - ret["arch"] = "x64" - elif system==8: - ret["os"] = "ios" - ret["arch"] = "arm" - elif system==9: - ret["os"] = "ios" - ret["arch"] = "arm" - elif system==10: - ret["os"] = "linux" - ret["arch"] = "mipsel_ucs2" - elif system==11: - ret["os"] = "linux" - ret["arch"] = "mipsel_ucs4" - elif system == 12: - ret["os"] = "linux" - ret["arch"] = "linux_aarch64_ucs2" - elif system == 13: - ret["os"] = "linux" - ret["arch"] = "linux_aarch64_ucs4" - else: - - ret = { - "arch": sys.maxsize > 2 ** 32 and "x64" or "x86", - } - if xbmc.getCondVisibility("system.platform.android"): - ret["os"] = "android" - if "arm" in os.uname()[4] or "aarch64" in os.uname()[4]: - ret["arch"] = "arm" - elif xbmc.getCondVisibility("system.platform.linux"): - ret["os"] = "linux" - uname=os.uname()[4] - if "arm" in uname: - if "armv7" in uname: - ret["arch"] = "armv7" - else: - ret["arch"] = "armv6" - elif "mips" in uname: - if sys.maxunicode > 65536: - ret["arch"] = 'mipsel_ucs4' - else: - ret["arch"] = 'mipsel_ucs2' - elif "aarch64" in uname: - if sys.maxint > 2147483647: #is_64bit_system - if sys.maxunicode > 65536: - ret["arch"] = 'aarch64_ucs4' - else: - ret["arch"] = 'aarch64_ucs2' - else: - ret["arch"] = "armv7" #32-bit userspace - elif xbmc.getCondVisibility("system.platform.windows"): - ret["os"] = "windows" - elif xbmc.getCondVisibility("system.platform.osx"): - ret["os"] = "darwin" - elif xbmc.getCondVisibility("system.platform.ios"): - ret["os"] = "ios" - ret["arch"] = "arm" - - ret=get_system(ret) - return ret - -def get_system(ret): - ret["system"] = '' - ret["message"] = ['', ''] - - if ret["os"] == 'windows': - ret["system"] = 'windows' - ret["message"] = ['Windows has static compiled python-libtorrent included.', - 'You should install "script.module.libtorrent" from "MyShows.me Kodi Repo"'] - elif ret["os"] == "linux" and ret["arch"] == "x64": - ret["system"] = 'linux_x86_64' - ret["message"] = ['Linux x64 has not static compiled python-libtorrent included.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and ret["arch"] == "x86": - ret["system"] = 'linux_x86' - ret["message"] = ['Linux has static compiled python-libtorrent included but it didn\'t work.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and "aarch64" in ret["arch"]: - ret["system"] = 'linux_' + ret["arch"] - ret["message"] = ['Linux has static compiled python-libtorrent included but it didn\'t work.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and ("arm" or "mips" in ret["arch"]): - ret["system"] = 'linux_'+ret["arch"] - ret["message"] = ['As far as I know you can compile python-libtorrent for ARMv6-7.', - 'You should search for "OneEvil\'s OpenELEC libtorrent" or use Ace Stream.'] - elif ret["os"] == "android": - if ret["arch"]=='arm': - ret["system"] = 'android_armv7' - else: - ret["system"] = 'android_x86' - ret["message"] = ['Please contact DiMartino on kodi.tv forum. We compiled python-libtorrent for Android,', - 'but we need your help with some tests on different processors.'] - elif ret["os"] == "darwin": - ret["system"] = 'darwin' - ret["message"] = ['It is possible to compile python-libtorrent for OS X.', - 'But you would have to do it by yourself, there is some info on github.com.'] - elif ret["os"] == "ios" and ret["arch"] == "arm": - ret["system"] = 'ios_arm' - ret["message"] = ['It is probably NOT possible to compile python-libtorrent for iOS.', - 'But you can use torrent-client control functions.'] - - return ret \ No newline at end of file diff --git a/lib/python_libtorrent/public.py b/lib/python_libtorrent/public.py deleted file mode 100644 index 46afdf0c..00000000 --- a/lib/python_libtorrent/public.py +++ /dev/null @@ -1,83 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' - -import os - -from platform_pulsar import get_libname - -class Public: - def __init__( self ): - self.platforms=[] - self.root=os.path.dirname(__file__) - for dir in os.listdir(self.root): - if os.path.isdir(os.path.join(self.root,dir)): - for subdir in os.listdir(os.path.join(self.root,dir)): - if os.path.isdir(os.path.join(self.root,dir,subdir)): - self.platforms.append({'system':dir, 'version':subdir}) - self._generate_size_file() - - def _generate_size_file( self ): - for platform in self.platforms: - for libname in get_libname(platform): - self.libname=libname - self.platform=platform - self.libdir = os.path.join(self.root, self.platform['system'], self.platform['version']) - self.libpath = os.path.join(self.libdir, self.libname) - self.sizepath=self.libpath+'.size.txt' - self.zipname=self.libname+'.zip' - zippath=os.path.join(self.libdir, self.zipname) - system=platform['system']+'/'+platform['version']+'/' - if os.path.exists(self.libpath): - if not os.path.exists(self.sizepath): - print system+self.libname+' NO SIZE' - self._makezip() - elif not os.path.exists(zippath): - print system+self.libname+' NO ZIP' - self._makezip() - else: - size=str(os.path.getsize(self.libpath)) - size_old=open( self.sizepath, "r" ).read() - if size_old!=size: - print system+self.libname+' NOT EQUAL' - self._makezip() - else: - print system+self.libname+' NO ACTION' - else: - print system+self.libname+' NO LIB' - - def _makezip(self): - open( self.sizepath, "w" ).write( str(os.path.getsize(self.libpath)) ) - os.chdir(self.libdir) - os.system('del %s' % (self.zipname)) - os.system('"C:\\Program Files\\7-Zip\\7z.exe" a %s.zip %s' % - (self.libname, self.libname)) - os.chdir(self.root) - #os.system('"C:\\Program Files\\7-Zip\\7z.exe" a %s.zip %s' % - # (self.platform['system']+os.sep+self.libname, self.platform['system']+os.sep+self.libname)) - -if ( __name__ == "__main__" ): - # start - #TODO: publicate - Public() \ No newline at end of file diff --git a/lib/python_libtorrent/python_libtorrent/__init__.py b/lib/python_libtorrent/python_libtorrent/__init__.py deleted file mode 100644 index a0a8485e..00000000 --- a/lib/python_libtorrent/python_libtorrent/__init__.py +++ /dev/null @@ -1,243 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' -from __future__ import absolute_import -#from builtins import str -import sys -PY3 = False -if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int - -from .functions import * -import xbmc, xbmcaddon -import sys -import os -import traceback - -__version__ = '1.1.17' -__plugin__ = "python-libtorrent v.1.1.7" -__root__ = os.path.dirname(os.path.dirname(__file__)) - -libtorrent=None -platform = get_platform() -set_dirname=__root__ -if getSettingAsBool('custom_dirname') and set_dirname: - log('set_dirname:' +str(set_dirname)) - dirname=set_dirname -else: - dirname=set_dirname - -log('dirname: ' +str(dirname)) - -#versions = ['0.16.19', '1.0.6', '1.0.7', '1.0.8', '1.0.9', '1.0.11', '1.1.0', '1.1.1', '1.1.6', '1.1.7', '1.2.2', '1.2.3'] -versions = ['0.16.19', '1.0.6', '1.0.7', '1.0.8', '1.0.9', '1.0.11', '1.1.0', '1.1.1', '1.1.6', '1.1.7', '1.2.2'] -default_path = versions[-1] -set_version = 0 -if getSettingAsBool('custom_version'): - log('set_version:' +str(set_version)+' '+versions[set_version]) - platform['version'] = versions[set_version] -else: - platform['version'] = default_path - -sizefile_path = os.path.join(__root__, platform['system'], platform['version']) -if not os.path.exists(sizefile_path): - log('set_version: no sizefile at %s back to default %s' % (sizefile_path, default_path)) - platform['version'] = default_path - sizefile_path = os.path.join(__root__, platform['system'], platform['version']) - if not os.path.exists(sizefile_path): - log('set_version: no default at %s searching for any version' % sizefile_path) - try: - versions = sorted(os.listdir(os.path.join(__root__, platform['system']))) - except: - versions = [] - for ver in versions: - if not os.path.isdir(os.path.join(__root__, platform['system'], ver)): - versions.remove(ver) - - if len(versions)>0: - platform['version'] = versions[-1] - log('set_version: chose %s out of %s' % (platform['version'], str(versions))) - else: - e = 'die because the folder is empty' - log(e) - raise Exception(e) -dest_path = os.path.join(dirname, platform['system'], platform['version']) -sys.path.insert(0, dest_path) - -lm=LibraryManager(dest_path, platform) -if not lm.check_exist(): - ok=lm.download() - xbmc.sleep(2000) - - -log('platform: ' + str(platform)) -if platform['system'] not in ['windows', 'windows_x64']: - log('os: '+str(os.uname())) - log_text = 'ucs4' if sys.maxunicode > 65536 else 'ucs2' - log_text += ' x64' if sys.maxsize > 2147483647 else ' x86' - log(log_text) - -try: - fp = '' - pathname = '' - description = '' - libtorrent = '' - from platformcode import config - - if platform['system'] in ['linux_x86', 'windows', 'windows_x64', 'linux_armv6', 'linux_armv7', - 'linux_x86_64', 'linux_mipsel_ucs2', 'linux_mipsel_ucs4', - 'linux_aarch64_ucs2', 'linux_aarch64_ucs4']: - import libtorrent - - elif PY3 and platform['system'] not in ['android_armv7', 'android_x86']: - import libtorrent - - elif platform['system'] in ['darwin', 'ios_arm']: - import imp - - path_list = [dest_path] - log('path_list = ' + str(path_list)) - fp, pathname, description = imp.find_module('libtorrent', path_list) - log('fp = ' + str(fp)) - log('pathname = ' + str(pathname)) - log('description = ' + str(description)) - try: - libtorrent = imp.load_module('libtorrent', fp, pathname, description) - finally: - if fp: fp.close() - - elif platform['system'] in ['android_armv7', 'android_x86']: - try: - import imp - from ctypes import CDLL - - dest_path=lm.android_workaround(os.path.join(xbmc.translatePath('special://xbmc/'), 'files').replace('/cache/apk/assets', '')) - dll_path=os.path.join(dest_path, 'liblibtorrent.so') - log('CDLL path = ' + dll_path) - liblibtorrent=CDLL(dll_path) - log('CDLL = ' + str(liblibtorrent)) - path_list = [dest_path] - log('path_list = ' + str(path_list)) - fp, pathname, description = imp.find_module('libtorrent', path_list) - log('fp = ' + str(fp)) - log('pathname = ' + str(pathname)) - log('description = ' + str(description)) - try: - libtorrent = imp.load_module('libtorrent', fp, pathname, description) - finally: - if fp: fp.close() - except Exception as e: - if not PY3: - e = unicode(str(e), "utf8", errors="replace").encode("utf8") - config.set_setting("libtorrent_path", "", server="torrent") - config.set_setting("libtorrent_error", str(e), server="torrent") - log(traceback.format_exc(1)) - log('fp = ' + str(fp)) - log('pathname = ' + str(pathname)) - log('description = ' + str(description)) - log('Error importing libtorrent from "' + dest_path + '". Exception: ' + str(e)) - if fp: fp.close() - - # If no permission in dest_path we need to go deeper on root! - try: - sys_path = '/data/app/' - fp = '' - pathname = sys_path - dest_path = sys_path - description = '' - libtorrent = '' - LIBTORRENT_MSG = config.get_setting("libtorrent_msg", server="torrent", default='') - if not LIBTORRENT_MSG: - dialog = xbmcgui.Dialog() - dialog.notification('KoD: '+ config.get_localizad_string(70766), config.get_localizad_string(70767), time=15000) - config.set_setting("libtorrent_msg", 'OK', server="torrent") - - from core import scrapertools - kodi_app = xbmc.translatePath('special://xbmc') - kodi_app = scrapertools.find_single_match(kodi_app, '\/\w+\/\w+\/.*?\/(.*?)\/') - kodi_dir = '%s-1' % kodi_app - dir_list = '' - try: - dir_list = os.listdir(sys_path).split() - except: - import subprocess - command = ['su', '-c', 'ls', sys_path] - p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output_cmd, error_cmd = p.communicate() - log('Comando ROOT: %s' % str(command)) - dir_list = output_cmd.split() - - if not dir_list: - raise - - for file in dir_list: - if kodi_app in file: - kodi_dir = file - break - - bits = sys.maxsize > 2 ** 32 and "64" or "" - dest_path = os.path.join(sys_path, kodi_dir, 'lib', platform['arch'] + bits) - dest_path=lm.android_workaround(new_dest_path=dest_path) - sys.path.insert(0, dest_path) - dll_path=os.path.join(dest_path, 'liblibtorrent.so') - log('NEW CDLL path = ' + dll_path) - if not PY3: - liblibtorrent=CDLL(dll_path) - log('CDLL = ' + str(liblibtorrent)) - path_list = [dest_path] - log('path_list = ' + str(path_list)) - fp, pathname, description = imp.find_module('libtorrent', path_list) - try: - libtorrent = imp.load_module('libtorrent', fp, pathname, description) - finally: - if fp: fp.close() - else: - import libtorrent - - except Exception as e: - log('ERROR Comando ROOT: %s, %s' % (str(command), str(dest_path))) - if not PY3: - e = unicode(str(e), "utf8", errors="replace").encode("utf8") - log(traceback.format_exc(1)) - log('fp = ' + str(fp)) - log('pathname = ' + str(pathname)) - log('description = ' + str(description)) - log('Error importing libtorrent from "' + dest_path + '". Exception: ' + str(e)) - if fp: fp.close() - - if libtorrent: - config.set_setting("libtorrent_path", dest_path, server="torrent") - config.set_setting("libtorrent_error", "", server="torrent") - log('Imported libtorrent v' + libtorrent.version + ' from "' + dest_path + '"') - -except Exception as e: - if not PY3: - e = unicode(str(e), "utf8", errors="replace").encode("utf8") - config.set_setting("libtorrent_path", "", server="torrent") - config.set_setting("libtorrent_error", str(e), server="torrent") - log('Error importing libtorrent from "' + dest_path + '". Exception: ' + str(e)) - if fp: fp.close() - - -def get_libtorrent(): - return libtorrent diff --git a/lib/python_libtorrent/python_libtorrent/functions.py b/lib/python_libtorrent/python_libtorrent/functions.py deleted file mode 100644 index da479591..00000000 --- a/lib/python_libtorrent/python_libtorrent/functions.py +++ /dev/null @@ -1,187 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' -from __future__ import absolute_import -#from builtins import str -import sys -PY3 = False -if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int -from builtins import object - -import os -import xbmc, xbmcgui, xbmcaddon - -from .net import HTTP -from core import filetools ### Alfa - -__libbaseurl__ = "https://github.com/DiMartinoXBMC/script.module.libtorrent/raw/master/python_libtorrent" -#__settings__ = xbmcaddon.Addon(id='script.module.libtorrent') -#__version__ = __settings__.getAddonInfo('version') -#__plugin__ = __settings__.getAddonInfo('name') + " v." + __version__ -#__icon__=os.path.join(xbmc.translatePath('special://home'), 'addons', -# 'script.module.libtorrent', 'icon.png') -#__settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa -__version__ = '1.1.17' ### Alfa -__plugin__ = "python-libtorrent v.1.1.7" ### Alfa -__icon__=os.path.join(xbmc.translatePath('special://home'), 'addons', - 'plugin.video.kod', 'icon.png') ### Alfa -#__language__ = __settings__.getLocalizedString ### Alfa - -#from python_libtorrent.platform_pulsar import get_platform, get_libname ### Alfa -from lib.python_libtorrent.python_libtorrent.platform_pulsar import get_platform, get_libname ### Alfa - -def log(msg): - try: - xbmc.log("### [%s]: %s" % (__plugin__,msg,), level=xbmc.LOGNOTICE ) - except UnicodeEncodeError: - xbmc.log("### [%s]: %s" % (__plugin__,msg.encode("utf-8", "ignore"),), level=xbmc.LOGNOTICE ) - except: - xbmc.log("### [%s]: %s" % (__plugin__,'ERROR LOG',), level=xbmc.LOGNOTICE ) - -def getSettingAsBool(setting): - __settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa - return __settings__.getSetting(setting).lower() == "true" - -class LibraryManager(object): - def __init__(self, dest_path, platform): - self.dest_path = dest_path - self.platform = platform - self.root=os.path.dirname(os.path.dirname(__file__)) - ver1, ver2, ver3 = platform['version'].split('.') ### Alfa: resto método - try: - ver1 = int(ver1) - ver2 = int(ver2) - except: - pass - if ver1 >= 1 and ver2 >= 2: - global __libbaseurl__ - #__libbaseurl__ = 'https://github.com/alfa-addon/alfa-repo/raw/master/downloads/libtorrent' - __libbaseurl__ = 'https://bitbucket.org/alfa_addon/alfa-repo/raw/master/downloads/libtorrent' - - def check_exist(self): - for libname in get_libname(self.platform): - if not filetools.exists(os.path.join(self.dest_path,libname)): - return False - return True - - def check_update(self): - need_update=False - for libname in get_libname(self.platform): - if libname!='liblibtorrent.so': - self.libpath = os.path.join(self.dest_path, libname) - self.sizepath=os.path.join(self.root, self.platform['system'], self.platform['version'], libname+'.size.txt') - size=str(os.path.getsize(self.libpath)) - size_old=open( self.sizepath, "r" ).read() - if size_old!=size: - need_update=True - return need_update - - def update(self): - if self.check_update(): - for libname in get_libname(self.platform): - self.libpath = os.path.join(self.dest_path, libname) - filetools.remove(self.libpath) - self.download() - - def download(self): - __settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa - filetools.mkdir(self.dest_path) - for libname in get_libname(self.platform): - dest = os.path.join(self.dest_path, libname) - log("try to fetch %s" % libname) - url = "%s/%s/%s/%s.zip" % (__libbaseurl__, self.platform['system'], self.platform['version'], libname) - if libname!='liblibtorrent.so': - try: - self.http = HTTP() - self.http.fetch(url, download=dest + ".zip", progress=False) ### Alfa - log("%s -> %s" % (url, dest)) - xbmc.executebuiltin('XBMC.Extract("%s.zip","%s")' % (dest, self.dest_path), True) - filetools.remove(dest + ".zip") - except: - text = 'Failed download %s!' % libname - xbmc.executebuiltin("XBMC.Notification(%s,%s,%s,%s)" % (__plugin__,text,750,__icon__)) - else: - filetools.copy(os.path.join(self.dest_path, 'libtorrent.so'), dest, silent=True) ### Alfa - dest_alfa = os.path.join(xbmc.translatePath(__settings__.getAddonInfo('Path')), \ - 'lib', libname) ### Alfa - filetools.copy(dest, dest_alfa, silent=True) ### Alfa - dest_alfa = os.path.join(xbmc.translatePath(__settings__.getAddonInfo('Profile')), \ - 'custom_code', 'lib', libname) ### Alfa - filetools.copy(dest, dest_alfa, silent=True) ### Alfa - return True - - def android_workaround(self, new_dest_path): ### Alfa (entera) - import subprocess - - for libname in get_libname(self.platform): - libpath=os.path.join(self.dest_path, libname) - size=str(os.path.getsize(libpath)) - new_libpath=os.path.join(new_dest_path, libname) - - if filetools.exists(new_libpath): - new_size=str(os.path.getsize(new_libpath)) - if size != new_size: - filetools.remove(new_libpath) - if filetools.exists(new_libpath): - try: - command = ['su', '-c', 'rm', '%s' % new_libpath] - p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output_cmd, error_cmd = p.communicate() - log('Comando ROOT: %s' % str(command)) - except: - log('Sin PERMISOS ROOT: %s' % str(command)) - - if not filetools.exists(new_libpath): - log('Deleted: (%s) %s -> (%s) %s' %(size, libpath, new_size, new_libpath)) - - if not filetools.exists(new_libpath): - filetools.copy(libpath, new_libpath, silent=True) ### ALFA - log('Copying... %s -> %s' %(libpath, new_libpath)) - - if not filetools.exists(new_libpath): - try: - command = ['su', '-c', 'cp', '%s' % libpath, '%s' % new_libpath] - p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output_cmd, error_cmd = p.communicate() - log('Comando ROOT: %s' % str(command)) - - command = ['su', '-c', 'chmod', '777', '%s' % new_libpath] - p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output_cmd, error_cmd = p.communicate() - log('Comando ROOT: %s' % str(command)) - except: - log('Sin PERMISOS ROOT: %s' % str(command)) - - if not filetools.exists(new_libpath): - log('ROOT Copy Failed!') - - else: - command = ['chmod', '777', '%s' % new_libpath] - p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output_cmd, error_cmd = p.communicate() - log('Comando: %s' % str(command)) - else: - log('Module exists. Not copied... %s' % new_libpath) ### ALFA - - return new_dest_path diff --git a/lib/python_libtorrent/python_libtorrent/net.py b/lib/python_libtorrent/python_libtorrent/net.py deleted file mode 100644 index 68519899..00000000 --- a/lib/python_libtorrent/python_libtorrent/net.py +++ /dev/null @@ -1,332 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' -from __future__ import division -from future import standard_library -standard_library.install_aliases() -#from builtins import str -import sys -PY3 = False -if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int -from builtins import object -from past.utils import old_div - -import os -import time -import re -import urllib.request, urllib.parse, urllib.error -# import http.cookiejar -import future.backports.http.cookiejar as http_cookiejar -import base64 - -import xbmc -import xbmcgui -#import xbmcvfs ### Alfa - -RE = { - 'content-disposition': re.compile('attachment;\sfilename="*([^"\s]+)"|\s') -} - -# ################################ -# -# HTTP -# -# ################################ - -class HTTP(object): - def __init__(self): - #self._dirname = xbmc.translatePath('special://temp') ### Alfa - #for subdir in ('xbmcup', 'script.module.libtorrent'): ### Alfa - self._dirname = os.path.dirname(os.path.dirname(__file__)) ### Alfa - #for subdir in ('lib', 'python_libtorrent'): ### Alfa - # self._dirname = os.path.join(self._dirname, subdir) ### Alfa - # if not xbmcvfs.exists(self._dirname): ### Alfa - # xbmcvfs.mkdir(self._dirname) ### Alfa - - def fetch(self, request, **kwargs): - self.con, self.fd, self.progress, self.cookies, self.request = None, None, None, None, request - - if not isinstance(self.request, HTTPRequest): - self.request = HTTPRequest(url=self.request, **kwargs) - - self.response = HTTPResponse(self.request) - - xbmc.log('XBMCup: HTTP: request: ' + str(self.request), xbmc.LOGDEBUG) - - try: - self._opener() - self._fetch() - except Exception as e: - xbmc.log('XBMCup: HTTP: ' + str(e), xbmc.LOGERROR) - if isinstance(e, urllib.error.HTTPError): - self.response.code = e.code - self.response.error = e - else: - self.response.code = 200 - - if self.fd: - self.fd.close() - self.fd = None - - if self.con: - self.con.close() - self.con = None - - if self.progress: - self.progress.close() - self.progress = None - - self.response.time = time.time() - self.response.time - - xbmc.log('XBMCup: HTTP: response: ' + str(self.response), xbmc.LOGDEBUG) - - return self.response - - def _opener(self): - - build = [urllib.request.HTTPHandler()] - - if self.request.redirect: - build.append(urllib.request.HTTPRedirectHandler()) - - if self.request.proxy_host and self.request.proxy_port: - build.append(urllib.request.ProxyHandler( - {self.request.proxy_protocol: self.request.proxy_host + ':' + str(self.request.proxy_port)})) - - if self.request.proxy_username: - proxy_auth_handler = urllib.request.ProxyBasicAuthHandler() - proxy_auth_handler.add_password('realm', 'uri', self.request.proxy_username, - self.request.proxy_password) - build.append(proxy_auth_handler) - - if self.request.cookies: - self.request.cookies = os.path.join(self._dirname, self.request.cookies) - self.cookies = http_cookiejar.MozillaCookieJar() - if os.path.isfile(self.request.cookies): - self.cookies.load(self.request.cookies) - build.append(urllib.request.HTTPCookieProcessor(self.cookies)) - - urllib.request.install_opener(urllib.request.build_opener(*build)) - - def _fetch(self): - params = {} if self.request.params is None else self.request.params - - if self.request.upload: - boundary, upload = self._upload(self.request.upload, params) - req = urllib.request.Request(self.request.url) - req.add_data(upload) - else: - - if self.request.method == 'POST': - if isinstance(params, dict) or isinstance(params, list): - params = urllib.parse.urlencode(params) - req = urllib.request.Request(self.request.url, params) - else: - req = urllib.request.Request(self.request.url) - - for key, value in self.request.headers.items(): - req.add_header(key, value) - - if self.request.upload: - req.add_header('Content-type', 'multipart/form-data; boundary=%s' % boundary) - req.add_header('Content-length', len(upload)) - - if self.request.auth_username and self.request.auth_password: - req.add_header('Authorization', 'Basic %s' % base64.encodestring( - ':'.join([self.request.auth_username, self.request.auth_password])).strip()) - - self.con = urllib.request.urlopen(req, timeout=self.request.timeout) - # self.con = urllib2.urlopen(req) - self.response.headers = self._headers(self.con.info()) - - if self.request.download: - self._download() - else: - self.response.body = self.con.read() - - if self.request.cookies: - self.cookies.save(self.request.cookies) - - def _download(self): - fd = open(self.request.download, 'wb') - if self.request.progress: - self.progress = xbmcgui.DialogProgress() - self.progress.create(u'Download') - - bs = 1024 * 8 - size = -1 - read = 0 - name = None - - if self.request.progress: - if 'content-length' in self.response.headers: - size = int(self.response.headers['content-length']) - if 'content-disposition' in self.response.headers: - r = RE['content-disposition'].search(self.response.headers['content-disposition']) - if r: - name = urllib.parse.unquote(r.group(1)) - - while 1: - buf = self.con.read(bs) - if not buf: - break - read += len(buf) - fd.write(buf) - - if self.request.progress: - self.progress.update(*self._progress(read, size, name)) - - self.response.filename = self.request.download - - def _upload(self, upload, params): - import mimetools - import itertools - - res = [] - boundary = mimetools.choose_boundary() - part_boundary = '--' + boundary - - if params: - for name, value in params.items(): - res.append([part_boundary, 'Content-Disposition: form-data; name="%s"' % name, '', value]) - - if isinstance(upload, dict): - upload = [upload] - - for obj in upload: - name = obj.get('name') - filename = obj.get('filename', 'default') - content_type = obj.get('content-type') - try: - body = obj['body'].read() - except AttributeError: - body = obj['body'] - - if content_type: - res.append([part_boundary, - 'Content-Disposition: file; name="%s"; filename="%s"' % (name, urllib.parse.quote(filename)), - 'Content-Type: %s' % content_type, '', body]) - else: - res.append([part_boundary, - 'Content-Disposition: file; name="%s"; filename="%s"' % (name, urllib.parse.quote(filename)), '', - body]) - - result = list(itertools.chain(*res)) - result.append('--' + boundary + '--') - result.append('') - return boundary, '\r\n'.join(result) - - def _headers(self, raw): - headers = {} - for line in str(raw).split('\n'): - pair = line.split(':', 1) - if len(pair) == 2: - tag = pair[0].lower().strip() - value = pair[1].strip() - if tag and value: - headers[tag] = value - return headers - - def _progress(self, read, size, name): - res = [] - if size < 0: - res.append(1) - else: - res.append(int(float(read) / (float(size) / 100.0))) - if name: - res.append(u'File: ' + name) - if size != -1: - res.append(u'Size: ' + self._human(size)) - res.append(u'Load: ' + self._human(read)) - return res - - def _human(self, size): - human = None - for h, f in (('KB', 1024), ('MB', 1024 * 1024), ('GB', 1024 * 1024 * 1024), ('TB', 1024 * 1024 * 1024 * 1024)): - if old_div(size, f) > 0: - human = h - factor = f - else: - break - if human is None: - return (u'%10.1f %s' % (size, u'byte')).replace(u'.0', u'') - else: - return u'%10.2f %s' % (float(size) / float(factor), human) - - -class HTTPRequest(object): - def __init__(self, url, method='GET', headers=None, cookies=None, params=None, upload=None, download=None, - progress=False, auth_username=None, auth_password=None, proxy_protocol='http', proxy_host=None, - proxy_port=None, proxy_username=None, proxy_password='', timeout=20.0, redirect=True, gzip=False): - if headers is None: - headers = {} - - self.url = url - self.method = method - self.headers = headers - - self.cookies = cookies - - self.params = params - - self.upload = upload - self.download = download - self.progress = progress - - self.auth_username = auth_username - self.auth_password = auth_password - - self.proxy_protocol = proxy_protocol - self.proxy_host = proxy_host - self.proxy_port = proxy_port - self.proxy_username = proxy_username - self.proxy_password = proxy_password - - self.timeout = timeout - - self.redirect = redirect - - self.gzip = gzip - - def __repr__(self): - return '%s(%s)' % (self.__class__.__name__, ','.join('%s=%r' % i for i in self.__dict__.items())) - - -class HTTPResponse(object): - def __init__(self, request): - self.request = request - self.code = None - self.headers = {} - self.error = None - self.body = None - self.filename = None - self.time = time.time() - - def __repr__(self): - args = ','.join('%s=%r' % i for i in self.__dict__.items() if i[0] != 'body') - if self.body: - args += ',body=' - else: - args += ',body=None' - return '%s(%s)' % (self.__class__.__name__, args) diff --git a/lib/python_libtorrent/python_libtorrent/platform_pulsar.py b/lib/python_libtorrent/python_libtorrent/platform_pulsar.py deleted file mode 100644 index 1153b44b..00000000 --- a/lib/python_libtorrent/python_libtorrent/platform_pulsar.py +++ /dev/null @@ -1,208 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' -from __future__ import print_function -import sys -PY3 = False -if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int - -import os -try: - import xbmc, xbmcaddon - #__settings__ = xbmcaddon.Addon(id='script.module.libtorrent') ### Alfa - #__version__ = __settings__.getAddonInfo('version') ### Alfa - #__plugin__ = __settings__.getAddonInfo('name') + " v." + __version__ ### Alfa - __settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa - __version__ = '1.1.17' ### Alfa - __plugin__ = "python-libtorrent v.1.1.7" ### Alfa -except: - __plugin__ = "python-libtorrent v.1.1.7" ### Alfa - pass - -def log(msg): - try: - xbmc.log("### [%s]: %s" % (__plugin__,msg,), level=xbmc.LOGNOTICE ) - except UnicodeEncodeError: - xbmc.log("### [%s]: %s" % (__plugin__,msg.encode("utf-8", "ignore"),), level=xbmc.LOGNOTICE ) - except: - try: - xbmc.log("### [%s]: %s" % (__plugin__,'ERROR LOG',), level=xbmc.LOGNOTICE ) - except: - print(msg) - -def get_libname(platform): - libname=[] - if platform['system'] in ['darwin', 'linux_x86', 'linux_arm', 'linux_armv6', - 'linux_armv7', 'linux_x86_64', 'ios_arm', - 'linux_mipsel_ucs2', 'linux_mipsel_ucs4', 'linux_aarch64_ucs2', 'linux_aarch64_ucs4']: - libname=['libtorrent.so'] - elif platform['system'] in ['windows', 'windows_x64']: ### Alfa - libname=['libtorrent.pyd'] - elif platform['system'] in ['android_armv7', 'android_x86']: - libname=['libtorrent.so', 'liblibtorrent.so'] - return libname - -def get_platform(): - #__settings__ = xbmcaddon.Addon(id='script.module.libtorrent') ### Alfa - #__version__ = __settings__.getAddonInfo('version') ### Alfa - #__plugin__ = __settings__.getAddonInfo('name') + " v." + __version__ ### Alfa - __settings__ = xbmcaddon.Addon(id='plugin.video.kod') ### Alfa - __version__ = '1.1.17' ### Alfa - __plugin__ = "python-libtorrent v.1.1.7" ### Alfa - __language__ = __settings__.getLocalizedString - - if __settings__.getSetting('custom_system').lower() == "true": - system = int(__settings__.getSetting('set_system')) - log('USE CUSTOM SYSTEM: '+__language__(1100+system)) - - ret={} - - if system==0: - ret["os"] = "windows" - ret["arch"] = "x86" - elif system==1: - ret["os"] = "linux" - ret["arch"] = "x86" - elif system==2: - ret["os"] = "linux" - ret["arch"] = "x64" - elif system==3: - ret["os"] = "linux" - ret["arch"] = "armv7" - elif system==4: - ret["os"] = "linux" - ret["arch"] = "armv6" - elif system==5: - ret["os"] = "android" - ret["arch"] = "arm" - elif system==6: - ret["os"] = "android" - ret["arch"] = "x86" - elif system==7: - ret["os"] = "darwin" - ret["arch"] = "x64" - elif system==8: - ret["os"] = "ios" - ret["arch"] = "arm" - elif system==9: - ret["os"] = "ios" - ret["arch"] = "arm" - elif system==10: - ret["os"] = "linux" - ret["arch"] = "mipsel_ucs2" - elif system==11: - ret["os"] = "linux" - ret["arch"] = "mipsel_ucs4" - elif system == 12: - ret["os"] = "linux" - ret["arch"] = "linux_aarch64_ucs2" - elif system == 13: - ret["os"] = "linux" - ret["arch"] = "linux_aarch64_ucs4" - else: - - ret = { - "arch": sys.maxsize > 2 ** 32 and "x64" or "x86", - } - if xbmc.getCondVisibility("system.platform.android"): - ret["os"] = "android" - if "arm" in os.uname()[4] or "aarch64" in os.uname()[4]: - ret["arch"] = "arm" - elif xbmc.getCondVisibility("system.platform.linux"): - ret["os"] = "linux" - uname=os.uname()[4] - if "arm" in uname: - if "armv7" in uname: - ret["arch"] = "armv7" - else: - ret["arch"] = "armv6" - elif "mips" in uname: - if sys.maxunicode > 65536: - ret["arch"] = 'mipsel_ucs4' - else: - ret["arch"] = 'mipsel_ucs2' - elif "aarch64" in uname: - if sys.maxsize > 2147483647: #is_64bit_system - if sys.maxunicode > 65536: - ret["arch"] = 'aarch64_ucs4' - else: - ret["arch"] = 'aarch64_ucs2' - else: - ret["arch"] = "armv7" #32-bit userspace - elif xbmc.getCondVisibility("system.platform.windows"): - ret["os"] = "windows" - elif xbmc.getCondVisibility("system.platform.osx"): - ret["os"] = "darwin" - elif xbmc.getCondVisibility("system.platform.ios"): - ret["os"] = "ios" - ret["arch"] = "arm" - - ret=get_system(ret) - return ret - -def get_system(ret): - ret["system"] = '' - ret["message"] = ['', ''] - - if ret["os"] == 'windows' and ret["arch"] != "x64": ### Alfa - ret["system"] = 'windows' - ret["message"] = ['Windows has static compiled python-libtorrent included.', - 'You should install "script.module.libtorrent" from "MyShows.me Kodi Repo"'] - elif ret["os"] == 'windows' and ret["arch"] == "x64": ### Alfa - ret["system"] = 'windows_x64' ### Alfa - ret["message"] = ['Windows x64 has static compiled python-libtorrent included.', ### Alfa - 'You should install "script.module.libtorrent" from "MyShows.me Kodi Repo"'] ### Alfa - elif ret["os"] == "linux" and ret["arch"] == "x64": - ret["system"] = 'linux_x86_64' - ret["message"] = ['Linux x64 has not static compiled python-libtorrent included.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and ret["arch"] == "x86": - ret["system"] = 'linux_x86' - ret["message"] = ['Linux has static compiled python-libtorrent included but it didn\'t work.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and "aarch64" in ret["arch"]: - ret["system"] = 'linux_' + ret["arch"] - ret["message"] = ['Linux has static compiled python-libtorrent included but it didn\'t work.', - 'You should install it by "sudo apt-get install python-libtorrent"'] - elif ret["os"] == "linux" and ("arm" or "mips" in ret["arch"]): - ret["system"] = 'linux_'+ret["arch"] - ret["message"] = ['As far as I know you can compile python-libtorrent for ARMv6-7.', - 'You should search for "OneEvil\'s OpenELEC libtorrent" or use Ace Stream.'] - elif ret["os"] == "android": - if ret["arch"]=='arm': - ret["system"] = 'android_armv7' - else: - ret["system"] = 'android_x86' - ret["message"] = ['Please contact DiMartino on kodi.tv forum. We compiled python-libtorrent for Android,', - 'but we need your help with some tests on different processors.'] - elif ret["os"] == "darwin": - ret["system"] = 'darwin' - ret["message"] = ['It is possible to compile python-libtorrent for OS X.', - 'But you would have to do it by yourself, there is some info on github.com.'] - elif ret["os"] == "ios" and ret["arch"] == "arm": - ret["system"] = 'ios_arm' - ret["message"] = ['It is probably NOT possible to compile python-libtorrent for iOS.', - 'But you can use torrent-client control functions.'] - - return ret \ No newline at end of file diff --git a/lib/python_libtorrent/windows/0.16.19/__init__.py b/lib/python_libtorrent/windows/0.16.19/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/0.16.19/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/0.16.19/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/0.16.19/libtorrent.pyd.size.txt deleted file mode 100644 index f7b7ca56..00000000 --- a/lib/python_libtorrent/windows/0.16.19/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2363904 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.0.6/__init__.py b/lib/python_libtorrent/windows/1.0.6/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.0.6/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.0.6/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.0.6/libtorrent.pyd.size.txt deleted file mode 100644 index 3c2fa282..00000000 --- a/lib/python_libtorrent/windows/1.0.6/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2281472 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.0.8/__init__.py b/lib/python_libtorrent/windows/1.0.8/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.0.8/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.0.8/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.0.8/libtorrent.pyd.size.txt deleted file mode 100644 index d073a9fc..00000000 --- a/lib/python_libtorrent/windows/1.0.8/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2426368 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.0.9/__init__.py b/lib/python_libtorrent/windows/1.0.9/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.0.9/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.0.9/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.0.9/libtorrent.pyd.size.txt deleted file mode 100644 index 117a8649..00000000 --- a/lib/python_libtorrent/windows/1.0.9/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2427392 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.1.1/__init__.py b/lib/python_libtorrent/windows/1.1.1/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.1.1/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.1.1/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.1.1/libtorrent.pyd.size.txt deleted file mode 100644 index 9f5f81bd..00000000 --- a/lib/python_libtorrent/windows/1.1.1/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2671616 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.2.2/__init__.py b/lib/python_libtorrent/windows/1.2.2/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.2.2/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.2.2/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.2.2/libtorrent.pyd.size.txt deleted file mode 100644 index 1b2e3d2c..00000000 --- a/lib/python_libtorrent/windows/1.2.2/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -2996736 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/1.2.3/__init__.py b/lib/python_libtorrent/windows/1.2.3/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/1.2.3/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows/1.2.3/libtorrent.pyd.size.txt b/lib/python_libtorrent/windows/1.2.3/libtorrent.pyd.size.txt deleted file mode 100644 index 8d654ae7..00000000 --- a/lib/python_libtorrent/windows/1.2.3/libtorrent.pyd.size.txt +++ /dev/null @@ -1 +0,0 @@ -3049472 \ No newline at end of file diff --git a/lib/python_libtorrent/windows/__init__.py b/lib/python_libtorrent/windows/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows_x64/1.2.2/__init__.py b/lib/python_libtorrent/windows_x64/1.2.2/__init__.py deleted file mode 100644 index e0aed70e..00000000 --- a/lib/python_libtorrent/windows_x64/1.2.2/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -#-*- coding: utf-8 -*- -''' - python-libtorrent for Kodi (script.module.libtorrent) - Copyright (C) 2015-2016 DiMartino, srg70, RussakHH, aisman - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -''' diff --git a/lib/python_libtorrent/windows_x64/1.2.2/libtorrent.pyd b/lib/python_libtorrent/windows_x64/1.2.2/libtorrent.pyd deleted file mode 100644 index eb0bf80f43d68a295063bbe65b8bbb2ead73252f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4290048 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

}UEf+Q|$5k-ew>Be}=^Be}o)M{*DRM{;-j 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%0DllPz>#$51AmZ@kRhMj?jxZ4nZ;6Lq*Q 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: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 T1#$)(cjgEY;N-8ZG$$KK)U;J3 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%0AS5d2;oiN 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 z z)+ieFT=ocg_Ci)P2cel-Eu%RW49P^ENPI=B#(myMlQL{JB44cVH z-)815buEOYAZo2BN*tZ|9rlRS1Sfs;tT09v)YUP$#GCf2JwY)NL@F(^*0>-$gGMrE z=)@LqD|to`-k|tNjg4uIBk(jc>%OnKO`d`6MDmPsE|@CD-f;}@J0qlrPC+!;3X@6Z z6uk=B;M!qlLnfre%FGA`9;`+N3vEpwD}XeS>qcv87BQ`+nKjkwP7bE#v@uYqZKac% z)1k{b%e7RzLWnqzTY*TgDS@Y~le)IYTpQyOcC?%zghq~T8UV{7ugG`XhN~Xu+oKwH zF_7P?2+W!=AOmSw8~K?3IbgQ;?iOY`iEa&MyhQwHp+^2>Ty$KR*f4F12!}&Hz({Iz zB5U+HflQ8yypoJIEO<5jm8+-$SaaA7LxozSF4V_|+??ftnz!B@r40gE5Fx<^T!wqI zShOj)8VA5t{PMpCF4ifu!blIqhF01A_Y~Yo5xV7w1xtX%e@0L^ch|>KyMZU$d9gE? z=oIsxo>t`@wEHI+cF4SJUq^UaX0XzVBiGANDc9(|H_`jRtcE#ApVU@ zt0`5Np7fL#ff<3ta~+i+$EWxvzu-NTSypZe*7v*5d%K#V$vft2w_laKRXK z(GTQ+_4WtRH5Jutm-)|c+rsmmYlbd=eeSvG)26sks?m)0u4Gly+L@&w8Zu6vVGdgq zO?Fi--N00MjTQee@5LHuQ{P%$3h=Upx;)jj{kH2$7oYieLqoi2lMF2|s~i%rhzd+{ zJxD;m_bZqWNWipNyty9D^8j(U)qm6I{StE^m8r^<-Eh4!WTlJuxPuj#D$3$Hatc7~ zpjNOF$z)BY<-m#SWz^YmT*U#REpH$#O-=T=Z9pj68(t)p0?TidR|NiQnjCOz&^&$J zv}@+i9n}|t0{OD(eEo$H%o>c(DlhPl-j?zreJspIzV-rfjBlTaauAi}4(Wv_k{58nCF|`~<4X4g0oC(iHi>8)DYuBj;_PY|!QtM*r5FTI>T$*zd z=J2Yz3KKw_2jJWhZ+myXZ8&!zDEjdq?*B?+yZkTr|8M#I&(Rn8ethf&!O9O;7PgF8 zDv_YJhihKaE@Lm8TP5L;(vUHfPy z86wa?R1}cKGxH6cq{o@6)+ZJTKq0M9NVb(l7`A-|e7obm1CmrlbyVsxx`Oweb~Pg%R7kD^vE|4U~j;rtnCzWir6gnX*@T*v?lQX!CN~4BQ;~n;JBY z1+GTp`Oi$t^~tk0@aZagVS1B$$=F!HR#{C-w$uId{-%8VjNC}`v?3bm-n2S=@JL5@ z4;pL#aT;WZUe@_p&eoD=h+B7Krfko=&Oh?%W}Po0H_*5}XKx_WW&W6oI82#IG58=8 z3Nh7YmIDDh zaY|-aL1`C*ES?TMXU538$c2VBg zr1&srOf8qsshudi$oT~*s1oN{;%c_+IH&gaw4wOW_6feyG_B4oy=vz0Hq*%6>2YKt z+4mm;?VDVihj((JmY?Ex3oR#hqMi+PfYbC!_!zjlNIIqlw;TNmnuLovV;Q{)-TA`AOI-d^%a_8OJbKWYsD-au0q2|Tj`Ec4EiAZk&)?p33IMu0|&e$1RM13M7_(= z4j;Q3>fB-Bq<2|MRd|lq01R4o=XOL(fWVQ3i5eEuF#xT97cM62qLhocE=F<@6Fk$! ztuK>ylck2-DZ2t#Q#Hd9`$_j!6<$)>OgXa&q-T&rSM#V_B3zbxqhU|zRRc(5=!--) zrCHPuCu@Mr3s|?hQ%kH0r5N_Lf0(;^QDFybE?xZTOMr)lQEiQ)OK%|E>;DQDQ`E^| zcuviFP3%643jL1TuO9cm%29{D6+*E&HPw99aupX?m>0ApCU%8uF!=qMaIq#*6=;{r z<-_IJ3riIP>IT|VTzEI%h?_?av;26j8&l-26MF5I=Wn8W?AgE`k|kF453}P)&CWuu zsJ}MqUZ%n3sta?Js+qn?HQZAT2FJFd4ibo^u7D#kB-`3^oVD@dPn+9#Z>W@AxbEMAbVkXiQ>b3DBAb<)G#!Vt% za~Md^cr7QwwhYA@P)T#G-PcJlCB?Pd`!18F?M0z4GXW*gj0uNnIps#BMLKbc@ z85@UjRlEA)1H;HiAr8`%y^L7Hx+X?$@w*=p6 zSB98;Nmqu@?5Hb4X-aejb1e$9bB{^vdx%k8S1aOe6`^7Hn;V8=KlB~XpU$a8ZKTaS z)>;Lld4=fSV1sVeu4)O2BJpTnq`Dm2BlBXZnJk(qrCi^@b*Ugl?x`vA+A@YXWmmpueCbFPG);wGX4Q0zp+1B+Cz87ytGTTKx!RvQW*# zjgu+g_Zl25I5j-buJCUh3@gKU+gmtwerX7dQnJdS?fW*9Ul!wY4+E zQfQC&`SO-Zp@Psxl3=q5aKn*Il71KKLGG%!W(ZkbEDkMZt;A@jGo9CBLkaTx3~Kpc5|D>a>#9N zf%fP4epTcaApNkZ%AHq20lOtRAH9hB3D!_+@EPyQ6WHq99aa?ta&Ey^aL=IQ8KB((7)+`HS^x2p@8$ZVzk7Xr1AU|Gg7J$vu-^~j>vwPK}w?^Ifys+dy^^(3PN)~#Dg{+f8Oi) z%K*5=-;06|fEoZJ71LMS^OdN5y;j{h>#aegddz{s7YF%nqh|eO$ApkaW4gu1-crXc zUjO6VSUO*{6vGgQRD2#IVe7%=lrHXPid^k? z-Y9VV&Oe{qek^vF3SQhhulIL9J7`MOMVvRR-d`T>L-cv~&)Mg{zMkvzIW##`pWV;f z=Y8}0{P%TR@AFo0=bJyu!8?aL3-fWOGd!vz(z7Z&3Pcrcj=aVk;MsvU`4b9=?bbK( z@F1{gmaqu$gAe8OPFPgN+J#pJXEbM*zliTmq=$;)dq}41&&gZ)bFzm;sOR^}o06Rw zo-9U&MkvjV1TpDZJxq_xp0!&w`#1&OHwOb>Y3>2HF8N`0tQ(EI=zWx3Re`bimlF2{ zxnPS78aX2B58G#FmzEs;ge5aN(bYy68S4D)YF@~}zEN-UbzNAa>iH}Mx!9xailzd_ zXsp{v0pX1&kx!tM*7}DBN-yS|O}ytwTQp5vXGO}n66_#iKm!lg0m+2qK5g0y5hV%D zj{_vC_W+^+2C>%(0@pU;+R6GZ-sbH?Y^?rL-;7xXuT?#E?RMpXx+5RdU4UBtIUju^ zhn5@mv|!(;b$t6X7VHA4Z+KZ94pd&eLDGSooG6xZg7U>RM~GRsG6f+s1(CMg47kPr zP~c^=Csj*%?J5QYz_)Qp7_n@tG4&NU4BUH%f_qb_^Fgt+#8?%4H-&q%o}<;eqOl+h zoktHGk_Q=QD2CWMt=c44J5HsNvCK{ZCC4B+N_@4RY;ADM6XPD$3-6Q1-whD72< zOC1uvEH-)vJ%431#=l5ILIuhJQN?6bF&S0D_5d@o*wp!J_P73>eA)60L#LX(z5NN< zm^UF^`4h6yOh}VA^BDCAArUr6M3H+Ax|0V>0;gW87lcG>kR(3>Y@8 zg$pXyF%wm0CbEmcEl%8;od#I2L30qYh;QdWxZg9>95gToz5W~wjr*D#lf9A|^>(lz zZ{!@?Dp-UJqF(umg}0B}!21Bf^?jm)S$J1#4$1-g!ljyUy_~h(KQh=O!(>)vp>CEy z7U~O4&EI-93-zGZhOoQId&C}K;$9xq7v)3UGf;2vHca=S&T?PteUt8}A4sk8`q4W| zdM7ttskylNN#M?*P<%wGXb95 zL=zUtBwlH(a}x~&Q^rF5g-XdEdZ98QM}ZQzw{9OreUAg{C?4HxqegrD4dmfZWy;QN z;UIzxeQc&|)y1TSk9a7@Z;rf!Oyq12-tirl(h5X z5M|?DHnPl&5Dj?8pstwTKg~(TL!3(Y3n$+#Y}qlK{AXdyh*k9^@Rt0A8RIXk%XFej zM?$!@_cN>cb!+@;SZ(?$?q&(KrRO$|V@8xIeGb$V+Y&e0==GOMZi@ip=H*CXl1jME zULq@`CforQYu-5D*t1M%9sXOr)E@HCA@!m#>hcKY3e#gqXw#ojV(7Bko57_rKX9Ho zGYIlJK_MQb{zSu4Ho~+u21PY!vB}t6gVjdY3<;EyMl!U?1h@Ehl@!&4-HN#iv{m;k z%B-HmUJid`l+VV-BMkLf%3LT!PJxpe{%rpaDgot?fs{)4l3TVAqfpJB%__Zn-=wFg zUfWgk*8S9j}kAT~~)6m%FhpP`{eMu8O@60z8>%p!SnX>agKQJLVaP zEl%P{8~&&dKU#Oia&M2Kb?2@KO$rpG#@9_)jm24AYC7_uoUH*P$J}g?-f9SK&etE` z>WTLZsT?k1^zH~?7(`Wt!iw3CX}uBtIP{ zx7$bqpMH%`nb3`VzOQ65S;Za1wZA+0X<_0>3OY`*dU)b#u0nx_o|w3PdEc_=9QE=B+Q2R#vH=W~wlAw-LcLf3YZ6RmzLNNA^3&ZCUkT5tK8$fB zg3;uW!xOuPyGJtc0{TkV%%{FqvOtD?ITtCkYB}=B-Zn_?u*r#n=`SvypIw*89X2u% z9OTz}Kflq+9llS49Xbo#*2@)mbC<7{c+%UuUNUq=r76CTcP!cG%?x8jQT@aq8TyhH z>=iMTVzCL3yPViyoRyqo@SG<$$djBu@XYf1qfhcR`|k!An;I0U1zAU z_6CX0XIBo08txyN6E)o6iy8uRNAhjouPKSeY=I%g9Wb^M zpQSN4hd9sMlj@tO-po|pVJiad2Xg1QHy9|O;@UTTOfj6-?Vb{(`;w4>?tP2GeP!m0 zTPpck6`2R+UtT0*_H<;Pq{NkxPuOF>zG?(QJtKMQn1W_}74qC$HX1a!ywpivPWT%( z^&R7K3VOzyzjkavwCGSiP^BFhBHSYJi3xO>D~pL{p*NF~zC5bmB35@+&iz_`K%l>@~bpDFoU=!%HIJWE!+msWTSZzBkx9F!4`*NZz+wYYwmLPXK{yyam*Iz5+ z9FP$Xu~sj*E{l`-YxR@sx4Bj?#hP#nYxTNSgVySpW&h$@z4e)YbFIF$Y{<15nlYdc zTws^!dxkg1|I5vS6E?MlMN%rfS}vBFJ8tD>3ZqyvGw zjMc8W=)X`rr^_z6is^B8Dvi}XanU#@*;V2kv55LF`jg|9ZFjZat@R!nBWO>@D>R^Z znP^qthqr}G-NhJroKP7r`f#c{{IBq4i70`5gOq+Qv0dEl_D*0|>E8wZ7fB^gImkGr zaThE5QQiST)mmT4xJ#y{VjHM$dgWBN?tSitzu$lIRQHs>@@%*MQL!4Qv;|jy0yTi0 zw%-6IMBUzp%V}UQm|z8->8}~Gr4@T@))LKTM)FA^fpuv)Md*O7S(39qZwgz(I9uza zup*4;$ZxEZ5Ri^(AZ}12eIDE^7FO`AQC*^|`98l{ zX7y`SvB^k2w;dAPwlP7nXC{N(Fah^o0h*?d_>q3x7gA#f%qgT0+da=BgWCWfTx3cb zql{t#Rgt6!lM4B?TdNA49x)&e>9iU&=f)?{ijKN87(G)f=1-TK6|=%>(YnJXWd!N2 z`^Q@<(LKpNAY1L1)@`XtkuYvVi88VVRiIY~t+*FIAaY$zS- z(uz5WaR`vB5a=cA%0{dh=EvRT-rXIRf@*)}7+PI`q>QMl#lKfjPzr|P=_%OdRc8_j z1vil5JH1oLS^mdjr)X@Tbi2Se)&3?ei%%p#M5gh+1Cce6?UCt<d^T| zI05LercA;q@$Y%(>GXXS&2r)(Yyi6v=yvj4e=6JCfERPs2xc&oT%7_amIs<|9d)A$xH6HIB!nrYJ|i0B z8zofm4eLzJqU$66n#mx2Iv9ych>8^O!9hnJE9~EnIvwfDW7JT5%|jNY8kDKrkr)Ug zG&il$2prEnY|r2t?j~pO?zg6fExljk-0gE;XsNE;V&0;wd3$%U-@Ci`Vhg?7 zWUoSEEukAxYc$HZ`+h|10QlC7T&AI?JJf}UMrVggt7KR!hjbT zk)ztMXWgvbs8zHtPzSmr8Gpw8*)HCDPL>4j2l2zW6ywU*Fs^)qxqt6L&3)u8&J3?b z()A-E>2r`e{4SinbQomem~m7{@F}8h7&+{Abv3gIe!75Olfv{p>OftKvJHfO4MTK%sydi*0QZA@;0Ec&2jRuWuGZJ{|BB=ltUVtPpV2|h zNNzTST$N@UpRxl1P|u5MJw~XZZ8r3b7ai2lcfW8$&v+-(P&D=RXzD5iy`PfA zE)V}Me8A$LMr&}8%<(?5yzI+E%;ECkUs>9?fc9Af?2>~GfMF31UttveuX*R6W733_ zO~^ht$$zkG_Cb^fS$T2Jzt!hb(C@g!X!Z~e)f{%oiD>Jp3R(^$5AY|1^+2wJ#sS9t z;wmCSlZLv46cAB&ID6%amR+K5Y;}pxW`E7F*@dv#6jBTVW_({dkMUuqyY{e)?(!Ms zT=ZbWD-i;tfBk?gdr;rtT?`Y|=hPlk(sG*PUS8f0IbEAMp#elV8}=W$_L>$LfN+p4 zK|=0?oC<<4SivmOp29w!rPzqPk90IC?iCcyBpx&Z@~6Fkm&qL5HDv$DH}%#4k2@fv zZIG^%DD1#O$D&NxM}`ugW#Z^XUZp=E{LN)yCXb*4D-}%@|eZ+zJZ%cbrpg43taeRLed& zL7;XtX2tBB{p00rz*z!nH1L5Nsn*DwwNFX1*kH8C8Z+ed0tx$xCS*0qhO2#Bo+Gu# zR0ZblWES{kC5uJiqV7>nH%BU#_(yL#fzWaVUYf}XQyN0Zy;5K?5hQhZ92hw5e_`HI zyP$wUFspndUSZ`to3jw?PhC>!q`p<9viq8un!?!&X8X!gX7K1rG%RD; znm|;yUC{^ACBGV75BCt zE>gq$`oltD`*^fYjK#1G{pdlD$L$1d3>h)8#b4{V$Gu(R-8ELIeY|?{Hq|)P5aXiu zwZt_7rz1D)2EnvZ9Ey<(4XLwv0o=ai8(4Ec`(DvyCAFUfCVfJdg3qM!@Q$Jp!f6@B z-v)PVs+60$n!-!qXo@&~cIouHswA8Nbw}6L7GC6epFPMIsfoGs2<_)oH-pYT7>&R% zG9fsM5QZZsL9pglH?P3f$_g6tvs;j5@c}HCl%QSvFepvuvEF zE+q$N+3QRLnSYXCGh*xgY1^bf)3)88%b1@RWO)FIy`hWm1#J!;#*aPO-8^va5X1&~yyiP= z68yht={i35?tlAJ36&+KlI+3|VxI;R4U;rX?4yob{PLwf8#T8=ULTOODswDo(1PZK zhBX0dX)$$jMuxY#i7=%ymDM7Wtq!82Q94IdnamSnki11iVnS7Y`^tVO0j3#x3Hs=r zt&kiQo=c%4RAy9(sZYXS9b}J;UAkcm>m0^78aL3tB84VfI z+=|8gDgahtG6)XI6+2A=r{vp(iGHHkG|JMA?Vi9 zR@7TKj4=Fy&PgCOU}P_c~)6tZ?Ub=vygYr$D=XAli7A?AN0r$^j~?@#LKq z3us!ucj_1NGCr2J@goKFwcc6AvaP3|9pgu)teL$(e8bKjy}8Z|ixaTWN;t*-f!jyi z-657>G@AUD<8Ia6=drq!GYf(}3_{W*H zN6mU^xs4W(gGg>iDLTJNtV`hG=lr05CbrEC>$e!HLo=MuMLlr5i1~+!Q^cN~AngB! z{?5^pwJn&K-U(PSphk%Rd?6>(`5(2nXs`qnD-qJx|>LEgJcA!)I?q z{#o5|YM!pQ|MF~&<;uo1&J7RGtUlt;RCnpf?(lHct3zFoEkEo&V!uCwrpP*;rEl*K#Hy+CN^>24>-dCLG@_9?^2{(QaZ#gi4 zL3|{~xQ)P8?4<8OiG*TEK9X?_;_Ho~1fC3(b&0{ZvE{3hp`~Hnj)G3QrI{7p@3nBW zHYb;2C6cOp!qQ8pc6LdEv!r${_$$y9!_C3_*QT}bBmuQs(aP;jqFMIS|VHpubCp>_R}zi8@%9N(6l`&?hrx zcN}Xc;3a;uz`vBHtn@ku&ygU?jm7~OP%bLWgXGB0ojadsdtzAI>z@T4S|6GFVc?-P zfx2fqcJ4bv40aAz@@4MWTfBhD1>zzBRvDp8aHRB@&we^c^e&9hn6s1SuIT#!O5PI5Np7VE;DNQNR(Qxv$Roy*(S46pb!@K6^b za`k()86)SLa0l$bnE&=`^*ey9t3NS^VX^IOKj+gn`jQwPZW~o1`2GZ92$C6djChsH zG5#5`3YoHUy#U8s`OQB+l~Va8N`eBY$c_*NsKB6e&!(%i82aQJH+4rA4U#Vz z^L{u8;`O9X?GXttn;H`y^%kz0w~(!cAJIjY1FsIXuUNOs7Vxm3<%(4iX#^vsET9co zFzI3P?A3h#6pxFi|3omyTqzw{ZP+4N{wZ-+dWOeV)#Rt{WODFnTrk(#+tWwvw?GpOv#B*uEr}w0 z&gu*z!wB3)Ps`-wKgTEbf@ht@0!1#KZrGpdgBo;QI)qM;xp{872{-^(>#p?q)@)t2 z9!st-7;wcmhIh=;xo428fxS4N(X=AT4K#pA(t2tV^9MfqyBB1|k%;sVMdPYD<9>IJ zc)IZas6)mZb7xJW`yGcL1^HdyQtV__^p7< z8F>`O@1nhBwK1b$)v)5uYfqt;4gyG?G%Rf7$xh8}s<>s^s!2t#nb+#3W76Rxyqf0~j0HQ5p*{8)-mpFYiCG}Feu0Otzm4xQWiKC%)-v$$>WI54+_}2z z^`da#;b&()_jb5re7xwNkqN6V^ZJy2GhF*vp#2^$7`9rR_|nX9a(2P6mKvQsG7iibSxN$dAwnuzi zfeD!DuFH-%*;jHIT-^6Isym-&I`+KJOov7i?${%i{-qfROa$;Rz7YjFgalV3t3JEt zPOCl(brNYFAJSnzW&xAGsw6%k!m{=4wxWB_0D3dH`&o5Wz5JubW}+S^~ z!{8lqkHED2v*F}J99lYn$?U>(v!(^NOd#65bln;qHv#SpQR0BX#fDnMD zhz;X-spuhz>Dfn#27#IJ&sf{2~sy=?B`{A8XB941T6?L3tD{FivArXkJ9;I99S4$ zY%G-B?^d)ii2jREbT^BQXtl>LBIY>m|Co173QR_;(uOxk?$BV++;DE0vTxSIrDB$| zp5NrgP-5g_Bf}qaghcpDB)$*SEyv8@%XSUyT*u6|niT-2OQ^klU&lsidtD0LUEJyH z)2Opglg=mR@R-#r4^nx(>@Jip_RXq-@zbwX$TM?&YE80?cHlZ zAgi%Ic#m-BAEI+y89ar7g9)TNa5l2S<@|h3<_u`Jntv~!Q-jeU=n$Hez0YQC?g=XP zpoEfu6$>1;1!POZp^WSmNdF4WBePp5j;iZaYe(cH{3Isw+DcC-HI{(&4l{4wZ6TVi z6HPYh=x>h0sF?DE{UHrMFODBeCZw5gjK1ncb3~LczrwqQ7Y9Ld@98_(MG*`0w0p9( zL@J`dOpH!^!RN)9BM;0R{m)&8#uHvB*fl>(|KTQfs8N)V&#`Us1TR%nXT-2wN47dCo4wuSJD9O z(Y`Z~4-C2h8f-fs*pD<_u2!)jB5;bt2ygn2?lu+rT+Rdh=EsILYfBqBkxNv-{ z`M{cB{UA&$OS9wV-b3bh`(kskKDDj6`1PW#&&3vUg57*dPL0;Z$p3|$U?2Td zlQbEkWz`}7f8_+*Z95^=Ku)l6^8s1b?`E4h!O|z^;IIHV80(IqbApXD zVE=;}9-dL08GEQf3?p&KCN@)d)tcDlvu>~^HH%E^GAr|w(;)LBHlgL0vJqZwQn2$) z@YQJQilFK4+cMQARa{Dmun57rq?xL`Tjv1=h2etg{+^^erQTK8RYg;$p{T-Vl$8a; zFf_Yj{I}#AP8`IXxN(8cv73#Wu zpr6P>!#4sIcsf`R!$cPGejz;nB1zV{Ud$P%3jsD|;W&2)E8AU8kcU`F0THrc1(4&# z$OkY;wHlJym5D)Q7|c(Ux@p4L=+b-dG5_r!mD>&i!xx?9pAHx0TJ9a?6!oC7#i?ie z3iG;8vX12+^Ln{`z1rwsqDyQY_Y8~HBDy&WvPcp#c&AuJY2LSk5`oK0=vgmD1h?8} zFDYiq`qAheQW~w@5DiS);G}+SQ{6~8_mubT`u90TW7&q#Czd|o3EYm zPzet!(alvm(QxWMgNSihEO@vtRYYt5nb;%hX5d2n&~3+l}5I5FDR_q&z0ivUllerQQ+OB5_%&)gWo|%DLhs-B+c_d(`LsE|5vg zfF=ryQ(HpiFhEhJrcXK&fmbCcIAiB5uW363I(~sWz<8 zJL?-erm*DdfvtA7d_lj@er_!;uHXKOq-~$Lw0_fSk^NUKY0N3I=c%d5O}44Yv;3w) z8mPZNZ+o04`R(}Qy#JohHO^c8#{d0szIaV`oQL>LZ!*rGkb>}E8E42&4D&flRPv%+ zJKw$A4snxq#{MXi>8x+)n9P*bHv($lYNjq9p3rHXY(j&`v_wW6X+CzAL~pFn|HDiy z%%h>(mQLgLpyb^|<@Uy5TViP;%YKtQjj$r<0y6c?uXyV6U4_m$k9)*==Z!$D_tMpp zGlGMg=4+&p^f8Ufln8xmVD(|H7PNayG<9sLa+AhW(}Hv#*?G7mmX0>FlMuQf%t+CU zH8gmCAte_d63>0}`eQ@pd_0}AfY$WqE#L2#H?flzZe*)r0Py9Te5nM7Gt{LI(rxb@`j z)fYj$nKQRaE?)c*Ka!53TZ&hDzj;qAXL{Z`GtyhS^kd7%`KG;1_wEgg`SI2RJBS^d z23svwJlcpWbE0s%)I`yE`2c$|qc``KCemuc`>c%tr_+mc{l2c<^aiy7*YeA2E!Uzs zvcj;eW{tHlWZus0+y4`JJKtRk1OaW;P$Jl^CM| zTP$if&D%Law&%S1!g)J8G3eF70?`G38+@Ets8B!u+j%?3F`WNg-p)b;f&X0I&gF{h zA{K8x*abEPEe||o-cHe3O=Z^32!1h}Z&Ge$)-)Tp%wDBnl}gYXzrr88#GnTJmKD{~ z6#K~n!KA~i=xVW8B)?JWQW7SJAySt#+m%}R!5Hy;#8I;(;X$A9-jFM)a6w5EwM6%g zvF@_7iOxAM*`(!hK3^WzZRH)Ey!>CCPloVJUf$93WH4+~u>L3Vj*i~)Oy=huHN4(H zp61{HfzQsRXT+j5@8FG0!RN>wdd_!QUM48o=gA$47Fh8iMw)Dw3XoI@x%}d}L$Afl z2YRWE`ChgyyRQzFQ<2@bc+a@MaoGd2k-%({JM^bFX%O{ropUSN7lsLWo>^D4zWhP-OG(8PqSg_|0iK*mda@-&J`B z&=bBh`=jnFP3AuH>dT^0?toO_Gx#G~RkdbM_!skpo-|)t&g|H=8+wNhJ$Aj@Z0sBL zaB$w#y3cZBKlejBb_1c@oVdk(Q*&cC(`5#@?gn81V{f#uXu>!RjQG5HQ~z?6frpy< zci=IVUTgx7mkbSnpbo}`&kK)3{*i;niGLp&9xp_PfJfK$gW=JpiO zJMOrcd`n8T55_pgx(%FL*N0UlrKK+ozwqE<9_pVjl1^pe_`CejBGaU&zo;{{B{3F!~e6T zRNI*L!!H|h_%?sdG!qq28E1^2dG-Ki^?PQ(8~`yYlEPIoWa~xcPDRDDrUg|#hD6Uv zOgp){v)<{L95NCQ$Cr3C_?kQJ2SjCClU1QuA}Q>!z}P|pGE7ypgJ`MZF@(!8)j-lP zSj8JHTIaphZnV7TAn53>uO=XP!K(TooBYwCO-m!_3VDnD;+&zn>lBz z@PV}`I_kHY^Zf_F&E;W}{z(v$Vy%$oXj)AUYVH!-+|hYWF-6|#JWd^%oH@Lpn_w@1 zse8)yBltlfUaCI`8j>@E`cs(&NB*o0t(S8L@(a@oaAQS@w`&Tq*AxPvXk6?XsNljz zd^x2NRUB^dr1r)v9i?3AXyiplx3a^9*<27!&TQp0iQH_! z&VgOk3`cEiOzN?UsK@-44s>%+;#JeX2Kwfdm?$SE5D|6^xl<@7JwHPfX?blP-czuD zb5h|-<>Dm~FaP-7WZ})G-c1*8Btjo$*kaFh_}AdnoQK7h&Be;R$&xSJpj@mBy)o*p z^9~|8g_F8%HIR*^A2rM%9G`_J3ZRi@k-N`D31{S;FwX}NrwMkiXsRAg@wO_kMpi-{ zR3Y0U);~Z|!diCj$B|`|ew7TqPU@G&u93RXBV0KXUdq_KQGDn`m1gNRYXKOqQbiH* z{V64I#eq+5y2{~@KB<)DV~kLI!eqw@-t7hADoT|S`NEPIBa?|TK-q^L4qsFwdgPCf!Tp@rVq7iBg#PJG1}WN#sV^BH$% zGFc?rdj95P+sz(^r1G{dP59@{-|U{H@7OF1O%>HgRVeb7=QAuCH{_a4o)Ki4i{H}N zm~rXg?1cZnkiR)R*FdBdi1Z2~PywX+pEG}R%bEXPLgFpcIUi<6?QUWA|4jbo9g{f( z($U#O+5%jb^5jzw@}@yN*s=5SH%Gqt?}2L@dpDa?D!`&=bxjYZ!(7%^c1$l#k+xBk zAcfWjBe2x;SzI=EOlO*>w>qgC+89ULIm5ej77SI2|3g$z-`YJ-BoT2oPi~*DpTV1Y zHh$I%-lQW&6U)R&xxJ>at1~orh96J4I^xrr?qmU!R$H`_N(M!AQ*Jpw9j^9mo>}sW zO2w6$_ec z9)%%owN9E{HhooaYuZzEmIdbyC{Ho^Y&T6>k}#l0^ka${aS>XEC%qj?{4BS+IfidU zGi3go&He0}vNcZH4A}d@EU6d_OuXyubuTdUc7Ivwh9|w5hmS5;+8~H=Q#e$8m@q95 zdEYSKN{yw|%yr!5=8N|Y-of^Lm3?2KJJDskEx9Mcu6+E3kGSd6*)QxaHI(g-7!7(O zesIWn;Z*FV3>N%<)V&E{RMoxsKOq?y))|&as0)K&iAGB_E(t-+kQulGGa6b^RM502 z(poD@22cTmlRzf7Beb(>ia(*Zo{nfdspJ zTRqnGOp;i8+vu@QvrG-qUURgjogtP=@uAvwm>%;UfDU>T1gyUz-q9+fmNf>N?5)a; zv5vgua!=$Vv8~X5uX@Qu?Eic9k|&5nL{aFeMAXb!CS`2@m#YnbgXl%ZuIo+z|7`42 zi59iTPMnG@!-)paZu>6aAv&)cDalk)QsRpaky2D}=r+T=i6ktqkY^@7v&{OpS!t3GjfNNb8hy=@{ysM{#O zu2V`m%i8;G*&?w?Gvhh88>AsLvXSqnyZE`J=O;V8cO)3dr6l<6$=v;U zLXm{Oy#7*B#puZQrzpyCbY6qXVuw{6&#QaFWF$1jd3K#0LW0Xp5YH-qPZ?;HxGbV2 zn)A{2alMM6h&FnxD>!4ijzj&!?0wv7bydm?6;nFq^NRnedPP7;2-`8qs8k3UwpFN$ zP>j2J`tAvw$>3v`vuCL!B~8b`pVB8==kgr0QA{tzgLK<8(|hpSf&iN7-K)QM2u(Zn zZ(OIpo6gB#dP6e$3vxcJq=#{dt0sPhSK-nu>4#^7@+mkKFUOxn07c1}N_?>vvZvMlz8_lXO5jvyjq!(qc|Bw>6iYpzJy-mOwVXGPE6jx`kjA zl|%TDK!`vv$v+>%Sq6iks<=p+aY3E?lj;1g!n6@IowK?%x<$l(kEu$dolR87KWCN%|A*{!iw*?w6eRo2ZGf{v)0M>1>ndH^+DOG#g|_4QtL z^F}L`T@nBiq5=tQweBPqab04Py!N2~@Yn8W*9?0ZhXr|v2ZmcKUJyzW50ABGUL|+G zL?{biDA6lj^Vy?4nWxb+Y*`TKP9>Z3p0L@jBtl(qSiF|iz=g~(6F~2&-ywB@e?p;D zY?h5tET^=|T)-tjl%1GB_AMfR**8R~;Gv~7yu5(W&F9rVvTkC6ZVx!2C~q?lk=Iem zr=-W>4M=9{Zfukx3`-@m3MKWOFJCeiZnw+5AbV~zvKxZts0O2Sk7NbglQMOPFirSKK%2!IeGr1Fd1010H)xiz!BshyNKPpBO>a0> z;SI%Rd9nX0m4VEnhAPdXwJmdo#0^Cr53+l{cP}+oAH{qOk@3}&L|D@qRc9@uminT@ zkNm+RLngH8{j*-Q1B2V4&I^6&{6FO_SlV`#il)_i6D%grMGlmooI(VcO5&QV2o?Wk zvq)rw>GzmqgsCd`*F_2mMn?M!Q10cTtXSCckBhW$S%}jQC1vViDGdA)948qJE~>OV z96S{yYPX(Td5FUA`jlTWp(te%ZG5%ws*JioT4Z%v17x?z=~_h_L>mHw_KR2`ie%9a za*YCOqeJpvke$@+DQgeK%UwFlXjG1kV;nc7lts+^qx5AChTl@Bknesf|5U&x8u-q_ zgCJLSj=fRy;gsz~iyYWY^|`vjqK`>nAX$<%A*w3W#cgi#kO$2i8H_e~eUGqME!Ou0 zcX=6st0D6_3}DuW)f{OX3!vtc{120zqWSq!Ds6(GwpT2xJW7tj=-^~o-C}n3Vk};Z z!3AwwWED}%q-o0J zkSc0vI{#LXqG`G;!G7zyZ%78|$nxl~L|$gC=RM49e!+1@mOWi2m{Zt+Mu*-wM0VS|5qs*nLYk;i1S`io-v!u3X z9x6aRqjt8K1|;snuxYe2J)hA?koMsm_^&s`qsd4{(W~WhDraxx^iZrM6uSlHA`%TE zls=N4r(Y|5+XySA#=yY9Ls*YN?z^oMFH;oqGL~&GMdReslIIgiee&m;%NRB!VQ45; z9EvTY`(@aLC1hNlmI#Z-Iqm8Dv$B$~T7~|S>vAYse0vTD!8bG6)L`e3TXd~VuR@xJ z#InAsyILBoY2>eAUIv>NA@JSnheHZ!=RP&C32#w&jpW8|HUn#^SwNYvH~IG-Af~KF zc%M~yDTC+A0RFkM5nnbrP3h_%M7q;>~7V& z{GjEXgPQ|)8U2|WhhOlG(>j)tR40Le?UGOdAsGS`LnX0AQYb*7x54$oywXMEteb}xa zh=mZ}!V&dhPyRzPDKfRdUzqzO&~##Q_CCf2x*~Dfaj6;GCtW4>pLQw-RVCIpR|lKQ zxQ{q_4Qx~M(t9eM<-}u{&Ob~{&j&?SF(wa7{uC#kRgK- zXULJ`%&cYGzxOx=eFU8tB_qzLW&6VQ>Yd2t*2RE`p&n7o_I0gSh5M{!J1i5%FJEz# zQGfZEzxnlEus!COzuq(E`+j%yF(d3!ukcCL@7$0tG;7t{4T5h_jb)0XXx9v? zob$I6?5QdWtwRDr@ka$XlChC#T*6Ux{w!iox@#U5`dnJy!iT%&Kjp`&Z5!l=KEKrh z!f&?rRS3@mklx>el(9 zyLly?O1e0Usv}rCeJ)>illUZ+_>LG)6qLSGK1A*e)(_}RsCIR>N-}N9oPlWre*s+v zOoa$_ThWV;fT_iecI$g`1DJLLNhIF8r5|ooTMrWMC{~tu?KpVn>b z-{tO1WVHBtxvkBL^XimU(;lyy2@f4PiA<}e4B~yg;*9f6zKNPPQ6k6y-6B92@G2vv zT(<6#G_I22Dpi5FtWJ1ne73iG#YTrJLF~0wK8LjFwzKzyH&{RTn_h0Obq!JSLRIgv z>R*r$HZv}Qg=lS)FV*`&5Z#Uv$8?!G2q?5l?T3YZ)pq`majCs83KlvDD$)OgwVg|s zeravz_1B5hY+41><*2otmu&#-QUv7awVe;`0n8!|X7DH2o-*(+s*TwE<;j>~15$E@xA!*!p2h1$-mcch^1h3ZsmV2-h& zZe?tPqt-WUu##45_4j1A9bVfxhjGaMP_>tdA26YVL$$-{V;uvZ@MY zVE;}~E-5>!F0c*Y?wXSXcQ`g~?jzk91iMVM89%t^{5BZ~WfvF{UXJzSS!*ovS?4OI z5F$%dAx*v`^|~|ixLx!eoySee^++DK$rmdmKeA90QGtQGQ(=MOha@a8@Gv`T6H9fs zyz0-ap1@WmaZ|p>%p`8y;Q+gu_wJBUq6ytb$|uM$xRh{9)6=?TTLxvEk8`qs#& zMcE8+R5x%P(7Q%J9}C>C53wnbJ!H+?EFfJW?e6F1jgaOGSq(~NKKHZ&_J#a-$hzb; ze#B=Z&bTd$V~0TGm_BIxl!cTV*EY_KI3#RUaL-OP{7)p>NRm5NPnOaQ3gi1zxlq+< zkc_7fe?9^&9-^d5XmDbjtjaHbHbU}_L#n*i;yl5n5OQSNnxnJpVHV{^6DElM8PTJF z;2&;sRi^wSFkz`l=1SEhtLCO*j{0gf$%>XpR=aH?lw{N-`|0(nCRt`;07{d+ikz&( ziRQpsdnf*IOll{(!=}zi#ZEj#U9!9NqH1HuaKvC)N?Y1x3BvDLZ2=@REVU(fSF`d} zD}(W+%Oq>C1l6;;@k&n+JEE7=g>R-->AaqVO0yr<_VM&R5`Xu^vnjJU`#lzZlX!eY z)4;^razO z!nv<5iA4`(6Rvb`NbMp4u-ZlXgg=!X?=SwH5l@>5)TnUskWF-;&UI!m#=7|GG8 z#mLiS5o@Z@!?K>Gh)#A?aZ{zIa@P!&4n)%SbpDCgGS|(Ta$#^U6c56mPS+j;S5rXv zYVJGVl@qmyvDFPq+;-yQRKyMg21ZYg-qy@hM{k$&kv>{fX_fp@ww+&s#nd@MYL*D< z&#~@lRGYI4AlxH>Z%h@6C9-g@TEjw_;65pfL!LqY*W*&4obaQ*F7-&fVsxb*Z2zXRd`H4<6kO_2#Y%Qtt|t{4)?FXbEB3_HqsM8o_900I zwp1`KYX)#t1Clv(D?SSH5xxYJKPTJ31+avpv?{^30k!o z%oY&e~Wc#wPyS# zk#uh=FI*6t{+*`jm5|A1%`T#LsI2%fQ;A%R`0pl=AFC%1Ky5YCw#h{MNE>(U3;_6& z-V%wm0zPJ4ecWJ4$4TDI+TU4eyT7cMMFAY4PC04s!)rtFb53xv7F&lN zSb55=!+-lIgk>Zbf~8VaNs4i)oV!w6$#ni}04rKis3wr;w=t_O@K;c^T|~-C`LmFr zk^A>UKJL-Upts7|27i2N7Mtz|?mO?~7nx^QUKs7pt~xH-ofEm86}tW!aou3U@|&+E z;4IE>stc0BmMJadLJ1edEgzeG4~13|)3|g}s*QS*3%NaQa7i@M}H1dIMX(L-xPraOVfsD^I{8-$t)2_#%)+$cEK; zGIY`7a-SORz$54p|IGSu?HlfzH<>Sw0CS;sm3$3sw4Wre#YqnyO4^A1Bn^+<|F@6Y z|Htl{H5vT})*aUUQ@_TI%BJ}ajRNL}>F>u=e_-YTopX%O$$7Y?IVx~-kc`j~u zEil|Gu`)EcYkr7#v1eJ;jOaxHA>GTL$JszYs!T(He)g+=T2w##z;(tUBUL6O=Ni-u zAl>Er3xnhpH+0)03wK$q4|hXm8K-2-Z2(VGFw~D0j#rO50`bUapq<#<9M*k2LylM% z^X>d`zr!CHr{Cs*bE?dfsdss-`RX}$?NvuS^ZB>cYrH&@5A|`Rp7C0f^t%T8o&-9M z&hbY)x>r96RSgsm&Um!Y`tT2Gm^>gHoey`v%O;hgpPZd*! zWK~*Utm{Tb?jZZP$VQ=3%U$y;o|4pA6Q>|^>FlCPpnlH!F52I^#Lc}h?WgK}&`V`f z&sYv2h}Y=%&Oh?KtJCily3Bj4CdoS=D?R+3A6>*dgQ(pehp#CIiis3#Bbg==)jYy( zKlV1f4L>#7)v>o>?JY4h>2>(>aw7 z=yjq$mAR#=bby+W&NJj*EYRXR*n||D6c_UBhR(A_MfB+ae9IzA4rz$8l=az1W{R=vq~YET93o-`b7icNpUb3vpj03;;>&SX_FMaOn-( z;nJP6$+=*vp~@s#XbPNWxoiHeX4{X##c-wJ(T30D>gt=g-T8IFf!KpB>h)UaB1oz= zQlN(^=&Dq}+RPSXmZ32@)T<(Tq*A*iaC=6#rKcMH%W_A64qx*7}CvpA%&d?V_ z!;s43v)feSfZf&~h74wP(y4{MbpgUBep7}(%uQN{yyP66x4tJvN(I>J(CJ|krD~lj znZGkj15%FfM~Qs$eGafj;Es@rn`TdGz@Bn^f=-#`_(Eu^Ivfylh8;Ya_AhLxLkdNA ztrQey*Xk1IQdC1_)OD5)WQP=w<6sfGf>fttI44&{CbLZ4+uE$ z$`od%XY7Glo+vA;-folG90g_rM2J){Yk)awA7uv201wn+m5@}_ORe20sCauI`Qa4; zNy*-og5=8nHYDW~AawwxXC=nja{PaU4})aw(`)~p zC^)O3rp-$eW*!DLck%xWYOPk*Q+;9GSJ=OA6o1M7O~u7}vAU^xWiLcVO3bLxTS6n- ztjWJmBokOme8onzQjVafc4rgQwwW>&JO~`bXq=*@1dMyEnn^Z2SGFoLc03^TK{k3S z$S*d>ixl#9w!Ity0{yz6`PRz*66ohvLO`9EIqvUJI30K>Ei`<(RW$e&53}tz;JQFy z*_Sf!{W>V{4?L`_?gy+NoeK=HYPmuM1iIPvW{mM8Q5HAhjd==76pt$UnHdP!YTc#c zMf(Z_Tzwv#1WSq{U8$tRJ!hk}6-B^<34XudtX|Jde5)|3cpmf}M2SJd8es*wh^8q; zObG2SOpIq*e>q15A$!kP@r{HEsZcZ>sp-CbD!#kHx;h7@HVLp48%t+3snE)>45~O) z$grLCN!7n zS^h0vMrxfTjcBn@IPNgy$wRY6cBk_>dCCyiCf1;;A00{(je*VLD&=j(CMjjYY7dOa zC==#ZU9Ds`4CxNJC9_#1!LVYCQnJ8oUA3_g08-km=23aFE$<*Et_rB+Riev(ynVlubkjS*7ID_f-9@*JRi+1cU= zD|aPsqT1Z2r?CuiXF1oT=p0DZohnzCn8p21xSx21FNfsI-}thEmnWX(iqf-GEiB2idB*qT9a zW;b>0t1c*Ocr&N0?t=Q6S=QNHm20O>aDzbo$_6#p^*54DM(N9uT^m6@*_h}FfVoPc z3TH*mYDm2KY~0s2W#G~Q?k5|g$l-C{Q&XJwuk-kIfBM&D+ll|xF>aZ8FH*Kak4EpJ z9Wlc)Vnn3al^p5@Hvv%*wZ(#OcdC6#p`|&JNIp@^pczkt^aJ;OaTu3%X zJKXA0Suz;y%!=$!`O0LM0AY;c+c+vCVcit;`EM}?iXBm4)|4|Hyw^uO^;t!Bvd{{3 z))wK+E59-=*Or(qc!WbVw(o1c&sFqd$Q(%B*Ia7qnK`ilHuaHI6sKZrY0L6=e07Aw{g;-;*PR9X zX;MQtw|t9z*w}fznN!F6Z3}J&6)3aM4EdT`~a_I16-IxzB(1>AI9SA^F#{Dhny0=_s zSHKDqrGJcc-9`anz}!9Tm|Spkx_DM;o4e*xa4Z!69*8dI>yG+FDo1w%N30}A_eZH5 z-5-&o`ycwNLlpzLh&gr!T9uiwb}+*zBbSngStol&c&qQ=%D6tjuujZMS~;fF$om&OiJllsYHnrT7t$4Hk4^ zch|YtWgnF`Ehl>JEu-LFpj`Sga{}Et&SN(5HtTQaOV#7ZKMnI!n=;`hkh~kcD3q?N zqvNW}GS6Y!$7aX?N)}MajnO5i=5Vblxa3==rZbNSogA}daCN7z z`p}pq*=IFu-K1(mW303_7U`OzoiwMG>1N;KUv5sRu-rXv`u zu6iz!;lhv}Jwu0UAc9>ZX=V94hhgl|?xfQvf~=VT!Bl0#4X?A_`T8K9o0BhI0o1+i zRg<(PITXyaEn_yg7FuD{JNElw^>@U9dLUoiT7(AvU4PkZJ*U5{vp^qi4Si&m@O_C7 zxJC5>%4HD4GX47KifZvp%SbfphxAX2aIg>CGB| zqG&*W5U-rUf{)33BT=f+FF;YlTiYQ5i;oZ_wOfBL{FIZLS_ zxFb}$Yw1gZEGVHuf^Fo=cZ3Sqihy;WKsnzU+}Vw83-WM)t<}2aDfLTkyz+Hf<*Oj8 zOjTys?!F^e@ka=WtVry1Q7zb6ncA%Q5mWeY`=}{1p_2LrTGGHbogW@dZGbL)r1EgM zUoEc}`lsQ3l9aZP%JnwfUl25qQN4cz+|N7=?g&C%H?v{~(%^#Bb}h~~3dr<3q$myd zwIu>~HvDv8+$~0vfgIOPxI*Ub9wWK~0=Z9WwHfX}TgV*%Q8HFr#G6y7L`tIr!O~{K zJ+HeyrMsinm>Ey@7{dpO9!AN-H z(wBQR2~pm>dP?DyOsXkZ+P;JXof()_y*w{DFOn@!9zMiiK|9AZQ)AoqPsSEBFLmJ# z43=KX2}SfUMm4+5I&TEZfRsIK;8L6QYcIun)o^c}0N;r(?ZL4w_Z_DSXEVcHf?{7k zO>g@33PPGWDL1vEuf9usseH?#U8+XSfz~vcB^{fbonxD?{wRfQ6P3t^cQ3rpj`i83 zPF}5O_JJUjpjEs2X)z|5ErIxTow^`N`P4l3?Zp8uq@$|k_H>0bkeCM41XtJ2f?haBzd{4W_34ben;8rJ9JL2eERxmkkf+;c<@1iURd?uE&ugd)Y68z&Eo4S%tY`(8?Hw49s0S zP3)Me+2WHk?`HOsp8qR)6-RHCMZ{z=Y$JvV~r>6;L6f~=4?I9xFIZH`75w<%BlVs+ize~_w zERZ~3N}Dg~Peu0FY=FlBJr?i>nM28(uuDVa<^ybJX&C6$a7do}@j!OaUk^01>p5O1r?TbNG>>}I6?cjJ+XR3o3fX!16m2wH&nm;*Fonq} z;oCSnqE8CrwZJ-&>N`x|QZF{#%%>+sRpcdVTt6F&4eee;LPfKBcw)NrQjbhxI$!Qe z5vpzxrDNfSK+(te_tuAEH=$VjluG8WJ2MbpnZ+T@^@cfF7-#2R#SYQE;acb73sYEj zf+i8fdx%E;3ASL&ObeQGT&Ft{!+npO9;inmSFu_bjCv=@TQ+c*`ge$&7mgQ^li&p5 zc(#Z!8q&Ri33XTx97rVnC6Nv8T1~BZYw66q#V7W9TS~c?*IlVzcV*A(T1URa(q#56 zqzPfGiA>`diu&qso+EL(?~!>u9j>Iq#F(RYx%jJfIa!Tya!;29GRFCGkTu+5{Y>)% z@y8AibeLrxf)w1Fd{TDgLj{wiXCg-fQ>Y!C{x>gj4e(!pDTW7u@<=q*8wE0A8YjBGY`5Da~u zLnUS5Y($*aIC0@p8$xrSO>IP%j+|co>B&_SgIMC+cWjqi zNHruUN`|r<&=Ql|s*6vqLPkbGZ-}7M?RBr&r8?MV6l@E}bBMg6ov%1gq^WIGoeD|2 zM1P;ETqsIt>E58bd|N0suN}+-DMAtu;sADF!3&G z<**Xvu!1ce&waWr*TITfRx~2o(iRyj?vr1%%H`aD$_HVAS3IHQu-u=eTF>s)`bOP) zv)%f1yY<3U>xsQu`*iDiyY&}ayV1Er=3a6`)DN%OTXlZ8;Dvzu@j>p#cUHgUtNvt+ zFFxz3xXVCY%=bpa9Ke;h7ESTI@UO#GN&E7~8>L^Mn{YmndZ@R*z z+ipH5WDZic^qC4uja6R{qrVqy3&kr~kF0QZo3DP5k!&e;MFxcm_6AEEBkv~qowc`q z8#!jgXCO8UKu5;8(y6Yh9E^#Vhs@!=Cm=#B>>_@6}qJP?6Aq#Px-o^&kR%Ko5fDbwovV&a$yBM@4` zs=F1vJy|TM#5su+s7Smf@BY{jgYxTDM!$pyijwx36fi0y*=&@49@%W$THtqLc%i6k z%BWE$w#bz21@T%k8t6dKc3Y}u?R&CP1l*erp)!X|c+(Tofd6g>JV7+8(rxZLL^%$} zCme?fo0#su8qu8tjMC?qj>X<@?CBIZ0@+e)DPDveQlh?Kl(s3&DgG@qf>!H~?Okw# zE@C4*M(pamaQ4SW^mEtESCA!0YMfy5VJn&iP~HWB*pzdN8W#9s{&T6%HtGhXJgDQB zWYOa2%6=i#KRk}d6XTP)yPm`Spt^-4?zYZ8vfJ2sh#>;13W47ov42(y1Q!A{l~l_& zce~}uQ|0c2*Y^#-pa~G(51C|nc&Z0{%|R%!fNvoCiS0BxWPUqOW~;!rZ|PXh(J1gW zOSo%k$I@Xl;yL34Qxy2RIdlv7c3Y8sU5I|zF|PuAEAuXn=Ufzb@oU%oxe3peFbC1uxsa?|R1vzJ=P^oR{*+C-PDRXwh@Nn!3 zPuSck4)8(vrI>n9v~23M5 zf@?(pOVKytQ!e0~jZO2@IgYjGDU*=Chs1*v)fZmu4$jixNKy;b|H z8^zcxLHl+!&G_lX&=f_Nr8N;~cD)ukRuLcK!w%<_{zGwHD#Q>4{f8=9xAm*XVHjOd z_`IhOHXYcI%FDZVk`kuRShyF@VEOm5yIvnXgY z_COTA-@a3y3)?41gx^)61Y8T znKbON#POcZR1oV3W$#E$2c2m%jW$~EKf>xlnR~T2XKywN_86tJJC=fJC=M9MQr!jG znsPjjgvThD-H{qnK11T@)<{_(@+D9ttY>`=_vK-BlU2Q80;E?>p0Im8ZJAuZ;d-0f zX11qbg0j34iI~zUBp;Ue;Ct-ng_(Yslo-I_BHMo3BLI{>?_Tp41*x0hTRX9x!uEFw z+yA?)egjiPi{&?r0502D*QnJ6CZlbA95X*PbOni z45gh9HcI+OMsfNNGCfsVJajTGa0J}ODJmCF|6YL=;e~}k$xkWuzDMTzi$i4dn<{rw zSF4x1l9TZMU~oEK%ZdFnZ;NU^msm~E%SXJQpv$>A?M&iLA2e4Y z=--yNR7sp_oW~on3viFw&4$S!n{rA~W5eb!!B(O7yR530g*&8O#fVB3N>oz$3~j*@ zil`wb&2YnTu;mu7_*UJuYiJNG_^h*@PlB`~xB5jD$?e!fo7t*OJg86gu$zE%lxuG6xTq( z+wR&^Vd?}HsLoQBBBP)iEK|G+o+oIWy3>?X>`06-3U1Q}{S0u)sMIQ%h-oT?p3QOWL{OI+C z$~zk(Qp_8m$T#P$q_x!e-f0bfkq+m#!Li(mV?lWXx@!XiHfaOT_9%{}1|cI@A|tR9 z3Fb)T@K~|X z4)th`)eRirSnK)d30x4r@X_L5RMteSS3b_TZo7GLP`*$Iv=T$n&DRFuNlKYh-n;Ie z;Ms7&_E70|;zZho7OBlLP-sx;ry=*$=9%$P!-LtotS?SrKEyRZDGw|jhCMAqfneE6 z54i7cNF*#Lle6>m`aBY9d4}o~Dxt(nPA)ni*%G>*C#0k2;#^GLNl1%wP{~uIA%NiB zoQ*BVSG_z-KXv#;p2ChJ=_$oIFWz7;61a7M4FH|Et3h)xy;pk4R4Jkd|8@pnNNths z^#0hW1vwFekZvXoCaqdS6{%1H>y=j7YR#S3o$QRs>cr1k_E0VuwA=coz=$>92o`U) z_YQPvwsg{9y?cu~?L%URUDg#&qUJ8@X+jvnbS|w!0!YW8!eNo?u*It0@&g;yfj5Sr zyQG(H1f+HJ-ENI=+0;VYP+Ny;?AfTXr<#wHtOFab>=h@#{P)}Q_lxGQbUrpq{(|V_ zxsfpoqPO;&8yUez&V`Y|eDt4-n?AaoB%n7sC!RZ6(&{4aip1h)Z;?zYH|t4c2eB2S ze=G5}i^C+0Q>A8UwXVXX$uE(6*DN8}SZofGp$e=YZI4?9%+ghgZi-CYYvtD4#0{`4 zlhrfZQ>)h{+Ny#XdY_%eg8HOl<_D`}Nm4+x*QCvQ4KB*@yc?b2cSfiL!3|A;jSk-y zk+y`;h?FS^(A1*rp+kqAGumNY|20`=E<$G$WoE!1&LzNnY;VP%Aa#?RR~kP6zdMc4;a zXpdoyV~%~7({qd%aVR{IZ=F%~wxApjSSRyUC-(ru{xpc45q)|Q=>{}z$(aNdz`;xc8*SVY zyej&8242agpuSVn)Es!_ISytLirwt8ev4i$?2u@24i`5F)-(m4X0@H~xRi&f1(a)$ zeamLxoUO`P(O`~DR^*ZD6|Y|yikIaFc>n`RAfPcTqvIV-<-8_Fidt5tg;(&&ol{YB z8W{YwE%FEbE_!XdBYN!{AS$9En&j*Ts~=@!6Q$OB&=Q`QC~~Th9`_JMTa-C$0HTRt zZ-e!6b|M)qbx6WD?zCDbGW^uK#|LT(vR<0A1 zh7)$4_5lI}ObvR)^Q}qf;A&NR)|kaA+MCRs_n2DIamn17kB)GhzlqmYvAh@XBbKd~ zmxyMuE~(|c=w`j9Do*EBmyA`%RZFT+%^S;ljkAIUEZQr%V9Ga-pmn=MA5qy%GGa(- z)mH0(PCyF%nnernl06^>yQoCfC3COQk69;>g8|w`Sq?Rj*;mSTX|aBE4;nnsDOM~9 z1bB%orb6<(iZe-cyTfv6U}~L8>|(YLs#32fq*sbRq6qPcauS>Mjb8hq!#c%7 zaP&w_d~+2t#hrEXj#!{YctQsHW#Al{MKUn$d5vk3ZUpQY0j4p~BGpN`OOOsn2M60z zu&h*ahN_Vx1Qer(m9;Do!p0`l6`z!F?|#1ODUL~1-#Fsh+^Vk~aqSyb1wlHwnv z#B;|vnL&?^Vg2`QnvX>#Vpuf_5}1_PV#@aJWa6b`>ZA)H^r@&AZ3p`}RC2Q?a{OWb zW$5pNIU^mNry`9S=DTTraoW~NvPkB0)(xWstGc(&wSUi(-&iM{lqFcg#0j9nfW|h( zctRFwRDU?~$}iqZcD|sVxX6QFX8s<*qk?C|++F(+*GXKM7(w17BiUMg;iRe=)fdjK z3Xr~`^z)^i#{6#SE)`zxuPZX5N%zu9!~7tvD-^K@kc+_0zlp?AH4>KKuRHsK#KL1d zeag|E#^)nXpDRx%8YF{uJ?3epcdXz2Rx$y!dXGa{+;>@nZ`I4Ab>8noneh=+h*&v? zeWG(-A6xJ3R>B1lwL7hRd2>i&(FiOkJ+!z?wqq%F0j%=H!T2awI6i7jg5V3nHD0Ll z`0HK%$pfp@JB)j8zky1C6Q)CZBqwXpB7m}Wzl&JsIK&)tRM1~#=eCQ~HX~_Tv;f8NGs{zRvI-&WJrlrT) z8)86{m2=meCiEyi^f#v=LuR7`f`~_?FA~Wio*R`W3*9sUrE0_zS@f|SN6N4(R8JY; zr~=6Ew-@#B+Wy#1}97!uROh(yj;z_A;6)pl3~vKQvy$6s8L6`8`TlckL-3q$jv2E00b zbCj!UtjIO$3MXY?G_FZh`xP3nWBKzv3tg6ZQX{1=C_yC^+0nbsqdIehb5#34PBg}? zXy;#tF|NcIcS}Zuha6T9nP>T`FPK|JI=KrbMaF3FNohCc+~!brmzZ>rZ$h!Nl(LXJ z@>DS;?6wXfODI*YI~f@X8nrtVF1bDZ3Cw6uoGDC!GGj(=cOMYyx9Uwad=`*^`3ZD8Ob*yCk_4;I(7|4^_Jb zNVR1EPrXXu8Czko3wcAhgAt~IC-K~sC^EQI7b|5ZY%b1M3Jqh}prAwq*maV#IUO6b z3ezKZcghFAyWk!jzw(mSfGXiF8&>6T97L@~`C*?Znp}u6;0T+(Z3cTyI^12F_gzn$l> z?*9n!W`!nE*caiN%!IrE`E-$0;;<28~M$M+89j_QlfR{c#Y*L_jE?$F?YKZo| zK=CE6q~>!g&xFsx!w5oWN7{sDz_j8M;4i(ejLJgrtKD(?-prnOOQ84!mvB)aknVnz zi{9ZT`oe|A{H`OW9{s|-bRvw;mg_<$avg%C1PNe>+-?0F^=lo8RnEobfV3#oMGKf& z&xp%G(SR~d_Micxq=@h(v=6OZsk5kQY3he`>b$1eM$LeTVMWQ<;}rX=%S@F{U2)`)hPy=dLr7DSgDUrge-$l=%K!WfWpV_~b;t=JR;J<`G`(uExY zRci+(G0aqUe>*t`_@Gkv&P(Rb{k6zQPF&G6z<$vsZw$95bFbG;Py$P6lBoou7>mto z#x)`mg;kR0S3VK3=jRiug$zLp?HGE|vE)oJGDy{gJmJ1xTPGo`XD4tF4Q7xM`K=YA zMT$ut*Bm%0cLpor-nsrc{z$ zqcb$!d}i-^vCHs%Hc|jyg}fpQ*Ns-otW@z!A4kjK5I1c=tr(b%iFn+89WB zb>5Zux0hsoBIzn>WJ|g?Jd>tKN19}u=XGmxq($F0Ywg=g^tF$gtx~`Gw8$iL9seb( zc?%Nm1$;AIF*oTuwLvECeEp!{*K}KP|LJ$qB5gfi(<1GOhx7s}zrKjHw%<{EH_|6; zj^I&teiGt9$*M~p-Es5aO@v5}8)J;STzI)8A%{Qxl64YZUhh9iybd{2CPhZt%)Ff? z#bXN_CYUsS{>9@)W9e$OYWuSV336_O!+^P{7s}^_z}!W=OMgIvXt)N+=#LQr?L{5&MUU3D8WR< zqyCjwKe&64KWNDf%1WAKQRVLJO_-cXm23y z!*_h|147li@k%EnW0JYIuFu@Q1bnzUCBqWngl3b7_g0$2A81)|WXoUCl9L=ph@KX{es$I-zpjvsj*7i(OQ@PpW;d1m;4 ze&R)WqNkm@>oQ4i+xVK-48Lv+-lOimrg~9#J!YWQY@1N_ar^N*R=w(2pG>Z5bW}SW zn?>5Me$C?!w8SprtQr%E-7j_{3EF@7YDJnA%!C}TZ5P+>YbS^d{Z!)+0mjaop;c`TFjuC?*Aq`VUYrFOFA4L&|N}k9&h1;W# z7Mg8VlcCK~{Z>mr3H(6(y+RkThNWwLLJb$?1?LMNK<%|CfP(-5sVr1Ud*s|=p~_fS zXq)VJTh{~2b#@5b9AP_^G7h~*aTTQAz@W7Ob*@;|#Aa#@SDourjnFMlo-?(~8bE2c zzySRYWp$gQyHCY+?YDN)ub#aWrer?7>hC6VU-?BUTtPj9I|96{kmRf57?dQgtl-=N zV{#Ag7n=&B#TPa(UePa^`$L`t#&$%G!1g~LvtirFtqjOIO9S}1ci zhramksg7$6Gv|~!ymjl(B`vQxq{Yk`RN^dt?NrC@7-O9i`6BE|#4o>`7BTNrs-k7$I(7yehnYNy~zyw*toY`^;E||={ogZl=)EHQmdfk28%Yc&K zeqFVG-Lsu0uMu5C){Hb#US$-OKs^v4<2bGN@Z180enRa;F*ZlY_Amz~bGz=#Tq}wQ zTkk$%Pdc|}6khhhlO!eYLHh5@0e-UBq|VD0QbQCHOMK7edExPG;q1MX z_0yYTrs;nk!<5hER=Lf@rD|+h{p~#Ye^#ip(Oq*6=t{&i#!~Ukn=6Z{l@~H2u4My0 z2)a*eNuXRnX$VkzEBa~{bmarXecH|s+;esa9@Zvl#)alYp73`>^~`45Xom6NDpV_U zo=J`FJ7z#8LUNYJRN1Q8M7%f5ha`58PlL|@pTunP5xv&sm>J7?er8N&5zB5WcV%@h zqz|7tYZ;P8>AE_QNm9%kg+|H6-YWOSB}1O4><`(+I8B~7pr3Jco-OY+d2jEzmvH(2 zp}F7uO+9ZWDRcjldDBAXEi;J>nHd}Myb&AR*$?E?YgyuoygM@%dft_IQ{I#}7o1C7Qvv*ijz7gU!YTJO zBAh1}yPl4*WOovTUKk$VMUXi0)Oj<_xd%Z|M4Z~$tcC;$OE6|N>uPLHAu4fa?wS+f z&LQ*H6V`JpXy!}^#>yL%zPV)sSFA!y1TUC%106v54f8HL+d_-gfWsk(^$ytIHKCf; zhPk4caH1@5T_f;LLExP#SbJNv13YgLw5Dj}QSn?t;+uP#HD=&>zyYG)JcB4fkbEXs z=oiVIO{6{rE!7vQ(CRPLec*y5pj4=S5L5>qvHnfdK=om)pkY2|d4KtDt?+Z!jiUut zu+q+70#w;8BJtaBE&Yk!HH1}ojneYMD)-EiAqS-joOt&3Cy1CiiPt+i#q!Fw1fKMC z*lNhV%+(N>1JY|IlsWWztOqSJ)}uIcJqn46vDZWS(*JiCqw?Qb41@r^7=~G+P-SLG z&Ox;g44*Gv%G zol=>fv%XLUrKZ$L{^Fo{yQa{Q}3SeK( z5q-aTur}#C_;uA;2FpgK{$)Az(XIS)5 zmb>;bh9;puAJ~RGbp9$8-c_cYtUhyhw6njvriLzg$X#Wk#rkRDVj*u;&h;b1#m zDZQVsTAvN>t1p96Upi9Hi?FF~{V?_AJG#fJC5dtMfqW$Ld=cxpX#14q5FM%zW@HC7 zXv6u|uovD+)`#=4mgfsAEhbu9J`2fNSnsF{O~|(o-VKr`zO2hm>|0;jprx+{5B1ex zbzcpx?W=*muLk4$YS6E*2Cq8%fI~xH4esx&!OFfG%Y%1Chq4_#O${>lGO z>=NYH+1{h>lH*8CDZ9jLS$~&Zg4#jyn=jiXZ@`+_1jp`jdtVLyv#$oL`f5Av9>+Q^VjK#zb0jhrv7%uP48+fWBo`M+Y{h2W zmQSj$fi^#>O?Yav?3bUhOV`==|4!#vnviqDVt$oOKSX`-=5TvW1L3f{vDtF0nUj(d z2sBw5Oko+c)QEuSGESEqUW+>ms5f@gkol(mMu#Vr$QZPMvv5R8R!n zUDoJQ0h!oNtk1^k_s)?x#I62*h;9&%KR5wWgwQIFLdpi4vLW>zuS)qDt@JtqtRQJRoVSh?^z@bS^*SOz z`C0*;oCC>sSU=`3fOa0I+GHE?nb`ZCUiAwKUtVU+uaJOo7I)R$9mS$$0~L+*-bzdDND8!bOA-6B0b1cdj@&j;e+%s zNXFPST;{0w#$O5#z}*;RR|5kwWP_L@z~u z7WhDAX1Nrp;`s4JE-ULj*_`BY^~eCo&UiIX&6U6y=N0M!1l)_fWXr@ZzeDntOC%aq z&hzzI?rDX5=9$xqW942R*_Z0Y`49Dthm{?$LU3_T&-(Tavw)hjLc-UcIBa2u3XJ2< zAKR~pJJ+jky&C52MMm2ErPQ&nWMPdaIjtuNzM^!?6uyI zkcoKI#TMKmvNb3gt4IqvFN6M)mv?5)Si% zpR~wFYP5tHgv>@f0$5LzNGd*+FaYM7g{M7cU|=!w_~+#xL~|;iW#InQd_KX|8KCft ze79$6q0c?MtWXL+mi>#bMj6)(xn{_tE(AKk)p?^Byr{k&s0|^SSmMy`o2-rg2SO9No~58V60B=$YCq}Sa5u!Z%Z|g z8byu4n0lJS;?=^U78Ko~K78Z1E%2SGE~Rd{H?=G%s#kZTul8F|)WQMyI{E3|)R=lK z+L5!MsF54$$zD&mj`hT%qd(yrzvHM+__jF87^iPMFKyhCyj{NQ*QEv_ckEf{8^G*` zjI-zt`OD0hnEIwKoAv4@@cJT2qZVc*7tA}v3_#cNfn!H-6ujEZFZr+9-~_suP~{j~ zY!(D;7Rx=0WuFCknpGT|RmO+GzlzwbIef6VvshH$BD)KsnPZrU#;vNRH`Zp=1M*gi zVk8&Dek5Rx{Yc&nz3t_%AX5!Aaj+6~thfIvyG+XoN9<3G-@5S_B_T~g!c0j>GhNmr z_M?iHALZG&^P$1AbtNACPwJZw5)6&ey!KIb$v>zpbA7ZaYaUXGU%0Y zdlW7At|K6Y%)axz!iLX;IPQe!&vEA;#)BK;MEqvxOW^!)6z zoxjyeX=nLyB6cgeJDo4@*#6>>*=ftx9YSGdcZK2)w6R7(a|%wpu?WZ(XPK(5!&kq| zQFSH9=neBRSwy4p-4j;*Q#R|80GUdNr$o*ry_7@T{u4QZO5z?MO&t#jhe%)*l*1Pt z)}mh=6iH=vmvkLWHV30k#K(NG{7J(+K5-Z3`VJ+h7ql3Shq6T~CwjY0P7Jgm*SAUW zoduf}`J}JU_TxMc#^W7~$9hlwFrT&lGY71oVaj`qOJgxcuG`8|MlQ+b)mib#AOJa6 z`|7;Ps2yA=>*=(6&b9d*r#cW2L<$vupM4+xHxS%`Whs1Zfzy(HPv;?CzdXOPh|cr)MknE~{pofVyuXPhs2osvsNa7w;kZGX>b_iU=&cKco$ zuG;CjNWbgb>Rr<-KHi>HHFT@E1#$LRpSB6KRd^~PM|%E8i3?RCD+B)XfYf&Br@E8* z9(yCM=Db8|yIk`RHe%Vw&Db5cmZ_H$pU%s{M&+0&lTB*-aMO4ZcW&o}Oal-r@$Xsn zehuZ&{4$X%cW@~f^SjD~aLBbl+~^9#Lar&+5_B$FT&IR{_{_78oVn5|wV#73uH^tLS00M;;;%9 z^f#V=-DvEFCQUisDD7Tyl9B3@-Jjh8cR%WhT#4V#p!=$TaEDZX@2LLXBu!PXu7(HcBi+?hy5eWLt1?&O%#cYqVhoqK+$4pT zDD#-mXYq9^Z)4AA9(V2Mq5*@*fJV~p6Ne_6n8aCI({TbLB@SI%gI(S6 ztSH7uJFhCnF+)Y(GiW)e?ghS+<&edAp~dlwJyuYTINC;mR_m$f6#9NDu|6-`SBF{u zrLXor3$JNLc)k*Euu_Dxjl$6Qp!j_A!r416F7fYlMUKC?Bxk4iL47X#r8^TjL4biP zX{ReORNWc?ftNdqu8Y+G79@BBP>3cUoT5)h*}rOTI=+UDM6u(LIA^KTA;3ky!ILG* ze0-+Ix)#wlHOF1ni-2pLk-V5!VDs!fDQHrej);>#Z)(^CzcK}Hd6{+Z?$Mgmz9f5VH9*2 zacYGc*|7!Gq?IChec;sCUT7veRVAVVx)=yPwaa=1=3%&5Ex=RK+Zhe>o{-tuMYV!@-?b^qjRs@j^gu0&)|O$FKF;5n4TY zL?qTm*~c;xpLvxr=6#=ND@67q$mug^kukEyl@dh&=yW7^naV!1-CVPtw)d`jO%^eG zTVwYyW4>jlJKJr2#sDe0FqF^>?arP^J-v|mQLyo!q<&buFl=7H;ryzz*+n95x@%OH zc2IbcHRc~Is2m!Q;y$6$Wv;4Weo48bW?O*^H2ut20kL}KA4ml1nIQ`5E!O%ooG^j@ ztlAHHEt*nUsFl^|DC5}-6-LFu6*Ve-2c^Y`sg+Bv*2`F4EOM07h!t~|Cw3bo_cq+3 z6CKI&vf6hdmm`iRTSVk>n8QEn)TOCkp)p-$0AO#yF0Ieydf$UVV%V%rv0=S z`tq$W*f8+W7OOMCm!md$G1a7rCL)`z5*brYkSNkYGJ-+2y(%+%Lx;3!4y;jnb4;CC zKyF&*MSJVgIcP%hTM3J~Lll^xIodj#04I$`R1;!dg6069`7^m|n04}Dz4kzN(kb}U z8;#ll#ogBXWXD|RGw+m^v9McGrAk)XAB=ey9v;5Ydilza+4yje@Bj%_Hg~ZVDWpzm zYc|m{7$u;fzg{4Z9Mq8(M&lp(8XQWh=p|Ij#C*>;Cqn5_2!fowD#7yZZ&22X;dIW9re6L9*^-RDaB_jwjXzsQaZh(06+ z3N{VHjDJWC#dr7>T`zj!7w%1IU7I>CzRhChKnZSGP}<~P{fs=t%Y);QMeTQ&p0JO6 z3$O|!mb1?&j&4ICu|ru!t`>PYBQD!c!{{w~F+Bf$6@!K0`h95h%98N>ocmSy&2%VQ z3yd3zJQYsS;zHn>zEFQXQ6Jd1{t86NLP-I^<<0(6AJ>#+pFityWf(HoR5K<}F<7u$ z5hlePLFL$5ePg#Za-1}fU>}?FrjIy^U?ZvjJLeLApk)j9CS{=z4+zT{?Eq&4cB9IS z(i8Ti*Nya7bN8gzZ4XjaHe6H=z^J7YAwbG^$pu+Dk-adQhL9~x{~lK|v!b zdoRMCq+f2+zxH9AKBs3DwB}^PT9P+;#UkZ<0<9S*O`DR4_WI(BznB_b-sW;FFL7`B zu||&97A=T=Qn++f5W0}1{ugxrs?B|e7sTdHg}dfB{jDsL<9Ba*#l1-d#w>`c2fdM@ zftnre+JEsLxf`F_wjkPF=w9=FJ?`Y*0jMh59CFh#bgy$$~@h<+J3 z(>p<62`R-IV=t2cSl?xTs~^2kTtRp9+9W8E0&($zahi1a8eh*@;2(IOK+O8nr9EJW znJcYUQuJt>grpcf!XCk@;qFnn`~O8P?vzPFXX@`V%q@yvAOn+ErRF1Ef^F7=I#4KE zd}gTRg2*X^)r4ZV7Gh=xH7J;-+(I*o&5Jzd)G}fPV>8Mq_aa&gs<+*MJ6Y2>uY7AE z|Hy`OEBkzgad@AG-Dic}XNBr>j_PwxW}m8oIdzWi)1XgE_1-!MV%#BzSoX+vG||2e zxND~fLm+n?>;nT!3vz#q%oLn|5EU&JINa*7+gkL{AaaAQ7JIM}uiGHV;tr7>kl1t* z8+uqoQh+x`-VT~~YFJUkpt0&)f63 zz>E_Si;xz&Q_?~zcJ)xe+_0X3_{?YS-6AAz{2p6)?DCKAj9&Y+gRHjee@zR2?AkW6 z>-q|wQHS*c$VdbIr5*nGODe zb)nmN+lllb#Oe3){`xf%&fz<`$zA&rU!**eN=v3h{e>>lQC$r7t`h0PbQ~e1m@!!z z_rvAOvYTSzidf(hCZz1fSZf02bKz_d8^0^aR)Kj9F9Jt`CY|iW6ebccF~B=t6*)~V zS8zFKPA}|AR{xbwlWW9704Z1_Q0P1p)MVKGA|>KY55zBGb<}h(AF8H%vRvu`!i|EF zx}9qH3kj{2Kzo!eI6&l!)-tMz-M!&u_LSJufnuT9EJeca04cycsBZ$Dg(0X|YoB zhT9+Xn~|0fijEFE?}5U18IuCq$iskEA%oT6ITLj0{3&C#W#oVef0kO2t*9XDWReed z^vKW|_x~exzn1&N$j(?uvT)ee7S?Jkf!gIluKk=G_7^qy$2anKdQ7M}EG}8Ujv-8~ z4Yj!<6SZSNYRtuR0A=`m0Tv2M_+8 zct67Z+-qa>@2(jPyOM~%%iJ|r(uKJjdDbVPOlQfTVe;oB71ShzM>g~v(eEmC4lZKo zCH3Sk>!UMC2KK6ayZA{GFCcpCvK|=gbR?d$!vLf7O<(Ss%Tr$_$(KV}k;R=k>b=oU zf&e%15_zQ#0+ir%^^h8*JpF3w=}oCG@zj_3^5sxg)uj>yh&VUfbJXyr^A4~QES|?2 z_$cSl@KhIz*zKtgV>{xE`ZXL1IxGq>M;`gIK3{*Oj|SWNYVbf`4XXQUaCKh|F6gVl ziG4Nr?BzbD`C?xUw)WNF-o6?v>#M&?#|zWzRIhDn4j{hxNFv^oim#__t~B*QULa&hKkFT zV4FW@<<%U7PETLxOG2zB^k;{q#QS5}jc9C(`dFp1~yIo+B!O^esvM`xFY>eeM}N$D(zvHwNq*481H->!NRr! zF7>ci& z86PqtP;!sFInqB^GN-U=NT?KpWtATrW8xnnW!D^ik=Ql+W39Dqng}Ff(^QwmrYU#q zD5zHJe2f&zE`{FRAe0Kri}Fjz_*m&)=Vvpt9`k#Z;v>jZe$FlvOUv;_^gEUCv9QaU zwKMHWdd_lSA%G1r!{=?y+`8cb>};hc98Bv=2ho=fruC(RK;$dvxp8F#Q0gvuv_c0x zGK)e1yltG8`E-vt8ME@s2TV>E zVoo%>Yzz_2?^R5xK1`{NN0?G~KFMqgIznPfCC7Y;94dVUh8)rsPB^V{BP$~c0!_gD zTOc0E3b7qlx3jvi?6CQsKmHvigQ?Vn4WG~t1FE~`F76)m_j7@WW8G_3^D7*i=Llq@ zw2Dpj8I+m{{TOt#np-HB3t_afDMar*x-oUCbVp-v#Fbnts4X>`slarExlZ)$ey$Uf zYxS;CmRRFpqeLl4vW~_;_TLqVvj3_w}<|Gq&Ef5~r!vAb(W@Pw@<+CqLK&IoS#Y7jL)T7u%}*Uouj6Z7Wwo=53Xs*!7iSB|T1LM(e?58&_qeF8Pzf)s({Z z4W)1aU^I~H!7P+66fTLiip>W2o>#6(i_1yPx9~ZNhtS&=~Pk&Gdoye)EE0%Ww3ABj2*&3MJl+6(-Xjxu}5U}9(ic4K1Sssc$M(x%jtIx!fG&pW#b@|+n7_O>8a$`STClb(TKowZSCmjdY zB44bbzkSwyIhYyE@LJJ63(+XL+>Jh0v^y&@o&m3g03uB%J^IGUQkG4doyS<7%o^&RO=}6oye4+&Hi@OZ*di=wdpMu{5VmWqgL1IjQ`LBS z$f@>JwVoalvZqQcP7jH=cZxiKDtl_3?whz8d+H=}Ep}v2on@}?H`jB_^^eT8+z#p6 zXPaxwTubRvy`EPRV_kzDXRe1_b!O_+rh;Sh-jXwEo#NYqe>Pb~P2x=4n)WloigByZphNClA}LsC7}hX)s2U(7N;_ z)td^zFkW{^E~LQgfhk*N@4~rXiHo_0v&`^f3m>*0@mg#*lm1dT2u1e@TSJXWFk^MWOQ=)c=ire;Un-4V@pY-x*$1tlOdVH z`Xd1eB?pEZo4e7~h)y?#IgBe;e>t7yuk#7n-MmCnsYRBt*|{=LNBv|@f4=VZK~ZvY z8l>8=a%y_s*o1}uZwzBR1?J}&Za$4fe@0=4x3o(}eXPt0A$z)_7ONwhgOd-WHVNL+ zmCl1S&~cxXMbFy83NPw-*tN&k?6eDjEJX;vhkHcZ*PI`DK;2_=*n@v6N@ zG`3FLtZ`#-irA|j@QhCOs>mU$>vuPHoA98QA~j2&Lp3e9t;ATIBAGo4!&A3Fdbic@ z5iTO#`+{&Fv9#!=a7|Mr5O0hOS`b#$URQD`JX4kFyCxn0a`V=R(gCb>?#0oawPhRfr1%N{a2Eyp zeJ4rM(1{xl)Jz{p@8F&d$ejJ8>)>@y1Pmb08r#E}71|y!RXOiAy8DASo(>w5y908V zcSZ;U;wuM!nYGu=JBaJK_#)}dN-A>3*E!Ge!vp5T^5(A|7_?yCtw5}9!=*j4DSek{ zOB8hvKy*KSha`H>kwO1+Q`J1_2fYe9$-u}4*D8+SA+sFQzn73@rT-*Ojxc=mZ8>2W zdnRRGE3C1fsqjb|f4IG6+AFv9z!CRzx~W&~L>T_l?~E|4Dp`pcWWadgbxucQ8oA#Hyk!% zzs;@ki2Y?Ol`RTnHUW92eaSyS!M->U0}X4qAv3$ZkmUDwQN)aHAVytW8mn2u$x6OQ zs^=MoijBMb#x~EFe3?AB`CQsTWC={W zM0_=!ppT=fnlIo>!VT_q4O2=s!lCF!ryt_-Z3P9cbDSByV;^-)1n#K^YoqoCqZ&MH z=H-?G$|q|8Q_a^Q(hm~$359a1o{f52Xq1DA!^|Zhb;+8u(kFZn&c2vPpIR8pqLdnu zLlF`?6d5d6WXP^Sun$w*&4f}k26K`<8RChin5Y5Tw*+1ElL4V3a>RYwiDq`lD9HKu zX*0@UHk6Oq!C>}SgV`g5*@2xfyO$@{7`a{iZ>4iF(K24>GxIrZFnbvW%JRXl5L}54 zQ4Ut_F5srH^ENNFr%OzzHoIfsu2o#eQA8s4XNj@@5X|%3vFsn0^U?exbG=NrA2fh$ zdl#3+YoZl_2GL=-dX^!LGjajdhBl641V@LfYey#!*9Z z=~W;{MuL>lFFQ{>A^pf@dA7^)Y?tL_#+l+z5_**WxU;<=l(QGqVlNnty`avrOL~1b z$0CDxGYkcNT0K?t9=P*E^YsC-H*8_yKZ!lelOz+THj3EMQUman$jrW5v_-D8p?D_5 zjK@z~kUSBD9T%y-a&&T#5Ox@9R8G<Bc{Hd!!l3pLp;qw( z9jFb)roE=b=mx0{@g_vB;e<!0r)Gmi=sYsh-l3YZ#;7S@ zZP2E(A~b_to?Xu*MOf)P`i?4OOzMF&Xtq%Vy3qE9N|Vvqiy<&}%D}VpT&ewa6TM=u zZTzq}I{1z8jejdXWYzdX+Hz(VakGhg#j7u_OHyEdMB(^w%@!iIGB+2s^l~LHn8TL9 zvrEW}-S9L+QOSGG0EmvKj6@?N9S$x6<}j z@7}A^Jz2VRug<+UN%!{f?#11El7!~%>D{Yx?@9fh*WbH0(7jiwdy3modqMY})bV+H zyZ2m)USnzgY)tMPvnfTFAHJ{=ZYwhpTy_GbqTYr!?c=c9*Bl?1HkpQqPb;+-lMFgy zzaQTG=Z5)_K;(U8%?PKy#&K2vNTA`HNQ-Oo>IhPqn^A5 z)6ifdeR6^V5&R3bJnMqA{6^0`rsr1vlq03#x#jf0D;mDrGeqJFI_4#5jLtZ@`DQTS z{XU?$q@ej4zSDb?vg0~NV%%=g+{M1S&;W`VK=Vf$gr}QcOshpXpROS@&r|^u*UuL4@Q~5Ky?jk+0qed$Mc%;3_q+gScy~gxn z!p_=sJDTtZIdW$p>RC@e0B63>*p~PK{M-*0hA_QHA@;uf$`)Ti>8THtLp&5yg5N3t2*4JX!g(U z*KrffG8Jx!JHLlyA+5r4b$?cjdZqJ6U=W!&8>lB1n;f z3>&5^p=rp=+c*WTu7e51|9TeoTR#WM}U_Tp#LW?wyJ+U%{X zZQ2azUVEE8`9_n!`de)0 zC0~9srw=1}-NXSlLIgf2PS_jc_J^3l(4dCnFJH2qzx=@;dnUq56xDaafe2+B)NuX) zITOmCK$we}_(94)G}ZI#tEw$*V@WJF2e=^LUUs59C>@ZK zs};oQ)*Z7;UbtGQ!_g9LGe^g^ES`D^G9%)0xm!k!49zJrotg~Isc}tA%D7b^lw!%n zKQtLp5=~OM_ahzqTrxJVQgyoMT$N9}gjDYnU>r$ub)0wx7qS-oFQiLbik53 z6qSB|b5<|4ackU0A6#1BH#}D;G{?bK&+?p}=E(fc&LnQ3Kn*pG@u9p?-_J_DvlVn@ z&n=y$bBWvxwlXTY6V=_4M9FdKL z|K7QBuL5V#S7P+*_7~i}`_ubzEfoAI%V8 zpvbNp=2hsMALmPG%i?J+%u%EVWYz+8XJG0iOn_HUeQBvE*FE!$z@a7W4n-$yDR)NKz2 z(QVy`=lpO06i^unyRzp{#GMtc&@THM@Siq{qmaZE0~vtd)&zC=v71!-@wljigTs|T&vVvVIF&BDna5pdCB z?4IZ1)tVxtqkx1A8L@$+s;T#@8Q&BxEebUJ$-OELG$^ShwCs#wo>UR>5x!$3&I~D+ zC@|Xj;^#r3nbBwzs>ApBP>q9gd!+4@fsP3`SSZ=S-&YZxc-ryiKM zsGukBBt7;0G{v?~#`J!SQIF4=1KGBbt-~O}W#{P44t^ z=eh>89%_qs#@$?x_7RJ-pVb(aEBQY1+=N zlAU97T6CRbtL?w{lu)P>&e{G4fkefEwj{sGzit+W_HIt<5jw;f{e>+!)R~JYP^vD= zp^@Y#9Y!g|1weZD&Q}~lj>pZ{=&2R$@i>ePrXcKhztO?pB;}5R#?NAkRhcc&AhSn~ zFcX`dF+bauE-w}}s0y{9@762QV-AG#h<_cP9s>)DlG4^tsn{17kcM6^z)bX5-6#*6 zoNKU@1Lv&_iAE_7@OOjC6y<0H5!o9n>YzG=Nw5NH_%Qq$6!qq+6-#Kj;-#Je2y#J^Fk$0}Xa@WTB zTi~35yYNn{X0;oYX%c;HKWNwx9{%+d%M`;VFwo?QnNwK5n`h}tEhu#!`3c$osVA~= zs~1C{1TrH_vzWemFqs7{M+w6`KakyTziot^J~{D&Gw-Y2I9MfP^X6fjcmq@U?!=n! zi_TT|=Sx%8j{arN?qlSUveR9Dx;SOzxNQGtPgRkg-Rt|o46v+DEEPi-UYvyyz#&`F|*c_hvE?6qH7m~&x)f8;pxKE__ z#z^nCB6dqS^EA%3T6_q(0aM>(v(hh49#|PkBOna1 z8@_y(*JxF)g7L3@BHwLVd9mq&r)%n zVWrJKrC(OMJ8sHAgElTgz}(pOc0Tli^BT%e=l$_jwQfYF=nFZ1^Q_@F^bTd6sABg4 zZy)TJ?LUi0VB7~}`*){1?moDi%V5ym6E8R)KuPR*iM6>+aLp-jkMyObp=TwnZ+13) z*^&*-l#I?H@8!<)?@8_X(LfpQ+iRF~9QJbS%;Yx4sUJBSC|V&)K3e693?(03qIt#{ zJ8d?<5@na5%BfKViELjYQ7D!P1+3?p4gE)a=KP68N`0Yh6z2VIHi}AOJ=wojI{))) z*8rcF#G)Pk0`*t$O5Tzt18@2kN=!txB}YkTvD&$mhjTYV%KrdFN7e_|_!?r%prbE4 zhe9pdG;S(ow`-0I2k9}B;PU0n3j<9Qn3y6@l+|R7X4-$Zs9lt;Z7Jr7TH52OM6IJ- z&Y(Y9t7UvJ%lLpiA$E6f31>#pN@BF+So?EG<<^UJ_9=^?9M()Kf&KceU2)Vf6=?`LFMB+L4H4$)h>Kpi>Ml;=td0OG(QU5qqmb5x>n5 zwem1%t?Mo|b9pvgvj`vKvTVzF5&QGl*v(es`@D8@%W0UT$>>yuyjTUP*DR`k9rA;? zg2qXzJ`8aCz%D)=5c-gOHd4fq{nV0jt7dER`7o~GOk$EVjl2V_V>=^?kak^uH`A7R zRF372vxFCqSs2Pc@i_IPRRZ_OtK4NJ54Gx^U2?}oIV#fvOCV^EZ6$+c+oU;&xMRB2>Qyk4CEK%IxH;6g8H7*DDHslu3Nn(4in7usP zzntlX*!IcxfA}Pi&(!zL_Wz!~7-~CM>d4|?n1lFFLtsHWQRXQ5VroUUW^sM-;5S;x zF_*Z?xtZB$4zTQ*Awyd?(gYBPx}*h8sD{T2UpQGWtnXJe29zv8#mOdLZYhFFO)DqT zilHaXz36GxolJ`D(njXd+1%|QE2FPT2GvV=uUJ?-78^1hLU!Xze~#nE>Qsp7Tq^DxOIn?;B*dqSzrdMCs+S(JL`g@j#+Dk|o) zQQ92-rguX1Ly00lwNA7WLed5=YSr(pPG}OerkYGt9)pX;>^%n>ZHJi$T3O<5X@}-Z zq75EE6Z)}lJqo&7O4u)&#^Tx>oO6gzR-l`Mz2Y2mvoWs=}w`;2pv z{qtmf3@YdseQ$XIgTfUYI1)iZP&&boU6m*3>lvn{y zba;ZU^3;L6r=sVm$60@FnOpSYjxKg9j=0%!Y^`?bx6&f_9}S#B zujr?;RlB(FgvTw$qKMrHj7kMQCdJXL{w0IOsk73ZUpYR9&Bhrc5McTan89zX1Cmd) z3^pqgWyf&)71{nr8QdrL#{S21+Hm@GOhrqh(F~CdJ7KRYJBdk65q>^I-|h9`8qP3% zhDs6``DW_nY|DNyqCsET8wj6X9In}VYYAIOOEIR46Pcrk{jw`5+sn`!=|s(o$(8nt zot1VKYrkXN zPo?8wve(2opj~K>356GjixK-`rG^8r{FTSOb<@HSMMyKs0*Td?h&Fh*ID}<)XC1>G zkk9(|mFSy}Zd5@baa#^cv#K{5{$b=j=QaljyG^a3RVP}VC#GoXP2oT-#Bvs51u7p4 zC6{f*BhwIh(;e-ZGHMuI1j`F1i*-IFNrQ3O8) zx$!~OmQ4biK^&E6E4JqGv;GUPLkAj;FcEM>9__}9zIoD(F9 zDacRB_jFn;o_^YWyk>npnGcp&gBF@6dIMd=zc_VA$yr33NpkqD#7=0ERIPAEV+9v{ zYEgS!qRRK~=yi?B_gY?XmTdY^&O&4R$4 zTjUS4d$SgFBC8TRK(f1Y*N0 z`=l0CG#|Yu0Y$8Ray#ZsilI5K{MPv(F(je&XCHwT>B;Bnc$+g|ppv~myy$a)|A^u z7a-(%5An1zozIe!fF-QZTFxK2TxSb0Q;|Dlyvm!I%HY&XR$73Qe<) zgVZR(baMmi`DWJhJF4xAPIHyBrjXjB=IU!bqRU#R(Ysmee85f3$G?W_#~XKq>(oDk z>$j)=SL6EdExU;8ZxTiB;(C@IadAD$yIJep%uN^9GWgWy<@^f8^yGhVOuydR zKBm>1HKumC(kwlAkx7X~mVzzMm77(^M*o>}&`oTppt3TKMGDLv9=FdMSevkW#nYv& z;cU24@}Wt`+K&&`X?Hf!GLGLWW1UHZ%Em}0R6na$aGNPI_>7Jk4Hs&{MyONpm zK*efS)n8D3Yia$FQlG4v&y%02m5|XMOcsI314qZw$g^IF4w_EgO7Y=_DGY&Xks{LE z*|zZ$6}6G9cV&?7v{wI=mH9T!w$%T!`j*mUMd}uaGKMSzi|lyr827n|`&_i3WgopF zxsQAmxqFZtUQxP;L80Y|Z2$9*#kgb#GhYi#Pr+bU{K>aHHbdp zq~6fPON4Ue6D-kY9}IQGz}V}j+{B0w^m~fYyF9ym)|8ve3@0BE)ZL>DCoiWd_q*9E zYUKeo2?^T2A^}m(75r5=RbRK$+?X%gFAwgxJ6w0W*q6mBbcA7>UH9qN^LO0^E(*Lo zw|Q^y0$#Tt+f#*352N;HejtTdTYQCOn*)B%?E|(7Ic_P2+yS zO2(=aBk07^`aMXvH?K}(>-UE*8JltPd4h|_=V&!#WaIn=3SU6>w=f0hO~&v(93I-z z%Oqm@rYqbHEk%{L&qXrD=>B%AHTBDaU_rt4_~sYDIKpkQK~3aQXv0W+;Kb88qUCHg zxJ(a{7H$=NVG$Rr;25juA7m*Fx&y|QXSFZz%NAz)Z-H~p%J%QYrZCIILD7ltLcgrQ z1^5M5B|nvz1>huffeHjAHe=az_IyqE`}hCoV8fI`&TnSG zKjsZ&2DQj4opX2a;2VE75B{Yk_u!3sPJ_IeYE3HJiGnm5dep^OR*@Fv%Kp!33-EOAZ#Sbl&ZydzVd!+Y={|urko_Fe8jM zWb4Oc8(QbwMAga^GDDz20s7AEbf$V}X`o>fP=p(StY|BnIyNAu&gqgZUXS8cfTPZsW@0nrqH9cAVGP19^?1mo#69M#ce|2^|DZW2S>_Vsd4V%cm;8E&xdmzpoa=R|d5++BM&We%Q)r{nFpLEzRTnIHo+xg-MT?d2 z!8!R3UWztR>)w&X1Z~wi2kO4eDhN)aTLZuCjU-T>EarqbY=lQeuFPHAG{BCZZ&(w$ zm}>ayt*T9yGX)Via6?&WCfoOV%AgTKFm!$_tssFBt6*1%ZHDNF1`XA-+>sh|Agn%t zwP;m=-S>e*#W({8x64dBI&6hE1q3blY;~prC74gbP>O zeNQpXKY7qDHE-B*+hoR^JAHxNBi-a37<1QSM|(-%P#&5I_uR7m_}L!lCW}7YK7JzY zJ{7yRa^ojBhw<;UgTpIk;EcQ}*uwZ%Iv3DE&vnQ6H-#ELrc{ZBF62B0@yMyaMG2^%MtkJU zN2@i>$`wzJ6cZbWcVUj%{&b43&(kP)DZ&Po^QMBrlQVE-Wk$^rnP5Xn%yEv#l-|;h zhq#|`oCEPk%;Hyave2Vza{6q!xkrRVwmxFnY`ZI|EjUYGL6-Z~2mp-FQ-Jf8TNK)D zQUdd?beCpwO-iJ9n zPs!c-1-B$WbS2{%bGq@-bD#@0xXj6X(yKYZ8y;h2`)2<{>VD4*(wiIa6B>5OY;0^7IY>&7c!hxf!pnE4;= zuIdsCNUz#-wOr}%YVV%SPm!uC*|@*Sl|8&qI?5)t=b**Y=7$4kEvk-Mw;medMr6=p zDg#Ej6@E_J42uGn*vLN4&oRjo)V?fYPuw$7vnh}{z`X1-_CdtULA@#3Q%rm@b=EV* z`b9^ds*956b98_7@HX;?N;n`Y@`V}NebVEc$c%9xAvQce0p5f2CYHIN6a%osifbas z**SmURt~I=a{|-;Y@WSk6JdD8=Xbc?37IyA@--sOUG$gMw)Pa4@%MeSgZG5_H^+!BrwtB}YJ**|G zX+IxOeV)Z9)2?~Hz{|gxn{f7#)G3HkZ<*OKlU=2r^)zn@Ok2-=BcbUqDRVr@svbTe z(C~A8%byE|_+!mQYMg^0^bs>%a{P7fT&Vn=Hy0JCV$MqkOMY{BX@goJlmN8x%QB}D z{}oh2vWnEWih{74r6V({67*F#Z^(dZM=PceFC$$BB^nOGHi+mq64B2P%b+HER0R=3 zaiZ5(I)5?!9b*PF1Pdk_JDeMC<;pqzO8A_*z(&@J1nkAF_4qD=p z!cp{hmV^temTtSa%-Um(=xLg}>hV-Q=^t{LSLM>vvF!C!u#rTT!y7x5WU@yjU?6u{ z(}(tvj*ZSGy~4`Y8EGM?ahBuq#VUOvr5tW5%PzBf$Wl|Y?iM2M++~Y@OtHY=^&=c= zSZuq?5!Lb+b^nptTPBO=0>@ZxS9PV+~5{9ZAv$@7cl^dS$ebcfX zEw6uFP(RTGW+sB`Brf4rh;M~+!#H6)FwGUWTctZBuZeK9PlRcs1n3mthaYQ2Cn^<$ zP&0B;eb8u@P13PhC`q4{$J zRMGQxHBos?B>2n4|VwR3~|6CJ)G-l!ks@~oky@?>zx z-xaF7nemL=nwO3U4lMDUF=6IaySQ1CNDV;ncLE3qu3fok!lp z8P6yTKQz<$#jYJ#5kkpig}v;&`VB)N;Dp!&8OyLdjMnhz$z;Nb;X>FKp^aw%6pcK= zr+Cgbwp6SNAF((?bf2T%(>B>#H?IxEwx+VZZcDl~-&5I=+eX$OK*}1DpXsda9{OW) zB=IhyttXWQx!jip?p>gY)v2*n;Gm1_$@bdRhu!O6N_|*Z|DyiPPkpJJ z$nP*#du10nk$($Km=nI!a~ETB7lU&bJ#!ZuXoZgLJSXxB=MVxEb)+}wd@-8CEpXK? zaw4zgWG|Cquh98kr*#^S>^LX#3I`nR9N-B*fQ%o&wSE92`~Z&h1L)}o;1C|aQ#>s3 z1NgZBmXqWx&@fdC#C2M9Y0Ptr8HZ**rj;OH$O>n^&bZ(Vc9vXbR>7GljLDMh$l{is zp(+0$euoNNDnB>8j?hg)Uh53-Y!?`lqX}j1Y^h^~+{y1+DGhusC#3-)&?% z`q;EBzaaad0*~x1gFhyt0*~H07=I{XdTfS~nLlxR?)0SF(S~=E#n~5IdWNTbO-B*F z6fv*t#K~7pFaLh28PbJETvr@9Vq)nLClk}P59dzo_-k}UBfNhKdRO_%6FI418ocX-kuMN{V~7khp7PndqUB4lImq#sM?`hJ6x&-!yTv zh$A?S*5=R2B*Q7XMk_s>_yFSM&u5+xFDV_JQN^BzV|1CNT(x}2y<#5DgG4V{tiZLUB7883hnpaI|bAHPdAda%h zB|qTZ71lwQm0AZKsE)d!OQAe1i>iH4z@YiD&2)biLtGUvTAfJuir1_r{jI&ArF&dO z09OIRfRmraRg93T&XBJBU7nQLZYO7;6Yx;uK5LWZ24Kkp&((qw=dWYbuT>VY&l2P~ z34+hQf@!I%++N$7_CalUlE3!=??lgr=?4jj+hU}pg=^>UI2*XX-U@3i_Esg;p*_f$-#uZnu8uy>=1;9^la&An0-QF6MC|KX?V(a zY2bjcJ)}HbU2uJWJv(GzxH?okxo14R_u}ED1udhkxr5#Rimd8krS%sl>?ZBl5Y_@k zo!u?{N#B`cw17HJK`JXqAcznvqQjg81+Oqh!%F9u%h_|%J!qNm7_(}ZXzbd!aqT*H ztX2@nj$(1@ZRz&QZ z6p-r|V!M;U7P~&n&q~8}r53a+!CmU)yf3}mVE2@{Xa81%ydh)NI**N}6KVeEFkCtm z9KR$~RtWL(!jWaJf)%*{4Enz(#Cvl7SHc7?{ud@q1S~ncx0yX>1YP6Bd9GMjM`NBY z4F1y!mYI|;b-Xg?)vuvxjAjcDt0S>V2^Kt&Z zx}Ecv?XArk#EGh*ZN~YFnH(?jGH0t9V)`&008JGAJ)XW1|L=PQWPfC(iOc}YwcBf9 z?s?8jP}+O+lWP^(6ETr5~@l@O+_agjF*-sC>ukbXL>+@UeUr1h~-HIGLeHuThIt#?nV$Xk~o6ShslQREehVFah#Ouu>4 zMW!D^gUQ2XG9X)``QhW1G9-*#4~(C_qX$jSQBCA$mlJ;y%OG2Sl*^^uNj}gBXPV@f zWKz1IkJLw4*WQ}>b4qg*x561Q%FsVAH6nkz*;=^YK28dZ;7Ps^NoMq_#i4Ztn)Gq! zy88Y>u$0B@?5ksot)uF0*An_7u7+YqWko9SX6JKQbL20WwxyKiKNQD?* zmGQ^HY)YN0JQ1YA*|cGcDmNKn!&p*|Os&k?OF-7p(xN3CLG+lvd#ew(@(n36L$qyx z%s^X(uyENqMk!(bmN^%?*T!;K=ZY(+6eGDS)nd5!c?O@Z{8<|u)hQQUEoR}o#Xg}d zENYjt6~n*En#I!x$J5_nAO1!Vhrd{P9E%}`y;>tP#*tfNrL*d6cTz@bQlf2zar=f+ zTxy2&0W4~}HEg<;Tf?mCQVm7nP~HkMzoQGi8JMPX5JJ~4YR&91>C{DlOL?b0 zLSCSGSSk3Jx;p_g`Y)f$mq#G2GS7$O24Qe|YX(8UlR$d=6xt5X^tj>rYhq0qitNH9!Fq!+YK-YmlT z6U>|xt55AeZKQ>kvg*<0*9Rt+R8KOKnm=n32GqYDsk(7MvQN#W<=6L^SXy)Iz*~x> zE>8|Lzwc84h|@$UX~AX<$*9(@pN7qf@)pm)Z*l7V+78@Ul&f!9c?y z<~hZ$TtkLdcDcli2totJ2xUvJa8BF@HwtNL+)NhcW~KAwBAwvDiv68f`ixlmwo*j) zavD+(%AEtwF&SSJ%g%0nvR)sy7b|GHG+eYed6-sSRc?{GzYOi8U;5~k{30juEE6Z- zG@a$5>^!uM=JOCK!&SEwbHW^Q!hgHVX!#l9RlOd+|6d%n(ybO9mEw9 zM1`|%ZJ!xpxtQIIFGREoO?Kqtm&X944z0nT$iOTB3-1qzYu|22P?QA=jLqUMk>&&j&hGm z5eA{>`suk&uulRz*PC>CF`0N+XOkVBl8&x|PtIZG1!I{+sq+^O+EyDZG=zzcPk@mohI3x0> z7rNTM@w`3Mj^1ymK03P-)oWf3KI`9{m$heVUXqsyYoj&vB|+WWlR`@GQmJeyBfrt*u|GxiFX=O@;Y z%Re&XmW@sUkIShto-QcDEuNXk?3|8W49eJSw)Es_Y{1nQdfWL;hV!Emv~TA(ne9Be zcg<+FaveJ9*vcodmAl(b)X`}iMf`D^xn^^q;nyrF(9jys46U%pOm<{ET^&!OU)XF~ zY(22AbeN>GRVHZ{fRf%J&(@Zpio9qq8Et&~{9-n3-qrP{%@28-HrxAm&8Gdj%p?@r zsN#1vsSOIkiMBOg%g$|8C!G3zaXM_Tkx0H$b#E18v(K6>P`%!L)y?pRNYyPH6>!8a z&s&Bt_Q~z?UZ7Lnkuv7;QGhh35AnGpIoNZ9A(?5unhCFDkDlNO#Vedz^Pa%8cR?S8 zqwtVa#%-Nw5Ako+wj1=S_PH=}^4rGN)~DtocZ2>e8#E6odj1+z1y9B;#L}oQ+sL@A z`38dqamL*hZEBo^`JydGaCc#Lh_-oLms1!tiovR3sr+aw91JE}OU5Zs*C`VZW;n1k zk>7=_>-dyBE3K!q%MhKxh%lD%5jrQh4UX}Yh0BmD70Ph||B%p+6t(CSA4d$*7YB)l zXYH|zRX7nsU}sIi&sU%mdb-m(%yi8N+K5RytVc)Q=dL>RCZ9~7Yp zXK@a4#Yp{P)D@j_K+Cv98cVclG=!R`u=Mp57W2c$(pUC%^_6JVg%E1Hx?+BZP}{YY z5ZX#8r>*=9Z6%2n@PIgJDO!%P?C%=g4V6U;nJ@N5s4UVc*aj+N_Djw)p9&ubSm|2< z$ayl`3krd6&p(O9Gdkb3|HxnA#{QZ>qTI?RHm(g+N_!jAv^ctob-m2_Mbu?1e}PcB zS6Fj$py45|(j%>?uv`DeGkFe4Lle;@CSH*{HVq!!6}oNqwV~)_5(L zRF)*{n5lAZW8$T#WoxjduhQ^oL5^@^ZN``&z{Aacgub;nPv6oOHM9@6^7o42!I~a{ zyOUb<_LwGh{O=Jn_XnC*r%r5ZFK&(Ictb~GAn0HXkfMhbd>VR?558RLK&I~>(;V0y z%TaPkV+bT9W=CHPKgSMNkh6!wL&@qz@=?#`)`ec5qbK++tv;tyjaJRd`oXy~eOH)x z6nTpzTUw&$kTXkGLv7yZJw>^!P%m#g$>w;#a%(L1g5pNfX8naDt_0k=A*fnw<@)VU zz1Kc6;j~_BABl}!9}E13(^sc9x{h@_5FXTMjcv6!&~C3FLbo&?_|4LI(X!a)=2+3{ z7S{C&e#1kggQ zB%nv-$Lcap8FC;{SxCqQD&K{1a+YwkZKQJ2{J;l*&&ou7YcqSFiyckx`8k6VafiI1HUEMW=8lLOUPi+|iJH$!2hC$8FbW+hFF=&jM z4e4TC+g#ZRwm9P$Ae+zKa}d^DvB>~E;W?r5f5 z&B#9Fng`u}h?Wg+t2Aq0>LLt+hZLVdR}3fLkB78!_tdA;8gkcfM|_4${zUA^I$|Pr zq~o6=YgqKTGVteAf-|AQXj=!GBV1 zXg7E0Eib^Tvrn@egrELH+JKtUjQDjr65`vLW|&o0%}YrJjhb{psiKzC!$Ua~U~Sk2 z1soAdj|{<0-Jp<4LnQg}IGP))3xB0#k8(G~6tCCQ?(55+vxJ2s!Jjd3GC0n-h>NB# zt-?;1Hx(;$5h)xi-T@C{Ut$2*Vm-W@ac(j1V%SL8|MF-}WUW~cjJbWllD)QhXQt%A zd;Ys|{rnmKDO{Ji97`5g9Enbe$=JDfT!ME{HrBXo1|lhTTv$nke4!!N`IknRGIF0e z=DuseVKl+=(@}hwoY~{Hk(peZyIxS?dcrSm(243Mv%ZKZNY`pDyfRtLAzUG+d74x5 z>9e8Ov&+(FO-L_laHVt0Y8_%TJuy7M<8htREZ_>kSSD`g z29#*+4?4~mzy>MDLihF@3q>Z!!W*oBIDu$D;LLC#=yZOLg$;7;?uTo41Fqc-R@zH8 zB1haxr?A^6ys6bNR4es98IVzi#)snRpADQr(X=*&)YahjEz zi%_SzIQnUKE)0*(3yIPU$pe7=Q2&Wlgorn6E<&ZF*h<=J^h!CVeoiK17%bdfUF@r5KTL znS}0GxF*EmLYl`bn>h!Gt&u>frsRs|yEI)j%j!@0r=M4t1EB`PX!N{+oKjp@A7xPG zu|ex&gOGH{uLzf-F9UcfeTnpTEN$?S-VmqaH7@Dx=ufLrZZktST1Dh;pPxj`Ccz1- zmWZ?!&auM{rO4iZH{oLb-C*Us3KU@@kY&qnp&9=;7S2~0=lAQ@paBLkhLvrbQ0Av* z>O*AFMf@{}^T0ZBJQ6mypy`}in5bz>1cdKDnqU?$=wj>|O*x~N+?09;c6St0P8JZ@ zRD}Xx=9neoMzOF=oNto0EuQ{$=fIUeyAdMb)=Jd0CeL8H>ML~+Y#+-b3CCr76uSmHIG)}N9X zL_7~F_NAiLlbBu-;6zSpGsK&|(6Id&heYdlz*pt&O?pg|r66ycGZk^wE?7#OuPfovfU>W$_mY^ohwJGMoA7q{y?Y#R zF-&1e86igKZ?r_ZtjApqOPbcT$TlhEs<>&dBs7g{}J2HZqM=lixnbyFeGvb8< z>3N8rJL=Rlas{$#78t!fC;yj;0OTh>KNpT)t#EvNrS|4&+3@Bykw9!SMKgQdc4MHS z4KB!a$!+04!&SPrSCIIzet(7Kn*jZw8=$Y!WlHVdf<5$e%}SloeB3CRB)WUTJka}Bd`KH!SGtejC7%~^Vau*wO&p(s9xHEV04Y$Sm z8(R*V8LiN9EJ?cDRPI~?Bo$!~Q@QheLSry{RXCR(@nLpmq5|t&g%|?0JC^AaKhGL3 zDu1Pk%D+fY?5xRZKY%hnfX$b06{;1zn$lUhZTMR zkNW}KDFErlx!82~0Jdxco-H_Jo5e9LYj37VUTm|L#SMXmFGOFgicp|Iek2vftKUbo z+FyUnnjmC@HSv@vS}}me8q>a)c&BFYd+pkq__kMqZe6D(abj*I^v+$prGBY8-Ltui zOzvW=E(j%=s3ieoA63@nlDO$yP{NWZb4DDNcT%NnW}-}M0t;hh!8U7Rm>$_#n}_-V z6#D_ZbB@m|7We`D#1CMKAHZdP0H^x_?C%Hg_1Qkde8Uf5o*%#iegKmMkZ&*g&+ZrI zK$p8V{_pJAqiRE#qN4c|dX@l=e%BuO3AE>7)j#Hl|@oI*eE7J3F19o^joEL;_ui97$l zLf61jRe}$#Zt5YkU$j)4t;-U-kp|wI6`(2k=clfS4aZ zg&#l8!~zYqEDfV) zRBKI~pg+gz&yi+f{DFnRvY1&q7qEgEW?78(l#X^~gVUiOcnZf%X#-LeF3Vk_^ldXH1>=-{@i zQI`&P*G15IeL$YV5uBL-sB4AewP8H6(?);i3-LW)i0gbI621_Fd?9-JLVOVQ8|{m} z5RdpmO!bAh%opM`UxaMGD=k~qw_M6F`ZHt(=4%^lWW81n_Pmt_w z2V2+*XN(`fseS;YaHAibLD2 z;7I{!zag%%-PWt~P_15QBZNJn%s$Ru+~^$0nqo!i2uUOm*(7tYyRwvdCeUzHZe@|B z`d$t`X)A-9r&#tSbGfM66Q^ z7fi-HVLT5}ie|0hiG%dS&YCRn1K4nePYcic0X*afFxd~_Vn2XW`~U{{0koa&Gt9Mq z0MGaV-0KHW?+0+M0Nj`=mJv0GI+j={qVz`JDINSqSe4T@ZC)GpavXg#&~S}}B61u> z@^c(jX!YdfIC_E=VYU}l>twgVzvX&REPHoF#|$~FpnzJRe^K_L?)9(f=~eo(%oX3> z<8d#s5$?4-4~mj114psa+{G2Si|X7(zud(;dekH~I=HJXVX+9D9oC7R1}4l(*f*HB z%@E{AjI8$YO54k81hgJ<_SO?SZSxD_>UIwCsxQQEeIf4lh4_{)#0X!ABYYux_(Hr_ zoncaZ_95 zPKHM=BlNP%JaDrO$q|=9yt?aJYu9q^SC#MWZKZnqtNyIZ%lEeIKbr4tdoP+{i#V1C zSGg2e=9Ki#Q)*o=+6vE$_G%~3a)BP{%8Qn3bHm9#0MGjYJmd#3*$?1iKY&yG00#I0 zw4LNL%(Z?1&j_Gv9dd_z^S{gsjm>`FE_vaDB)0f}&I^BeBFHej@aEE8^qsI@9_oIUseIXw4g_!CKahWf~X}%Eq`a*0u&Tq79eIb7D3-JR% z{0HdqXi=f(w%lcUynVob5k00WbM$y|(XP?s1$ttq{P9Fzh&_BEK0Vg&Eh~K?9`}W? zeIc&)g&6J&ai}juks$spdK|ptoWXwl@w2`Di|BF7(K&itRMaf2Z8>9Mn~4g=3k%3uBF=2tn_8;HFr)#WO49=Ks$>G;5{^R2N>N)6m(6`dKxepq2;H$u;OHJHpP zHXVSs?2_-SC-J~wjw^FO+#F5b5=);uH1IAv$h-p)d_{3&SgJQcTeUJT!@~!XQ?^tuq;VZ8_r~% z?;bK97Rvob!oQ9~#-wf|p_i9*K45akVCs}9qKcDEsay^CZQkvkXC}1)XNtEw=eykt zyFS&dx8_bYFX_%wrt>>H=lh?3XK9!3#11|gJGe#WwqKIDZMJ|?<3`fE9h_?(wYN@j z3-RgbNF7G$a=d1&>BLAJFMFfLu605SG;N6h=}ee69y^V)R%=P9L(yf;n|nB106HMf z?<8sA_9#GJat~%}?sPVMT%cg^(j`4Ol4#mtC3J>Uon;M!!)BbvxS5kk?~GB-g3k2x zpT{rBuKw5O)U4_MWjZS9a-9ELbaX}If0&MnG#u#dzlM$sx7=ns))| z+uf*o>YmK%_W7^kMK86G!@M9&7OPZaae^aLusGhN94k6`uX=~M{icllrtsAr^89Y> zH-neL^{Kz*?l_!rhkffjzB%kpnnp$ak$i=JL2X9{?{32LmCm=vv~Ne};$v^$j^6LC zO~E^j&KbhXcGS0Vuk5gIPr3V1g5zu^*Qu3rYEw*s^Y>1#J>}L;snF??p~kPhxJapQ zbiAo!+gg4}dk=q$i@v>wk?nfu%Ae#enEH`>K)a-Awb!|Zfm75b>FGJk#rY=vvDZ7- zzGHUGV=>=jHb!<1KS>Y}c98a_7tI9!>0M1>rXcbs{7^f|Qs{mOV+(Z) z$=$^^;t`?YeWxuHip2%5rX#bQC7a!DJ*Ur|bc<>&HBFPB5bF*psb#uAW7m64K@IqJ z>Z7XmEP3QbS6-!D88n?J{sh1(bRxxO{? zn@M3nHI)R~cVp0*@_nFvJfSQDk@OS47V0v0iM59_ zqq;c*7$>^h!v$$rwYMoTn&u#}w+OIws|fc;12=+3Z`1BbrqYGZVv{Stu5LjIr6k2ao85@i09MUb zRW-GA*HqtEC(~ktfaw51d7{UH-QL8X zYNorl^Y!P<0D0DWEgniqoRmrglFh44ciU@Ln8!%zx6GM&Es5XCgj&9gWAZd!DiNA> zUZIXaJw)6WnyU5L+R^-8(YfC_pm`R}I0uOU01^vWZmQl>v}w2S+$m=eZTal&Gk^&^ z+cdthxyShI((#RN^%y_6X?*yQCVix5>SrF@Zk+3_l<-^vrx81%Iu6~U9C?vjo}=m% zC4@?iRUXOqnuy|^+C$5|w7T4v47rGnZn z)036i^Bgp%B5UfGY!?OBlVfAS;g~-n;w;$*x ztopadAI^>cQ#1aPJH|gUZ~WxOa>s8n&rUY`Zb$8t-oMn)HFmMgN3jDSVZ7||x)O{L!0$;j@{Xd28EGEsprTnv&Q+htui02l78zHlWxzqY-%P^xw>gC8)Cv<;U@lO zHnpx4Z%mP`%PwvH$(K+U>nN8ibH{zLsFP$3s^;C@oqeBD8vCwZw|eKVJM(Mf-^i2< zSbA6iHS9_nz0Wk*Vhb_(u!RW66OAzec_nm7rs{F8#|`&#x%!YCS3f$xpbz^U*&ZqA z;}s(tZjvAM^6skA1!;lA*BedUrvC_EXMZ;=;cy6p_77tZR_eXfcvo>?>0HawVg1y) z>nGbk`ZIWdsXy&yr7h2CH=I5q#o&5p(2Wu*ZAtScdz^B{B3rZsOnUp}+|JbuR^i|Y zP-~s3Byt`FE>L>voQqJ|X3gaG9jQ4$V|3$(-$}fejQQtp6(|*LkXJ}HFx_GDs#^3>Q?ITbzfkQn{c4&+1mqg3JI+g1?N~ez^RF&exSD6-~!RaY!65#rB z*OnRGcu=&Jxsmvdt7M~d&EeVXlIYxbP`?&O|Ah6DJ636R)0|7nIGsR`qTx|oMSMT zn0=RYL}%I0WSs$=q>2VBsC&OcHz{hf?0un=u+|?;kv!d*(i#iBx~9HP8?M z-3j}>c=}s)G2WdX^CbV~*q^7zkSWiozG(bSGsdiPYCdpR`736ERuxu{;qetT8n?fq zN(-6YHyZmn^I}s7s%Bj*5P^+HNwauJHqkmWrS7xfPcgZ)UsZa=xVyf4sQUSLTJV7; zMw^_1tb`IPT}EOrH?yEx2nSovI<>GKp((2$50tP!rp~gz;>R!rhmWJXhL#w9pZ$fB zRxyb0?f~9ST9N8;t$}Hr{Uo{IEpy`bEwyobTpdK)Sm=Fs=o@5A znD%a<;ZQRN&yN<(2c~8Dn@Im$-=gU!l(MW@$lf$XYE!r5`?qY(wiFrU4yyx|bK>dob@~bro=G6? z0wRow6Lyi97dQ^R!wQbo*(s$`^LP)19kdU5yGH!2;rw;>z*~RIk)%-Nn9JBAJ zW8Cp{d9=`AAeMe!H?%xU-wTie?PC={`8l^pTXjmr9tVjt9{ZLjd2h_lChRlf>0{kA z>mrRLSW@oAnypqKx;UKrs4%%kQ^cg#s?o>ab*JPKS`?x3;e71ft99>bR|(rc)OoFi?dC ziUt$u>q?{P>!@X6tTsuUVl%oQ!8_KyKEv+*}3CwmrQyyd0vA1>4q-F zV&dt_mLBo+vs$=(=)Q7RW~Yl}T*2b5>!`tEuQ6RZ=JssXzIzhC+0*C435pt%{V2?? zk~ZWDy%_VDTiyiqMVswz-mCAYUoGDfiyL8Oew~{6qo~|y)it2X8O1+@Y z6eKC&YP#ihiHZD!c`kX*{WpI_LfbzYiBABG|bWva)MC8SsZOG zaQe}j7W|D2gB#Fb2ih&6JvUN!d=gLHF>W)iy`w08yF=2BQ}k_3#Y$)8g~IeLtsD~m z+#rwN9^L4^PMo;;ujcNVX8$}wyP{M4YEMt46H63^;O=9;Oq<5kA?#m;n`nB)mWnACGi4Y=n##os2a>8GitW;LZx)Y#2hj5O3%b(O6wki2s1|_jB2X6KMc+3X@I+lYBO{_ zGwMm_(DigO{rqfUF>_W(jOar=;b9fGr<~PF=OYx^S#Yd&+a?K+-B=*<<0|oQqD^M> zMnnsl(Y4EBMxVlmG0C8YK=tdKPcud$|L_7y5s}q6|e%mqp3f<`f!++p*4#NgqD3+w0 zNq}PZ z*2-ZP}4C#sFfa>)dyz!R)N_g<0Kr8v`hHLD@Il zx}aXJ+B#N=oBiD``NNZWD`bnC|D9@S&Ko#0jVM*(G)U#NTf4?>bbdQ(o4Q8rZ}U(q zXhXd0>4tdcJKc^k#M{&*@iujZRg4T;c_zy;getf9fH&!)OUNN--I@-nUE!S6W^n7; z;Sh~F>~Nl0-KE;z$V9N6I-wIG!cgXL+u$=a%A?dDV2YIPWpY8dm9UKh)PYZN9aEX6 zWbAM9@S3Aom`|ehsh*-)=a`97nA)+r4NK_2>Ym!2JE_%%B}g345o`xmnK7}1`OdG8 z`Zur|PCqYNr7=UReM^R+|9ixPyRMJbHM_oWbys{6qC&zW3C~1) z5Y*Lxu2dXcgR2mHFu%{e)jgR&0KfY^|8xGFL%OHBy1MGty|?bGZg~j3Va-KadL%wx zhJ@41ht9-|#$MqWdRFHd`t#-H4DI>GTo)2&9VD*|mINo~NT2HhYkBMM);x8p)z&<9 zuk17hiL6g8(YXloUL)4u1Z@^b_S^N0WMByO;;HHL>qr&B8z&jlfKyMqGkV zTe!Gc)O>G!l+JUk5&!;>1)9`Y6!`Krek@@;{rP^z)4c^Ip8CnOjT#%N2Ci#xr8Ur! zXJC%PGWaM7t7dfhkQYrng{9F~jpzlzygI0l2L`;IRZsoa@2%(M&@SGcc?6c7yd3Vr zd%d7)D~c^t?YSHhf1%}Ya`yjiIb?2ad?4Q1#+;kExcw8@aH>|W!pAMCV~d#mE%T1e z;>orSVj_oUfw4S(D%qf9Rd9&rjwNsBKAlml9jA5g(k&JmSBT z^i(4)OJ786K!wdOOQC#gSs9Hqq1&?`=xERtSSuG@6S=Q*QwTX}4lN7ib^-z$)lZud$E#efYbYLmb z;4*QbXn!1`1;Zjgri4%NQnD7VF%i=qgI>@g=CA7qHnWX{5ix%jkfCgTt&R1EWnv+J zAq*GA;bkYew&Z-$8-aH(FCfB;&=`$ynYbjvNHQ_VG_z&nIXUVyZld6$C0})HE^n&LpDL>^+x{WTI>Wym}!@Vw^`N$~UwA&qT?Dn2O1i z6sX}emGAz|6nG@UW9hW{BT0C~xJi^E$AhG?1LX|QeUmMs^NXYLyHU?2U|AGQi2VB@ z@`K;KZt}ZXlHc_eJMJLRCdB`q!c;P7zw8~fEr$iICH`MK>i-7Xg!m8h*oR`>R^ob6 z6}aPl6WCA%TErp*bwbJ7BL49nv%ACNwaMDDSk8>RATqtsMhUj~Z1ZcjpGzy0v)7M(uP3o6$i7T(tS z5*zt{gSWN5tZF4lOD*AEK)rim`PFW7VQKgA>E1`eZ(djg1PWeIpdw7e(Ue#|JYv*B z2Ji^K1h7Z^4|KF6@QBGzCm`H|M~GVy#R`;gzUmM|ZcBph|0j$h>iR!Jml?%&3wM!` zZnN0<)h}ZdPeIxtls%MDd@!G(xn-h-t}du$WWzIUJy)pmwDRbT6)^aalmb=u8)?&H zgU{~2nBeu{;2w@v(tVH68ciboo$!k6(~R&OnEd0gow{tM0p@wghYocm)?T<^*N6Ib zdQ%X>f-*mx+`8|12+A*;5;2Z2%|02?ol%ssAk^m{{b0AP_eTpID*GfbiOWUqIka>d z!Bs3Acfj-?ET&V(NH&LY*^h}6B7*JgrFFe%2d_T}MS3Gf|oNy0~?@;RnCi74u5nC_tgcWTg_=u6B>J@C( zG1N4=tpU80<*K8Een|NtfH6i3my5SCDfDH${-L;cOFUjZZJ}EAM3&S@C|I2iOf%jW z?v-T7R4V?0wh+~7`t+h~JYQ24k9(@==r;oC{<8s6zZun%tKt-B)jY0Q#o^2+StBqD zGpG=j0v;BHBbXAxF#)mwkljj+<9tXmuW%mHU|*6Q)8ChvnF&;Y?TQer+qW=njX(O1 z6maHcWpkha$tT}$kWx37H>Z_I47yHm;ZO+6h?j#JYZ+G_g66|4j&hTpfFvQ?+_+$7$dT5~z<~xj)|B zx!u^$!f4gw?Do;zt#EqB;-BFZX%@NoP0}FtO5V*(Y0P+HO8ET%8Ke2`RQcp2>&Z-d zBHnJ_A17(?-_7`i>zBBiJdDlK`V4r|OI-(_$>`FI`^pI65Qftru#NMpQ{o6^^%r-k z?gk~$iEv++F=eg~CTUZdpY`-Ug%_8Gsfw}_7OD+#m`YFBzn%Vl{fWre>Wq2UlqtJo5_7=pc zjMFo+{gHKP)V$A)o(;9DM!l*88r67{Rt)2u7d{%pHc21qnxqF@I6!SJ<~}$>sk?oE z<3!Ynta18ssOJw{4IP)fJ5yEq?CsFu-~piMDOZB>WPGZ$^q24UpsTbkK*}sQ-K#r( zX?vZD-r{8Gdd-mjx3UVt0YiE}5%d76&9;egO%esyqBfPJR7E(9+<1*#pIYQ;y3mz8 znzoS<@^TU;xkLdra^%H>@c3Sqw>M~9M3UMkwO9f4(03k;E8ZA1_Gys=p761GaU2E~ zo#-Jhj6ai|;#v?i{LbN~%J_m~%qSxHM8y;GwPo8v@Ga1Xo^7NqhJQsy2^ujhzAjjN zv#pe_9OMY((ov6)tQ=QbCn+vO({Im$*$N3YNlO7IM(d7(6gqso-opGP+Q7s%99(rR#nKh{SGk zx1+zvHjWcx8_D3bQJg)EKE?6vx6{eGbTlF6)r>cmD>)lblVfktdl^-$LP0e4c#YLT zJEpUojBS&QvGsxIE5w80zG-drwP6ff#H@94IzK^AP?i#iu9SEzmB|)y&oP8!(uAd> zQti)htCft5umEDf6cs5h!pa{H9m}?;0oxD6>zt@Z1Fi#Lt&o<;^iF_iy&022;`#{X z;1HiFn|g-$)RqUEf#T@cCXyQ3!F-{?Y!TVI@>oNVpNp`esWy$` zD9L(v644ZkGbj9xCsL`%pdy5KMbn#?90OA!`J2)=kA@!)4m9ipS&AzS2E}j}IH1KZ z2}JKegv!SO#TWA%f36__>eH%LVIcx=dG`SC@yr${_ld zt%v`gq=u3BMKwIp(o`TaMCD6zgVB|8!cuUmC5|eN7vy@Y+dX?5QxRYC<`bbii`w~C?XgLjrq|)5jAiVH82AWlv)jhk{T%D28u$%sevMHpcF>dzTe^x zVlnKV>H`GuV~GflaVPD&_<9Y{h$rmg!Czw$1jmgMR*>w|Z=;lbJfJSfK7>gL4h&5m zG>})X4E8O-yw{+KCE_NSY?qK-{L(KEaQrmYjc?fU@WfmnPl#PgOh_joF|AbjfCgXqsYjUKx2!TC&Lnpvk zeX zL=K(ApPG4}3n5Oh?+fH)HCX#XHz$im7iRN;;;;Tf^}d7=iRr zIx$*E`DW4wGxiuAPQ=o%Cx+wIKcWo; zr^&#>7WA2dIiQ+QgM^@o;KLK%MereobQrf4X*!nu%CBj~4?4tgcw(;jn?*A>!9%?3 z_;{RqLu*k!N7Uj>i1V>vcszuAvImRN126UiB(M|flUdgpWY86)D9d>u%JSBdhOe+A zZ9_@JPV7i)Eg7|q{z_OepW7mC9weo~ZcKdSZDu4R&V~5X!~H+YVj_%@^H7b@ErhF_ zcgTMf6IQ7&?YJUVKU-Ftkv}B622RkYdl0Q8B3>o>fwEH-Ir0u5|wQUkP6led1B<9qm=%bmnJqHG&yq97^TmxJ9%t zOi&NIFf4KXX3PJ~17iR4BANleaeWbjmWo&|1q+z$5XYjf$pSWtb$}xJ#(g$@&>8H5 zPILm12%E)}V<}FUZ(jqAz%!L^WAAgW_*bo*hwKc>GuP2RfM#MkSjha`j+f8_QxB69 z{OXzH&fbRb>5&AQ;Yes#-A1$dl-bHxc)fZ}$K$vl5`z(;HOradsuyWq<;{BP%ZYn1 zF9>*s66S64xd!1I-e^&Zw`zJ8#Fw{MvG|gWFbx-lX)L1IP#YILfy>GCrQeuent@Mr z?CFON67t9yupm*fAv6LavozzRnJ-+07nZH>i1){|57-dU-ym#mtgOdhu=fTNFIJm) zvAQI$0TWu!7a6b}G)jsB`t-R7Ll57vf;F>Is3RXn?^%M*{eW-DX!5xbTRg;w5=?!< zMlkihFnmxOj2x&DL{vG|`W0b=aH9&drJzT|(3JH>!;P9R>_N zSW4c~$E+gV=S1Wl&Q@0yt*#RyIsPe{yI~H@i>tLrd#9KTxlGGxr!^oK1iuuc*P>&| z;7by6;l~H!k?9V?e_8YnSHRF-ULNNsk?CnRtvCpQC|ZMe4PPlTEj)_R7GN9;V6lFu zjGBay)UYcJurR`DUSqy<1UhNyQt31z$hsM^pz2ve@+)JuDo3cCV9SOZZ|JE$u9zro^z_~~_Ak-Q?V9g}WO(dw--HEv}rwoe*8_(}YAOb&| z#m{8nT~^`$Bo$tV!n&C#fZ+`GU0HJ?*KDc_B~{Eb%jP7NorE%&0kheEVa&%QHfipz z&=jw62h4+=6e#Ppqu1m|@nFh%(rCKn>_S|2hjOnaW;1*w_5~4OoH?@(Q zL~MISlFWL#9)V=c);iG)6D!8iC0nMV#5jHdJ@MjBB!&J~okRUKg4sk^&!azTWK|W~ zvniFNHi|LayH1f~_U^wWvpOOp5XgfEk=aTA1L7fS!n5C7#M7S&52mQ^5u<=D!aXR8 z;ufeZnW8pxEJH9GIL8=ZV&$Q;>}@;{Z>*#_z)XP(x-K-yp?H}jhfOfyU^8Y_5PBhV z%p%P44768dK^p`C^7J`j4a|l~mB}PZ?9`-^b8IG+OuZ0PVgwzM3RL?B;Cn!>DnUC| zea3eS(cc_0m*71j8t<0*UqRFonn{0|)$*tQB&Xw&C=wAw$l zuRG<$tuHUu#*BA_PSk1#ezxG0dj`MwD*qmYEF7#{z;l-yOP3tq=cQdu%)t*5Yd{U= z_PIirD18`IOlf^>9jD?i-&IY6L7}@!kg9ap@sy$Yx3MNPhrKMJc|Uq-N>mWzu*GEyr5yGt!>&+MBwU-`Bo{6V(0*vOCQC++=Cqs%Ps_`yjcuM9tY$64|kk zvXWy4vP^|4~#xbyZ4e!sSpUa z;x*EDH<;Je=C#hezG`0oW?uhlULQBF51H3$^Lihyq&NQp8`E#3jcEb)eu3eKP7N5t z15pmG^;Sn#5$2etrYYG+Gc?@@3+ob+Z-dxQfPGd;nsE)IAZx}x%~Ff0On-yO1@i1N zx)|vfl$lDhZw916td`$mlMW1(2kFI&?x(n`>X(^|}C ziTFummT2}GYcO4;P;J3BWC-p;ONi;@54o`Lw&1np!Py^WQ(Ye(iiWBBE+Hc z>l`+OH^3S;4c$Vj1ax(R*;Ev5pp1g*>BZ$;AW)zK9C(n^j8?L@x10_Yo!-eb-}x=x z$@f{EN;OL_M=4wh9lOCG5n+SA09Lw>WMmQ;d(~o59^4y@C7NEoK4pwNG1s=l8eP3{UgZ_h;!hqpr$Ynj&?trX#i)0+Z%1r2-OJt zqabNKi5Eo6Qu4>Gp0ES%S0Ov3xfS2lhl0=I!St)T#8-T;t0$6fL;}fmMpLt&PFddCAOX*mQo~hVkjEiZPVqM*619Cw+l_W}eVzW^n zXc%INAF&J|`S-;wFj@tp6CLU+7QXL-{7Hm9|AUActCpCqk)e| zRx~r=15veTfm3`&TPDGe^2{y-jALci9pe$EL->E7}(;S=;BDj(=ZYUR8G-x~iVDkRpggk7adiYD0XGKK~Ju$v%+9YpRlY z7%uCNR%EeLh~gxp!%o;g46tYx7vJ9xOdC!k@^@)A57FfGMPwfHfS)f0#V(??p{3FH z8Km&wQ)0n#%nyQ_yd&pj<>u`L0gtYXD-S*la<<-Dgh4JQ@>a6Li^L626WMi%%jkLp z?p{kD_qqkblh&EBNz{c!SW>tfSliJl{0;9iUF_BppkHAbb07|MF95r+00fE=1EV~+ zk06h*0W=s~jtX3pKD{P#BaEd|rI92G+peot3I+HeD@jikcu?3|`u?4W0mS$?anU5t$8N&ul+`fI7 zP1Hur=-jKiqjTHEL+QM+<$Bm+TZ!=vT1Op>2HV9S@C2a~u<9`06}ss0RqxPhNd7OS z;&m#I%yrnp0R#w;m0iXSd#l1YATa$3B%K3tSz!X~9cjFut?X)bqZQ&~MseM1Iq#;e z5x=V;1Zfiyx*kq?h>mdd5Pj|$x<6k1N0xlHMs_;vTiGwP0bri!fcN4V^bVbYs~@}4 zO_#syEgU!ksM=1m+>X##FkdUShVmk01M^|RWQon25PaH!_mPVs?!16@Mf+3K;V!Y2 zu7@SRp-5=p8ohF+C9!O|E*_Ufz;G!6y_F~ehRdR*D1!Wh7lGlj z=;1^WFkBYhhaxy%DuJ$6_)0qf(#cc(ER1Bp%4V@-4TrDv&Rbba>E^94dH~Bh#Lhp< z>3W~8a=N+>&Ap6`me^cR0ak^n#KsEm6a(I3Ia{e1PbEOVXfQ6GO9eiX0?IRH_{doL zJZA0Xx&dWG6H#Wt4;*tC7HlyE4#h)lY5%>JXq1}qEr-#ZITKCywqSHYF0#J(qiAo-JEV4a`AbMc0Zzkd$fH9+KyZVOrR(n@!^va7R_`$9P0LF$vy}X>h3^m zFr)p!8p4`uAo<=U3zt}h|3D#0zG0MGWsjR>Qt~y&k1~Js$!3^@q5jMvI-ZOU=EX_u z{gPi+s>^A58~JYvyl=N+Hd@3L=Y9`zcOaqivIjd)Kn2YXqpNQrg1RXoG3U*7U*-&* zt?8+neh+-=_c;Ay7CJ)1dAk6T^3q8*`Z#B2+>?O}40E)I>d1@@L{tF$KMTd}H*)aI zM$zyDFZ-j(8bmYib+;n~g)t%{1$*oez9_jO!m+5M2iXuF#Oqf433#>c+lN~@>T;O;7wTfhQK zfOFV5+#ZZRCnG}OSKcIMLQ*E7?R+y)ROr`DK0!fLsJa{6@w}&*J0c*-C$Rdn%S8Gh z`*w^a#!Bw#P2!}jmiD1k3`en*b_!`<<|6##mL7ShW-A>2afJ;3Xhk21RqIee(UF9g z(Dkwm{RmLBCqh3c{nN32Y;6=L;t3mqNLAU)uOswhlb8*KI1#kbn|s@gQfc9Q!fZdm z?6#R991jdLV?_L>5C1lFlVe0s1!57PyxFY!^%)RodPaxje0bRCkWIqB`#{|DW^)XI z!hqHm;ro%o**nYTx656TZQ_>48LvjdCS`?-V5On$^apKd26FgOmykro6-Yv%ISw;l zPC;aP7lppcv^X9FU68~kLWSi)WCVzVpQTU#3nnxIF%v;$KqVP3_kIfI7s0t-*c$J9 z2WXq348D(94Z_h7tLSV076p$IT_HBD$=8J$w#6ulOo)EJLdL!MUA7SDW+V8e5JO%e zrInKZAi3YPHJqIK$6@TGs}2&2pSMnqnh zjiRuTpxma#S8MLZ@b?;>fHy*`1^nsX#c(Ali%N)eqDUI_Lk8K?PlS@+NqL8_Afp2M z+#gCg9K`j`Sif2qzTk~|rUu63;;1M0{I1Xt%GV0}1Kx==!8JU;Gv*|>H8oh+gp=y% z3GJh4qaM5rhK5vlpM~78{1$i(J6W1!vH&sUUy}TXQ|!45RshXstYur$X7PMF`WRW0 zhF8Pux$Vt^zKVB5dE7EM9T@{iy}l5(M2LpCFKkDe|Ii((@k!+Kbaf^9=;@MASJ;By;(VR4~oh{-(h4}3b7B->QjLM9f*08*(u*4ZsRr9u{>k# z61ipyR%9{gVJXMh=z4gWjuVHOf|(58`Hy3Nd~ciYgsp01r^gG~IhPVe8O;bv0p_X3 z4ReFW;xc^K-_S8aE#EC=a}kzd_>;Si0W#M(0CD3&R)w zOqM_~WqF`UL5z=ER-fO`nDA4)eoUXxT@=#qG1eipfjrYtxLK`(xX1f&E_IDF($08H z-M1gHT$v!5hMj|W`lzpv^EYsWEM&dP`ni48$k;4f$kABAJxiG!%{U+6q7+a$9|WN4 zg61*6_&Ps1>?4h7W@nTK;kE=taSAWFKRaOd7+^?}AZ2)gC?M(V&r&*jf(J(2`i0-q z%B56NqCLIA*K~M|mH-cT?=nRZ0afD9b zL|&8%d;%!n64cCYu&_25k&FRYHmEuA)>KnqbDG^-k5X^GoI9nmhU&cgkVKv}bUmC9 z93^#V+mY3wKyd{l153l;6D-WHxU`2PEDN7OVYehK%a)jBQWBPB^H4^TWE=XKl#q+8 zl4fpTFFH*^z*t;O8Gu+P_$M7k2(QkSGS(bhGESNK*kGV2GUZ@VprCDaZ+%*5PI-{x ze4xgU%Wd+tlN+YT8Z1!f;Xi+-c;JN5>&ixBenB4QCDO(#;L$zbx(IJ+ z(Zy2Qd`}d^`5nvU%^zpTeRJ9iL|3!1an9$FEQ%1!)(kpB|dr{qci4d$^A` z>`Q#yO1Af&n2P9XS}qC>-n4^+MZ}+y)`;@m^#pt@6R?N*3M6BCav7D$fI0ZXxQ3B_ z#&m1lDD@dTycBsRrEwi@eB;$JdZ*#vBg(&|(ZY9QMO(d<2(&`n6;^8;oq>R>*B=8q z=ClXs%YHjD3~Uz9K1yh_iW>4ad;@;8i&|0*-K zjUY!Vxs_n_Vn+|DmLBBX#el+z0$bk4kSAeWpwJ)81#a*hqMFaxM6o!g1p9d-8L-;P zyh6!O^=YoEX%w{B_YqbXvde?Hgj`kAMq_RDRKeZ9oK=UThn?z+X;ljtZxHUo=;0)R z`GFCLWdN4IYUJzD|Dr?sj}E)I=U%LK96|&!6|8t0c9TOoz}dt5!5V1G$*-v8*(1n9 zJV@+(P_nVr_^R4C!I9G4;hyJ_B!|e#zMB3_&5+?f02YByc7l9SfE?TwVB(Pd;el~* z0%GjcMwsCi@$2>jyl)SAh-V+bNM3sryZNAcf?}XmVizATyd4K?lPjYV zMpr>>fO?q{j6O@W?FV(f`U@Z0&u$@p(XmnEYou) zO#oNPLYK)(W#Kqkn7NV+3*;r0#W}KgM07z4fmRkCD+{x`OVUshU9iN9O`h&1uX1T; zcMBaFTy0d0(&$zHW3{mr#a!5BI_qT9Z=u*UDX#=5KQ;W8XK41s{$M8$ho;P|YY=~;7wr_jz zguQ`Lon%ZR_|pCvHD_H(XRgI+ccr4*MFVvI8YnLIGKvLB*7cGjU!-$6EaI7eAa2+CB=5#?!0=MoXWdMY*t< ztThhALqRib26t=K+}lHUb4S&;2}CfikOmJ;XDuMoND!IgHx}ZInuX5LC?uVbTb&!o zkgd-FJmvr%kUjM|fX5t$2Qyn+z=TH>CmsMM;yoTfu+;?03HWgMA*gw6;`C!F+j>+k z@WE!7zgorSD#`Gw@fPiERE;QQ+f(h)WtenTzjQ8MMb>~}Se<}st(@YjSvOJn zI~TPHT^3;xFte;iWR|leiEbvUkVJQ@dA-rRUPD)LED(K(aN;lJDVShBy9ig)PAKS$9H9|ssg{T^4U>1uX0+j#1QJu9V39g9*5zz?UxbR5et zZ1%>-Mt#U0dtJ?a$0=up(KOOtTH;<8PLCGui4DrzS`z7U!3LbFD&AK8GVEKSL)P9Z z!wa-Y67mYxSz7HzeJC=W$m)Q(8+Bl|nzxl68{=pAjq`%V8-m7mHL~L*e?u(Y9~o=2 zjWaU-9O~m$UR)o;hKbkKtMS#yVE{I}I$%de_HFZErs%m(9g2)bo7L6prOnBO^^4BY z0|3Of(Lg*Bu;c+|=H_&{Qyl>-^`x7U9gTP2M^?}*@zp{1d-J|SVgy=p#m9(+gXgF(!Yt~ztJr$%k1ouO%!dsila#(v zKHCN{O&i6V=t#%!xY|kF+sMrhTjXXO!Gayf^T_>=%6VY6T4WRrMQoqLsj4q*jF5fJ z2C3er4Cc*nFt7#5z-AD6vMweKYCn)g*btrcl9|i8$#MHk*-&4(c@w zkoOcJ-1}i5K`l*H1tYvtS;1JrxjC#&Tp!(lOXet^2n9%D0 z?ux_>+#~q^%^vl>RpS>pAjxQvPd35jPNHi?j6#cuL?A=NR?M_7dNa0B-3&fNkO^eD zbR2@vn6nPiYHIYVJ1v1_n1|JI6v6)}MYYsK(HyJjn~URd?7+oxG?Kv`%jC&p1B+=! zod?xcweMEl|DN|bsGqv z|H%B7?@cN3_>G2O<@)f;{2f@1*s*y(f9n!Z2jzUFjn*9xLo**mnF&fk=QVh4RAiOm zqDN>w^j5t^e84=(rA@<5JPZbl1?4NCjd)SKpNPyIi>XkSb3|VCYAYA)2IPX3L3;Qg zy0uw+4V_j)JOr&Ml*{14YQokhq~T1SzisI=rpe>7a$fALvjGqYWO>5K*8sc64A?fr zk7W|;zosi;ec+b*gWbH7q9gFFMSSGy3fs5o6b;8NL-(5bcfevHV?|9LS~D8LvUmq+ zJevL#y=2+@NBX+hfn*w}AMYUP2C~FI2kwuvPXta4X}gX;0;My_-*dNY6zVkf9oRer zYXh7mwEp7}$pJUwN^3iE%p##|reD9@namHd)3&;tL~6E^eyf4yMeot_D4t*@l28DR z+1)dH(O?R(bCG=~Xfz|9EGq>o0}dgrq4{=IU6JL*!J|vzzW}KS<4fQ=1^#IgvrANo z^CV10u;ZF$sD^-r-X>3v*SOiqD;MIH?gU4HKjA8eewEW#`9XleO^t67KVbV^-d0#Qk+g;>lMlm$nDIMt!`OJd z%%BhoSKijD-xF%akRty;I7_ZqkZ)ikOj>#5x}*=GW$6^k=97-of?}{J_O?Kw+C(R2 z(dscqpj1MEf&u3BEL!!@fKoxbv)PgkC4RFALiF$0fg-F~0o{|CbY2|PdlZ`~kE{cX zVcXX7nHJ9n<^`gaQcOXh)pCy28h%KFbc6~{e-0L;u2j-iPD*Gi((y!%`hi{deM@d4dUv~)b0Wf7 z;pVx-N%ro!E;k(w(tU@KF6^K=iKkpvd5( z5;XfD*~UDuO}J}R$OL}<*ZO0vJRI<144j;WDb}g6Fzi@~9NpN2pCS(^(CEZPKY7w9 za{`tRB(hw~$MdZb{q`ZzrWiG!2?Szp_nFf`HK({04@i*33;9G*nOyO(XFt;3?nr}6 zd^V3?%hQYnbG4iWr8v|NyCN@fiB0msF$UtF$fkw`O{3262L8A3kjV8lTuEl3`L}!= zmtUC_UQe_N7e^T(1oAgfRv&!WxF(<0U%0+MCQWoaCd4W+CV`a)z!~tolz^70MOIKN zwlEyY_fvq0rZWp*E!?tlN(=G@W594!<<0wP4T0vXMF;+ARyIVrjD`~BPW+$M<|t7X z)Khq!eM^wm@()WiWkGYi)mz<8$6&pl)s9!mBhbm$*O@hYtDnj0q9y@}Tz_OUhO&-7 zZ*8P%$j7ut&8)(hZEzf>;z=CVWoj3gZVZaku&4O+1KQ zgJCp>Pv}u$s#)PlsxZb^^&Ab7qg05oQHSh79sPk-gu64*DPIR>5O9v;*AX29w90|t z2E~57L$$99!_y2)GtL$<3z2kjT^LS7E`(FHd@W&^#oDju^P$`BmMGq8UYpHpy?L!Q zugh>XeSAqN-Yi`-7l$ut(N}mCh{7{(V9UrBX80e8j1Lcho$dv@KV6f7UjnYXpV7`VO)u5XV0cCg(qt$rX+Q``GY{3Cuz~1K1W8HP%`hBTwMr$>#D9 zTS?~>{f3XLGjOUc&gPkM8!J2`&5tJ?(IfUC1fN5$JGRgVOVXkB>NF_@k1ITS|+ zqT>w>uPm;)<1KEtVJNN;>{jwGX>F-purE>>ck2|NKy z>F6duG6z!Y$bE-iGK8X0vRsRkkqAI$w2Y9al}@m_ zjn5G^NYyOC1{uO|Sz|n(pp(FGvye~ENy6}Gl#ZHDgoHUQQ8$%hzS3d?txkvm&tZv- zG{NX}K&hNS%Q$#mHjVSG*}PKVXp-xYek`)q!z!yhwDUzgqxIlvTv^Z0gxu|9y8_G& zz7=%L?mf;R87#x~t=Oa(<3Ic)xj>%SP=Vv-ROV;czdCto)QhL95c62Ezt z7JgdBB8j|y)H|ACl4?w01quB?pfYhE!gV>@4B>NKSWfYuFd1@+EeGEt9Pv1A15|-Q z9_obL*>%cSU2%$;Tud^KSbR1xaYoYPK6s2EtH&Zc?PP08HQKy6SgaP4J6Sba#YIT0 zgP%l!#(N@{((F(-#&9=qNGnDH>446|#x(GPdNl}kC{vw>R56XxWEP@u~F z;%?N({s8NgH+@~{^ zNvR|Q2-F}C*?-qMu%x@QWqvAx#o6D|^aiJjha3nFh%T1V1wpu;k=*DKv$vF~0tG1@ z`_WI$fL!aFszga%Fcq=RfHBTVO7Lka#N*fiI?h&AUeWkG+wdL=jzZ)BMG>POt`NQ! zQMiFWs%2`}oq}8OJKl=Di0;8l5jlRiv){RjfaSWASWhl`-!68?yFgTO4K3i36Kxon zfk*mG3G!piL7h=iN_t5p66bI)Hm%lrbdbULsX zb4w7K@2@NOP>H0&C%;4&AH`C%a7aQWSg7Gd2~>}rXl1gn2d8TKVs65u*fA%P2^|{_ zTf{@#c(Uq+ian74Ks}+<3wM#_1xvS5IT0NotV%+i(}ptYRBXaNaz6&fsAi$rAAb$( zT}&A09m5_WW%1we!#cM}sbC``A=3i~(D{U3-U@VX6S?>>eU%QYq7EfrXGj@$@))5rd8{0@-@=!)wq6(aCz^Ln3oy~n)HG_SYfN;du*&EMCU*C|v^ z_5i4dnU{lOBZC!W9O3|e^4MZ+fs*ETh?XCj(F~Ayq~d7c6bPsK2m8Q&ptaCJ>l~Bm zg6{Wf25U@LWUxAG?yXqxAYs-jYIST7l3UwXBmK`-T1N(e7BLv{NKl3Vqjq2Ozr_H^_r+7C}J#U-W_%u2mKHOGFq3$5;os=gC89@Az)sBF@ zRow>ywz)zX@&?wswV_m_(Q9w>N4|o_{r=tmlpXcCH!6#tOGl4KVM?0vw)*#h?;s=e zTIIppP+XT+h8~$41a8|&BBW9|1rJo?`nkrM$M(f@KGLVb**O6d#797Rjl0vLX>PB( z%c}$dw=WT}k!$>@x<6AYHlkB3%c<@KbHhX3KPr`fM^VuD60sAx9e=^SX>n$I?UgR! zqU{VuGYh40h*<6)1B$mD0X(^0WjUV~tX9{5eYqZ(kR#%2?=iWs9*q{b>n3~WQ_I5YfPZi<+*gU4KPAF6TJ z?Ep?(sk{J~?9KU+f+eY0%o%6XR+X2Lpt=hVSq=0^r!i7aC;!{s!86F|*~Yx@~^@ldR4&7v6RfXTOIMktDxvECWq^BrW~knddnJ37{QVhX9q$#FK;djsTq zf#^-J*y__=lcGaMl4J7(yr+lL^e_$(_y+MQSSU9qH*j!U2-6fiLRxzY{AN}l?SH+YyD8xb6{t+1;2B{lyRxe1KZo z60lWG%h>>X&=NF>lvT{YDclJek2E{Bg;$oz2SmX^={iY@urz`;=;T;ZWu`scXX9SJ z0!8So~C%oqX^yx$QsAJ9#{pOd4Kf&8c4NV7InP>#Y zrcKPr7(2N*4gTaHe8FkuFc?Zf8wz34h;3};Bmonn+`SWlI6+``g7guqn#Kk~`$s&B z_GTJg&R5h?r4sTfti$x#V=v>VsX@REXc>4YJS#yn;WVQ$2GcR8;9(eZsvNJek&y_& z5}Sq6hV!aY$p;;+2Z$)bsunT@BCL2RGvrcc$fYd$Y%A(mb`dtzH_YG#8G16={JNvd zSvn{0M3U{7^P{^E)f_b1z2xDA17a}W)bl8TB6n(st+l;KqMDR*y40a79|HdbG<`DCo)@gorp(C~k0VLQ` z@S{>e$Q6(~ioA%E(Tw550^dfcq0DTkRMen`xv*3>m+dGm+YgpQ){vve0-C8CVPa$n zbc+x;gOx+qfd-&xU_Wq%lVMzga8GYemlaBbwhte+mz)uDlXwYA6x94o8crpQm+1I( z4`8ZP^h5h*(780Kt~eQh0DoBg4L&S4S@6yZrQ%Z*By!jj9ETA5e&e-nFuaT!J%am{ z3NlKW0shq+EXXWEArGvgHN2qrWV87p(z_St_C>}qwt_u($=65fkkAloPsRp))TV;W>?gz8R)hIAH z4#RGc&W(V&y1nMJ3u*3Pu+0`1f7^vYyhctw3Nw}_V2TC(^d|Xv)3)KkE_b61wZuB} zK{d5i{34k!tw+oFQTW~f%;4XfpV~T-=mpzxWUPiAn^l)k`xUb8Rr%nA^3aHEQ7X&e zjABP1!Zv<3&fWzQHykkOU&y8^LmkaJ;M)u<{(O*Mzq{a9}tcukAgL;mWb`AC z@Pd7B?f#ew2zY0868VILYg{7}djUKL~k%}5_G^kgKUb%?y{F}goNZ0WVuzlO+K1F2T{aJ5#MwRTNI ztxFGA>oK!d1JyeHaJ6Qcwf;o4?1!rrG;4*a)<1v7+_cc#-b4c*Lx1GlUI<8akZRTI z;2dTnxzxy`Xr$L#JCBhd=ufp~9iN;D1O5b?OZVa+BM*kY;ndUx}}A5bBhhCpm&pn`5-#eP^hPvmik$UmI- zanQ*0lSY8yQ67|ld#e%|4W{9Z-e!l$*57YH#rYvj*IgDuUuDB%83 ziF^n4;!~EVs?dYfU#9I{@Fo}CN3C=2CcVd z?=0V6h6l4`I`>#s`F@*&e}chb%PxLGC7L;$u7ho}`qyEd17}+u8^FoGA)h0AUeMka zaQ}18ZM5BaEd9x*KSLuwq=Y@y4gUDXtcx?s8an!@RrVwQL{%u=m9Gwil_Jg7zX30B z+aJz4z60BpA)jyMB$TlM0b?7&hTo!2QiMo01yo|g4M|YB93mLhhX?f&rPfCC*4unw ztDJgOz&MWP1AY{opo;l`p1CLB{z!=kwC#-+mLkoc=2$6dPiL>L`Uew)zBV>*=PT zy*23GHm8IZrLpuUoBj;NLIXgq_Qy9cAin}2Q;+-;RRPGcub6;bjTg{1CTZ5Njx&Lt z_+ku3kZlY=0J0|x5n&0~1@vPXoD9S32!^x`*2P9>3ZQWCskD}3DzZCU10)d?lFQLu z0N_JFXat{JbghUZ@4egDrz$HSP>QZN3#t!xTHt&-4ZD}!>y$__YAVY+Kz`onbi~@f zFH(T)bkZcPq&WEFw~?P6=OzJf*6!ui?u+-fB19D{nU0JO7KH z@shfp1xeNW#4bd-nN+`f{jBTC8*OkI)!DKkGd4De{v|o2 z-1Vs?f-e~b57(YrTNZ9}I!p9((6g_v7VxMv;^lwNI;Z0=_yjD{T29+4)VIY>!VkVf zN$eQ1IGOVm&n-{)&pMGQ5C*5(7v4tPA3?7p$RWk1x++@n_aQ_t8?wqKq7rCK)TyE*O4QVz#Q<$jZI zqql-!_T+txVC=6$h@raD5v>N9*xvix{xNN|{AXHMTy;-y&iR&}4QMl;BDteFV1d*9 z^UT(~twz(ny_5`gHE!4J+l$!ubT2lX{EZk?zGU*bv;znmKKAV;_T+)9Cc-;EOy3p^ z4^XlJcxa~EjbTMovu)EgBkh!_=*fyFhS2Jj)`~6mDPz*-1+#4n$5W!}%N?3Aa5{d* zhb`|j7@|U`52@hSt`SQ|aMtViuojdf_8NWQ*srfq?AiDUX5&|J<3N`gnx5Vm$R-kN z!bRM7jbiHk-32DkLcl^l`GOW1rJN^3)*Q;M$I>?OpNc2*qeAkv(oryVEkS18#3r`g|&R9B!zTpx#XP{9YF8BIdo@;gB>Msq{Q ziFwVpG)&j~-j3rRR6RwF*9W71_~pJz3AZ<;mQt-IEF!e_Q&bD$GO^BE=VzgJ$#E^x z1jPrXw?XU*!aH>qlVZRq#aakA#%*zBWg(msI2aeP8n-~2B$MfB8uog)zX^Y)=?G~` zj!Fgk7139TbK=YTiLuWP8?Uj9F;brjzMKBtspj4l3QO1yV?r|mGt<9x50-oGk%GZn zHN90c&J7s1!U6ejKW+TT19WH~Mx(kC0-8;AH^Q0OsTv2=$N`6{1b@ogiWq6k8@8oA z4g0ju_{oQ)=hpr*gW|&$3;+T*C9Tt9%XB!A;c-ts+aQ-* zb>Zf+ohQ}rNbmn{{m#_t;FfA^)U#*V`?ppVuA$;!OI2{KRt&%Vz`idHg9R?FoI(r& z_IjKU(TdoTdW^SL?9*cL4g?Ycn~SlxscC$sf<8CeZ84nfSnS0AOtsd9BD?{(ZWL2) z#^e&v@4CPQIzybi|DRt@gbh3jcGBjAnybk#@I+QUy?xNuJ>Xh$Tt2M-<-5zMUiV>& zG~MZ^Skv95Rs;3e2Y^YZ=o~#<1D`8~=Xh}#aR0&`e;Z~)n7-oMZw!3)@+4wXYl(Lu zWlJ;8x^a$4Z`TmgySNod5zuElwWbL?WN+1ZO}-kYBjdE7@f`=c>%Q7cqGv*IyJK0< z{V%2BE<7*$JQceu$3-(-tJ2Y9cZ(9(&j^$bfC_PA2}WHEc22>;TyiQ(0``5?LBVrW z!Ta{5{pHTZOvpB=zL_D&MzdJ5w;v)xodmg*2Md|CH@eQrA}( z#^{Z{^u~8|m&*0OFWYIa-)XN7?xyT}s@V?@VT0Qs-R+se)uE0Jo zIij(n36ZV0-+heNPdseFhqlQ;(gdVo^Ft0YRb5~`H1EyE>A_QLuy(2n7X17MMn z3-?XHVxm+IM-zmv=e#h?2KN&54qU#V&MJe`-$orPS6BKf{6G`+xQJ`fM8_vEc!9r@ z#9nwgABaYQo$RUthxBz3W0E21bgHBl`7Ke9Dk&%hU+E-tA~ig6kA&#)h|Tv)@FEZl zX;__P@>sCs}5>} z1F2QMg0da<`WDcf;zRq%2Mo$%QQirX=Jml1Xp z01gGu4}&Q+1MB;Lfh41RCX)O#?`00)Rdbr)1bXmC!0f+7k5;dR9vw)u%4lJ(Ae7+c zT1rJ?t|4-YN-;&PG)1r`5HqQDC76lnNzsG#2%$laP}J-s#3<3j;4)LN?Rj-dcmR@R zi4r|j*cQtGmICl?;`MxZcyOad=65km#BXn*!cP_aVP50G*-J1G@P2Uexo(*awoP35 z4oPanxS7g!T`sAthOifmo3@hmfNg?TCoj!cpJag-OEYE6!Rp)|nO=i9vu8k7=_99b zK)_NyN$j3X2XPp<1AOgfe4$7rYQ;KLgHE<%P_^PB>SbhpjV*jKcDDeKk()CS6YiqE z@e$K4VpS2Aq>jg^Br?4j#lBhqvek+C@zp{@#9(otru-rTNa1OWj#g(*!q&VPOhH5N znfCawaj7J{F33Q*AAdT-7CR0^@SoTan`osEAl2@d_`!Aw&5kX{_1wQnjac;DpU!;q zaJ?HzFB1duFCcUm&G7BDzs9R2x~~T3 zwFh#5Rjv|w#1_gEc5osA;zyW}KyjV35W_qUD>jV=@~#9Drck3L-y3117&21u{=` z8T#GrGX5NbvY8hWsm#V9&2xV|*NkHz2aB`#*4(Kt;}m6`0o`@_CD&n_p5~x4J}J(d z$J2K!3%rL0z%d^Ed2 z@+@WLa1CK2rLZECMv&pHR(uuMeiY^2OosF^IdhgNBv1$d#z0dCRJW6maEdK9SbgOb za5)aE-Y7O+6pJfwBCm)@n^66LtL8L($S|96Nm=8dX1awKigz)asgTV?+La@;LOnr` zxHBvUQB$#`RxUy-etX=XvrnlU!fG?n3p=<;dxojwTt^8EcrTrY6ikjkC0l&~ z+3HapyLymi6Dm7&XC#s+g1~^x+lV`=k6ocSQ{_HW${`XR?Vx?Qu@jV)Ljurl^J(W& zt{4DwJ8N76$TZ{rG~BKkpCYV8qqHV=EFs&&XnA8iX4i5+z1+(J>fls#5IX>5-wL|* zfAkHCGjbeY_azfNtWFz5GnDitrjG&1_aGQJH240Qh%LOE^Wl!~PRHj77=wZk{Q`Dq zAYO7xkamoHl7Pz=@w+`7Z95OY+!s;TTH>)jTFymU9D5l-2noM9ED19A1M3S~bScSP zbQAzkj(R&aX?<_YGbl^SQ~63>{_8ekdJ5^+rPXWh>D;UA0vYr94rvec^z1Rf@N6! zaAiwC(18Mc2tm8xJh)=554Pj#qS#@i%M@q5_!Gp6Xf66Jo}7S1A<9vJ;&*%>oGYs2 zO@Ua5n=$Ab_|wyxql8q*2wA$lfb#N zj>jpE-fBqe@6yPN#J6`sVnZxNY3x`nvfl~T9O-h->@OesJ9lH8Smm+loBCSVj)Y&G z^4a$*DINy)T5Xt3Oo1M`gqPc4|HN-u<2}?s{bjU);Q};MgJx>EnHpK)RkMkEo(LYpJfbe_c?V6K zb8N{wOgZjn+8Mx?5K$;@-|o|H1n=TTx8zWi_zv?yEp@P%oU^CmdK5zKq7tz5rEvBl^5qjsw=lHI2jBHkh<P02Tv2FY5U?$zFn9( zTV(n-5IO$?Y)k*^1QyR=67Zb{bi0_)4R^Y)FBF9HaaACH_az0PFXXdtKp1$iQJeI20E0l5;!pUMzR4hjHTBE#jpvQUbgDSTQx@16o$jLzY4ufbP&D zblnhw6w#vPGzD;89fadKXKFd`(oTDQK)}5^pp0J~Kn$ljk3}?(GiV-5fty%#Ant$j z{Sc7x-(BWJ&h zU8ZEh#9lMFp;~Y!e9=1lfbj^qSzNpsl#c#{45gOs&k0ZV zyEn{2=sFo#Ag4k*^hbW+d2NHBndOKL^;K{3RX4GGiYaOn(chR_IkuHfLrVdp5QrQU zv6s-`DcHL}W*s~`#{5cDZ5`WhcBUFtSB*`doq_99W7CyIYXJwftfQ|A1B3NSIm)X0 zo|#MaaaG5rSNENhcINr9{%8IccG5hQUFA(}MwgYy3?hf#y6vr+=Rgjc3`fV6s8Tl= zZKB`xqHxJie7K{suunk07fQmtNG-k=s0a{k6sw>&E$Mg`mAl^u7=JcA-A@!;}h zaj;h}t^Ze$@G{vc27OJ(I6*Ref}MEya4DD>=TVs~c{9E#h>_7Z{cORYy_5Lf%U^<4 zb?jhMk%5O~JtLJ8&qrxLJG=|14~i_#r#^V74;knK)G+G8`26Y#TGe>G(nL}pxGBk2 z?2aIMl6fJz*9QJR%sF_o)a5t!uyhI<8jLl;VOx<4h>17c1in^^&(2jM>xsp%Ua#H7yqcQ@yk z@-s30gVsd~6DOgbCHxe0&V%2Rc>?l~u{?}S5pX13<-kcZnm*BEJ%hXsMzvAq@}Ldr zmwHUVand$`D6w=(exo5TskLq?*@vSg&l30^$pq93mlhd`=JxYsV0S5YQq+g8?tORZIHc^rw^C_4 z=y@9Q^6NJ^kjW!M?!WtGo6-T^TtXa{C6e{4T)Ez|CPrGo3bOW!C&oapHfRr52w(2& z*HdD43Jrv@u0V_4i_zmmAjA~9h{u0^K5{0o^)6)(j82I8$7>)SQ^8}c2|4UmV56K( zOvtBbC)TM8fSQNSNw+=?)5LG{Z7ay7Dh8lKl$e#hrTL0GN;2Ou8y&l63;L@1u0 z@-rld>oGl6x)(x`mZWqq-Hx?xbWENTCehdN0pPNZM)bZ?qnzld9_Or@h^}4g!vAcT zX>dOgcmb-=CuVEbL4zi~e?SJM}w7uUG{*SP}@nxa@UPY>TF8?(S>+Kqwpc4H&< zux|yX8*|-j|^_W-!bYXI~nfqxw>3)uhboO9xj?Iu3A20Eh6BfP=|p;K1l>&ijqI1i*X% znQ(L*H~`@$;KUdaxfzd*iGbQT53U|u!LBB1xE3hRi3Rl0sVFEy!3+&?T1lYYHIzV$ zxJR*Kmkq5jvnwEGS7ZUkr13-X=peY{enoJ3?#si&<=hu~!sU|x|H5Tr0xtdj*KkRq zuMr&tlZXCwc$l2Hv?okXv|wVFxH6e>W%9weGX5}x1T;zD3NZ-6mGLI75RZry6RwOm zaRovMw$)hLvf&8mi5>3Gl4Kty& zdKa0ig3({R{?`8^?_J=dEUy0Xgd`9J-KB~KMOaJJ*w7lqOE4(ANtQfoHnJ4ZSS&_S zh}CM8L}LXFT`qa@xR`oDtT$R)McZ21S_NurxCjvxg4c*z@lu%>#ds+fMe_fC&pdm{ zW;Y?!zMuE~{ryO0_t}|w&N*}D%sFSyoWX=N2aNv2Ft5dEU+W5$^@DcguD`YzhXF@7 zIRT&g zi}RmLO@T(<44Gr#a!;tr5**}4R4{b%W^CxFJAo*>sg-WR`Zrt&^%&@IR|w{HI8!kv zimADH2Kz(4ENI_=dLqJ4CoRQ0miR)Y&FTTzagFfbu<_dVUF}~c@gyVs0?p#_MC6qjZ~^w8!(KE@yaUR%IWZIeu(VCgGAClCB8z$Qv0^#-0o3P`=7E^y ztn*+*;2VPigNx!kn1V3h)u6R zPbgnJMeF&v?+Fk%5TR4*Gz}-zeJ&ML{OSD0BAKpret3TktX+79%c~3%UIJ0iA>C~! zcp@0W92o!d0A4O{bvxy?E^TE5D=1M)!J$TutkI^C7hTxFaZnPPochIrHyEV6%$k@9 zCics{V{kH;;Uw#Kd{Fb~arR?a@;f}8g-F|AWXh1ciPT^@i3$!PaSdPyqiUX5ZuCdz z`KChyNrR`Amyx0$S2$+1xFOTic?5`Fz83iM^&W>4q_{1+4n#%x8lc0aFcT5hg+K;~ z8_UOxV0@943I{T5pySEIt*8oQV0Cd=Vl(44^aC%q`qF%vWua1q12j33A`g6tGK9%7hykro@q904A~g1`(mV05s~wtB^Zhalqeg0sFV^ijTKY$e;LM@@tM_Ak=YZegpo>SY$ zXSp0X(3Nns^^&z}+OJ3fdrnngUayFq*Wr1E;r3vn7qyB=#K6mVpMq_98F2TE;xWcB z8F2$3a>Oy*h92&g@QA-EBYuSA>B3<%kb#;*euR)_y0K!0{;xktQ#}Ji&hh3kQ<7zP zDlb=xC(FQ9IiR3=EEg2u=({!l$C6?GeX(R915|OOYBBm1!2PnN#JwwzyI|{*!7svO z`wFIBs1$kT)6JrEhqI9Lx+oL&msyl$6%Ir635JHjL^OrWqG4*z_u4ueO5AXiG?aMi zi#$v-YVeH^t2Bbe0v0`jt`WU`OTGjD@O__S+!g58hOz@5HKP?tQz2T_3FtR08FjaL&;Z(ZuP8RAP+NLUTA3&Zi-PzNEp2}5y1cTH9c5{|{MJob zrPjr}v59#R@*|Xitqkirr?KLWY#;wecGnKayyxK~@dL2s0L-xN%3g-jZ~Z=dDN1HU z@WAQpx3*(?VoKEHJ1%@4sR(KZd|^1gx3L`y&PHQv8@%{9`(zAk=F{iDaFjm}fp5&; zrK_!Hwarp(eYDzYRBQUeF|GLvNhN>E>g$UU1mvV`>9a5xCT1K9CM94AN1v2Pi0g&V z?~2TnQZs#bsaXvCw4iExLQr^7O?zior}#v$ZD%-2nvH_bW(_gs?oR=#vkpOeL0r=D z*(_*8AQ=(`AXo39sR-^xu(lo_%3>UxzZ!{3^#dVLqxAkd>%WLoI_*XDVR-(IWLAi% zeU6OeJcnn=sz>^*_a}_W-d&Bo!>L$k-e*Oehhmja#>#QC?S?smQd_jIh(}UV28M5c z0I}nTYB)x)r=eQR>#ews{0|J)4-a&(%Jg87AT@(Z%|W{j)6rH2wk@?dbYn7Wc9xp{ z-I?t>NZE(q?&Hwik(mmbU~0FWi$0CeVW+;0h^95!_L+A(4~GOdPO)!PpogRn^TwNa z-Y`%q(R{gk*Z;Zs@`JbfNc7_d^liRSPfsvkw!=Z#%Y6B}RAETNLClw0im?ytH{@a@;X9%@nHpQ$jEsl8)%KD<$lQQcH zEZ5h;m$fDp3(5b^RYWg@FRH9J`bgpd>6jJJGMopzj^O-%XM%ard}gon;Tqc9~ zKXf>J%!&ak3{{~`;!5>4BX_WGl{fe5!?S;M=`0`4neG0F8vp9A!QE>SyEjgvEq$53 zT;{LB&(M%I8msr>=hgb>X1>McTWR-!YpkDl%)5l+f_-Bj6Lv+LuKo(`kam#Ww(!$d z<$ zrTr5>*L>7|9kbvejWavY^>D%T_voxb7{O=n)9a#tG}6|G>!C64lHSG_`pw@+TfDRy zTZpz^l>3emvNY(3o_k#_V@GNG3E79tNKaIF;V0s>T)xgGpY;k+e`*uLuVC2)bs}c1 zRpHd$dyBeWhkollf9~;Ot>>oV`h;|26_|kkIdD<6V;(~f z7=FQhVHc`74ZE7vOnn#e7zJyhqm&vmO3i@UPE%F-w|`@l_Q)vtf**90g+`_OLUS-B zv0;ZDyfTE^;UAdbw(KS}6L7F@!tvwAL-=mI@(d+N`1|Y?sDm3|@YCT82bFL>xLFKe zL2FHA`^kRuP(QbG=z)RF1~-RUh<1ngO&=t|8oU;DVLCf~1&I^;QC7RZydRncezFvF{N zff+b<-FYD#Dh?+F=RK~w$V3Vn7cJQe zFX9SNw*^l*&Bo!f0`eUDD}%ufp)o8QF*Y?Ld{$>W!n;IJg#L=2gB!qAYr%#8tWoWi zNLWb`z;?Wb9_KAZN=#=>NC|l!Yy!aH&ub0JiB@?D8HqLUqUzy39KxiGC^d{U5fCHn zw-F4*3!oWDERq39313i+pAz)vx}C2AKRkEG{}z6*zFmGWPB;L5;9g-B#_96xT8u#~ zKfIl#{TUsgx$r^`$4G_0CFG0~kl(6z&Y1O=1LX`KYyO9vkzv0r31{5!Nm9=ET_cx` zB(g#rpolh#6%>09Tu?ZAkP}9noVX^!7ZV^R!Y%tKCEOwMiQ@Q#1pxlQOxfb%ZS#_C*9k zH4=4q6$~?N9YS6W!7$1e4Ck>XhF_lBfK8+>cLWUqw=R_<8uon*anYXkV>^fJ zd%=l|1F!*ubN?IFPgu=rMHGmv1hu~4jt+ksk}aoa`^*8p4JDac<>ie~koqqp9^NtU z_Z;zp4b|K|fnOJ?lX;#H1_YvpKjzBr3zgu@UR=hTyFrIRq{FDdqFu1J=2J!^z z!dQX-RwMXcM;L=FC?6+bTV{_hw;8*BSm^hRxY6)Ib=-d>!(`0iK3ojqPx}JLnsG{G zP_AK~54R`dqvV`@SjFoG*Xo*&+ZT2YNdfMS>eo;FTYT5uR6m5W!WT}2C38AlsR%CP z#vXM2l{0NWJMPYdu8%Y}zSZAgAfBUA?oU%Z-h$DTU)$u)t;m|~i@4~01+a!Mm-%}c zT&Xy8nz%(+!*4ikz zUjx}x1GNjoge(EbSGHMoen>8Y*t@o?e6Pdjo97!Mi;w#36YQ5-55xj#;?4hO>fSI12VlIW`hK#H#_KNdf&jx zSUY8|Y13PO>}q=RS;X`fK;upC@9VclOm9}QO|6{pLi(aAcqVLm$6N=ADLHdtk2;hH z;4a42x1>YG+gg`?8#w6>_7LnAs=VoOUX4YjEmwBmvSv1ps|_~NqFrsX8PR+}C; zQL9aCmrQLs2R|lOo8)aVYSR&{86J9DZIU{$#B6&?t4(~ESZ!)~RKF}%ZPMlx94%Xv z=RJZ>+q$a&zG*&2JF#v3e^p=ZmlYZ7|AM}pb3*U>a`7X{2A*m!4e7AHd<<*;XZrH% zzwJKoG5WHxJv{JToho%fndV8y{{QAY?~lzS+gAE^=J|6Yd!Of1ev@pttq8TKhIBN&HrqkfBLKL z10OTbE8YqZeAjut7NfZrj^RJh_u^V<*rYnv zBksM351aW0-yEO-#hZW8Km2AK0#Ed2;4AkS!1(WuFpd~O3EZQT#cHH0^vmHB*{qs0 z(z}VYH4XP}yjlJI*dsx%a0qXs{ZuZh3FYp4H91@ z!v&i85tgdYyXiATT|FsPAm&o-ZJ<5I_^sR)->RtHO-Fk-yIbFI5xNOh2oAFw)~P-^4d_k=?kU9fe!25fQMX!LMZ)?@WVV&E1T%VZIjm?`%MR0Odtgj0k3Q%>U^i7R%~W=D!Q93NBbUZ+XF9>#b3)NU2Oh^csA zq+)clM}QQg9tkb%&Z7>2fSM_7)}nL7U}6+8jUJG$!A>r~^uhd= z9Ct9!HmT!;SHAXzP9KKsBe)P9dhe@g1a3o)fnA1Ah2Cqs(fdW5dT+l5qcThnmGy<~ z-M|~DtVJQ1o&W;uetp4Oc->|-LteKYuiKsUb<^;=#x`8G+Nr+2NrbcH%0avn95H%w zy#eoj4)0MJ1v50`rvrFsp8SBofdp8JgJ@32e^`39*K3t4C=f_4U*ebMc zJwG&d4#W)R>&vCqp#7y*_5MBT$vZOm01ScX)<^NBV9zaSzRoSBR{DOQnZDC!eTr^o zgA=u%#TS|a%OBfz4E?FaPsmQZ>$y|};#tKz_pk+^FbZCrWB9GhQ7iN}zTJmAVL~;X z#@79CPx!1syVO{`N?a9NtX6dj-`jf25V)%lV~T!tKRf*eAI@IK*@N9gi5N!gJYEo7 z=ZbE+B1M9xQA98#8nom#Gt-gX8qd-hyB+5Iu;yb55#;0ug&pb&$dR7tcaf~gO}l@z3vYc zcBrpkkX$xMjJMfHdy^isv?hl$eFHr0=}?srXt8Vdv-ndp)Xi}`!btlB^$^DWX@^wd zW++CWinF@PU-0!DjN~kUvkrsF`C4UII}L0i7-?|Dzp8H2uRD?7jK%NSZErb+N6^bL>h;fJME<$bH#Z5#BwQsF|;f)t%Vl z-k`%<_EcYCtO#$68wGoAyowPY4T$lCUsRv$9)uvz^k#e((wB2*LN9}|tTAM~;B5+4 z@iynE3$`L?N1PpRYtfFiZ#+hoNB}oXM186O=R(!`Y6?yJ9#nHM_5ln!OXuT$#0Hs( z(3!BS(!ZD&3gc{b6Vij#%%aZ3v)$rrpoC3wS~r+i;6% zdr)vM)o@D(=FfFM-!9yV`Me6cW~+!TB!w*Bj(-X(KnItb(RzbL4nNb?3;SZP>a-@f z%u-jwgzWm#Y*|krPV&Oa#EbSReDG)F>=xGyr#RE(rUe{*z&f-pr!COTVB@!Z<|Jns z4p)?+SNvwka-Q*QNRH#RmW7I1kr^&DNpYe`(r$ck;SfSLbbu?7%3hyw!YQac^?49n z6I^H5xiPx*o3HyVIj$dDDE27oL~I`L_jG&Y0q+i%-M;ibfh%$QU-#brAvkc8zW=gF zds$}!pqg8+$CEC!vlh|Wio7-NXpJbNZqxC0&KlTcNNO?oZ}pJQNI;I%EF;w6Pm7s4 zfVsqj6+E+2tMm7ztVbmrCo#P{f>%6?G(>BuQ60-%sHPV=dA!def6EB;u|=JC^G>Y7 zJa`Ei(V|{A=pX;_>zs*wn)RU!ZXcujEx{{Z$H^`47D#08rw(V?v-nVkP6>_!_9hG> z@6lyeU8WO2hNd9hQQ6b#o%K4E(FipZJcztFS9fd>-tZD=BPdcnIZ zV2O9<5jfW-;`~C!{u({VJo^bI!+Cfd041a4F%JtEkvt2&ZzUJXG1ENtR2{HQ%DbVA zCqO+i4to&BWm{oh^e26|)aSa7B>am!Q}cW8E8nU4vrz59xtD4k@8t>}lSw0ei@+zX6%>8(2 z3JA2pT`!y;b5u`K-$Mlf6Eq1E4KE@;FjpSgI6E||ESo6z`yPw)}lE|8}@=_+qoyiC_! zt}A4r0-vC+3m@evAVFPM!}uIe{el(pvB5T6D|H6uv|}E1=9H=%_l3q+B9&PtZcMqmiBDxWv{A+e5p6K)^7`Wo${h5bf8m)#?GN3by%a5U_SLKMakSALb73cwgWV>( z*XsUSoG%Z5dG@+}Ooav|Qq7a+{PZ{;ivBkR*(-TdD$a5Xl>kppMOJOQDfAX5O#D5>4V&$Ttkr)iyu}=ox%Xh8zl<9 zSWFrqo(j-PAMZw37pGLdbTxmaNYKLuFJso4vh6Yl{h`A)mNG?u#u^l?4Ecpj`TH&v z2o|;gS0i*!6AR8++)uC_V7d+K_7!-hhSjj1RpugN;eK6YPC}kuQWh;gSMy2!Tb@#P%~2< zWP{uR8jf`JHbuok6^AU#Lt~7AFv!}NhZRNnEW-`FJG3zJHbc~BF`5W70sd7J56meo zxQlHNuHps7rZlS}xM1+Z9-c|HHt#CQbXMmCuV@8NUa?)sktc^Sq5t5LT5>Tc)2eO2+-POMvZf|ex0XM9f7h;kL-W$3eJB}GJeV`Lc;dTz1&n&f95aIinQNw!Jgk`i@ zkD49w2Oc(5JvAvXY;DZgMi9P_W_`tscCDy>1eYdaMc6vD&jE+&jx}^ybh7BJ4$&P? zHbU27ISMS7^j~KA3h0bYpx1O4m^S15Y-(>sP~AuJS!N1@uY%K&&5rf~)3q>--1?%i zti1ILYLZ26WV3P%E;4Xv{yZLSat-lkSE{Mka{=L}xvb5P0X5!!7*JQ^Ay|O22zx4F zNtA%NvVd@Bz_3mxeOFeH4^BOefh~K4708qZC|Mz-E)r6gfYc}9*-Vfcx%GoHNou58 zViu*~Opv-nNIm0olDY&EISmCC(DS@JnP3hQ?Yz!X)?prR2HJ20(Ab}l}YI=!W`E@YZC9Q3KRRt zpG1iLhW#+0I?>O;)B3r*WV9aF7g~SS@xPkZ<0=o3)<3^COzUNAq8a6AwXa zOkUY<@s55822&~y{7=Lh4*BCpZW;V@$vzyM9rjrsTqxkll4qs|yJZtu4>4j;Pr`L1 zaf%0PIG&jv{07eTAN85chM z^je%bzZJJ0AanntkgQO{{)mMB&*B~c?~P!~N3rg1P&I|zt-?iEuj10A~kRda+&6Kjg!d9n$rQxV==;P)tGC;0r2v z_W;Z!n&BJNxJ!}#8#}})EBfJ2v3X{3{SC;=e%SAJlAREs98{@1>;cJyc+s*))v6~3 zq~P9#Gi!jDG9pAG7cFPLJ8J#JsHud@xeNhA62?MDEJ_1-(7jAe`w2)y^e9KRhX!K0@k4poR^ ziiVG(q4;#l22drd{1gT^{PTOz2Mq6}DB}I&Tn{U-$TY_+GSE!vOSP{eg`C??VW+}( zg`h*R4ET1VMOpg}2iS4Jy^Is!>!L?EsCq{a_vA}@4B4HZ3EhV2Pb#!(brs$`i;5#w zY_Zv=N=D2okA*y_rO3-GDOjN@-X$-2Tmx%=wa!#rbq7eSsA9 z`DOZ83D-so;pN8UY~u zPQZYE0@McZ&mg#jKtNGdHUw0cyFkzY(K}B9Ceb)YlZc>9=mrYcE~dQ^Sb`PLVC}~1 z;5^6hh?+zVT0;d;=r(EE;HK?~JKNk&fMU?B!?kSSD51(*VD<3JyTBAjm34LTRFQl% zQMv#GzM>m(m^>AVBS8ogi4-Db0G=KpLrt;4IAGG8o&cVN`-0Zqm8hDc+CSh#Xyxi{ zU{4W7@M%zZAl9hC-3)#&a$$a*Tmz%Z1YeZqU{0#d;Bq`2t)J5FZngcTZg@Nx8G`Yc z6jddba0)RMk>ljr)?&xW?q*y@D+~1|z)*K{W=i!aQL)@h!zz}s964*UI8rN&P+%$M z(^5716I>8as2$GJQ155XV%D(^JLz5~u6y8aj5b}?(WILBsM~Ox%t>`(IoFEA+6Pnp z%XAE`%7h|UoApI8Ug0vZe-E5M3E+5_{c%%gAO{+#{R?`|gxAGt?sPUX1yPkF2Ztw% z>A4En$JoNVvF+i-C`UOji|AHe?K~Z4!7RfzC3v-vPy!L`xQzZGd_~$NB=pg@+h9a! z>J`$$Ye9;=OmOyPKv8(TKIJKrNj#Je-h_D_*X09Ovzldf-5Ht z8Ul;5xht@Eg7+eA7Snrm0TxD!4K2)lI0aW=F04?Ow2SK(Q-ca$!hIXq2v8OK=*C4v z12=ELr}1`=lZ+Z3m0t=|oGk-`_<`CMfXGZr@BxMbEh6QI0K)bw9M0=At-~HzOin!F z&TgETgMJ#Y1*{&LB5b%+vmtt9Z?yF3JD@Ct`f`fB zEJr5LT0EC=!hx%@nQ9}xwmpbHIuo&X12YkOUvDTJTrblFqRsn`J#BVGIT24_VBu~8 z3zN|Xsg{o?SQZN1C}Euy8Yms$hybS;tlq*3JU9tc4fZWSIQFqbQ*CD4 zklwGugS7WwrrKHRvC9Shva{5dABzBS1N*D9AB!rJuZu{PYkRyq1hw6Q+8#hb)CeXe z!T@ZAc1g1Ab>J7GhBMyqRGa7J;X4r^ z{^&m(r*5JmI-lZ2MIUBV`M)?)R@u?XS2-9i$yUJV1cdAl%Sq8^VCKckNj{G#8Z#C1 ziL_s13&{Z@NhrxELkK@*2u`nFmPH}xq7bBbq-+qqg0g`^gR)_O2)#QFaFA$kKynZo z5qh7hC$V^OkUmx0psU&XMa0Ldb;$5NWrPzRMFMK;8q_GLYs3IbUBd=cR@XwfU}eXA z8B~j9D)R%OIfGF8sy)nIR|mMEKtKnA&rB;pVkm|$uJD=kg7bm|eR(T(PN@~Oz)EX{ zxtNLO(4+xJrn-D5RB-t8Ae0gBXJCUD;+K0A))pq3 zNNXv$^Y^Gd8;RJh75I?J5RgXcr>4C9EQACchL%1Ay5W{^IQ@{WLT(w~sBkqjpl@OQ zYjB-8X6Pn$p>B9m*fPh4M=Yh`)Apc7Bg!#$c`8cn^E(K9-+NW#`->j%^+44w2nvoP zjFqT}|LRhVL#*ZaK$stvPI^Ih-|-P-=i-KULG~xQVGqboMhznCx65LbqE{1F+6Op4 zYWq;IlNBDtLAu`>j9^~(5lml8n>ik%6n6|pTVE01(b)D;vBSrM>i>?SvFaKdjfZt@ zFu=ON)U~MeARZ9v#df&}C5A}*5%k>}QMmP8Fc@bjR|t!YVliHKJ0~#~M*@q;xEyUb zR{f652gm*TOh8qd4sPsg1)sFAK&l?uk@#Pozp40l=aKKM|W| zyKF+)11@xiM3I=Q`%QwxARyuCJ`|}jLor@=P~3h>S7hKnd|v%6ipi)jCPQ=s#0L@+ zv19=JKs+T9X?FSbOL|E9I3|BaGdLBKpp$q^u;6V{x9WyT$K+R0OfI|H9+OhtCefIT z#ZN@%bh{jdvWGE&$m`BuA8yri-vr+zNF2Zk!d&K;gj%t$Pc2g9$1y|X)U8~z9 z!mR>75w~)?44{nQ)<=2XPhR7gZ{wIyo+p||*rdlztt~RxJqz(b6uHNKVk38lZrFod zn~fU8vDz-LM%fid9+wF_hkIVLhRfR=^Pkbj_}cU)i z`i|pK#IgOw1HdsaisSP$Z5;os8}@+X{is14@3PC=P)2a<<`bhz)?Gf0*Kg^QtQ|zW zj?fL0%A<3lDD9eIqx8-TLW@N5s0BX}mu9*ohNSFe}XIOadx!(2@yj|8s* zX6Ph*L*X`57u zZkTi|FO81n_rgdWq1z-H%XIuiZ1!!`<(DWUW7(ZAyXrE3Mdjp+e?ncR4pK0xDE~}% zkXVnT6qFp2oe11^uKf zb$t|(*DtdXY0_;HvDBaN6R~;BE`NnGIu?CgvwkS=am;^Q%ZG&eN)nwcVw+(LD#~&L zq{Esk+Kc0527M!mR_>Fc=(k>KqrZAXR7}Je+F|=2*#8bSNQH;(@;;QYW7PfZxn3|hSlRjAC{fl{*hKlg?y?8jxfnG_ltp&A040fXaK4E%<$d2G zZ?r!rH0c9xjEs`unM-Uk{8snUgEDYCYLE;I?ebQX-FV}`b)Fx{3%^A=yuYrmbT}eP zhbO1mba+7b(gPh9q6X=3t6koRGL{bA*Pn!P?+5ZC$9&solfc7~)JGMW8;D1Z%82*Z z3jRq2Vp$a1^*^?;{iAM^NFXl7PegNxT{fbO@O*b1yRJs`jh~2GwOw9~ zGBPfG)ES1$Ya;R>q0W#9KXz;ib>!L{h{URI5M|8s;#9kw65Z8LUtV0=# zYa}N4z}y|D$O|3w*XiM`NaXH_LHAg?M(MxEB4_UThvo%rSf;dJ6|WLC<0(}lH$59o z_80Ma(6<`#d4#8k{h4LE5 ze1=*;4?JMrMgUWEeM^&0`l16*iemiA1vbWie@3X(1EW8R8btgdySxWwti0+Y?&IZ! zeV^CqvA7SAPI}p!$%~@!8Z>45Ac-Wzh#%Npp5WKALZ8qd4psA19~bXl-)i1 zGMs1`GtUd8!(L?BvM8=YC)z{RPdDsAbbtJm#`^=id<$g+@9txkaQ$73HqlrPb&EcZ>7W0qaqMHffV;~$ z&XP`g8OQP{mJ=t~Se~sL_Arjws6k|h+2xTaF^-6T$z&QIY^2T3&JvtKsyA@A64PPH zsRBfzcQzq8|BZur<4+1j!WoFq#pyXGf@b33 zKTD}OYGoE$sju)p`N>SjIW|1ozIZ#dJq}_9oeN$9QSo+=XhsmlGE`tY*$1& zrEN{UU=T5>&`E_5tFd_?b=#0$HYSF?XLN;B^GI*> z%>l69hW=`)JC3UE2)qHpYY0zkt`PesdYv?*vchu{Kq~^x_$=WFA0Tc9ZNm^R&yRul z+1xI)^;^Ah#A_fgAy(daaJ!KgIl(l{N#|iQ8sp{!@^HCL zUx=T1J<+&td{L=kuC!r3FBax^zZXa41B5w1n6u*v-FKKN?`&Bimjz(viL8j@<;7>l z&^go<<{oFA%@dMct;{;y3ps6J#X!;xCQ{oFPxR#CF3DU3|Kkj%me<=s;IO=6f(d`x>mJ9`YeZJBUfGOpXQZtL z!Rf+SBBO}7RXd>(mLs>5(;4#5pwLI1Wvqi^b8bY2@wky&vgEiMoZ;w>dZxxegFGWd z&j>!{@TW%UTayQ@sfLj}MNY;o2CyCgGM{x-4(9$O2==KigfZeI>-%~+NKPMKuES}+ zsvg~k=@Yk}J%!W&k+opR$p^=iRW^x;22Ro8z?b2)+*u?H@ywGYf+q-Zm;GQ+N2zl~ zu0`;h1pKDDM7C+%uHxaz9`S>`2LB=-ipXMFITEdPuZ@nu@3%RE9}_d>g%|A}nOH9! zTVUV-sU(=HUug8Ai+M#vY*$fiGm_37Ud)q>ALU?p z{94dI=Bh~XxbfSCBmI%_J6_`#My)r=y=n#F4l5&A%GGW0)3PVI5}PXtVbuuRSQZIj zw=bR72d0sSn3v6y6Nw4+DPy`flfn@?)r;yh;!rloKm9X*S`7}!-r&?T6mwH%sHgr0 zC{h_kCxMHRjL;Vvd!`Xu*o>}>ky@`>y;7sHdWHvi4{?q(oOC0cD-{`CSY2m1G}Qg{ z6el|FOZY4&q!h&CJUbb%Ov{*H?=t&79USPM;8YXO0V{i*5F3YMnqr)%3H